*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
#tab-laneDetail details[open] > summary span:first-child{transform:rotate(90deg)}
@media(max-width:900px){#ldGrid{grid-template-columns:1fr!important}}
:root{
  --bg:#0c0d12;--surface:#15161e;--surface-2:#1c1d28;--surface-3:#242532;
  --accent:#6b9cf7;--accent-hover:#8bb4ff;--accent-glow:rgba(107,156,247,.10);--accent-subtle:rgba(107,156,247,.06);
  --success:#3ee0a5;--warning:#f5c542;--error:#f07070;
  --text:#e8ecf4;--text-muted:#9ba4b8;--text-dim:#5c6478;
  --border:rgba(255,255,255,.06);--border-light:rgba(255,255,255,.10);--border-active:rgba(107,156,247,.35);
  --radius:10px;--radius-lg:14px;
  --shadow:0 1px 2px rgba(0,0,0,.2),0 4px 12px rgba(0,0,0,.25);
  --shadow-lg:0 8px 30px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.2);
  --shadow-glow:0 0 20px rgba(107,156,247,.08);
  --accent-text:white;--login-glow:#0a0c14;
  --transition-fast:.12s cubic-bezier(.4,0,.2,1);--transition-base:.2s cubic-bezier(.4,0,.2,1);
}
/* ── Themes ── */
[data-theme="obsidian"]{--bg:#000;--surface:#0a0a0a;--surface-2:#141414;--surface-3:#1e1e1e;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-glow:rgba(59,130,246,.12);--accent-subtle:rgba(59,130,246,.06);--success:#22c55e;--warning:#eab308;--error:#ef4444;--text:#f0f0f0;--text-muted:#666;--text-dim:#333;--border:rgba(255,255,255,.06);--border-light:rgba(255,255,255,.10);--border-active:rgba(59,130,246,.35);--login-glow:#060810;--accent-text:white}
[data-theme="gunmetal"]{--bg:#1a1d21;--surface:#22262c;--surface-2:#2a2f37;--surface-3:#343a44;--accent:#f97316;--accent-hover:#fb923c;--accent-glow:rgba(249,115,22,.10);--accent-subtle:rgba(249,115,22,.06);--success:#4ade80;--warning:#fbbf24;--error:#f87171;--text:#e2e5ea;--text-muted:#7d838e;--text-dim:#4a505a;--border:rgba(255,255,255,.07);--border-light:rgba(255,255,255,.11);--border-active:rgba(249,115,22,.35);--login-glow:#1e2228;--accent-text:white}
[data-theme="arctic"]{--bg:#f4f6f9;--surface:#fff;--surface-2:#edf0f5;--surface-3:#e2e6ed;--accent:#2563eb;--accent-hover:#3b82f6;--accent-glow:rgba(37,99,235,.08);--accent-subtle:rgba(37,99,235,.04);--success:#16a34a;--warning:#ca8a04;--error:#dc2626;--text:#1e293b;--text-muted:#64748b;--text-dim:#94a3b8;--border:rgba(0,0,0,.08);--border-light:rgba(0,0,0,.12);--border-active:rgba(37,99,235,.35);--shadow:0 1px 3px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.04);--shadow-lg:0 8px 24px rgba(0,0,0,.1);--shadow-glow:0 0 16px rgba(37,99,235,.06);--login-glow:#dde3ed;--accent-text:white}
[data-theme="storm"]{--bg:#14171e;--surface:#1c2029;--surface-2:#252a35;--surface-3:#2e3440;--accent:#facc15;--accent-hover:#fde047;--accent-glow:rgba(250,204,21,.08);--accent-subtle:rgba(250,204,21,.04);--success:#34d399;--warning:#facc15;--error:#fb7185;--text:#d4d8e0;--text-muted:#6e7586;--text-dim:#484f60;--border:rgba(255,255,255,.06);--border-light:rgba(255,255,255,.10);--border-active:rgba(250,204,21,.35);--login-glow:#181c25;--accent-text:#14171e}
[data-theme="sandstone"]{--bg:#f0ebe2;--surface:#faf8f4;--surface-2:#e6e0d5;--surface-3:#dbd4c8;--accent:#b45309;--accent-hover:#d97706;--accent-glow:rgba(180,83,9,.08);--accent-subtle:rgba(180,83,9,.04);--success:#15803d;--warning:#a16207;--error:#b91c1c;--text:#1c1917;--text-muted:#57534e;--text-dim:#78716c;--border:rgba(0,0,0,.08);--border-light:rgba(0,0,0,.12);--border-active:rgba(180,83,9,.35);--shadow:0 1px 3px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.05);--shadow-lg:0 8px 24px rgba(0,0,0,.14);--shadow-glow:0 0 16px rgba(180,83,9,.06);--login-glow:#ddd6c8;--accent-text:white}
[data-theme="concrete"]{--bg:#ebedef;--surface:#f8f9fa;--surface-2:#e0e3e7;--surface-3:#d4d8dd;--accent:#475569;--accent-hover:#334155;--accent-glow:rgba(71,85,105,.06);--accent-subtle:rgba(71,85,105,.04);--success:#059669;--warning:#d97706;--error:#dc2626;--text:#0f172a;--text-muted:#94a3b8;--text-dim:#b8bec6;--border:rgba(0,0,0,.08);--border-light:rgba(0,0,0,.12);--border-active:rgba(71,85,105,.35);--shadow:0 1px 3px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.04);--shadow-lg:0 8px 24px rgba(0,0,0,.1);--shadow-glow:0 0 16px rgba(71,85,105,.06);--login-glow:#dde0e4;--accent-text:white}
[data-theme="evergreen"]{--bg:#0c1510;--surface:#121f18;--surface-2:#1a2b22;--surface-3:#244030;--accent:#22c55e;--accent-hover:#4ade80;--accent-glow:rgba(34,197,94,.08);--accent-subtle:rgba(34,197,94,.04);--success:#22c55e;--warning:#eab308;--error:#ef4444;--text:#d0e8d8;--text-muted:#5a7e66;--text-dim:#3a5e44;--border:rgba(255,255,255,.06);--border-light:rgba(255,255,255,.10);--border-active:rgba(34,197,94,.35);--login-glow:#0e1a14;--accent-text:#0c1510}
/* ── LaneLock Logo ── */
.lanelock-logo{display:inline-flex;align-items:center;gap:12px;user-select:none}
.lanelock-logo.stacked{flex-direction:column;gap:6px}
.lanelock-logo .ll-accent{fill:var(--accent)}
.lanelock-logo .ll-accent-soft{fill:var(--accent);opacity:0.5}
.lanelock-logo .ll-body-bg{fill:var(--surface)}
.lanelock-logo .ll-shackle{stroke:var(--accent)}
.lanelock-logo .ll-wordmark{font-family:'Manrope',system-ui,-apple-system,sans-serif;font-weight:700;letter-spacing:-0.5px;line-height:1;white-space:nowrap}
.lanelock-logo .ll-wordmark .ll-lane{color:var(--text)}
.lanelock-logo .ll-wordmark .ll-lock{color:var(--accent)}
.lanelock-logo.stacked .ll-wordmark{letter-spacing:2px;text-transform:uppercase}
.lanelock-logo.icon-only .ll-wordmark{display:none}
.lanelock-logo.sm svg{width:28px;height:28px}
.lanelock-logo.sm .ll-wordmark{font-size:18px}
.lanelock-logo.sm{gap:8px}
.lanelock-logo.md svg,.lanelock-logo svg{width:40px;height:40px}
.lanelock-logo.md .ll-wordmark,.lanelock-logo .ll-wordmark{font-size:26px}
.lanelock-logo.lg svg{width:56px;height:56px}
.lanelock-logo.lg .ll-wordmark{font-size:38px}
.lanelock-logo.lg{gap:14px}
html{font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:13px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeSpeed}
*{will-change:auto}
body{min-height:100vh}
a{color:var(--accent);text-decoration:none}
input,select,textarea,button{font-family:inherit;font-size:inherit}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.14)}

/* ── Login ── */
.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:radial-gradient(ellipse at 50% 0%,var(--login-glow) 0%,var(--bg) 70%)}
html.has-token .login-screen{display:none}
html:not(.has-token) #aiSidebarToggle,html:not(.has-token) #aiSidebar,html:not(.has-token) #suggestionBtn,html:not(.has-token) #suggestionPopup{display:none !important}
.login-box{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:48px 40px;width:100%;max-width:380px;text-align:center;box-shadow:var(--shadow-lg),0 0 0 1px rgba(255,255,255,.03);position:relative;overflow:hidden}
.login-box::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(107,156,247,.2),transparent)}
.login-box .lanelock-logo{margin-bottom:4px}
.login-box .subtitle{color:var(--text-muted);margin-bottom:32px;font-size:12px;letter-spacing:.3px}
.login-field{margin-bottom:14px;text-align:left}
.login-field label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:5px;font-weight:500;text-transform:uppercase;letter-spacing:.4px}
.login-field input{width:100%;padding:11px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;font-size:13px;transition:all .15s ease}
.login-field input:focus{border-color:var(--border-active,var(--accent));box-shadow:0 0 0 3px var(--accent-glow)}
.login-field input::placeholder{color:var(--text-dim)}
.login-btn{width:100%;padding:12px;background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;margin-top:10px;transition:all .15s ease;font-size:13px;box-shadow:0 1px 4px rgba(107,156,247,.15)}
.login-btn:hover{background:var(--accent-hover);box-shadow:0 4px 16px rgba(107,156,247,.2),var(--shadow-glow,0 0 0 transparent);transform:translateY(-1px)}
.login-btn:disabled{opacity:.5;cursor:not-allowed}
.login-error{color:var(--error);font-size:12px;margin-top:12px;min-height:18px}

/* ── App Shell ── */
.app{display:none;min-height:100vh}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--surface);border-bottom:1px solid var(--border);position:relative}
.topbar::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(107,156,247,.12) 50%,transparent);pointer-events:none}
.topbar .lanelock-logo{flex-shrink:0}
.topbar-right{display:flex;align-items:center;gap:14px}
.topbar-right .email{color:var(--text-muted);font-size:11px;letter-spacing:.1px}
.logout-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:6px 14px;border-radius:var(--radius);cursor:pointer;font-size:11px;font-weight:500;transition:all .15s ease}
.logout-btn:hover{border-color:var(--border-light);color:var(--text);background:var(--surface-2)}
.gs-item:hover{background:rgba(91,141,239,.12) !important}

