*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px}
body{font-family:'Inter',system-ui,sans-serif;background:#F0F4FA;color:#1F2937;-webkit-font-smoothing:antialiased}
:root{
  --blue:#1A56DB;--blue-l:#EEF3FF;--blue-m:#C7D7F9;--blue-d:#1649C0;
  --green:#059669;--green-l:#ECFDF5;
  --orange:#EA580C;--orange-l:#FFF7ED;
  --amber:#D97706;--amber-l:#FFFBEB;
  --red:#DC2626;--red-l:#FEF2F2;
  --purple:#7C3AED;--purple-l:#F5F3FF;
  --teal:#0D9488;--teal-l:#F0FDFA;
  --pink:#DB2777;--pink-l:#FDF2F8;
  --ws:#0D9488;--ws-l:#F0FDFA; /* Worksport = teal */
  --ll:#1A56DB;--ll-l:#EEF3FF; /* LabLink = blue */
  --gd:#7C3AED;--gd-l:#F5F3FF; /* GatorDust = purple */
  --g50:#F9FAFB;--g100:#F3F4F6;--g200:#E5E7EB;--g300:#D1D5DB;--g400:#9CA3AF;--g500:#6B7280;--g600:#4B5563;--g700:#374151;--g800:#1F2937;--g900:#111827;
  --bd:0.5px solid #E5E7EB;--r:8px;--rl:12px;--rxl:16px;
  --mono:'JetBrains Mono',monospace;
}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#E5E7EB;border-radius:10px}
@keyframes slideUp{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ── Shell ── */
.shell{display:flex;height:100vh;overflow:hidden}

/* ── Sidebar ── */
.sidebar{width:240px;min-width:240px;background:#0F172A;display:flex;flex-direction:column;height:100vh;overflow-y:auto;flex-shrink:0}
.sb-brand{display:flex;align-items:center;gap:10px;padding:1.25rem;border-bottom:0.5px solid rgba(255,255,255,.08)}
.sb-brand-icon{width:38px;height:38px;background:var(--blue);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sb-brand-icon i{font-size:21px;color:#fff}
.sb-brand-name{font-size:15px;font-weight:600;color:#fff}
.sb-brand-sub{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35)}
.sb-badge{margin-left:auto;background:rgba(220,38,38,.25);color:#FCA5A5;font-size:9px;font-weight:700;padding:2px 7px;border-radius:20px;letter-spacing:.5px;text-transform:uppercase}
.sb-nav{padding:1rem .875rem;flex:1}
.sb-sec{font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.25);padding:0 .625rem;margin-bottom:6px;margin-top:14px}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r);font-size:13px;font-weight:400;color:rgba(255,255,255,.55);cursor:pointer;margin-bottom:2px;transition:background .12s,color .12s;text-decoration:none}
.nav-item i{font-size:18px;flex-shrink:0}
.nav-item:hover{background:rgba(255,255,255,.07);color:rgba(255,255,255,.9)}
.nav-item.active{background:rgba(26,86,219,.35);color:#93C5FD;font-weight:500}
.nav-badge{margin-left:auto;font-size:10px;font-weight:600;padding:1px 7px;border-radius:20px}
.sb-divider{height:0.5px;background:rgba(255,255,255,.07);margin:8px 12px}
.company-switcher{padding:.875rem}
.cs-label{font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:8px;padding:0 4px}
.cs-btn{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:var(--r);cursor:pointer;transition:background .12s;margin-bottom:4px}
.cs-btn:hover{background:rgba(255,255,255,.07)}
.cs-btn.active-co{background:rgba(255,255,255,.1)}
.cs-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.cs-name{font-size:13px;font-weight:500;color:rgba(255,255,255,.75)}
.cs-count{margin-left:auto;font-size:10px;font-weight:600;padding:1px 7px;border-radius:20px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.5)}
.sb-footer{padding:.875rem;border-top:0.5px solid rgba(255,255,255,.07)}
.nav-item.signout{color:rgba(255,255,255,.35)}
.nav-item.signout:hover{color:#FCA5A5;background:rgba(220,38,38,.15)}

/* ── Main ── */
.main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.topbar{background:#fff;border-bottom:var(--bd);height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;flex-shrink:0;gap:12px}
.topbar-left{display:flex;align-items:center;gap:12px}
.topbar-title{font-size:16px;font-weight:600;color:var(--g900)}
.admin-chip{display:inline-flex;align-items:center;gap:5px;background:var(--red-l);color:var(--red);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;letter-spacing:.3px}
.topbar-right{display:flex;align-items:center;gap:10px}
.topbar-date{font-size:13px;color:var(--g400);display:flex;align-items:center;gap:5px}
.notif-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--r);cursor:pointer;color:var(--g500);font-size:20px;border:var(--bd);background:#fff;transition:background .12s}
.notif-btn:hover{background:var(--g100)}
.notif-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--red);border:1.5px solid #fff}
.admin-badge{display:flex;align-items:center;gap:8px;background:var(--g50);border:var(--bd);border-radius:24px;padding:4px 12px 4px 4px;cursor:pointer}
.admin-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--red),#F87171);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}
.admin-name{font-size:13px;font-weight:500;color:var(--g700)}
.content{padding:1.5rem;overflow-y:auto;flex:1}
.page{display:none}
.page.active{display:block;animation:fadeIn .15s ease}

/* ── Company filter bar ── */
.co-filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:1.5rem;flex-wrap:wrap}
.co-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;border:var(--bd);background:#fff;color:var(--g500);transition:all .12s;white-space:nowrap}
.co-chip:hover{border-color:var(--g300)}
.co-chip.active{color:#fff;border-color:transparent}
.co-chip .co-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.co-chip.all.active{background:var(--g800)}
.co-chip.ws.active{background:var(--ws)}
.co-chip.ll.active{background:var(--ll)}
.co-chip.gd.active{background:var(--gd)}

/* ── Stats ── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:1.5rem}
.sc{background:#fff;border-radius:var(--rl);border:var(--bd);padding:1rem 1.1rem 1.1rem;position:relative;overflow:hidden;transition:box-shadow .15s}
.sc:hover{box-shadow:0 4px 16px rgba(0,0,0,.07)}
.sc-accent{position:absolute;top:0;left:0;right:0;height:3px}
.sc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;margin-top:4px}
.sc-month{font-size:11px;color:var(--g400)}
.sc-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.sc-num{font-size:28px;font-weight:600;color:var(--g900);line-height:1;margin-bottom:3px}
.sc-label{font-size:12px;color:var(--g500);margin-bottom:8px}
.sc-comp{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500}
.sc-bar-wrap{height:3px;border-radius:2px;margin-top:6px;background:var(--g200)}
.sc-bar{height:3px;border-radius:2px}
.trend-up{color:#065F46}.trend-dn{color:#991B1B}

/* ── Company cards ── */
.company-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:1.5rem}
.co-card{background:#fff;border-radius:var(--rl);border:var(--bd);overflow:hidden;cursor:pointer;transition:box-shadow .15s,transform .12s}
.co-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.09);transform:translateY(-2px)}
.co-card-header{padding:1.1rem 1.25rem;display:flex;align-items:center;justify-content:space-between}
.co-card-brand{display:flex;align-items:center;gap:10px}
.co-logo{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}
.co-card-name{font-size:14px;font-weight:600;color:var(--g900)}
.co-card-sub{font-size:11px;color:var(--g400);margin-top:1px}
.co-status{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--green)}
.co-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}
.co-card-body{padding:0 1.25rem 1.1rem}
.co-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.co-metric{text-align:center;padding:10px 6px;border-right:var(--bd)}
.co-metric:last-child{border-right:none}
.co-metric-num{font-size:20px;font-weight:600;color:var(--g900);line-height:1;margin-bottom:2px}
.co-metric-label{font-size:10px;color:var(--g400);text-transform:uppercase;letter-spacing:.5px}
.co-card-footer{border-top:var(--bd);padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between}
.co-trend{font-size:12px;font-weight:500}
.co-view-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--blue);cursor:pointer;text-decoration:none}
.co-view-btn:hover{text-decoration:underline}
.co-bar{height:3px;margin-bottom:0}

