:root{--navy: #F4F4F6;--deep: #FFFFFF;--mid: #E0E0E4;--teal: #0075EB;--teal-light: #0075EB;--slate: #8B8E94;--ink: #191C1F;--green: #00B35F;--green-dim: #E6F9EF;--amber: #F59E0B;--blue: #0075EB;--blue-dim: #EBF4FF;--red: #F53D6B;--border: #E0E0E4;--card: #FFFFFF}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100vh}body{background:var(--navy);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}.vsw{position:sticky;top:0;z-index:100;background:var(--navy);border-bottom:1px solid var(--border);display:flex;align-items:center;flex-wrap:wrap;padding:0 16px;gap:0}.logo{font-weight:800;font-size:16px;color:var(--teal);letter-spacing:-.5px;margin-right:16px;padding:14px 0;white-space:nowrap}.vt{padding:14px 11px;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}.vt.active{color:var(--teal);border-bottom-color:var(--teal)}.vt:hover:not(.active){color:var(--ink)}.nav-spacer{flex:1}.nav-user{font-size:11px;color:var(--slate);padding:0 12px;display:flex;align-items:center;gap:10px}.nav-user button{background:none;border:1px solid var(--border);color:var(--slate);padding:5px 10px;border-radius:8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.nav-user button:hover{color:var(--ink);border-color:var(--slate)}.mp{padding:28px;max-width:1160px;margin:0 auto}.mh{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:16px;flex-wrap:wrap}.mt{font-weight:800;font-size:20px;letter-spacing:-.5px;margin-bottom:4px}.ms{font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.08em}.bp,button.bp{background:var(--teal);color:#fff;border:none;padding:9px 18px;border-radius:12px;font-size:11px;letter-spacing:.06em;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;text-transform:uppercase}.bp:hover{background:#005fbf}.bp:disabled{opacity:.5;cursor:not-allowed}.bs,button.bs{background:var(--card);color:var(--slate);border:1px solid var(--border);padding:9px 18px;border-radius:12px;font-size:11px;letter-spacing:.06em;cursor:pointer;text-transform:uppercase}.bs:hover{color:var(--ink);border-color:var(--slate)}.br{background:none;border:1px solid rgba(245,61,107,.3);color:#f53d6be6;padding:5px 10px;border-radius:8px;font-size:10px;cursor:pointer;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}.br:hover{background:#f53d6b14}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px;margin-bottom:14px}.card-t{font-weight:700;font-size:15px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.fr{display:grid;gap:14px;margin-bottom:14px}.fr.c2{grid-template-columns:1fr 1fr}.fr.c3{grid-template-columns:1fr 1fr 1fr}.ff{display:flex;flex-direction:column;gap:5px}.fla{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate)}.fin,.fse{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:13px;color:var(--ink);font-family:inherit;width:100%}.fin:focus,.fse:focus{outline:none;border-color:var(--teal)}.fin.error{border-color:var(--red)}.fse{cursor:pointer}.fe{font-size:10px;color:var(--red);margin-top:3px}.steps{display:flex;gap:8px;margin-bottom:24px}.step{flex:1;display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--card);border:1px solid var(--border);border-radius:10px}.step.active{border-color:var(--teal);background:#0075eb0f}.step.done{border-color:var(--green);background:#00b35f0f}.step-num{width:22px;height:22px;border-radius:50%;background:var(--mid);color:var(--slate);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.step.active .step-num{background:var(--teal);color:#fff}.step.done .step-num{background:var(--green);color:#fff}.step-label{font-size:11px;letter-spacing:.04em;color:var(--slate)}.step.active .step-label,.step.done .step-label{color:var(--ink)}.sku-hdr,.sku-row{display:grid;grid-template-columns:130px 80px 70px 70px 80px minmax(0,1fr) 50px 28px;gap:8px;align-items:center}.sku-hdr{padding:5px 4px;border-bottom:1px solid var(--border);margin-bottom:10px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate)}.sku-row{padding:6px 4px;margin-bottom:8px}.sku-row .fse,.sku-row .fin{padding:7px 10px;font-size:12px}.sku-del{background:none;border:none;color:var(--slate);font-size:16px;cursor:pointer;padding:4px;line-height:1;opacity:.5}.sku-del:hover{opacity:1;color:var(--red)}.tk{width:36px;height:20px;background:var(--green);border-radius:16px;position:relative;cursor:pointer;flex-shrink:0}.tk.off{background:var(--mid)}.tkn{position:absolute;width:14px;height:14px;background:#fff;border-radius:50%;top:3px;left:19px;transition:left .2s}.tk.off .tkn{left:3px}.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:12px}.tbl th{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate);font-weight:600}.tbl tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:4px;font-size:10px;background:var(--blue-dim);color:var(--blue);border:1px solid rgba(0,117,235,.2)}.badge.green{background:var(--green-dim);color:var(--green);border-color:#00b35f40}.badge.amber{background:#f59e0b14;color:var(--amber);border-color:#f59e0b40}.badge.slate{background:#64748b1a;color:var(--slate);border-color:#64748b40}.mo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px}.md{background:#fff;border-radius:16px;padding:26px;width:540px;max-width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 32px 80px #00000040}.md-h{font-weight:800;font-size:18px;margin-bottom:4px;letter-spacing:-.3px}.md-s{font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}.md-ft{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--navy)}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:32px;width:100%;max-width:460px}.auth-title{font-weight:800;font-size:22px;margin-bottom:6px;letter-spacing:-.5px}.auth-sub{font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.08em;margin-bottom:22px}.auth-switch{margin-top:18px;font-size:12px;color:var(--slate);text-align:center}.auth-switch a{color:var(--teal)}.signup-wrap{max-width:680px;margin:36px auto;padding:0 28px 56px}.row{display:flex;align-items:center;gap:12px}.row-wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.spacer{flex:1}.muted{color:var(--slate)}.small{font-size:11px}.mono{font-family:Consolas,Courier New,monospace}.err{padding:10px 12px;border-radius:8px;font-size:12px;background:#f53d6b14;color:var(--red);border:1px solid rgba(245,61,107,.25);margin-bottom:14px}.ok{padding:10px 12px;border-radius:8px;font-size:12px;background:var(--green-dim);color:var(--green);border:1px solid rgba(0,179,95,.25);margin-bottom:14px}.hint{font-size:11px;color:var(--slate);margin-top:4px}.two-col{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:start}.sidebar-col{position:sticky;top:64px}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:12px}.kpi-card h4{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--slate);font-weight:600;margin-bottom:10px}.kpi-big{font-size:24px;font-weight:800;letter-spacing:-.5px;color:var(--ink);margin-bottom:2px}.kpi-big.teal{color:var(--teal)}.kpi-big.green{color:var(--green)}.kpi-big.amber{color:var(--amber)}.kpi-sub{font-size:11px;color:var(--slate)}.kpi-rows{display:grid;gap:10px}.kpi-row{display:flex;justify-content:space-between;font-size:12px}.kpi-row .kpi-l{color:var(--slate)}.kpi-row .kpi-v{font-weight:600;color:var(--ink)}.status-bar{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-radius:10px;margin-bottom:18px;font-size:11px;letter-spacing:.06em}.status-bar.live{background:#00b35f14;border:1px solid rgba(0,179,95,.25);color:var(--green)}.status-bar.scheduled{background:#0075eb14;border:1px solid rgba(0,117,235,.2);color:var(--teal)}.status-bar .dot{width:7px;height:7px;background:currentColor;border-radius:50%;display:inline-block;margin-right:7px;animation:pulse 1.6s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.listing-card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;overflow:hidden}.listing-head{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;cursor:pointer;border-bottom:1px solid transparent;transition:background .15s}.listing-head:hover{background:#00000004}.listing-card.open .listing-head{border-bottom-color:var(--border)}.listing-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.listing-title strong{font-size:15px}.listing-metrics{display:flex;align-items:center;gap:18px;font-size:12px;flex-wrap:wrap}.listing-metric{display:flex;flex-direction:column;align-items:flex-start}.listing-metric .lm-l{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate)}.listing-metric .lm-v{font-weight:700;font-size:13px}.listing-metric .lm-v.teal{color:var(--teal)}.listing-metric .lm-v.green{color:var(--green)}.listing-metric .lm-v.amber{color:var(--amber)}.bids-area{padding:14px 18px;background:#fafafb}.bid-row{display:grid;grid-template-columns:1fr 90px 90px 100px 120px;gap:10px;align-items:center;padding:10px 12px;background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:6px;font-size:12px}.bid-row.auto{border-color:#00b35f4d;background:#00b35f0a}.bid-row.confirmed{border-color:#0075eb4d;background:#0075eb0a}.bid-row .bid-price{font-weight:700;color:var(--teal)}.bid-row .bid-action{text-align:right}.market-bar{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:12px 18px;background:var(--card);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap}.market-bar .fla{margin:0}.boat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;overflow:hidden}.boat-head{padding:14px 18px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}.boat-head:hover{background:#00000004}.boat-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.boat-title strong{font-size:15px}.boat-body{display:none;border-top:1px solid var(--border)}.boat-card.open .boat-body{display:block}.species-row{padding:14px 18px;display:grid;grid-template-columns:minmax(170px,2fr) 90px 90px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--border)}.species-row:last-child{border-bottom:none}.species-row .sp-name{font-weight:700}.species-row .sp-meta{font-size:10px;color:var(--slate);margin-top:2px}.bid-input-pair{display:flex;gap:8px;align-items:center}.bid-input-pair .fin{padding:6px 9px;font-size:12px;width:75px}.bid-input-pair .unit{font-size:10px;color:var(--slate);text-transform:uppercase;letter-spacing:.08em}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.stat-v{font-size:22px;font-weight:800;letter-spacing:-.3px}.stat-l{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate);margin-top:2px}.chev{color:var(--slate);font-size:11px;transition:transform .15s}.chev.open{transform:rotate(180deg)}@media (max-width: 900px){.two-col{grid-template-columns:1fr}.sidebar-col{position:static}}@media (max-width: 768px){.mp{padding:18px}.fr.c2,.fr.c3{grid-template-columns:1fr}.steps{flex-direction:column}.sku-hdr{display:none}.sku-row{grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:8px;padding:12px;background:var(--card);border:1px solid var(--border);border-radius:10px}.sku-row>*{min-width:0}.sku-row .sku-del{justify-self:end}.listing-metrics{gap:10px}.bid-row{grid-template-columns:1fr 1fr;font-size:11px}.bid-row .bid-action{grid-column:1 / -1;text-align:left}.species-row{grid-template-columns:1fr 1fr;gap:8px}.species-row .bid-input-pair{grid-column:1 / -1}}@media (pointer: coarse){.fin,.fse,.bp,.bs{min-height:44px}}.toast-stack{position:fixed;top:60px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:380px;pointer-events:none}.toast{pointer-events:auto;background:var(--card);border:1px solid var(--border);border-left:4px solid var(--slate);border-radius:10px;padding:11px 12px 11px 14px;box-shadow:0 8px 24px #00000014;display:flex;align-items:flex-start;gap:10px;color:var(--ink);font-size:13px;line-height:1.4;animation:toast-in .22s ease-out both}.toast.success{border-left-color:var(--green)}.toast.error{border-left-color:var(--red)}.toast.info{border-left-color:var(--teal)}.toast-body{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.toast-msg{word-wrap:break-word}.toast-action{align-self:flex-start;background:none;border:none;padding:0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--teal);cursor:pointer}.toast.success .toast-action{color:var(--green)}.toast.error .toast-action{color:var(--red)}.toast-action:hover{text-decoration:underline}.toast-close{background:none;border:none;color:var(--slate);font-size:18px;line-height:1;padding:0 2px;cursor:pointer;opacity:.6;flex-shrink:0}.toast-close:hover{opacity:1;color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.skeleton{display:inline-block;background:linear-gradient(90deg,var(--mid) 0%,#F0F0F3 50%,var(--mid) 100%);background-size:200% 100%;border-radius:6px;animation:shimmer 1.3s ease-in-out infinite}.skeleton-stack{display:flex;flex-direction:column;gap:6px}.skeleton-table{display:flex;flex-direction:column;gap:12px;padding:6px 0}.skeleton-row{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--border)}.skeleton-row:last-child{border-bottom:none}.skeleton-cards{display:flex;flex-direction:column;gap:12px}.skeleton-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;flex-direction:column}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;gap:10px}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--mid);color:var(--slate);font-size:24px;margin-bottom:4px}.empty-state-title{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.2px}.empty-state-desc{font-size:12px;color:var(--slate);max-width:420px;line-height:1.5}.empty-state-action{margin-top:8px}@media (max-width: 600px){.toast-stack{top:56px;right:10px;left:10px;max-width:none}.toast{font-size:13px}}