/* ── Tabs ── */
.tabs{display:flex;gap:0;background:var(--bg);border-bottom:1px solid var(--border);padding:0 28px}
.tab{padding:12px 22px;cursor:pointer;color:var(--text-dim);font-weight:500;border-bottom:2px solid transparent;transition:all .15s ease;font-size:12px;user-select:none;letter-spacing:.2px;position:relative}
.tab:hover{color:var(--text-muted)}
.tab.active{color:var(--text);border-bottom-color:var(--accent)}
.tab{position:relative}
.email-badge{position:absolute;top:4px;right:2px;background:var(--error);color:#fff;font-size:9px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none;box-shadow:0 0 8px rgba(240,112,112,.3)}

/* ── Content ── */
.content{padding:20px 28px}
.tab-content{display:none;content-visibility:hidden;contain:strict}
.tab-content.active{display:block;content-visibility:visible;contain:layout style}

/* ── Buttons ── */
.btn{padding:8px 16px;border-radius:var(--radius);border:none;cursor:pointer;font-weight:500;transition:all .1s ease;font-size:12px;display:inline-flex;align-items:center;gap:6px;letter-spacing:.1px}
.btn-primary{background:var(--accent);color:var(--accent-text);box-shadow:0 1px 3px rgba(107,156,247,.15)}
.btn-primary:hover{background:var(--accent-hover);box-shadow:0 2px 10px rgba(107,156,247,.2),var(--shadow-glow,0 0 0 transparent);transform:translateY(-.5px)}
.btn-secondary{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}
.btn-secondary:hover{background:var(--surface-3,var(--border));color:var(--text);border-color:var(--border-light)}
.btn-danger{background:transparent;color:var(--error);border:1px solid rgba(248,113,113,.2)}
.btn-danger:hover{background:rgba(240,112,112,.08);border-color:rgba(248,113,113,.35)}
.btn-sm{padding:5px 12px;font-size:11px;border-radius:8px}
.btn-icon{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:16px;transition:color .1s ease}
.btn-icon:hover{color:var(--text)}
.btn-success{background:var(--success);color:#0c0e14;box-shadow:0 1px 3px rgba(62,224,165,.15)}
.btn-success:hover{box-shadow:0 2px 10px rgba(62,224,165,.2);transform:translateY(-.5px)}
.btn-warning{background:var(--warning);color:#0c0e14;box-shadow:0 1px 3px rgba(245,197,66,.15)}
.btn-warning:hover{box-shadow:0 2px 10px rgba(245,197,66,.2);transform:translateY(-.5px)}

/* ── Cards / Stat ── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:all .15s ease}
.card:hover{border-color:var(--border-light);box-shadow:var(--shadow)}
.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin-bottom:22px}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;position:relative;overflow:hidden;transition:all .15s ease}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent);opacity:0;transition:opacity .15s ease}
.stat-card:hover{border-color:var(--border-light);transform:translateY(-1px);box-shadow:var(--shadow)}
.stat-card:hover::before{opacity:1}
.stat-card .label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;font-weight:500}
.stat-card .value{font-size:26px;font-weight:700;letter-spacing:-0.8px;line-height:1}

/* ── Split Panel ── */
.split{display:grid;grid-template-columns:400px 1fr;gap:20px;min-height:calc(100vh - 140px)}
.split-left{overflow-y:auto;max-height:calc(100vh - 140px);padding-right:4px}
.split-right{overflow-y:auto;max-height:calc(100vh - 140px)}
.split.split-fullwidth{grid-template-columns:1fr}

/* ── Admin Sidebar Layout ── */
.admin-layout{display:grid;grid-template-columns:200px 1fr;gap:0;min-height:calc(100vh - 140px)}
.admin-sidebar{background:var(--surface);border-right:1px solid var(--border);padding:12px 0}
.admin-nav-item{padding:10px 20px;font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s;border-left:2px solid transparent}
.admin-nav-item:hover{color:var(--text);background:var(--surface-2)}
.admin-nav-item.active{color:var(--accent);background:var(--accent-glow);border-left-color:var(--accent)}
.admin-content{padding:20px 28px;overflow-y:auto;max-height:calc(100vh - 140px)}
.admin-section{display:none}
.admin-section.active{display:block}
.admin-section .field{margin-bottom:12px}
.admin-section .field label{display:block;font-size:10px;color:var(--text-muted);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.admin-section .field input,.admin-section .field select,.admin-section .field textarea{width:100%;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;transition:all .2s}
.admin-section .field input:focus,.admin-section .field select:focus,.admin-section .field textarea:focus{border-color:var(--border-active,var(--accent));box-shadow:0 0 0 3px var(--accent-glow)}

/* ── Search / Toolbar ── */
.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.search-input{flex:1;min-width:180px;padding:9px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;font-size:12px;transition:all .15s ease}
.search-input:focus{border-color:var(--border-active,var(--accent));box-shadow:0 0 0 3px var(--accent-glow),var(--shadow-glow,0 0 0 transparent);background:var(--surface-2)}
.search-input::placeholder{color:var(--text-dim)}

/* ── Carrier Card ── */
.carrier-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:6px;cursor:pointer;transition:all .15s ease;position:relative}
.carrier-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius) 0 0 var(--radius);background:transparent;transition:background .15s ease}
.carrier-card:hover{border-color:var(--border-light);background:var(--surface-2);transform:translateX(2px)}
.carrier-card.selected{border-color:var(--border-active,var(--accent));background:var(--accent-subtle,rgba(107,156,247,.06))}
.carrier-card.selected::before{background:var(--accent)}
.carrier-card .name{font-weight:600;font-size:13px;margin-bottom:3px;letter-spacing:-.1px}
.carrier-card .mc{font-size:10px;color:var(--text-muted)}
.carrier-card .meta{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}
.carrier-card .meta span{font-size:10px;color:var(--text-muted)}
.carrier-card.no-mc{border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.04)}
.carrier-card.no-mc .mc{color:#f87171;font-weight:600}
/* ── Customer Card ── */
.cust-avatar{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;letter-spacing:-.5px}
.cust-equip-chip{display:inline-block;padding:1px 6px;font-size:9px;border-radius:4px;background:rgba(107,156,247,.08);color:var(--accent);border:1px solid rgba(107,156,247,.12);white-space:nowrap}
.cust-stat-row{display:flex;gap:16px;margin:12px 0 4px}
.cust-stat{text-align:center;flex:1;padding:8px 4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}
.cust-stat-val{font-size:18px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.cust-stat-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-top:3px}
.cust-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.cust-section-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cust-section-hdr h3{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;font-weight:600;margin:0}
.cust-section-hdr .cust-section-sub{font-size:10px;font-weight:400;color:var(--text-dim);text-transform:none;letter-spacing:0;margin-left:6px}
.cust-contact-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:4px;transition:background .1s}
.cust-contact-card:hover{background:var(--surface-3,var(--surface-2))}
.cust-contact-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.cust-contact-info{flex:1;min-width:0}
.cust-contact-name{font-size:12px;font-weight:600}
.cust-contact-meta{font-size:10px;color:var(--text-muted);display:flex;gap:6px;flex-wrap:wrap}
.cust-contact-meta a{color:var(--accent);text-decoration:none}
.cust-contact-meta a:hover{text-decoration:underline}
.cust-rule-chip{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:4px;font-size:12px}
.cust-rule-chip .cust-rule-icon{color:var(--text-dim);font-size:14px;flex-shrink:0}
.cust-rule-chip .cust-rule-email{flex:1;font-weight:500}
.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:600;letter-spacing:.2px;gap:4px}
.badge-live{background:rgba(62,224,165,.08);color:var(--success);border:1px solid rgba(62,224,165,.12)}
.badge-preferred{background:rgba(107,156,247,.08);color:var(--accent);border:1px solid rgba(107,156,247,.12)}
.badge-region{background:rgba(245,197,66,.08);color:var(--warning);border:1px solid rgba(245,197,66,.12)}
.badge-state{background:rgba(155,164,184,.08);color:var(--text-muted);border:1px solid rgba(155,164,184,.12)}
.badge-hot{background:rgba(240,112,112,.08);color:var(--error);border:1px solid rgba(240,112,112,.12)}
.badge-nearby{background:rgba(251,146,60,.08);color:#fb923c;border:1px solid rgba(251,146,60,.12)}
.badge-zone{background:rgba(168,85,247,.08);color:#a78bfa;border:1px solid rgba(168,85,247,.12)}
.badge-capacity{background:rgba(62,224,165,.08);color:var(--success);border:1px solid rgba(62,224,165,.12)}
.badge-freight{background:rgba(107,156,247,.08);color:var(--accent);border:1px solid rgba(107,156,247,.12)}
.badge-reply{background:rgba(107,122,148,.12);color:var(--text-muted)}
.badge-irrelevant{background:rgba(61,74,94,.2);color:var(--text-dim)}
.badge-past{background:rgba(107,122,148,.12);color:var(--text-muted)}
.badge-pattern{background:rgba(168,85,247,.12);color:#a78bfa}
.badge-corridor{background:rgba(56,189,248,.12);color:#38bdf8}
.badge-backhaul{background:rgba(251,191,36,.1);color:var(--warning)}
.badge-history{background:rgba(107,122,148,.15);color:var(--text-muted)}
.badge-dest-close{background:rgba(62,224,165,.15);color:var(--success);border:1px solid rgba(62,224,165,.25)}
.badge-dest-aligned{background:rgba(62,224,165,.08);color:rgba(62,224,165,.75)}
.badge-dest-zone{background:rgba(168,85,247,.08);color:rgba(168,85,247,.7)}
.badge-transit{background:rgba(20,184,166,.12);color:#14b8a6;border:1px solid rgba(20,184,166,.18)}
.badge-dest-mismatch{background:rgba(239,68,68,.08);color:rgba(239,68,68,.7)}
.badge-reliability{display:inline-flex;align-items:center;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:700;letter-spacing:.3px;margin-left:4px}
.badge-reliability.good{background:rgba(16,185,129,.12);color:#10b981}
.badge-reliability.fair{background:rgba(245,158,11,.12);color:#f59e0b}
.badge-reliability.poor{background:rgba(239,68,68,.12);color:#ef4444}

/* ── Email Items ── */
.ei-scroll{overflow-y:auto;max-height:calc(100vh - 390px);padding-right:4px}
.pager{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 0;font-size:11px;color:var(--text-muted);user-select:none}
.pager button{padding:4px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;font-size:11px;transition:all .15s}
.pager button:hover:not(:disabled){background:var(--accent);color:var(--accent-text);border-color:var(--accent)}
.pager button:disabled{opacity:.35;cursor:default}
.pager .pager-info{font-weight:500;color:var(--text);min-width:100px;text-align:center}
.email-item{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin-bottom:6px;transition:all .15s ease;cursor:pointer}
.email-item:hover{background:var(--surface-2);border-color:var(--border-light);transform:translateX(2px)}
.email-item.ei-capacity{border-left-color:#5b8def}
.email-item.ei-freight{border-left-color:#f59e0b}
.email-item.ei-reply{border-left-color:#6b7a94}
.email-item.ei-irrelevant{border-left-color:#3d4a5e;opacity:.55}
.email-item.auto-imported{border-left-color:var(--success)}
.email-item .ei-row1{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}
.email-item .ei-subject{font-weight:600;font-size:12px;display:flex;align-items:center;gap:6px;min-width:0}
.email-item .ei-subject-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.email-item .ei-row2{display:flex;align-items:center;gap:8px;margin-bottom:2px;flex-wrap:wrap;font-size:11px}
.email-item .ei-from{color:var(--text-muted)}
.email-item .ei-row3{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-dim)}
.email-item .ei-actions{display:flex;gap:5px;align-items:center;flex-shrink:0}
.ei-cat-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:6px;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
.ei-cat-badge.cat-capacity{background:rgba(91,141,239,.08);color:#5b8def;border:1px solid rgba(91,141,239,.12)}
.ei-cat-badge.cat-freight{background:rgba(245,158,11,.08);color:#f59e0b;border:1px solid rgba(245,158,11,.12)}
.ei-cat-badge.cat-reply{background:rgba(107,122,148,.08);color:#6b7a94;border:1px solid rgba(107,122,148,.12)}
.ei-cat-badge.cat-irrelevant{background:rgba(61,74,94,.08);color:#3d4a5e;border:1px solid rgba(61,74,94,.12)}
.ei-filters{display:flex;gap:4px;margin-bottom:12px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap}
.ei-filter{background:none;border:1px solid transparent;color:var(--text-muted);font-size:11px;font-weight:500;padding:6px 14px;border-radius:8px;cursor:pointer;transition:all .1s ease;display:flex;align-items:center;gap:5px}
.ei-filter:hover{background:rgba(255,255,255,.03);color:var(--text)}
.ei-filter.active{background:var(--surface-2);color:var(--text);border-color:var(--border)}
.ei-filter.active[data-cat="capacity"]{color:#5b8def;border-color:rgba(91,141,239,.3)}
.ei-filter.active[data-cat="freight"]{color:#f59e0b;border-color:rgba(245,158,11,.3)}
.ei-filter.active[data-cat="reply"]{color:#6b7a94;border-color:rgba(107,122,148,.3)}
.ei-filter.active[data-cat="irrelevant"]{color:#3d4a5e;border-color:rgba(61,74,94,.4)}
.ei-filter-count{background:var(--bg);padding:1px 6px;border-radius:8px;font-size:9px;font-weight:600;min-width:16px;text-align:center}
.ei-search{width:100%;padding:7px 12px 7px 32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px;outline:none;transition:border-color .15s}
.ei-search:focus{border-color:var(--border-active,var(--accent));box-shadow:0 0 0 3px var(--accent-glow)}
.ei-search-wrap{position:relative;margin-bottom:8px}
.ei-search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:13px;height:13px;stroke:var(--text-muted);fill:none;stroke-width:2;pointer-events:none}
.ei-legend{display:flex;gap:12px;align-items:center;padding:5px 10px;margin-bottom:6px;font-size:10px;color:var(--text-muted);flex-wrap:wrap}
.ei-legend span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
@keyframes ei-flash{0%{background:rgba(91,141,239,.18);box-shadow:0 0 0 1px var(--accent)}100%{background:var(--surface);box-shadow:none}}
/* Dashboard — story layout */
.dash-status{padding:24px 0 4px}
.dash-status-line{font-size:20px;font-weight:700;color:var(--text);line-height:1.4}
.dash-status-line span{color:var(--accent)}
.dash-status-sub{font-size:13px;color:var(--text-muted);margin-top:4px}
.dash-cards{display:flex;flex-direction:column;gap:8px;padding:16px 0 24px}
.dash-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;display:flex;align-items:flex-start;gap:14px;cursor:pointer;transition:border-color .15s}
.dash-card:hover{border-color:var(--accent)}
.dash-card-icon{width:36px;height:36px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.dash-card-icon.urgent{background:rgba(239,68,68,.12);color:#ef4444}
.dash-card-icon.action{background:rgba(245,158,11,.12);color:#d97706}
.dash-card-icon.info{background:rgba(107,156,247,.12);color:var(--accent)}
.dash-card-icon.waiting{background:rgba(148,148,148,.1);color:var(--text-dim)}
.dash-card-body{flex:1;min-width:0}
.dash-card-msg{font-size:15px;font-weight:600;color:var(--text);line-height:1.3}
.dash-card-sub{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.4}
.dash-card-lanes{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.dash-card-lane{font-size:11px;padding:3px 8px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}
.dash-card-btn{padding:8px 18px;font-size:12px;font-weight:600;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-3);color:var(--text);cursor:pointer;white-space:nowrap;flex-shrink:0;align-self:center}
.dash-card-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.dash-card-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.dash-card-btn.primary:hover{opacity:.85}
.dash-empty{padding:60px 20px;text-align:center}
.dash-empty-msg{font-size:16px;color:var(--text);font-weight:600;margin-bottom:6px}
.dash-empty-sub{font-size:13px;color:var(--text-muted)}
.dash-trucks{border-top:1px solid var(--border);padding-top:20px}
.dash-trucks-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-bottom:10px}
.dash-truck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.dash-truck{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:border-color .15s}
.dash-truck:hover{border-color:var(--accent)}
.dash-truck-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.dash-truck-driver{font-size:13px;font-weight:600;color:var(--text)}
.dash-truck-status{font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--radius);text-transform:uppercase;letter-spacing:.3px}
.dash-truck-status.available{background:rgba(34,197,94,.12);color:#16a34a}
.dash-truck-status.booked{background:rgba(107,156,247,.12);color:var(--accent)}
.dash-truck-status.off{background:rgba(148,148,148,.1);color:var(--text-dim)}
.dash-truck-lane{font-size:12px;color:var(--text-muted);line-height:1.3}
.dash-truck-meta{font-size:10px;color:var(--text-dim);margin-top:4px}
.clm-reason-btn.active{background:var(--accent) !important;color:white !important;border-color:var(--accent) !important}
.email-item.ei-highlight{animation:ei-flash 5s ease-out}
.ei-reclass{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:10px;padding:2px 5px;border-radius:3px;cursor:pointer;outline:none}
.ei-reclass:focus{border-color:var(--accent)}
.ei-unknown{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:3px;font-size:9px;font-weight:600;background:rgba(99,102,241,.12);color:#6366f1;cursor:default}
.ei-add-btn{background:none;border:1px solid var(--border);color:var(--text-muted);font-size:10px;padding:3px 8px;border-radius:3px;cursor:pointer;white-space:nowrap}
.ei-add-btn:hover{border-color:var(--accent);color:var(--accent)}
.ei-linked{font-size:11px;font-weight:600}

/* ── Chart containers ── */
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.chart-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.chart-box h4{font-size:11px;color:var(--text-muted);margin-bottom:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.chart-box canvas{max-height:220px}
@media(max-width:900px){.chart-grid{grid-template-columns:1fr}}

/* ── Connection status ── */
.conn-status{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px}
.conn-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.conn-dot.on{background:var(--success);box-shadow:0 0 8px rgba(62,224,165,.4)}
.conn-dot.off{background:var(--error);box-shadow:0 0 8px rgba(240,112,112,.3)}

/* ── Detail Panel ── */
.detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}
.detail-panel h2{font-size:18px;font-weight:700;margin-bottom:16px;letter-spacing:-.3px}
.detail-section{margin-bottom:20px}
.detail-section h3{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px;font-weight:600}
.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);transition:background .1s ease}
.detail-row:hover{background:rgba(255,255,255,.015)}
.detail-row:last-child{border-bottom:none}
.detail-row .lbl{color:var(--text-muted);font-size:12px}
.detail-row .val{font-size:12px;font-weight:500}

/* ── Health bar ── */
.health-bar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.health-item{text-align:center}
.health-item .bar-bg{height:4px;background:rgba(255,255,255,.04);border-radius:2px;overflow:hidden;margin:5px 0}
.health-item .bar-fill{height:100%;border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}
.health-item .h-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}
.health-item .h-val{font-size:11px;font-weight:600}

/* ── Table ── */
.data-table{width:100%;border-collapse:collapse}
.data-table th{text-align:left;padding:10px 14px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--border);font-weight:600}
.data-table td{padding:10px 14px;border-bottom:1px solid var(--border);font-size:12px}
.data-table tr{cursor:pointer;transition:background .1s ease}
.data-table tr:hover{background:rgba(255,255,255,.02)}
.data-table tr.selected{background:var(--accent-subtle,var(--accent-glow))}
.data-table th.sortable{cursor:pointer;user-select:none;white-space:nowrap}
.data-table th.sortable:hover{color:var(--accent)}
/* Funnel column filter styles */
.ll-col-filter{position:relative;display:inline-flex;align-items:center}
.ll-col-filter-icon{opacity:.35;margin-left:4px;cursor:pointer;transition:opacity .15s,color .15s;vertical-align:middle;flex-shrink:0}
.ll-col-filter-icon:hover{opacity:.7}
.ll-col-filter.ll-col-active .ll-col-filter-icon{opacity:1;color:var(--accent)}
.ll-col-dropdown{position:absolute;top:100%;left:0;z-index:200;background:var(--surface-2);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.4);min-width:180px;max-width:260px;padding:6px 0;margin-top:4px}
.ll-col-dropdown-search{width:calc(100% - 12px);margin:4px 6px 6px;padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:12px;font-family:inherit;outline:none}
.ll-col-dropdown-search:focus{border-color:var(--accent)}
.ll-col-options{max-height:200px;overflow-y:auto}
.ll-col-option{padding:5px 12px;font-size:12px;cursor:pointer;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .1s}
.ll-col-option:hover{background:rgba(107,156,247,.12)}
.ll-col-option.ll-col-option-active{background:rgba(107,156,247,.18);color:var(--accent);font-weight:600}
.ll-col-option-all{font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:2px}
.ll-col-filter-chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 0}
.ll-col-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:rgba(107,156,247,.08);border:1px solid rgba(107,156,247,.2);border-radius:6px;font-size:12px;color:var(--accent);font-weight:500}
.ll-col-chip-label{font-weight:600;color:var(--text-muted)}
.ll-col-chip-x{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0 2px;line-height:1;transition:color .15s}
.ll-col-chip-x:hover{color:var(--error)}
#lanesTable th{position:sticky;top:0;background:var(--surface);z-index:2}
#lanesTable th[data-sort]{cursor:pointer;user-select:none}
#lanesTable th[data-sort]:hover{color:var(--accent)}
.sort-arrow{font-size:10px;opacity:.5}
.sort-arrow.asc::after{content:'\25B2'}
.sort-arrow.desc::after{content:'\25BC'}
.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:2px 4px;line-height:1;display:none}
.search-clear:hover{color:var(--text)}
.search-wrap{position:relative;flex:1;min-width:180px}

/* ── Lane Tag ── */
.lane-tag{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:4px 10px;margin:2px;font-size:11px}
.lane-tag .remove{cursor:pointer;color:var(--text-muted);font-weight:700}
.lane-tag .remove:hover{color:var(--error)}

/* ── Capacity Posting ── */
.cap-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:9px 14px;margin-bottom:5px;display:flex;justify-content:space-between;align-items:center}
.cap-card .loc{font-weight:500;font-size:12px}
.cap-card .cap-meta{font-size:10px;color:var(--text-muted)}

/* ── Quote Card ── */
.quote-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:6px;cursor:pointer;transition:all .15s ease;position:relative}
.quote-card:hover{border-color:var(--border-light);background:var(--surface-2);transform:translateX(2px)}
.quote-card.selected{border-color:var(--accent);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}
.quote-card .lane{font-weight:600;font-size:13px;margin-bottom:3px}
.quote-card .q-meta{font-size:10px;color:var(--text-muted);margin-bottom:5px}
.quote-card .match-badges{margin-top:5px;display:flex;gap:4px;flex-wrap:wrap}
.quote-card.has-matches{border-left:3px solid var(--success)}
.quote-card.no-matches{border-left:3px solid var(--error);opacity:.7}

/* ── Ranked Carrier ── */
.ranked-carrier{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:11px 14px;margin-bottom:6px;transition:all .15s ease}
.ranked-carrier:hover{border-color:var(--border-light);transform:translateY(-1px)}
.ranked-carrier.selected{border-color:var(--border-active,var(--accent));background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}
.ranked-carrier.hero{border-color:rgba(62,224,165,.2);background:rgba(62,224,165,.03);box-shadow:inset 3px 0 0 var(--success)}
.ranked-carrier .rc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}
.ranked-carrier .rc-name{font-weight:600;font-size:13px}
.ranked-carrier .rc-detail{font-size:11px;color:var(--text-muted);margin-bottom:5px}
.ranked-carrier .rc-actions{display:flex;gap:6px}

/* ── Carrier Match Card (Instant Match redesign) ── */
.carrier-match{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:8px;cursor:pointer;transition:all .15s ease;position:relative}
.carrier-match:hover{border-color:var(--border-light);background:var(--surface-2);transform:translateY(-1px);box-shadow:var(--shadow)}
.carrier-match.selected{border-color:var(--border-active,var(--accent));box-shadow:inset 3px 0 0 var(--accent)}
.carrier-match.hero{border-color:rgba(62,224,165,.2);background:rgba(62,224,165,.03)}
.carrier-match.hero::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--success);border-radius:var(--radius) 0 0 var(--radius)}
.cm-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.cm-rank{font-size:18px;font-weight:700;color:var(--text-dim);width:28px;flex-shrink:0;padding-top:1px}
.cm-rank.top{color:var(--success)}
.cm-info{flex:1}
.cm-name{font-weight:600;font-size:14px;margin-bottom:2px}
.cm-score{text-align:right}
.cm-pct{font-size:20px;font-weight:700;line-height:1}
.cm-pct-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}
.cm-reasons{margin-bottom:10px}
.cm-reason{display:flex;align-items:center;gap:6px;font-size:11px;padding:2px 0;color:var(--text-muted)}
.cm-reason .check{color:var(--success);font-weight:700;font-size:12px;width:14px;flex-shrink:0}
.cm-reason .miss{color:var(--text-dim);font-size:12px;width:14px;flex-shrink:0}
.cm-reason .reason-text{color:var(--text)}
.cm-reason .reason-text.dim{color:var(--text-muted)}
.cm-actions{display:flex;gap:6px}
/* ── Detail Panel (IM redesign) ── */
.dp-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}
.dp-name{font-size:18px;font-weight:700}
.dp-scores{display:flex;gap:20px}
.dp-score{text-align:center}
.dp-score-val{font-size:28px;font-weight:700;line-height:1}
.dp-score-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.dp-lane{background:rgba(91,141,239,.08);border:1px solid rgba(91,141,239,.2);border-radius:var(--radius);padding:8px 14px;margin-bottom:16px;font-size:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dp-lane span{color:var(--text-muted)}
.breakdown{margin-bottom:20px}
.breakdown h3{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-weight:600}
.bd-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.bd-label{width:100px;font-size:11px;color:var(--text-muted);text-align:right;flex-shrink:0}
.bd-bar-bg{flex:1;height:8px;background:var(--bg);border-radius:4px;overflow:hidden}
.bd-bar{height:100%;border-radius:4px;transition:width .5s ease}
.bd-val{font-size:11px;color:var(--text);font-weight:600;width:80px;flex-shrink:0}
.dp-summary{background:rgba(52,211,153,.06);border:1px solid rgba(52,211,153,.15);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:12px;line-height:1.6;color:var(--text-muted)}
.dp-summary strong{color:var(--text)}
.dp-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(35,40,54,.5);font-size:12px}
.dp-row .lbl{color:var(--text-muted)}
.dp-row .val{font-weight:500}
.dp-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.dp-actions .btn{padding:9px 20px;font-size:12px}
.engagement-mini{display:flex;gap:0;margin-top:16px;text-align:center;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.engagement-mini div{flex:1;padding:8px;background:var(--surface-2)}
.engagement-mini .em-val{font-size:17px;font-weight:700}
.engagement-mini .em-lbl{font-size:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-top:2px}

/* ── Circuit Card ── */
.circuit-card{background:var(--surface-2);border:1px solid rgba(251,191,36,.25);border-radius:var(--radius);padding:12px;margin-bottom:6px}
.circuit-card .circuit-type{font-size:10px;font-weight:600;color:var(--warning);text-transform:uppercase;letter-spacing:.3px;margin-bottom:5px}
.circuit-card .circuit-legs{font-size:12px;margin-bottom:6px}
.circuit-card .circuit-savings{font-size:11px;color:var(--success)}

/* ── Modal ── */
.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg),0 0 0 1px rgba(255,255,255,.03);transform:translateY(8px) scale(.98);transition:transform .15s ease}
.modal-overlay.open .modal{transform:translateY(0) scale(1)}
.modal h2{font-size:17px;font-weight:700;margin-bottom:20px;letter-spacing:-0.3px}
.modal .field,.modal .form-group{margin-bottom:12px}
.modal .field label,.modal .form-group label{display:block;font-size:10px;color:var(--text-muted);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
#acEquipDrop label{display:flex!important;align-items:center;gap:8px;font-size:12px!important;color:var(--text)!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;margin:0!important;padding:5px 12px;cursor:pointer;transition:background .1s}
#acEquipDrop label input[type="checkbox"]{width:auto!important;padding:0!important;margin:0!important;border:none!important;box-shadow:none!important}
.modal .field input:not([type="checkbox"]),.modal .field select,.modal .field textarea,.modal .form-group input:not([type="checkbox"]),.modal .form-group select,.modal .form-group textarea{width:100%;padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;font-size:12px;transition:all .15s ease}
.modal .field input:focus,.modal .field select:focus,.modal .field textarea:focus,.modal .form-group input:focus,.modal .form-group select:focus,.modal .form-group textarea:focus{border-color:var(--border-active,var(--accent));box-shadow:0 0 0 3px var(--accent-glow)}
.modal .field textarea{resize:vertical;min-height:50px}
.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.modal .field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-section{margin:12px 0 8px;border-top:1px solid var(--border);padding-top:10px}
.contact-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.contact-header span{font-size:11px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.4px}
.btn-add-contact{width:22px;height:22px;border-radius:50%;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .15s}
.btn-add-contact:hover{background:var(--accent);color:#fff}
.contact-hint{font-size:10px;color:var(--text-muted);margin-bottom:8px}
.contact-row{display:grid;grid-template-columns:1fr 1.4fr 1fr auto auto;gap:5px;align-items:center;margin-bottom:5px}
.contact-row input{padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:11px;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s}
.contact-row input:focus{border-color:var(--accent)}
.contact-row input::placeholder{color:var(--text-dim)}
.contact-row .contact-rm{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:2px 4px;transition:color .15s}
.contact-row .contact-rm:hover{color:var(--error)}

/* ── Toast ── */
.toast{position:fixed;bottom:24px;right:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 20px;font-size:12px;z-index:2000;transform:translateY(100px);opacity:0;transition:all .3s;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px}
.toast.show{transform:translateY(0);opacity:1}
.toast.success{border-color:rgba(62,224,165,.3)}
.toast.error{border-color:rgba(240,112,112,.3)}
.toast.warning{border-color:rgba(245,197,66,.3)}

/* ── Misc ── */
.empty-state{text-align:center;padding:40px 20px;color:var(--text-dim);font-size:12px}
.tag-input-row{display:flex;gap:8px;margin-bottom:8px}
.tag-input-row input{flex:1}
select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px}
select option{background:var(--surface);color:var(--text)}
.inline-detail{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-top:8px}
.activity-item{padding:7px 0;border-bottom:1px solid var(--border);font-size:11px}
.activity-item .act-time{color:var(--text-muted);font-size:10px}
.capacity-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px;margin-bottom:6px}
@media(max-width:900px){.split{grid-template-columns:1fr}}
#imResults{display:flex;flex-direction:column;height:calc(100vh - 160px)}
#imResults .split{flex:1;min-height:0}
#imResults .split-left,#imResults .split-right{max-height:none;height:100%;overflow-y:auto}

/* ── Coverage ── */
.instant-bar{display:flex;gap:10px;align-items:center;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:18px;position:relative}
.instant-bar::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.instant-bar input,.instant-bar select{padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;font-size:13px;transition:all .15s ease}
.instant-bar input:focus{border-color:var(--border-active,var(--accent));box-shadow:0 0 0 3px var(--accent-glow)}
.instant-bar input::placeholder{color:var(--text-dim)}
.instant-bar .ib-origin,.instant-bar .ib-dest{flex:2;min-width:150px}
.instant-bar .ib-date{flex:1;min-width:120px}
.instant-bar .ib-equip{flex:1;min-width:100px}
.match-btn{padding:10px 24px;background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--radius);font-weight:700;cursor:pointer;font-size:13px;white-space:nowrap;transition:all .15s ease;letter-spacing:.2px;box-shadow:0 1px 4px rgba(107,156,247,.15)}
.match-btn:hover{background:var(--accent-hover);box-shadow:0 4px 16px rgba(107,156,247,.2),var(--shadow-glow,0 0 0 transparent);transform:translateY(-1px)}
.match-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.clear-btn{padding:9px 14px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;transition:all .2s}
.clear-btn:hover{border-color:var(--accent);color:var(--text);background:var(--surface-2)}
/* ── Instant Bar Dropdown ── */
.ib-dropdown{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:9000;width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-lg);animation:ibSlide .12s ease-out}
.ib-dropdown.open{display:block}
.ib-dropdown::before{content:'';position:absolute;top:-6px;right:18px;width:10px;height:10px;background:var(--surface);border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}
.ib-panel{display:flex;flex-direction:column;gap:8px}
.ib-panel input,.ib-panel select{padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;font-size:12px;font-family:inherit;width:100%}
.ib-panel input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.ib-panel input::placeholder{color:var(--text-dim)}
@keyframes ibSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.qa-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;background:none;border:none;color:var(--text);cursor:pointer;border-radius:8px;text-align:left;transition:background .12s}
.qa-item:hover{background:var(--surface-2)}
.qa-item svg{flex-shrink:0;color:var(--accent);margin-top:2px}
.ib-trigger{background:var(--accent);color:#fff;border:none;padding:5px 14px;border-radius:var(--radius);cursor:pointer;font-size:11px;font-weight:600;transition:all .2s;display:flex;align-items:center;gap:5px}
.ib-trigger:hover{background:var(--accent-hover)}
.ib-trigger .kb{font-size:9px;opacity:.7;padding:1px 4px;border:1px solid rgba(255,255,255,.3);border-radius:3px}
/* ── Match View (two-mode: freight / capacity) ── */
.match-view{max-width:620px;margin:0 auto}
.mode-toggle{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:3px;margin-bottom:20px}
.mode-btn{flex:1;padding:14px;border:none;border-radius:10px;cursor:pointer;text-align:center;transition:all .2s;background:transparent;color:var(--text-muted);font-family:inherit}
.mode-btn:hover{color:var(--text)}
.mode-btn.act-f{background:var(--accent);color:#fff;box-shadow:0 2px 10px rgba(107,156,247,.3)}
.mode-btn.act-c{background:var(--success);color:#000;box-shadow:0 2px 10px rgba(62,224,165,.3)}
.mode-icon{font-size:18px;display:block;margin-bottom:2px}
.mode-label{font-size:13px;font-weight:600;display:block}
.mode-sub{font-size:10px;opacity:.7;display:block;margin-top:2px}
.mv-search-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}
.mv-search-label{font-size:12px;color:var(--text-muted);font-weight:500;margin-bottom:10px}
.mv-s-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.mv-s-input{flex:1;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;outline:none;min-width:0;font-family:inherit}
.mv-s-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.mv-s-input::placeholder{color:var(--text-dim)}
.mv-s-arrow{color:var(--text-dim);font-size:16px;flex-shrink:0}
.mv-s-row-sm{display:flex;gap:8px}
.mv-s-row-sm input,.mv-s-row-sm select{flex:1;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px;outline:none;font-family:inherit}
.mv-s-row-sm select{color:var(--text-muted)}
.mv-btn-go{width:100%;padding:11px;border:none;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;margin-top:10px;font-family:inherit;letter-spacing:.2px}
.mv-btn-go-f{background:var(--accent);color:#fff}
.mv-btn-go-f:hover{background:var(--accent-hover)}
.mv-btn-go-c{background:var(--success);color:#000}
.mv-btn-go-c:hover{filter:brightness(1.1)}
.mv-or-line{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--text-dim);font-size:10px;letter-spacing:.3px}
.mv-or-line::before,.mv-or-line::after{content:'';flex:1;height:1px;background:var(--border)}
.mv-r-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.mv-r-title{font-size:12px;font-weight:600}
.mv-r-count{font-size:10px;color:var(--text-muted)}
.mv-f-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:5px;cursor:pointer;transition:all .15s ease}
.mv-f-card:hover{border-color:var(--border-light);transform:translateY(-1px);box-shadow:var(--shadow)}
.mv-f-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.mv-f-lane{font-size:13px;font-weight:600}
.mv-f-lane .arr{color:var(--text-dim);margin:0 4px}
.mv-f-rate{font-weight:700;font-size:13px;color:var(--success)}
.mv-f-rate.tbd{color:var(--text-dim);font-weight:400;font-size:11px}
.mv-f-meta{font-size:10px;color:var(--text-muted);display:flex;gap:5px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.mv-dot{width:3px;height:3px;border-radius:50%;background:var(--text-dim);flex-shrink:0}
.mv-equip{padding:1px 6px;background:var(--accent-glow);color:var(--accent);border-radius:4px;font-size:9px;font-weight:500}
.mv-f-bottom{display:flex;justify-content:space-between;align-items:center}
.mv-f-match{font-size:11px;display:flex;align-items:center;gap:4px}
.mv-tier{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.mv-t-hot{background:var(--error)}.mv-t-near{background:var(--success)}.mv-t-pref{background:var(--warning)}.mv-t-pat{background:#a78bfa}
.mv-f-match .nm{font-weight:500}.mv-f-match .more{color:var(--text-dim);font-size:9px}
.mv-no-match{color:var(--text-dim);font-size:10px}
.mv-btn-card{padding:5px 12px;border:none;border-radius:6px;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit}
.mv-btn-card-book{background:var(--success);color:#000}
.mv-btn-card-book:hover{filter:brightness(1.1)}
.mv-btn-card-find{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}
.mv-c-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:5px;cursor:pointer;transition:all .15s ease}
.mv-c-card:hover{border-color:var(--border-light);transform:translateY(-1px);box-shadow:var(--shadow)}
.mv-c-card.has-match{border-left:3px solid var(--success)}
.mv-c-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}
.mv-c-carrier{font-size:13px;font-weight:600}
.mv-c-trucks{font-size:11px;color:var(--success);font-weight:600}
.mv-c-detail{font-size:10px;color:var(--text-muted);display:flex;gap:5px;align-items:center;margin-bottom:7px}
.mv-c-bottom{display:flex;justify-content:space-between;align-items:center}
.mv-c-match{font-size:10px;color:var(--text-muted)}.mv-c-match strong{color:var(--text)}
.mv-btn-view{background:var(--accent);color:#fff;padding:5px 12px;border:none;border-radius:6px;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit}
.summary-pills{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.summary-pill{padding:5px 12px;border-radius:var(--radius);font-size:11px;font-weight:600;background:var(--surface);border:1px solid var(--border)}
.summary-pill.total{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}
.insight-pills{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.insight-pill{padding:4px 10px;border-radius:var(--radius);font-size:10px;background:rgba(167,139,250,.08);color:#a78bfa;border:1px solid rgba(167,139,250,.2)}
.pattern-tag{display:inline-block;padding:1px 5px;border-radius:3px;font-size:9px;font-weight:600;background:rgba(91,141,239,.1);color:var(--accent);margin:1px 2px}
.quick-match-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:6px;cursor:pointer;transition:all .15s ease;position:relative}
.quick-match-card:hover{border-color:var(--border-light);background:var(--surface-2)}
.quick-match-card .qm-lane{font-weight:600;font-size:13px;margin-bottom:2px}
.quick-match-card .qm-meta{font-size:10px;color:var(--text-muted);margin-bottom:5px}
.quick-match-card .qm-carriers{display:flex;gap:5px;flex-wrap:wrap}
.qm-carrier-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:3px;font-size:10px;background:var(--surface-2);border:1px solid var(--border)}

/* ── Coverage indicators ── */
.coverage-row{display:flex;align-items:center;gap:12px;padding:9px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:5px;cursor:pointer;transition:border-color .15s}
.coverage-row:hover{border-color:var(--accent)}
.coverage-dots{display:flex;gap:3px}
.coverage-dots .dot{width:7px;height:7px;border-radius:50%}
.dot.on{background:var(--success);box-shadow:0 0 4px rgba(52,211,153,.4)}
.dot.mid{background:var(--warning);box-shadow:0 0 4px rgba(251,191,36,.3)}
.dot.off{background:var(--border)}
.gap-tag{display:inline-block;padding:2px 7px;border-radius:3px;font-size:9px;font-weight:600;background:rgba(248,113,113,.1);color:var(--error)}

/* ── Heatmap grid ── */
.heatmap-grid{display:grid;grid-template-columns:60px repeat(7,1fr);gap:2px;margin-bottom:20px}
.heatmap-cell{padding:7px 4px;text-align:center;border-radius:3px;font-size:10px;font-weight:500}
.heatmap-header{color:var(--text-muted);font-weight:600;font-size:10px;padding:6px 4px;text-align:center}
.heatmap-label{font-size:10px;color:var(--text-muted);text-align:right;padding:7px 6px 7px 0}
input[type="date"]{color-scheme:var(--color-scheme,dark)}
:root{--color-scheme:dark}
[data-theme="arctic"],[data-theme="sandstone"],[data-theme="concrete"]{--color-scheme:light}

/* ── Advanced Analytics ── */
.adv-toolbar{display:flex;gap:6px;align-items:center;padding:6px 0 10px;flex-wrap:wrap;border-top:1px solid var(--border);margin-top:6px}
.adv-toolbar .adv-label{font-size:9px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-right:4px}
.adv-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}
.adv-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}
.adv-kpi .kpi-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.adv-kpi .kpi-value{font-size:20px;font-weight:700;letter-spacing:-.3px}
.adv-kpi .kpi-sub{font-size:10px;color:var(--text-muted);margin-top:2px}
/* RFQ Analytics V2 — Bloomberg Terminal */
.rfq-terminal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px}
.rfq-ticker{display:flex;gap:0;overflow-x:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:4px 0;margin-bottom:16px}
.rfq-ticker .tick{flex:1;text-align:center;padding:6px 14px;border-right:1px solid var(--border);min-width:120px}
.rfq-ticker .tick:last-child{border-right:none}
.rfq-ticker .tick-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}
.rfq-ticker .tick-value{font-size:16px;font-weight:700;font-family:'SF Mono',monospace;margin-top:2px}
.rfq-funnel-bar{display:flex;height:28px;border-radius:var(--radius);overflow:hidden;margin:8px 0}
.rfq-funnel-bar .seg{height:100%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;min-width:2px;transition:flex .3s}
.corridor-cell{padding:3px 6px;font-size:10px;font-weight:600;text-align:center;border-radius:3px}
.rfq-ana-pills{display:flex;gap:4px;margin-bottom:14px}
.rfq-ana-pills button{padding:5px 14px;font-size:11px;font-weight:600;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text-muted);cursor:pointer;transition:all .15s}
.rfq-ana-pills button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.rfq-ana-pills button:hover:not(.active){background:var(--surface-3);color:var(--text)}
.rfq-sc-detail{background:var(--bg);border-top:1px solid var(--border)}
.rfq-sc-detail td{font-size:11px;padding:4px 8px!important}
.rfq-sc-row{cursor:pointer;transition:background .1s}
.rfq-sc-row:hover{background:rgba(107,156,247,.04)!important}
.heatmap-grid{display:grid;gap:2px;font-size:10px}
.heatmap-grid .hm-cell{padding:4px 2px;text-align:center;border-radius:2px;font-weight:600;min-width:32px}
.heatmap-grid .hm-header{font-size:9px;color:var(--text-muted);font-weight:600;text-transform:uppercase}
/* Leaflet Maps */
.cap-leaflet-map{width:100%;height:500px;border-radius:var(--radius);z-index:0}
.mkt-leaflet-map{width:100%;height:500px;border-radius:var(--radius);z-index:0}
.arb-leaflet-map{width:100%;height:350px;border-radius:var(--radius);z-index:0}
.dark-tooltip{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important;font-size:11px;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.dark-tooltip .leaflet-tooltip-tip{display:none}
.mkt-label-icon{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:6px!important;font-size:9px;font-weight:700;color:var(--text);text-align:center;line-height:14px;padding:0 2px;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.mkt-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;overflow-y:auto;max-height:500px}
/* Sankey */
.sankey-wrap{width:100%;overflow-x:auto}
.sankey-link{fill:none;stroke-opacity:.35;transition:stroke-opacity .2s}
.sankey-link:hover{stroke-opacity:.7}
@keyframes sankeyFlow{from{stroke-dashoffset:24}to{stroke-dashoffset:0}}
.sankey-link.animated{stroke-dasharray:12 12}
.sankey-node rect{fill-opacity:.85;stroke-width:0;cursor:pointer}
.sankey-node text{font-size:10px;fill:var(--text);pointer-events:none}
/* Constellation / Force Graph */
.constellation-wrap{width:100%;height:500px;position:relative;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.constellation-wrap svg{width:100%;height:100%}
.constellation-node{cursor:pointer}
.constellation-node circle{stroke:var(--border-light);stroke-width:1.5;transition:stroke .2s}
.constellation-node:hover circle{stroke:var(--accent);stroke-width:2.5}
.constellation-node text{font-size:9px;fill:var(--text-muted);pointer-events:none;text-anchor:middle}
.constellation-edge{stroke:var(--border);stroke-opacity:.3}
/* Radar map */
.radar-map{width:100%;height:680px;border-radius:var(--radius);z-index:0}
.leaflet-container:focus,.leaflet-container path:focus{outline:none!important}
.leaflet-popup-content-wrapper{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.leaflet-popup-tip{background:var(--surface)}
.leaflet-popup-content{margin:8px 12px;font-size:11px;line-height:1.5}
.leaflet-control-zoom a{background:var(--surface);color:var(--text);border-color:var(--border)}
.leaflet-control-zoom a:hover{background:var(--surface-2)}
.leaflet-control-attribution{background:rgba(12,14,20,.7)!important;color:var(--text-dim)!important;font-size:9px}
.leaflet-control-attribution a{color:var(--text-muted)!important}
.leaflet-control-layers{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:6px!important;font-size:11px}
.leaflet-control-layers label{color:var(--text)!important;margin-bottom:2px}
.leaflet-control-layers-separator{border-color:var(--border)!important}
/* Location autocomplete */
.loc-ac-wrap{position:relative;display:inline-block}
.loc-ac-list{display:none;position:absolute;top:100%;left:0;right:0;z-index:9999;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.loc-ac-list.open{display:block}
.loc-ac-item{padding:5px 8px;font-size:12px;cursor:pointer;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loc-ac-item:hover,.loc-ac-item.active{background:var(--accent);color:var(--accent-text,#fff)}
.loc-ac-item .ac-zone{font-size:10px;color:var(--text-dim);margin-left:6px}
.loc-ac-item:hover .ac-zone,.loc-ac-item.active .ac-zone{color:rgba(255,255,255,.6)}
/* Timeline */
.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:8px;transition:all .15s ease}
.timeline-card:hover{border-color:var(--border-light);transform:translateY(-1px)}
.timeline-card .tc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.timeline-card .tc-title{font-weight:600;font-size:12px}
.timeline-card .tc-badge{font-size:9px;font-weight:600;padding:2px 7px;border-radius:3px;text-transform:uppercase}
.timeline-card .tc-desc{font-size:11px;color:var(--text-muted);margin-bottom:8px}
.timeline-mini{display:flex;align-items:center;gap:3px;margin-bottom:6px;overflow-x:auto;padding:2px 0}
.timeline-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.timeline-dot.past{background:var(--accent);opacity:.5}
.timeline-dot.predicted{background:var(--success);box-shadow:0 0 6px var(--success)}
.confidence-bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;margin-top:4px}
.confidence-fill{height:100%;border-radius:3px;transition:width .3s}
/* Arbitrage */
.arb-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.arb-map-box{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px}
.arb-map-box h4{font-size:12px;color:var(--text-muted);margin-bottom:8px}
.arb-dot{cursor:pointer;transition:r .15s}
.arb-dot:hover{r:6}
@keyframes arbPulse{0%{opacity:.6}100%{opacity:1}}
.arb-opp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:6px;display:flex;align-items:center;gap:12px}
.arb-opp-card .arb-dist{font-size:18px;font-weight:700;color:var(--accent);min-width:60px;text-align:center}
.arb-opp-card .arb-info{flex:1;font-size:11px;color:var(--text-muted)}
.arb-opp-card .arb-info strong{color:var(--text);font-size:12px}
/* Market Pulse */
.mp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:900px){.mp-grid{grid-template-columns:1fr}}
.mp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.mp-card h4{font-size:13px;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:6px;color:var(--text)}
.mp-card h4 .mp-icon{font-size:15px}
.mp-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:12px}
.mp-item:last-child{border-bottom:none}
.mp-arrow{font-size:14px;font-weight:700;width:20px;text-align:center;flex-shrink:0}
.mp-arrow.up{color:var(--success)}
.mp-arrow.down{color:var(--error)}
.mp-arrow.new{color:var(--accent)}
.mp-arrow.flat{color:var(--text-muted)}
.mp-label{flex:1;color:var(--text);font-size:12px}
.mp-value{font-weight:600;color:var(--text);font-size:12px;text-align:right;white-space:nowrap}
.mp-pct{font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px;margin-left:4px}
.mp-pct.up{background:rgba(34,197,94,.15);color:var(--success)}
.mp-pct.down{background:rgba(239,68,68,.15);color:var(--error)}
.mp-pct.new{background:rgba(91,141,239,.15);color:var(--accent)}
.mp-empty{text-align:center;color:var(--text-muted);font-size:12px;padding:20px 0;font-style:italic}

/* ── Command Palette ── */
.cmd-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1200;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;opacity:0;pointer-events:none;transition:opacity .2s}
.cmd-overlay.open{opacity:1;pointer-events:all}
.cmd-overlay.open{opacity:1;pointer-events:all}
.cmd-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:560px;box-shadow:var(--shadow-lg),0 0 0 1px rgba(255,255,255,.03);overflow:hidden}
.cmd-input{width:100%;padding:15px 18px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:15px;outline:none;font-family:inherit}
.cmd-input::placeholder{color:var(--text-dim)}
.cmd-results{max-height:320px;overflow-y:auto}
.cmd-item{padding:10px 18px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background .1s ease;border-bottom:1px solid var(--border)}
.cmd-item:last-child{border-bottom:none}
.cmd-item:hover,.cmd-item.active{background:var(--accent-subtle,var(--accent-glow))}
.cmd-item .cmd-icon{font-size:14px;width:22px;text-align:center;color:var(--text-muted)}
.cmd-item .cmd-text{flex:1}
.cmd-item .cmd-text .cmd-title{font-size:12px;font-weight:500}
.cmd-item .cmd-text .cmd-desc{font-size:10px;color:var(--text-muted);margin-top:1px}
.cmd-item .cmd-shortcut{font-size:10px;color:var(--text-dim);background:var(--bg);padding:2px 7px;border-radius:5px;border:1px solid var(--border);margin-left:auto}
.cmd-hint{padding:8px 18px;font-size:10px;color:var(--text-dim);text-align:center}

/* ── Auto-Match Banner ── */
.am-banner{background:linear-gradient(135deg,rgba(52,211,153,.08),rgba(91,141,239,.06));border:1px solid rgba(52,211,153,.25);border-radius:var(--radius-lg);padding:14px 18px;margin-bottom:16px;animation:amSlideIn .3s ease}
@keyframes amSlideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.am-banner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.am-banner-header h3{font-size:13px;font-weight:700;color:var(--success);display:flex;align-items:center;gap:6px}
.am-banner-header .am-count{background:var(--success);color:#0c0e14;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:700}
.am-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:6px}
.am-card .am-lane{font-weight:600;font-size:13px;margin-bottom:4px}
.am-card .am-meta{font-size:11px;color:var(--text-muted);margin-bottom:8px}
.am-card .am-carriers{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.am-carrier-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--radius);font-size:12px;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;transition:all .15s}
.am-carrier-chip:hover{border-color:var(--accent);background:var(--accent-glow)}
.am-carrier-chip .am-hs{font-weight:700;font-size:11px;margin-left:4px}
.no-mc{border-color:rgba(248,113,113,.5)!important;background:rgba(248,113,113,.06)!important}
.no-mc::after{content:"No MC#";font-size:8px;color:#f87171;font-weight:600;margin-left:4px}
.am-tbl-avatar.no-mc{border-color:#f87171!important;box-shadow:0 0 0 1px rgba(248,113,113,.3)}
.am-tbl-avatar.no-mc::after{display:none}
.am-pri-dot.no-mc{border-color:#f87171!important;box-shadow:0 0 0 1px rgba(248,113,113,.3)}
.am-pri-dot.no-mc::after{display:none}
.am-tbl-exp-chip.no-mc{border-color:rgba(248,113,113,.5)!important;background:rgba(248,113,113,.06)!important}
.am-k-chip.no-mc::after{content:"No MC#";font-size:8px;color:#f87171;font-weight:600;margin-left:3px}
.badge-sub{background:rgba(168,85,247,.12);color:#a78bfa;cursor:pointer;font-size:11px;padding:1px 6px;border-radius:3px;font-weight:600;letter-spacing:.3px}
.badge-sub:hover{background:rgba(168,85,247,.25);text-decoration:underline}
.badge-sub.onboard{background:rgba(180,83,9,.12);color:#d97706}
.badge-sub.onboard:hover{background:rgba(180,83,9,.25)}
.sub-modal-tbl{width:100%;border-collapse:collapse;margin-top:10px}
.sub-modal-tbl th{text-align:left;padding:6px 8px;font-size:10px;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border)}
.sub-modal-tbl td{padding:6px 8px;font-size:11px;border-bottom:1px solid var(--border)}
/* ── Quick-View / Detail Panel ── */
.qv-header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface)}
.qv-lane-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-2);border-radius:var(--radius);margin-bottom:8px}
.qv-lane-banner .qv-lane-text{font-size:15px;font-weight:700;letter-spacing:-.2px}
.qv-lane-banner .qv-arrow{color:var(--accent);font-size:14px;margin:0 2px}
.qv-lane-banner .qv-equip-pill{font-size:10px;padding:2px 8px;border-radius:20px;background:var(--accent-glow);color:var(--accent);border:1px solid var(--border-active);font-weight:600;white-space:nowrap;margin-left:auto}
.qv-meta{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 20px}
.qv-stat{background:var(--surface-2);border-radius:var(--radius);padding:12px 14px;text-align:center;border:1px solid var(--border)}
.qv-stat-val{font-size:22px;font-weight:700;letter-spacing:-.5px;line-height:1.2}
.qv-stat-lbl{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:4px;font-weight:500}
.qv-body{padding:16px 20px;display:flex;flex-direction:column;gap:16px}
.qv-section{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.qv-section-hdr{padding:8px 12px;background:var(--surface-2);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border)}
.qv-section-body{padding:10px 12px}
.qv-detail-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px}
.qv-detail-row .qv-lbl{color:var(--text-muted);font-size:11px}
.qv-detail-row .qv-val{font-weight:500}
.qv-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;background:var(--surface)}
.badge-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.3px}
.badge-status.pending{background:rgba(245,158,11,.12);color:#f59e0b}
.badge-status.quoted{background:rgba(59,130,246,.12);color:#3b82f6}
.badge-status.booked{background:rgba(16,185,129,.12);color:#10b981}
.badge-status.declined{background:rgba(239,68,68,.12);color:#ef4444}
.badge-cls{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}
.badge-cls.awarded{background:rgba(16,185,129,.12);color:#10b981}
.badge-cls.live{background:rgba(59,130,246,.12);color:#3b82f6}
.badge-cls.non_live{background:rgba(155,164,184,.12);color:var(--text-muted)}
.badge-cls.historical_closed{background:rgba(107,122,148,.08);color:var(--text-dim)}
.badge-cls.historical_open{background:rgba(245,158,11,.12);color:#f59e0b}
.badge-captype{display:inline-flex;align-items:center;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:600;letter-spacing:.2px}
.badge-captype.live_truck{background:rgba(62,224,165,.1);color:var(--success)}
.badge-captype.preferred_lane{background:rgba(168,85,247,.12);color:#a78bfa}
.badge-status.expired{background:rgba(107,114,128,.12);color:#6b7280}
.qv-row-selected{background:var(--accent-glow)!important;border-left:2px solid var(--accent)}
.badge-enroute{background:rgba(56,189,248,.15);color:#38bdf8;font-size:9px;padding:1px 6px;border-radius:4px;font-weight:600;letter-spacing:.3px;display:inline-flex;align-items:center;gap:3px}
.badge-enroute::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#38bdf8}
.am-action-btn{font-size:10px;padding:2px 7px;border-radius:var(--radius);border:1px solid rgba(52,211,153,.3);background:var(--surface);color:var(--success);cursor:pointer;text-decoration:none;white-space:nowrap;transition:all .15s;display:inline-flex;align-items:center;gap:2px}
.am-action-btn:hover{background:var(--success);color:#fff;border-color:var(--success)}
.am-email-btn{color:var(--accent);border-color:rgba(91,141,239,.3)}
.am-email-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.am-section{display:none;height:calc(100vh - 220px);display:flex;flex-direction:column}
.am-filter-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px}
.am-filter-bar select,.am-filter-bar input{padding:5px 8px;font-size:11px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}
.am-filter-bar input{width:180px}
.am-filter-bar .am-filter-count{font-size:11px;color:var(--text-muted);margin-left:auto;white-space:nowrap}
.am-action-bar{display:flex;gap:6px;align-items:center;margin-bottom:8px}
#amSection{display:flex;flex-direction:column}
.am-cards-scroll{overflow-y:auto;max-height:calc(100vh - 280px)}
.am-view-toggle{display:flex;gap:2px;border:1px solid var(--border);border-radius:var(--radius);padding:2px;margin-right:6px}
.am-view-toggle button{padding:3px 10px;font-size:10px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;font-weight:500;transition:all .15s;white-space:nowrap}
.am-view-toggle button.active{background:var(--accent);color:#fff}
.am-view-toggle button:hover:not(.active){color:var(--text)}
/* Kanban */
.am-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;flex:1;overflow:hidden}
.am-kanban-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;min-height:0}
.am-kanban-col-hdr{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.am-kanban-col-hdr h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0}
.am-kanban-col.hot .am-kanban-col-hdr{border-left:3px solid #f87171}
.am-kanban-col.nearby .am-kanban-col-hdr{border-left:3px solid #34d399}
.am-kanban-col.preferred .am-kanban-col-hdr{border-left:3px solid #fbbf24}
.am-kanban-col.pattern .am-kanban-col-hdr{border-left:3px solid #818cf8}
.am-kanban-scroll{flex:1;overflow-y:auto;padding:6px;scrollbar-width:thin}
.am-k-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:9px 11px;margin-bottom:5px;cursor:pointer;transition:all .15s ease}
.am-k-card:hover{border-color:var(--border-light);transform:translateY(-1px);box-shadow:var(--shadow)}
.am-k-lane{font-size:12px;font-weight:600;margin-bottom:3px}
.am-k-meta{font-size:10px;color:var(--text-muted);margin-bottom:5px;display:flex;justify-content:space-between}
.am-k-chips{display:flex;flex-wrap:wrap;gap:3px}
.am-k-chip{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);display:inline-flex;align-items:center;gap:3px}
/* Table */
.am-tbl-wrap{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);scrollbar-width:thin}
.am-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}
.am-tbl thead th{padding:9px 12px;text-align:left;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);cursor:pointer;white-space:nowrap;user-select:none;z-index:1}
.am-tbl thead th:hover{color:var(--accent)}
.am-tbl tbody tr.am-tbl-row{transition:background .1s;cursor:pointer}
.am-tbl tbody tr.am-tbl-row:hover{background:var(--accent-glow)}
.am-tbl tbody td{padding:9px 12px;border-bottom:1px solid rgba(42,45,62,.4);vertical-align:middle}
.am-tbl .lane-cell{font-weight:600;white-space:nowrap}
.am-tbl .lane-cell .arrow{color:var(--accent);margin:0 4px}
.am-tbl .date-tbd{color:var(--warning)}
.am-tbl .rate-cell{font-weight:600;color:var(--success)}
.am-tbl-carriers{display:flex;gap:3px;align-items:center}
.am-tbl-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted)}
.am-tbl-avatar.hot{border-color:rgba(248,113,113,.5);color:#f87171}
.am-tbl-avatar.nearby{border-color:rgba(52,211,153,.5);color:#34d399}
.am-tbl-avatar.preferred{border-color:rgba(251,191,36,.5);color:#fbbf24}
.am-tbl-avatar.pattern,.am-tbl-avatar.corridor{border-color:rgba(99,102,241,.5);color:#818cf8}
.am-tbl-avatar.historical{border-color:rgba(168,85,247,.5);color:#a855f7}
.am-tbl-expand td{padding:12px 16px!important;background:rgba(91,141,239,.03)}
.am-tbl-exp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px}
.am-tbl-exp-chip{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:all .15s}
.am-tbl-exp-chip:hover{border-color:var(--accent);background:var(--accent-glow)}
.am-tbl-exp-chip .info{flex:1;min-width:0}
.am-tbl-exp-chip .name{font-size:12px;font-weight:500}
.am-tbl-exp-chip .detail{font-size:10px;color:var(--text-muted)}
/* Priority */
.am-pri-hdr{display:grid;grid-template-columns:32px 1fr 130px 90px 70px 50px 110px;gap:10px;padding:7px 14px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.am-pri-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin}
.am-pri-card{display:grid;grid-template-columns:32px 1fr 130px 90px 70px 50px 110px;gap:10px;align-items:center;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s}
.am-pri-card:hover{border-color:var(--accent);background:var(--accent-glow)}
.am-pri-rank{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--surface-2);border:1px solid var(--border)}
.am-pri-rank.top{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.3);color:#f87171}
.am-pri-lane{font-weight:600;font-size:12px}
.am-pri-sub{font-size:10px;color:var(--text-muted);font-weight:400;margin-top:1px}
.am-pri-dots{display:flex;gap:2px;align-items:center;flex-wrap:wrap}
.am-pri-dot{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;border:1px solid}
.am-pri-score{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;margin:0 auto}
.am-pri-actions{display:flex;gap:3px;justify-content:flex-end}
.am-pri-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px}
.am-pri-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;text-align:center}
.am-pri-stat .val{font-size:20px;font-weight:700;margin-bottom:1px}
.am-pri-stat .lbl{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}
.am-pri-stat.hl{border-color:rgba(52,211,153,.3);background:linear-gradient(135deg,rgba(52,211,153,.05),var(--surface))}
.am-pri-stat.hl .val{color:var(--success)}

/* ── Rich Tooltip ── */
#amTip{position:fixed;z-index:2000;pointer-events:auto;background:#1e2235;border:1px solid rgba(91,141,239,.5);border-radius:var(--radius-lg);padding:12px 16px;box-shadow:0 12px 40px rgba(0,0,0,.8),0 0 0 1px rgba(91,141,239,.15),0 0 20px rgba(91,141,239,.08);font-size:11px;line-height:1.6;max-width:320px;opacity:0;transition:opacity .12s;display:none}
#amTip.show{display:block;opacity:1}
#amTip .tip-name{font-weight:700;font-size:14px;margin-bottom:5px;color:#fff}
#amTip .tip-row{display:flex;gap:6px;align-items:center;color:#b0b5cc;font-size:12px}
#amTip .tip-row strong{color:#fff;font-weight:600}
#amTip .tip-tags{display:flex;gap:3px;flex-wrap:wrap;margin-top:4px}
#amTip .tip-tag{font-size:10px;background:rgba(99,102,241,.2);color:#a5b4fc;padding:2px 7px;border-radius:3px;font-weight:500}

/* ── RFQ ── */
.rfq-coverage-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--surface-2);min-width:80px}
.rfq-coverage-bar .seg-strong{background:var(--success)}
.rfq-coverage-bar .seg-weak{background:var(--warning)}
.rfq-coverage-bar .seg-none{background:var(--error);opacity:.4}
.rfq-lane-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:11px 14px;margin-bottom:6px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:10px}
.rfq-lane-card:hover{border-color:var(--border-light);background:var(--surface-2);box-shadow:var(--shadow)}
.rfq-lane-card.selected{border-color:var(--accent);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent),0 2px 8px rgba(0,0,0,.1)}
.rfq-cov-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.rfq-cov-dot.strong{background:var(--success)}
.rfq-cov-dot.weak{background:var(--warning)}
.rfq-cov-dot.none{background:var(--error);opacity:.5}
.rfq-heatmap-cell{width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent}
.rfq-heatmap-cell:hover{transform:scale(1.15);z-index:1;border-color:var(--text-muted)}
.rfq-heatmap-cell.strong{background:rgba(52,211,153,.25);color:var(--success)}
.rfq-heatmap-cell.weak{background:rgba(251,191,36,.25);color:var(--warning)}
.rfq-heatmap-cell.none{background:rgba(248,113,113,.15);color:var(--error)}
/* Corridors sub-view */
.rfq-corridor-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:6px;cursor:pointer;transition:all .15s ease}
.rfq-corridor-card:hover{border-color:var(--border-light);background:var(--surface-2)}
.rfq-corridor-card.selected{border-color:var(--accent);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}
.rfq-corridor-route{font-weight:700;font-size:14px;letter-spacing:-.2px}
.rfq-corridor-route .arr{color:var(--accent);margin:0 5px}
.rfq-corridor-stats{display:flex;gap:14px;margin-top:6px;font-size:10px;color:var(--text-muted)}
.rfq-corridor-stats .stat-val{font-weight:700;color:var(--text);margin-right:2px}
.rfq-corridor-bar{height:6px;border-radius:3px;background:var(--surface-2);margin-top:8px;overflow:hidden;display:flex}
.rfq-corridor-bar .seg{height:100%;transition:width .3s}
.rfq-corridor-bar .seg-strong{background:var(--success)}
.rfq-corridor-bar .seg-weak{background:var(--warning)}
.rfq-corridor-bar .seg-none{background:var(--error);opacity:.4}
.rfq-corridor-detail-hdr{font-weight:700;font-size:15px;margin-bottom:4px}
.rfq-corridor-section{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}
.rfq-corridor-section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}
.rfq-corridor-carrier{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:4px;cursor:pointer;transition:all .15s}
.rfq-corridor-carrier:hover{border-color:var(--accent);background:var(--surface-2)}
.rfq-corridor-carrier .cc-name{font-weight:600;font-size:12px}
.rfq-corridor-carrier .cc-mc{font-size:9px;color:var(--text-muted)}
.rfq-corridor-carrier .cc-lanes{font-size:18px;font-weight:700;color:var(--accent);margin-left:auto}
.rfq-corridor-carrier .cc-label{font-size:8px;color:var(--text-muted)}
.rfq-corridor-summary{display:flex;gap:20px;margin-bottom:16px;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}
.rfq-corridor-summary .cs-stat{text-align:center}
.rfq-corridor-summary .cs-val{font-size:22px;font-weight:700;letter-spacing:-.5px}
.rfq-corridor-summary .cs-lbl{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:1px}

.rfq-carrier-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;margin-bottom:5px;cursor:pointer;transition:all .15s ease}
.rfq-carrier-card:hover{border-color:var(--border-light);background:var(--surface-2)}
.rfq-carrier-card.selected{border-color:var(--accent);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}