/* ── Charts row ── */
.charts-row{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:1.5rem}
.chart-card{background:#fff;border-radius:var(--rl);border:var(--bd);padding:1rem 1.25rem}
.card-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}
.card-title{font-size:14px;font-weight:600;color:var(--g900)}
.card-sub{font-size:12px;color:var(--g400);margin-top:2px}
.leg-row{display:flex;gap:12px;flex-wrap:wrap}
.leg{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--g500)}
.leg-sq{width:10px;height:10px;border-radius:2px;flex-shrink:0}

/* ── Tables ── */
.tbl-card{background:#fff;border-radius:var(--rl);border:var(--bd);overflow:hidden}
.tbl-scroll{overflow-x:auto}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
thead tr{background:var(--g50)}
th{text-align:left;padding:10px 14px;font-size:11px;font-weight:500;letter-spacing:.6px;text-transform:uppercase;color:var(--g400);background:var(--g50);border-bottom:var(--bd);white-space:nowrap}
td{padding:11px 14px;border-bottom:0.5px solid var(--g100);color:var(--g700);vertical-align:middle}
tr:last-child td{border-bottom:none}
tbody tr:hover td{background:#FAFBFF}
.mno{font-family:var(--mono);font-size:12px}
.ext-link{color:var(--blue);text-decoration:none;cursor:pointer;font-family:var(--mono);font-size:12px}
.ext-link:hover{text-decoration:underline}

/* ── Badges ── */
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500;white-space:nowrap}
.badge i{font-size:12px}
.badge-shipped{background:var(--green-l);color:#065F46}
.badge-pending{background:var(--orange-l);color:#9A3412}
.badge-inprog{background:var(--amber-l);color:#92400E}
.badge-active{background:var(--green-l);color:#065F46}
.badge-ws{background:var(--ws-l);color:var(--ws)}
.badge-ll{background:var(--ll-l);color:var(--ll)}
.badge-gd{background:var(--gd-l);color:var(--gd)}
.badge-paid{background:var(--green-l);color:#065F46}
.badge-unpaid{background:var(--red-l);color:#991B1B}

/* ── Company pill ── */
.co-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600}
.co-pill-ws{background:var(--ws-l);color:var(--ws)}
.co-pill-ll{background:var(--ll-l);color:var(--ll)}
.co-pill-gd{background:var(--gd-l);color:var(--gd)}

/* ── Toolbar ── */
.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:12px;flex-wrap:wrap}
.toolbar-l{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.toolbar-r{display:flex;align-items:center;gap:10px}
.per-page{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--g500)}
.per-page select{font-size:13px;padding:5px 10px;border:var(--bd);border-radius:6px;background:#fff;color:var(--g700);cursor:pointer;outline:none}
.search-wrap{position:relative}
.search-wrap i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--g400);font-size:16px;pointer-events:none}
.search-input{height:36px;padding:0 12px 0 36px;border:var(--bd);border-radius:var(--r);font-size:13px;background:#fff;color:var(--g700);outline:none;width:210px;transition:border-color .12s}
.search-input:focus{border-color:var(--blue)}
.select-filter{height:36px;padding:0 12px;border:var(--bd);border-radius:var(--r);font-size:13px;background:#fff;color:var(--g700);outline:none;cursor:pointer;min-width:150px}
.count-pill{display:inline-flex;align-items:center;gap:5px;background:var(--blue-l);border-radius:20px;padding:3px 10px;font-size:12px;font-weight:500;color:var(--blue)}

/* ── Sec header ── */
.sec-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.sec-title{font-size:15px;font-weight:600;color:var(--g900)}
.view-all{font-size:13px;color:var(--blue);cursor:pointer;font-weight:500;display:flex;align-items:center;gap:3px;text-decoration:none}
.view-all:hover{text-decoration:underline}
.tbl-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:var(--bd);font-size:12px;color:var(--g400)}
.pag{display:flex;gap:3px}
.pgb{width:28px;height:28px;border:var(--bd);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--g500);cursor:pointer;background:#fff;transition:background .1s}
.pgb.a{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
.pgb:hover:not(.a){background:var(--g100)}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:7px;border-radius:var(--r);padding:9px 18px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background .12s}
.btn i{font-size:16px}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-d)}
.btn-outline{background:#fff;color:var(--g700);border:var(--bd)}
.btn-outline:hover{background:var(--g100)}
.btn-ghost{background:var(--g100);color:var(--g600);border:none}
.btn-ghost:hover{background:var(--g200)}
.btn-sm{padding:6px 12px;font-size:13px}
.btn-sm i{font-size:14px}
.btn-danger{background:var(--red);color:#fff}
.btn-danger:hover{background:#B91C1C}

/* ── Icon btn ── */
.icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r);border:var(--bd);background:#fff;cursor:pointer;color:var(--g400);font-size:16px;transition:all .12s}
.icon-btn:hover{background:var(--blue-l);color:var(--blue);border-color:var(--blue-m)}

/* ── Login ── */
.login-page{min-height:100vh;background:linear-gradient(135deg,#0F172A 0%,#1E3A5F 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem}
.login-brand{text-align:center;margin-bottom:2rem}
.login-brand-icon{width:60px;height:60px;background:var(--blue);border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;box-shadow:0 8px 32px rgba(26,86,219,.4)}
.login-brand-icon i{font-size:32px;color:#fff}
.login-brand-name{font-size:28px;font-weight:700;color:#fff}
.login-brand-sub{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:3px}
.login-admin-tag{display:inline-flex;align-items:center;gap:5px;background:rgba(220,38,38,.25);color:#FCA5A5;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600;margin-top:10px;letter-spacing:.5px}
.login-card{background:#fff;border-radius:var(--rxl);border:var(--bd);padding:2.75rem 2.5rem;width:100%;max-width:430px;box-shadow:0 16px 48px rgba(0,0,0,.3)}
.login-card h2{font-size:22px;font-weight:600;color:var(--g900);text-align:center;margin-bottom:4px}
.login-card p{font-size:14px;color:var(--g400);text-align:center;margin-bottom:2rem}
.lfield{margin-bottom:1.1rem}
.lfield label{display:block;font-size:13px;font-weight:500;color:var(--g600);margin-bottom:6px}
.lfield-in{position:relative}
.lfield-in input{width:100%;height:44px;border:var(--bd);border-radius:var(--r);padding:0 40px 0 14px;font-size:14px;color:var(--g800);background:var(--g50);outline:none;transition:border-color .15s}
.lfield-in input:focus{border-color:var(--blue);background:#fff}
.lfield-in .fi{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--g400);font-size:18px;pointer-events:none}
.lfield-in .fi.c{pointer-events:all;cursor:pointer}
.login-meta{display:flex;align-items:center;justify-content:space-between;margin:.25rem 0 1.75rem}
.remember{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--g500);cursor:pointer}
.remember input{width:15px;height:15px;accent-color:var(--blue);cursor:pointer}
.forgot{font-size:13px;color:var(--blue);font-weight:500;text-decoration:none}
.btn-login{width:100%;height:46px;background:var(--blue);color:#fff;border:none;border-radius:var(--r);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}
.btn-login:hover{background:var(--blue-d)}
.login-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:1.25rem;font-size:12px;color:var(--g400)}

/* ── Impersonate banner ── */
.impersonate-bar{display:none;align-items:center;justify-content:space-between;background:#7C3AED;color:#fff;padding:8px 1.5rem;font-size:13px;flex-shrink:0;gap:12px}
.impersonate-bar.show{display:flex}
.impersonate-bar .exit-btn{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.2);border:none;color:#fff;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:500;cursor:pointer}
.impersonate-bar .exit-btn:hover{background:rgba(255,255,255,.3)}

/* ── Toast ── */
.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{display:flex;align-items:center;gap:10px;color:#fff;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:500;min-width:240px;animation:slideUp .2s ease;pointer-events:all;box-shadow:0 4px 20px rgba(0,0,0,.2)}
.toast.success{background:#065F46}
.toast.error{background:#991B1B}
.toast.info{background:var(--blue-d)}
.toast.warning{background:#92400E}

/* ── Tooltip ── */
.tip-wrap{position:relative;display:inline-flex}
.tip-wrap .tooltip{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--g800);color:#fff;font-size:11px;padding:5px 10px;border-radius:6px;white-space:nowrap;z-index:999;pointer-events:none;transition:opacity .15s}
.tip-wrap .tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--g800)}
.tip-wrap:hover .tooltip{visibility:visible;opacity:1}

/* ── Admin orders frozen cols ── */
.acol-r1,.acol-r2,.acol-r3,.acol-r4{position:sticky;z-index:2;background:#fff}
thead .acol-r1,thead .acol-r2,thead .acol-r3,thead .acol-r4{background:var(--g50);z-index:3}
.acol-r1{right:208px}
.acol-r2{right:128px}
.acol-r3{right:48px}
.acol-r4{right:0}
.acol-r1::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--g200);box-shadow:-2px 0 6px rgba(0,0,0,.05)}

/* ── Carriers ── */
.carrier-fedex{background:#4D148C;color:#FF6600;font-family:var(--mono);font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;display:inline-block}
.carrier-ups{background:#351C15;color:#FFB500;font-family:var(--mono);font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;display:inline-block}

/* ── Modal ── */
.modal-ov{display:none;position:fixed;inset:0;background:rgba(17,24,39,.5);z-index:999;align-items:center;justify-content:center}
.modal-ov.open{display:flex}
.modal{background:#fff;border-radius:var(--rxl);border:var(--bd);width:560px;max-width:95vw;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15);animation:slideUp .18s ease}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:var(--bd)}
.modal-title{font-size:15px;font-weight:600;color:var(--g900)}
.modal-close{width:32px;height:32px;border-radius:var(--r);border:var(--bd);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--g400);font-size:17px}
.modal-close:hover{background:var(--g100)}
.modal-body{padding:1.5rem}
.modal-foot{padding:1rem 1.5rem;border-top:var(--bd);display:flex;justify-content:flex-end;gap:10px}

/* ── Activity feed ── */
.feed-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:0.5px solid var(--g100)}
.feed-item:last-child{border-bottom:none}
.feed-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.feed-icon.order{background:var(--blue-l);color:var(--blue)}
.feed-icon.ship{background:var(--green-l);color:var(--green)}
.feed-icon.err{background:var(--red-l);color:var(--red)}
.feed-icon.sync{background:var(--amber-l);color:var(--amber)}
.feed-title{font-size:13px;font-weight:500;color:var(--g800);margin-bottom:2px}
.feed-sub{font-size:12px;color:var(--g500)}
.feed-time{font-size:11px;color:var(--g400);margin-left:auto;flex-shrink:0}

/* ── Revenue comparison ── */
.rev-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:0.5px solid var(--g100)}
.rev-row:last-child{border-bottom:none}
.rev-co-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.rev-co-name{font-size:13px;font-weight:500;color:var(--g800);width:100px;flex-shrink:0}
.rev-bar-wrap{flex:1;height:8px;background:var(--g100);border-radius:4px;overflow:hidden}
.rev-bar{height:8px;border-radius:4px}
.rev-val{font-size:13px;font-weight:600;color:var(--g800);width:70px;text-align:right;flex-shrink:0}
.rev-pct{font-size:11px;color:var(--g400);width:40px;text-align:right;flex-shrink:0}

@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.company-cards{grid-template-columns:1fr 1fr}.charts-row{grid-template-columns:1fr}}
@media(max-width:700px){.company-cards{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}}

/* ── Additions for the live app ── */
.ftab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:20px;font-size:13px;font-weight:500;border:var(--bd);background:#fff;color:var(--g500);text-decoration:none}
.ftab:hover{border-color:var(--g300)}
.ftab.active{background:var(--g800);color:#fff;border-color:transparent}
.fcount{font-size:11px;font-weight:600;padding:1px 7px;border-radius:20px;background:var(--g100);color:var(--g600)}
.ftab.active .fcount{background:rgba(255,255,255,.2);color:#fff}
.badge-error{background:var(--red-l);color:#991B1B}
.badge-hold{background:var(--purple-l);color:var(--purple)}
.err-text{font-size:11px;color:#991B1B;margin-top:3px;max-width:260px;white-space:normal}
.muted{color:var(--g400)}
.notice{background:var(--amber-l);border:0.5px solid #FDE68A;color:#92400E;border-radius:var(--rl);padding:.75rem 1rem;font-size:13px;margin-bottom:1rem;display:flex;gap:8px;align-items:center}
.login-error{background:var(--red-l);color:#991B1B;border-radius:var(--r);padding:8px 12px;font-size:13px;margin-bottom:1rem}
.co-status.off{color:var(--g400)}
.co-status.off .co-status-dot{background:var(--g300)}
.flash{margin-bottom:1rem}
a.co-chip,a.co-card,a.sc{text-decoration:none;color:inherit}
a.co-chip.active{color:#fff}
.cs-btn{font-family:inherit;cursor:pointer}
button.nav-item{font-family:inherit;cursor:pointer;text-align:left}
.company-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}

/* ── Settings: users and user types ── */
.flash-msg{display:flex;align-items:center;gap:8px;border-radius:var(--rl);padding:.7rem 1rem;font-size:13px;margin-bottom:1rem}
.flash-msg.success{background:var(--green-l);color:#065F46;border:0.5px solid #A7F3D0}
.flash-msg.error{background:var(--red-l);color:#991B1B;border:0.5px solid #FECACA}
.set-tabs{display:flex;gap:6px;margin-bottom:1.25rem;border-bottom:var(--bd);padding-bottom:.75rem}
.form-card{background:#fff;border-radius:var(--rl);border:var(--bd);padding:1.5rem;max-width:640px}
.fgroup{margin-bottom:1.1rem}
.fgroup>label{display:block;font-size:13px;font-weight:500;color:var(--g700);margin-bottom:6px}
.fgroup .hint{font-size:12px;color:var(--g400);margin-top:4px}
.finput{width:100%;height:40px;border:var(--bd);border-radius:var(--r);padding:0 12px;font-size:14px;background:#fff;color:var(--g800);outline:none;font-family:inherit}
.finput:focus{border-color:var(--blue)}
.finput[readonly]{background:var(--g50);color:var(--g500)}
.check-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--g700);padding:6px 0;cursor:pointer}
.check-row input{width:16px;height:16px;accent-color:var(--blue)}
.switch-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:0.5px solid var(--g100);font-size:14px;color:var(--g700)}
.switch-row:last-child{border-bottom:none}
.switch{position:relative;width:38px;height:22px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.switch span{position:absolute;inset:0;background:var(--g300);border-radius:22px;transition:.15s;cursor:pointer}
.switch span::before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s}
.switch input:checked+span{background:var(--blue)}
.switch input:checked+span::before{transform:translateX(16px)}
.switch input:disabled+span{opacity:.6;cursor:not-allowed}
.mod-chip{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;background:var(--blue-l);color:var(--blue);margin:2px 3px 2px 0}
.invite-box{background:var(--blue-l);border:0.5px solid var(--blue-m);border-radius:var(--rl);padding:1rem;margin-bottom:1rem;font-size:13px;color:var(--g700)}
.invite-box input{width:100%;margin-top:8px;font-family:var(--mono);font-size:12px}
.form-actions{display:flex;gap:10px;margin-top:1.5rem;align-items:center}
a.btn{text-decoration:none}
a.pgb{text-decoration:none}

/* ── Company connections ── */
.conn-card{background:#fff;border-radius:var(--rl);border:var(--bd);margin-bottom:1.25rem;overflow:hidden}
.conn-hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1.1rem 1.5rem;border-bottom:var(--bd);flex-wrap:wrap}
.conn-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--g900)}
.conn-title>i{font-size:20px}
.conn-logo{width:30px;height:30px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:16px;vertical-align:middle}
.conn-logo.ns{background:linear-gradient(135deg,#1F4E79,#0E7CC1)}
.conn-logo.shop{background:#5E8E3E;font-size:17px}
.conn-actions{display:flex;align-items:center;gap:8px}
.conn-actions form{margin:0}
.conn-pill{display:inline-flex;align-items:center;height:32px;padding:0 16px;border-radius:var(--r);font-size:13px;font-weight:600}
.conn-pill.active{background:#BDEBD8;color:#047857}
.conn-pill.error{background:var(--red-l);color:#991B1B}
.conn-pill.pending{background:var(--amber-l);color:#92400E}
.conn-pill.off{background:var(--g100);color:var(--g500)}
.conn-body{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem}
.conn-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:1.1rem 2rem;flex:1}
.conn-grid.two{grid-template-columns:repeat(2,minmax(200px,1fr));gap:0 1.5rem;margin-bottom:.5rem}
.conn-label{font-size:12px;color:var(--g500);margin-bottom:3px}
.conn-val{font-size:14px;font-weight:600;color:var(--g800)}
.conn-art{font-size:84px;color:#FB8C3C;line-height:1;align-self:center;padding-right:1rem}
.conn-foot{padding:.6rem 1.5rem;border-top:0.5px solid var(--g100);font-size:12px;color:var(--g400);background:var(--g50)}
.btn-dark{background:#111827;color:#fff}
.btn-dark:hover{background:#000}
.btn:disabled{opacity:.5;cursor:not-allowed}
.sync-list{border:var(--bd);border-radius:var(--rl)}
.sync-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:var(--bd)}
.sync-row:last-child{border-bottom:none}
.sync-name{font-size:14px;font-weight:600;color:var(--g800)}
.sync-desc{font-size:12px;color:var(--g500);margin-top:2px}
.sync-ctrl{display:flex;align-items:center;gap:14px;flex-shrink:0}
.sync-ctrl .switch input:checked+span{background:#15803D}
.info-box{margin-top:10px;background:var(--blue-l);border-radius:var(--r);padding:10px 12px;font-size:12px;color:#1E40AF;max-width:560px}
@media(max-width:800px){.conn-grid{grid-template-columns:1fr 1fr}.conn-art{display:none}.conn-grid.two{grid-template-columns:1fr}}

/* ── Sync runs ── */
.runs-strip{display:flex;flex-direction:column;gap:6px;margin-bottom:1rem}
.run-item{display:flex;align-items:center;gap:10px;font-size:12px;background:#fff;border:var(--bd);border-radius:var(--r);padding:7px 12px;color:var(--g700)}
.run-item .muted{margin-left:auto;white-space:nowrap}
.run-item.running i{color:var(--blue)}
.run-item.done i{color:var(--green)}
.run-item.warning i{color:var(--amber)}
.run-item.failed i{color:var(--red)}
.spin{animation:spin 1s linear infinite;display:inline-block}
.icon-btn:disabled{opacity:.35;cursor:not-allowed}

/* ── Orders table fits the page; long multi-package tracking can't stretch it ── */
.orders-table{min-width:960px}
.track-cell{max-width:180px;word-break:break-all;font-size:12px}

/* ── Orders: big search with suggestions, date filter ── */
.order-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
.big-search{position:relative;flex:1 1 420px}
.big-search>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:19px;color:var(--g400);pointer-events:none}
.big-search input{width:100%;height:46px;border:1px solid var(--g300);border-radius:var(--rl);padding:0 14px 0 44px;font-size:15px;background:#fff;color:var(--g800);outline:none;font-family:inherit;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.big-search input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-l)}
.suggest-box{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:var(--bd);border-radius:var(--rl);box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:50;overflow:hidden}
.suggest-item{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:13px;cursor:pointer;border-bottom:0.5px solid var(--g100)}
.suggest-item:last-child{border-bottom:none}
.suggest-item.active,.suggest-item:hover{background:var(--blue-l)}
.suggest-item .muted{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.suggest-status{font-size:11px;padding:1px 8px;border-radius:20px;background:var(--g100);color:var(--g600)}
.suggest-status.synced{background:var(--green-l);color:#065F46}
.suggest-status.error{background:var(--red-l);color:#991B1B}
.suggest-status.pending{background:var(--orange-l);color:#9A3412}
.date-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.date-filters .finput{height:40px;width:auto}

/* ── Error icon + popup ── */
.err-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:0.5px solid #FECACA;background:var(--red-l);color:var(--red);cursor:pointer;font-size:14px;flex-shrink:0}
.err-btn:hover{background:#FEE2E2}
.err-btn.hold{border-color:#DDD6FE;background:var(--purple-l);color:var(--purple)}
.err-pre{white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:13px;line-height:1.55;color:#7F1D1D;background:var(--red-l);border:0.5px solid #FECACA;border-radius:var(--r);padding:12px 14px;margin:0;max-height:50vh;overflow:auto}

/* order detail */
.order-link { color: inherit; text-decoration: none; }
.order-link:hover strong { color: var(--blue); text-decoration: underline; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1rem; }
@media (max-width: 900px) { .detail-grid { grid-template-columns: 1fr; } }
.timeline { list-style: none; margin: 0; padding: 1rem 1.25rem 1.25rem; }
.tl-step { display: flex; gap: 12px; position: relative; padding-bottom: 1.1rem; }
.tl-step:last-child { padding-bottom: 0; }
.tl-step:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 32px; bottom: 2px; width: 2px; background: var(--g200, #E5E7EB); }
.tl-dot { flex: 0 0 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; background: var(--g100, #F3F4F6); color: var(--g500, #6B7280); }
.tl-done .tl-dot { background: #DCFCE7; color: #15803D; }
.tl-fail .tl-dot { background: #FEE2E2; color: var(--red, #DC2626); }
.tl-hold .tl-dot { background: #FEF3C7; color: #B45309; }
.tl-wait .tl-title { color: var(--g500, #6B7280); }
.tl-title { font-weight: 600; }
.tl-text { font-size: 13px; color: var(--g600, #4B5563); word-break: break-word; margin-top: 2px; }

/* dropship */
.ds-queues { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .75rem; margin-bottom: .5rem; }
.ds-queue { display: block; background: #fff; border: 1px solid var(--g200, #E5E7EB); border-radius: 12px; padding: .85rem 1rem; color: inherit; text-decoration: none; }
.ds-queue:hover { border-color: var(--blue, #1A56DB); }
.ds-q-num { font-size: 26px; font-weight: 700; line-height: 1.1; }
.ds-q-label { font-size: 13px; color: var(--g600, #4B5563); margin-top: 2px; }
.ds-q-stage { font-size: 11px; color: var(--g500, #6B7280); margin-top: 4px; text-transform: uppercase; letter-spacing: .04em; }
.ds-later { background: var(--g50, #F9FAFB); pointer-events: none; }
.ds-later .ds-q-num { color: var(--g500, #9CA3AF); }
.ds-warn { border-color: #FCA5A5; }
.ds-warn .ds-q-num { color: var(--red, #DC2626); }
.ds-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .75rem 1rem; margin-bottom: .75rem; }
.ds-form-grid .fgroup, .form-card > .fgroup { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