/* Command Bar */
.rfq-cmd-bar{background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 22px;margin-bottom:18px;box-shadow:var(--shadow)}
.rfq-cmd-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.rfq-cmd-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.rfq-cmd-kpis{display:flex;gap:20px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.rfq-cmd-kpi{text-align:center;min-width:64px}
.rfq-cmd-kpi .kv{font-size:24px;font-weight:700;letter-spacing:-.5px}
.rfq-cmd-kpi .kl{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.rfq-cmd-tabs{display:flex;gap:2px;border:1px solid var(--border);border-radius:var(--radius);padding:3px;width:fit-content;background:var(--bg)}
.rfq-cmd-tabs button{padding:6px 16px;font-size:11px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-weight:500;transition:all .15s}
.rfq-cmd-tabs button:hover{color:var(--text);background:var(--surface)}
.rfq-cmd-tabs button.active{background:var(--accent);color:#fff;box-shadow:0 1px 4px rgba(107,156,247,.3)}

/* Filter Bar */
.rfq-filter-bar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.rfq-filter-bar input,.rfq-filter-bar select{padding:5px 10px;font-size:11px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}
.rfq-filter-bar input{width:200px}
.rfq-filter-bar .filter-count{font-size:11px;color:var(--text-muted);margin-left:auto}

/* Match Table (Mockup C) */
.rfq-match-tbl{width:100%;border-collapse:separate;border-spacing:0 3px}
.rfq-match-tbl th{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-weight:600;padding:4px 10px;text-align:left;border-bottom:1px solid var(--border)}
.rfq-match-row{background:var(--surface);cursor:pointer;transition:all .15s}
.rfq-match-row:hover{background:var(--surface-2)}
.rfq-match-row td{padding:9px 10px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:top}
.rfq-match-row td:first-child{border-left:1px solid var(--border);border-radius:var(--radius) 0 0 var(--radius)}
.rfq-match-row td:last-child{border-right:1px solid var(--border);border-radius:0 var(--radius) var(--radius) 0}
.rfq-match-row.hero td{border-color:rgba(62,224,165,.25)}
.rfq-match-row.hero td:first-child{border-left:3px solid var(--success)}
.rfq-match-rank{font-size:14px;font-weight:800;color:var(--text-dim);text-align:center;width:36px}
.hero .rfq-match-rank{color:var(--success)}
.rfq-reason-row{background:transparent}
.rfq-reason-row td{padding:0 10px 10px 56px;border:none}
.rfq-reason-row td .reason-blurb-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;line-height:1.5;background:var(--surface-2);padding:6px 10px;border-radius:6px;border:1px solid var(--border);max-width:100%}
.rfq-reason-row td .reason-text{color:var(--text-dim);font-style:italic}
.rfq-reason-row td .score-breakdown{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.rfq-reason-row td .sc-label{font-size:9px;color:var(--text-dim);font-style:normal;margin-right:2px}
.rfq-reason-row td .sc-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 5px;border-radius:3px;font-size:9px;font-weight:600;font-style:normal;white-space:nowrap}
.rfq-reason-row td .sc-chip.base{background:rgba(107,156,247,.12);color:var(--accent)}
.rfq-reason-row td .sc-chip.penalty{background:rgba(248,113,113,.1);color:var(--error)}
.rfq-reason-row td .sc-chip.bonus{background:rgba(62,224,165,.1);color:var(--success)}
.rfq-reason-row td .sc-chip.grade{background:rgba(255,255,255,.06);color:var(--text);font-weight:700;border:1px solid var(--border)}
.rfq-reason-row td .sc-chip.grade.excellent{border-color:rgba(62,224,165,.3);color:var(--success)}
.rfq-reason-row td .sc-chip.grade.good{border-color:rgba(107,156,247,.3);color:var(--accent)}
.rfq-reason-row td .sc-chip.grade.moderate{border-color:rgba(245,197,66,.3);color:var(--warning)}
.rfq-reason-row td .sc-chip.grade.weak{border-color:rgba(248,113,113,.3);color:var(--error)}
.rfq-reason-row td .sc-arrow{color:var(--text-dim);font-size:10px;margin:0 1px}
.rfq-fit-bar{display:flex;gap:2px;align-items:center;margin-bottom:2px}
.rfq-fit-pip{width:7px;height:13px;border-radius:2px;background:var(--surface-2)}
.rfq-fit-pip.on{background:var(--success)}
.rfq-fit-pip.med{background:var(--warning)}
.rfq-fit-pip.low{background:var(--text-dim)}
.rfq-fit-label{font-size:9px;color:var(--text-muted)}
.rfq-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:4px;font-size:9px;font-weight:600;margin:1px 2px;letter-spacing:.2px}
.rfq-chip-green{background:rgba(62,224,165,.12);color:var(--success)}
.rfq-chip-blue{background:rgba(107,156,247,.12);color:var(--accent)}
.rfq-chip-amber{background:rgba(245,197,66,.1);color:var(--warning)}
.rfq-chip-purple{background:rgba(168,85,247,.12);color:#a78bfa}
.rfq-chip-gray{background:rgba(107,122,148,.1);color:var(--text-muted)}
.rfq-chip-cyan{background:rgba(56,189,248,.12);color:#38bdf8}
.rfq-dest-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.rfq-dest-dot.close{background:var(--success)}
.rfq-dest-dot.aligned{background:rgba(62,224,165,.5)}
.rfq-dest-dot.zone{background:var(--warning)}
.rfq-dest-dot.none{background:var(--text-dim)}
.rfq-tbl-btn{padding:3px 8px;font-size:9px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;text-decoration:none;margin-left:3px;transition:all .15s;display:inline-flex;align-items:center}
.rfq-tbl-btn:hover{border-color:var(--accent);color:var(--accent)}
.rfq-tbl-btn.call{border-color:rgba(62,224,165,.3);color:var(--success)}
.rfq-tbl-btn.email{border-color:rgba(107,156,247,.3);color:var(--accent)}

/* DH Badge */
.rfq-dh{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600}
.rfq-dh.close{background:rgba(52,211,153,.12);color:var(--success)}
.rfq-dh.mid{background:rgba(251,191,36,.12);color:var(--warning)}
.rfq-dh.far{background:rgba(107,122,148,.12);color:var(--text-muted)}

/* Email status dot */
.rfq-email-dot{width:6px;height:6px;border-radius:50%;display:inline-block}
.rfq-email-dot.ok{background:var(--success)}
.rfq-email-dot.bad{background:var(--error)}

/* Health score badge */
.rfq-hs{display:inline-flex;align-items:center;gap:2px;font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px}
.rfq-hs.good{background:rgba(52,211,153,.12);color:var(--success)}
.rfq-hs.ok{background:rgba(251,191,36,.12);color:var(--warning)}
.rfq-hs.low{background:rgba(107,122,148,.12);color:var(--text-muted)}

/* ── RFQ Status Badges ── */
.rfq-status-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:4px;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}
.rfq-status-badge.unquoted{background:rgba(107,122,148,.12);color:var(--text-muted)}
.rfq-status-badge.contacted{background:rgba(107,156,247,.12);color:var(--accent)}
.rfq-status-badge.rate_in{background:rgba(251,191,36,.15);color:var(--warning)}
.rfq-status-badge.quoted{background:rgba(52,211,153,.12);color:var(--success)}
.rfq-status-badge.won{background:rgba(52,211,153,.25);color:var(--success);border:1px solid rgba(52,211,153,.3)}
.rfq-status-badge.lost{background:rgba(248,113,113,.12);color:var(--error)}
.rfq-lane-card.priority-high{border-left:3px solid #f59e0b}
.rfq-lane-card.priority-med{border-left:3px solid rgba(245,158,11,.3)}
.rfq-backhaul-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 5px;border-radius:3px;font-size:8px;font-weight:600;background:rgba(56,189,248,.12);color:#38bdf8}
.rfq-deadline-expired{color:var(--error)!important;font-weight:700}
.rfq-status-chips{display:flex;gap:4px;flex-wrap:wrap;margin-left:8px}
.rfq-status-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600;cursor:pointer;transition:all .15s}
.rfq-status-chip:hover{filter:brightness(1.2)}
.rfq-risk-panel{padding:10px 14px;margin-bottom:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.rfq-risk-bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;flex:1}
.rfq-risk-fill{height:100%;border-radius:3px}
.rfq-bid-summary{display:flex;gap:16px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px}
.rfq-bid-stat .bv{font-size:18px;font-weight:700;color:var(--text)}.rfq-bid-stat .bl{font-size:9px;color:var(--text-muted);text-transform:uppercase}

/* ── Batch Match ── */
.batch-bar{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:12px 28px;display:flex;align-items:center;justify-content:space-between;z-index:900;transform:translateY(100%);transition:transform .2s ease;box-shadow:0 -4px 16px rgba(0,0,0,.3)}
.batch-bar.visible{transform:translateY(0)}
.batch-bar .batch-info{display:flex;align-items:center;gap:12px;font-size:13px}
.batch-bar .batch-count{background:var(--accent);color:var(--accent-text);padding:2px 10px;border-radius:10px;font-weight:700;font-size:12px}
.batch-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;opacity:0;pointer-events:none;transition:opacity .2s}
.batch-modal-overlay.open{opacity:1;pointer-events:all}
.batch-modal-overlay.open{opacity:1;pointer-events:all}
.batch-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;width:90%;max-width:700px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg)}
.batch-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius);margin-bottom:4px;transition:background .15s}
.batch-row.strong{background:rgba(52,211,153,.06);border-left:3px solid var(--success)}
.batch-row.weak{background:rgba(251,191,36,.06);border-left:3px solid var(--warning)}
.batch-row.none{background:rgba(248,113,113,.06);border-left:3px solid var(--error);opacity:.7}
.batch-row .br-lane{flex:1;font-weight:500;font-size:12px}
.batch-row .br-match{font-size:11px;color:var(--text-muted)}
.qm-checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}
/* ── Ship Date Picker ── */
#shipDatePicker{position:fixed;z-index:2500;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-lg);width:260px;display:none}
#shipDatePicker.show{display:block}
#shipDatePicker .sdp-title{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:10px}
#shipDatePicker .sdp-input{width:100%;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;outline:none;cursor:pointer}
#shipDatePicker .sdp-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
#shipDatePicker .sdp-quick{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}
#shipDatePicker .sdp-quick button{flex:1;min-width:70px;padding:5px 8px;font-size:11px;background:var(--accent-glow);color:var(--accent);border:1px solid var(--accent-glow);border-radius:var(--radius);cursor:pointer;transition:all .15s;font-weight:500}
#shipDatePicker .sdp-quick button:hover{background:var(--accent-hover);border-color:var(--accent);color:var(--accent-text)}
#shipDatePicker .sdp-actions{display:flex;gap:6px;margin-top:12px}
#shipDatePicker .sdp-actions button{flex:1;padding:7px;border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s}
#shipDatePicker .sdp-save{background:var(--accent);color:var(--accent-text)}
#shipDatePicker .sdp-save:hover{background:var(--accent-hover)}
#shipDatePicker .sdp-cancel{background:var(--surface-2);color:var(--text-muted)}
#shipDatePicker .sdp-cancel:hover{background:var(--border);color:var(--text)}
#shipDatePicker .sdp-clear{background:rgba(248,113,113,.15);color:var(--error)}
#shipDatePicker .sdp-clear:hover{background:rgba(248,113,113,.25)}
/* Trend Intelligence */
.badge-forecast{background:rgba(168,85,247,.15);color:#a855f7;font-size:10px;padding:2px 6px;border-radius:3px;font-weight:600}
.badge-affinity{background:rgba(34,197,94,.15);color:var(--success);font-size:10px;padding:2px 6px;border-radius:3px;font-weight:600}
.trend-arrow{display:inline-block;font-size:14px;font-weight:700;vertical-align:middle;margin-right:2px}
.trend-up{color:var(--success)}.trend-down{color:var(--error)}.trend-stable{color:var(--text-muted)}
.pattern-tag{display:inline-block;font-size:11px;background:rgba(99,102,241,.12);color:var(--accent);padding:2px 8px;border-radius:10px;margin:2px 2px 2px 0}
.forecast-row{display:flex;gap:6px;padding:4px 0}
.forecast-day{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px 8px;text-align:center;position:relative;overflow:hidden;transition:border-color .15s}
.forecast-day:hover{border-color:var(--accent)}
.forecast-day .fd-bar{position:absolute;bottom:0;left:0;right:0;background:rgba(99,102,241,.12);transition:height .3s}
.forecast-day .fd-date{font-size:10px;color:var(--text-muted);margin-bottom:2px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;position:relative}
.forecast-day .fd-count{font-size:22px;font-weight:700;position:relative;line-height:1.2}
.forecast-day .fd-states{font-size:9px;color:var(--text-muted);margin-top:3px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.forecast-day.fd-peak{border-color:rgba(99,102,241,.4)}
.forecast-day.fd-peak .fd-bar{background:rgba(99,102,241,.18)}
.forecast-day.fd-peak .fd-count{color:var(--accent)}
.ti-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-top:12px}
.ti-section h4{margin:0 0 8px;font-size:13px;color:var(--text)}
.ti-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;border-bottom:1px solid var(--border-light, rgba(148,163,184,.1))}
.ti-row:last-child{border-bottom:none}
/* Drag-and-Drop Column Mapper */
.dnd-source{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:14px}
.dnd-source-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}
.dnd-chips{display:flex;flex-wrap:wrap;gap:6px}
.dnd-chip{display:inline-flex;align-items:center;padding:5px 12px;background:var(--accent);color:#fff;border-radius:14px;font-size:11px;font-weight:600;cursor:grab;user-select:none;transition:opacity .15s,transform .1s,background .15s}
.dnd-chip:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(99,102,241,.3)}
.dnd-chip:active{cursor:grabbing;transform:scale(.96)}
.dnd-chip.mapped{opacity:.35;text-decoration:line-through;cursor:default;pointer-events:none;background:var(--text-muted)}
.dnd-group-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin:10px 0 6px;border-bottom:1px solid var(--border);padding-bottom:4px}
.dnd-targets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:10px}
.dnd-field{border:2px dashed var(--border);border-radius:var(--radius);padding:8px 10px;min-height:58px;display:flex;flex-direction:column;justify-content:center;transition:border-color .15s,background .15s,box-shadow .15s}
.dnd-field-label{font-size:10px;font-weight:600;color:var(--text-muted);margin-bottom:4px;pointer-events:none}
.dnd-field-label .req{color:var(--warning,#f59e0b)}
.dnd-field-placeholder{font-size:10px;color:var(--text-muted);opacity:.5;font-style:italic;pointer-events:none}
.dnd-field.dragover{border-color:var(--accent);border-style:solid;background:rgba(99,102,241,.06);box-shadow:0 0 8px rgba(99,102,241,.15)}
.dnd-field.mapped{border-color:var(--success);border-style:solid;background:rgba(34,197,94,.04)}
.dnd-field.required:not(.mapped){border-color:rgba(245,158,11,.4)}
.dnd-field-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:rgba(34,197,94,.12);color:var(--success);border-radius:10px;font-size:11px;font-weight:600;pointer-events:none}
.dnd-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.6;transition:opacity .1s,color .1s;pointer-events:all}
.dnd-remove:hover{opacity:1;color:var(--error)}

/* ── Sidebar Layout ── */
/* Sidebar grid layout — applied when app is visible (showApp sets display:grid) */
.app-grid{grid-template-columns:180px 1fr;grid-template-rows:56px 1fr;height:100vh;overflow:hidden}
.topbar{grid-column:1/-1;z-index:10}
.sidebar-nav{grid-row:2;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);padding:10px 0;gap:2px;overflow-y:auto;overflow-x:hidden}
.snav-item{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;color:var(--text-dim);transition:color .1s,background .1s;white-space:nowrap;position:relative;min-height:36px;border:none;background:none;width:100%;text-align:left;font-family:inherit;font-size:inherit}
.snav-item:hover{color:var(--text-muted);background:var(--surface-2)}
.snav-item.active{color:var(--accent);background:var(--accent-subtle)}
.snav-item.active::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--accent);border-radius:0 3px 3px 0}
.snav-icon{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.snav-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.snav-label{font-size:11.5px;font-weight:500}
.snav-count{background:var(--error);color:#fff;font-size:8px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;margin-left:auto}
.snav-divider{height:1px;background:var(--border);margin:6px 14px}

/* Override old tabs — hide them, remove from grid flow */
.tabs{display:none !important;position:absolute;pointer-events:none}
/* Content fills remaining grid cell */
.content{grid-column:2;grid-row:2;overflow-y:auto;max-height:100%;padding:20px 28px;max-width:none;margin:0}

/* ── Overview Tab ── */
.overview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.overview-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}
.overview-kpi .kpi-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;font-weight:500;margin-bottom:6px}
.overview-kpi .kpi-val{font-size:24px;font-weight:800;color:var(--text)}
.overview-kpi .kpi-sub{font-size:10px;color:var(--text-muted);margin-top:4px}

/* ── Work Queue (for Desk split) ── */
.desk-split{display:grid;grid-template-columns:360px 1fr;gap:0;margin:-20px -28px;height:calc(100vh - 56px)}
.wq-panel{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface);overflow:hidden}
.wq-header{padding:14px 16px 0;flex-shrink:0}
.wq-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}
.wq-title span{font-size:11px;color:var(--text-dim);font-weight:500}
.wq-filters{display:flex;gap:4px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--border)}
.wq-chip{padding:4px 10px;border-radius:14px;font-size:10px;font-weight:500;cursor:pointer;transition:all .12s;background:transparent;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}
.wq-chip:hover{border-color:var(--border-light);color:var(--text-muted)}
.wq-chip.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}
.wq-list{flex:1;overflow-y:auto;padding:6px 8px}
.wq-item{padding:12px 14px;border-radius:var(--radius);cursor:pointer;transition:all .12s;margin-bottom:3px;border:1px solid transparent;position:relative}
.wq-item:hover{background:var(--surface-2);border-color:var(--border)}
.wq-item.active{background:var(--accent-subtle);border-color:var(--border-active)}
.wq-item.active::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--accent);border-radius:0 3px 3px 0}
.wq-item-top{display:flex;align-items:center;gap:7px;margin-bottom:4px}
.wq-item-type{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 6px;border-radius:3px}
.wq-item-type.freight{background:rgba(37,99,235,.1);color:#3b82f6}
.wq-item-type.capacity{background:rgba(22,163,74,.1);color:var(--success)}
.wq-item-type.respond{background:rgba(234,88,12,.1);color:#ea580c}
.wq-item-type.outcome{background:rgba(202,138,4,.1);color:var(--warning)}
.wq-item-type.review{background:rgba(147,51,234,.1);color:#9333ea}
.wq-item-company{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.wq-item-time{font-size:10px;color:var(--text-dim);flex-shrink:0}
.wq-item-lane{font-size:11px;color:var(--text-muted);margin-bottom:3px}
.wq-item-meta{font-size:10px;color:var(--text-dim)}
.wq-context{overflow-y:auto;padding:24px 28px;background:var(--bg)}

/* user pill in topbar */
.user-pill{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:20px;background:var(--surface-2);border:1px solid var(--border)}
.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--accent-text)}

/* ── Mobile Responsiveness ── */
@media(max-width:768px){
  .sidebar-nav{display:none;position:fixed;top:0;left:0;bottom:0;width:260px;z-index:998;background:var(--surface);border-right:1px solid var(--border);box-shadow:4px 0 24px rgba(0,0,0,.3);overflow-y:auto;padding-top:60px}
  .sidebar-nav.mobile-open{display:flex}
  .content{padding:12px!important}
  .topbar{padding:10px 14px!important;flex-wrap:wrap;gap:8px}
  .topbar-right .email{display:none}
  #globalSearchWrap{max-width:100%!important;order:10;flex-basis:100%}
  #workspaceToggle{order:-1}
  #companySelectorWrap{order:-2}
  .stat-cards{grid-template-columns:1fr 1fr!important}
  .data-table{font-size:11px}
  .data-table td,.data-table th{padding:6px 8px}
  .card{padding:12px}
  .toolbar{padding:8px 10px;gap:8px}
  .admin-layout{grid-template-columns:1fr!important}
  .admin-sidebar{display:none}
  .split{grid-template-columns:1fr!important}
  .lanelock-logo .ll-wordmark{font-size:18px!important}
  #signalDetailDrawer{width:100vw!important}
  .filter-bar{flex-wrap:wrap}
  #quickAddMenu{width:200px!important}
  .btn{padding:6px 12px;font-size:11px}
}
@media(max-width:480px){
  .stat-cards{grid-template-columns:1fr!important}
  .topbar{padding:8px 10px!important}
  .lanelock-logo svg{width:28px!important;height:28px!important}
  .lanelock-logo .ll-wordmark{font-size:16px!important}
}
/* Mobile menu toggle */
#mobileMenuBtn{display:none}
@media(max-width:768px){#mobileMenuBtn{display:flex}}


/* ── AI Sidebar ── */

.ai-sidebar-open { right: 0px !important; }
.ai-msg { margin-bottom:12px; }
.ai-msg-user { text-align:right; }
.ai-msg-user .ai-bubble { background:var(--accent);color:var(--accent-text);display:inline-block;
  padding:8px 12px;border-radius:12px 12px 2px 12px;max-width:85%;font-size:12px;text-align:left;line-height:1.5 }
.ai-msg-assistant .ai-bubble { background:var(--surface-2);border:1px solid var(--border);
  display:inline-block;padding:10px 14px;border-radius:12px 12px 12px 2px;max-width:90%;
  font-size:12px;line-height:1.6;text-align:left }
.ai-tool-chip { font-size:9px;padding:1px 6px;border-radius:6px;
  background:rgba(107,156,247,.1);color:var(--accent);display:inline-block;margin:2px 2px 0 0 }
