:root{
  /* ---- TMS MAIN design tokens ---- */
  --color-bg:#EDF1FA;
  --color-surface:#FFFFFF;
  --color-text:#0B1533;
  --color-accent:#2B62F0;
  --color-accent-2:#5B9BFF;
  --color-divider:#D5DCEC;

  --color-neutral-100:#F1F5FC;
  --color-neutral-200:#E3EBFF;
  --color-neutral-300:#C2CBE2;
  --color-neutral-400:#8A97B8;
  --color-neutral-500:#4A5676;
  --color-neutral-600:#38416A;
  --color-neutral-700:#232D52;
  --color-neutral-800:#131F40;
  --color-neutral-900:#0B1533;

  --color-accent-100:#EFF6FF;
  --color-accent-200:#DAEAFF;
  --color-accent-300:#B8D7FF;
  --color-accent-400:#5B9BFF;
  --color-accent-500:#3A70FF;
  --color-accent-600:#2B62F0;
  --color-accent-700:#1E47B8;
  --color-accent-800:#16244A;
  --color-accent-900:#0E1730;

  --color-accent-2-100:#EFF6FF;
  --color-accent-2-200:#DAEAFF;
  --color-accent-2-300:#B8D7FF;
  --color-accent-2-400:#5B9BFF;
  --color-accent-2-500:#3A70FF;
  --color-accent-2-600:#2B62F0;
  --color-accent-2-700:#1E47B8;
  --color-accent-2-800:#16244A;
  --color-accent-2-900:#0E1730;

  --font-heading:'Bricolage Grotesque','Instrument Sans',system-ui,sans-serif;
  --font-heading-weight:700;
  --font-body:'Instrument Sans',system-ui,sans-serif;

  --space-1:2.8px; --space-2:5.6px; --space-3:8.4px; --space-4:11.2px; --space-6:16.8px; --space-8:22.4px;
  --radius-sm:6px; --radius-md:10px; --radius-lg:16px;
  --shadow-sm:0 1px 2px rgba(11,21,51,.05), 0 0 0 1px var(--color-divider);
  --shadow-md:0 1px 2px rgba(11,21,51,.05), 0 8px 24px rgba(11,21,51,.07);
  --shadow-lg:0 1px 2px rgba(11,21,51,.06), 0 16px 40px rgba(11,21,51,.12);

  /* ---- legacy aliases (kept so every selector below stays valid) ---- */
  --ink:var(--color-text);
  --sidebar:#060B1C;
  --sidebar-hover:rgba(234,240,255,.07);
  --canvas:var(--color-bg);
  --surface:var(--color-surface);
  --surface2:color-mix(in srgb, var(--color-text) 4%, var(--color-surface));
  --line:var(--color-divider);
  --accent:var(--color-accent);
  --accent-ink:var(--color-accent-600);
  --steel:var(--color-accent);
  --steel-dark:var(--color-accent-600);
  --ok:#12794A;
  --danger:#BE2F2F;
  --purple:var(--color-accent);
  --muted:var(--color-neutral-500);
  --soft:var(--color-neutral-100);
  --blue-soft:var(--color-neutral-200);
  --up:#12794A;
  --shadow-card:0 1px 2px rgba(11,21,51,.05), 0 8px 24px rgba(11,21,51,.05);
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;}
:root{color-scheme:light;}
html{scrollbar-gutter:stable;overflow-y:scroll;}
html,body{margin:0;padding:0;height:100%;}
body{
  font-family:var(--font-body);
  background:var(--canvas);
  background-image:radial-gradient(rgba(11,21,51,.10) 1px, transparent 1px);
  background-size:22px 22px;background-attachment:fixed;
  color:var(--ink);
  display:flex;
  min-height:100vh;
  font-size:14px;
}
h1,h2,h3,.display{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;}
.mono{font-family:var(--font-body);font-variant-numeric:tabular-nums;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:var(--color-neutral-700);border-radius:6px;}

/* ---------- SIDEBAR ---------- */
/* Sidebar always stays dark (TMS MAIN design), independent of the light app theme —
   redefine the shared tokens locally so every existing rule below (.nav-item, .brand-*,
   .quick-action, etc.) picks up dark-appropriate colors without being rewritten. */
#sidebar{
  --ink:#EAF0FF;
  --muted:rgba(234,240,255,.66);
  --accent:#5B9BFF;
  --accent-ink:#8DBBFF;
  --color-accent-200:#DAEAFF;
  --color-accent-800:rgba(91,155,255,.22);
  --sidebar:#060B1C;
  --line:#22315F;
  width:236px;flex:none;background:var(--sidebar);color:var(--ink);
  display:flex;flex-direction:column;gap:0;position:fixed;top:0;left:0;height:100vh;
  border-right:1px solid #16224A;z-index:900;overflow-y:auto;overflow-x:hidden;
  padding:18px 12px 16px;transition:width .3s cubic-bezier(.3,.9,.3,1);
}
#sidebar.collapsed{width:76px;}
#main{transition:margin-left .3s cubic-bezier(.3,.9,.3,1);}
#sidebar.collapsed + #main{margin-left:76px;}
.sidebar-toggle{
  display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;border-radius:10px;
  border:1px solid var(--line);background:transparent;color:rgba(234,240,255,.8);font-size:14px;font-weight:500;
  cursor:pointer;font-family:var(--font-body);margin-top:18px;flex:none;
  transition:background .2s,border-color .2s;
}
.sidebar-toggle:hover{background:rgba(234,240,255,.06);border-color:#3A4E8C;}
.sidebar-toggle i{flex:none;font-size:18px;}
.sidebar-toggle:focus-visible,.nav-item:focus-visible,.quick-action:focus-visible{outline:2px solid #8DBBFF;outline-offset:2px;}
#sidebar.collapsed .sidebar-toggle{justify-content:center;padding:0;}
#sidebar.collapsed .sidebar-toggle span{display:none;}
#sidebar.collapsed .brand{justify-content:center;padding:0;}
#sidebar.collapsed .brand>div:last-child{display:none;}
#sidebar.collapsed .nav-item,#sidebar.collapsed .quick-action{justify-content:center;padding-left:0;padding-right:0;}
#sidebar.collapsed .nav-item span:not(.nav-ico),
#sidebar.collapsed .quick-action span:not(.nav-ico),
#sidebar.collapsed .nav-divider{display:none;}
.brand{
  padding:0 6px;height:40px;display:flex;align-items:center;gap:12px;flex:none;
}
.brand-mark{
  width:36px;height:32px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none;
}
.brand-mark img{width:100%;height:100%;object-fit:contain;}
.brand>div:last-child{display:flex;flex-direction:column;gap:3px;white-space:nowrap;}
.brand-name{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:19px;line-height:1;color:var(--ink);letter-spacing:-.01em;}
.brand-sub{font-family:var(--font-mono);font-size:10px;color:rgba(234,240,255,.62);text-transform:uppercase;letter-spacing:.16em;}
.nav{flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden;margin-top:18px;}
.quick-actions-block{margin-top:auto;display:flex;flex-direction:column;padding-top:12px;}
.nav-item{
  display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:10px;flex:none;
  color:rgba(234,240,255,.72);font-size:14px;font-weight:500;cursor:pointer;user-select:none;white-space:nowrap;
  margin:0;transition:background .2s,color .2s;
}
.nav-item:hover{background:rgba(234,240,255,.07);color:#fff;}
.nav-item.active{background:rgba(91,155,255,.2);color:#fff;}
.nav-item.active .nav-ico{color:#8DBBFF;opacity:1;}
.nav-ico{width:19px;height:19px;text-align:center;opacity:.9;display:flex;align-items:center;justify-content:center;flex:none;font-size:19px;}
.nav-divider{margin:0 0 2px;padding:0 6px;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.16em;color:rgba(234,240,255,.55);white-space:nowrap;}
.quick-action{
  display:flex;align-items:center;gap:10px;height:42px;padding:0 12px;border-radius:10px;
  color:#EAF0FF;font-size:14px;font-weight:500;cursor:pointer;user-select:none;white-space:nowrap;
  border:1px solid var(--line);margin:8px 0 0;background:transparent;flex:none;
  transition:background .2s,border-color .2s,transform .2s;
}
.quick-action:hover{background:rgba(234,240,255,.07);border-color:#3A4E8C;}
.quick-action:active{transform:scale(.98);}
.quick-action .nav-ico{opacity:1;color:inherit;font-size:18px;}
.quick-action.primary{background:#2B62F0;border-color:#2B62F0;color:#fff;font-weight:600;}
.quick-action.primary:hover{background:#3A70FF;border-color:#3A70FF;}
.quick-action.primary .nav-ico{color:#fff;}
.insight-card{
  margin:12px 11.2px 4px;padding:var(--space-4);border-radius:var(--radius-md);
  background:linear-gradient(160deg,color-mix(in srgb, var(--accent) 10%, transparent),color-mix(in srgb, var(--accent) 5%, transparent));
  box-shadow:var(--shadow-sm);
}
.avatar-circle{
  width:34px;height:34px;border-radius:50%;background:var(--color-accent-800);
  color:var(--color-accent-200);font-family:var(--font-heading);font-weight:600;font-size:13px;flex:none;
  display:flex;align-items:center;justify-content:center;
}
.attention-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4);}
.attention-card{
  border-radius:var(--radius-md);padding:var(--space-4);display:flex;gap:var(--space-4);align-items:flex-start;
  background:color-mix(in srgb, var(--ink) 4%, transparent);
  box-shadow:inset 0 0 0 1px var(--line);
}
.attention-card.primary{
  background:color-mix(in srgb, var(--accent) 9%, transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 32%, transparent);
}
.attention-icon-circle{
  width:28px;height:28px;border-radius:var(--radius-sm);flex:none;font-size:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--color-accent-200);color:var(--accent);
}
.attention-card.primary .attention-icon-circle{background:#FDECEC;color:var(--danger);}
.attention-link{font-size:12px;font-weight:600;color:var(--accent);text-decoration:none;display:inline-block;margin-top:4px;}
.role-box{
  margin:11.2px;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface2);box-shadow:var(--shadow-sm);
}
.role-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px;}
.role-switch{display:flex;background:var(--surface2);border-radius:var(--radius-md);padding:3px;gap:3px;}
.role-switch button{
  flex:1;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:600;
  padding:6px 0;border-radius:6px;cursor:pointer;font-family:var(--font-body);
}
.role-switch button.active{background:var(--accent);color:#fff;}
.user-chip{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--muted);}
.user-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);}

/* ---------- MAIN LAYOUT ---------- */
#appShell{display:flex;width:100%;min-height:100vh;}
#main{flex:1;min-width:0;display:flex;flex-direction:column;margin-left:236px;height:auto;}
#topbar{
  flex-shrink:0;height:72px;padding:0 28px;gap:20px;
  display:flex;align-items:center;position:sticky;top:0;z-index:1100;
  background-color:var(--canvas);
  background-image:radial-gradient(rgba(11,21,51,.10) 1px, transparent 1px);
  background-size:22px 22px;background-attachment:fixed;
  border-bottom:1px solid var(--line);
}
#topbar h1{font-size:22px;margin:0;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1.1;}
#topbar .sub{font-size:13px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tb-title{min-width:0;flex:0 0 auto;max-width:min(420px,30vw);}
#topbar h1{white-space:nowrap;}
.tb-search{
  position:relative;flex:1 1 320px;max-width:520px;margin:0 auto;height:44px;
  display:flex;align-items:center;gap:10px;padding:0 14px;color:var(--muted);
  border-radius:12px;border:1px solid var(--line);background:#fff;
  transition:border-color .2s,box-shadow .2s;
}
.tb-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent);}
.tb-search>i{font-size:17px;display:flex;flex:none;}
#topSearchInput.tb-search-input,#topSearchInput.tb-search-input:hover,#topSearchInput.tb-search-input:focus-visible{
  flex:1;min-width:0;width:auto;height:100%;min-height:0;padding:0;border:0;border-radius:0;outline:0;
  background:transparent;font:inherit;color:var(--ink);box-shadow:none;
}
.tb-search-input::placeholder{color:var(--muted);}
.tb-range{display:flex;align-items:center;gap:8px;flex:none;}
.tb-range:empty{display:none;}
.tb-arrow{
  width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);
  display:grid;place-items:center;cursor:pointer;font-size:18px;padding:0;
  transition:border-color .2s,transform .2s;
}
.tb-arrow:hover{border-color:var(--accent);transform:translateY(-1px);}
.tb-rng{
  height:44px;border-radius:12px;border:1px solid var(--accent);background:var(--blue-soft);color:var(--accent);
  font:inherit;font-weight:600;display:flex;align-items:center;gap:8px;padding:0 16px;cursor:pointer;white-space:nowrap;
}
.tb-rng i{font-size:17px;display:flex;}
.tb-arrow:focus-visible,.tb-rng:focus-visible,.tb-logout:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.tb-user{display:flex;align-items:center;gap:12px;margin-left:4px;flex:none;}
.tb-avatar{width:40px;height:40px;border-radius:50%;background:var(--blue-soft);color:var(--accent);display:grid;place-items:center;font-size:20px;flex:none;}
.tb-who-lbl{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.4;}
.tb-who-name{font-weight:700;color:var(--ink);line-height:1.3;}
.tb-logout{
  height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);
  font:inherit;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s;
}
.tb-logout:hover{border-color:var(--ink);background:var(--soft);}
#content{padding:24px 28px 40px;flex:1;}

/* ---------- COMMON ---------- */
.grid-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11.2px;margin-top:11.2px;}
.stat-card{
  position:relative;background:var(--surface);border-radius:var(--radius-md);padding:14px 16.8px;
  box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;gap:5.6px;
}
.stat-spark{position:absolute;right:16.8px;top:50%;transform:translateY(-50%);pointer-events:none;}
.stat-icon{
  width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;
  font-size:16px;margin-bottom:10px;
}
.stat-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:11.2px;}
.stat-card-label-row{display:flex;align-items:center;gap:8.4px;}
.stat-icon-circle{
  width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;
  font-size:15px;flex:none;box-shadow:none;
}
.stat-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:color-mix(in srgb, var(--ink) 50%, transparent);font-weight:600;}
.stat-value{font-family:var(--font-heading);font-size:27px;font-weight:var(--font-heading-weight);letter-spacing:-.02em;line-height:1.1;color:var(--ink);}
.stat-value small{font-size:13px;color:color-mix(in srgb, var(--ink) 45%, transparent);font-family:var(--font-body);font-weight:500;letter-spacing:0;}
.stat-trend{font-size:11.5px;font-weight:600;}
.stat-trend .pct.up{color:var(--color-accent-300);}
.stat-trend .pct.down{color:var(--color-neutral-400);}
.stat-trend .vs{color:color-mix(in srgb, var(--ink) 42%, transparent);font-weight:500;margin-left:4px;}
.panel{background:var(--surface);border-radius:var(--radius-md);padding:14px 16.8px;margin-top:11.2px;box-shadow:var(--shadow-sm);}
.panel-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.01em;font-size:15px;margin:0 0 12px;display:flex;align-items:center;gap:11.2px;justify-content:space-between;color:var(--ink);}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid var(--line);background:transparent;color:var(--ink);
  font-family:var(--font-heading);font-weight:var(--font-heading-weight);
  padding:8px 16px;border-radius:var(--radius-md);font-size:13px;
  cursor:pointer;transition:background .12s,border-color .12s;
}
.btn:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);transform:none;}
.btn.accent{color:var(--accent);border-color:var(--accent);background:transparent;box-shadow:none;}
.btn.accent:hover{background:color-mix(in srgb, var(--accent) 12%, transparent);}
.btn.accent:active{background:color-mix(in srgb, var(--accent) 22%, transparent);}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none;}
.btn.ghost:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);}
.btn.danger{color:#fca5a5;border-color:var(--danger);background:transparent;}
.btn.danger:hover{background:color-mix(in srgb, var(--danger) 14%, transparent);}
.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;}
.btn.sm{padding:6px 12px;font-size:12px;border-radius:var(--radius-md);}
.btn.btn-icon{width:36px;height:36px;padding:0;flex:none;}
.seg{display:inline-flex;overflow:hidden;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:var(--surface);}
.seg-opt{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;font-size:12px;font-weight:600;color:var(--ink);cursor:default;white-space:nowrap;}
.seg-opt.seg-opt-active{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);border-radius:var(--radius-md);}
.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;}
.pill.hazmat{background:#5c2a0e;color:#fdba74;}
.pill.tanker{background:var(--color-accent-800);color:var(--color-accent-100);}
.pill.twic{background:#153f28;color:#bbf7d0;}
.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:6px;}
.tag-accent{background:var(--color-accent-800);color:var(--color-accent-100);}
.tag-accent-2{background:var(--color-accent-2-800);color:var(--color-accent-2-100);}
.tag-neutral{background:var(--color-neutral-800);color:var(--color-neutral-100);}
.tag-outline{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{
  text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  padding:8px 10px;cursor:pointer;white-space:nowrap;user-select:none;
  background-image:linear-gradient(to right, transparent, var(--line) 48px, var(--line) calc(100% - 48px), transparent);
  background-repeat:no-repeat;background-position:bottom;background-size:100% 1px;
}
th:hover{color:var(--ink);}
th.sorted::after{content:" ▾";color:var(--accent);}
th.sorted.asc::after{content:" ▴";}
td{
  padding:9px 10px;white-space:nowrap;color:var(--ink);
  background-image:linear-gradient(to right, transparent, color-mix(in srgb, var(--ink) 8%, transparent) 48px, color-mix(in srgb, var(--ink) 8%, transparent) calc(100% - 48px), transparent);
  background-repeat:no-repeat;background-position:bottom;background-size:100% 1px;
}
tr:hover td{
  background-image:
    linear-gradient(color-mix(in srgb, var(--ink) 4%, transparent), color-mix(in srgb, var(--ink) 4%, transparent)),
    linear-gradient(to right, transparent, color-mix(in srgb, var(--ink) 8%, transparent) 48px, color-mix(in srgb, var(--ink) 8%, transparent) calc(100% - 48px), transparent);
  background-repeat:no-repeat,no-repeat;
  background-position:0 0,bottom;
  background-size:100% 100%,100% 1px;
}
tr:hover td.col-day{background:#1c1f2e;}
tr:hover td.dispatcher-group-head{background:#1e293b!important;color:#fff!important;}
tr.dispatcher-subtotal:hover td{background:rgba(240,180,40,.06);}
tr.dispatcher-subtotal:hover td.subtotal-blank{background:var(--surface2);}
input,select,textarea{
  font-family:var(--font-body);border:1px solid var(--line);border-radius:var(--radius-md);padding:6px 10px;
  min-height:36px;font-size:14px;width:100%;caret-color:var(--accent);
  background:var(--surface);color:var(--ink);
}
input::placeholder,textarea::placeholder{color:var(--color-neutral-400);}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb, var(--ink) 45%, transparent);}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);}
input:disabled,select:disabled,textarea:disabled{opacity:.6;}
select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:calc(100% - 16px) 50%, calc(100% - 11px) 50%;
  background-size:5px 5px, 5px 5px;background-repeat:no-repeat;padding-right:32px;
}
input[type=number]{appearance:textfield;-moz-appearance:textfield;}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;
}
label{font-size:11px;font-weight:500;color:color-mix(in srgb, var(--ink) 70%, transparent);display:block;margin:0 0 5px;}
.field{margin-bottom:9px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.shipment-extra-stop.dragging{opacity:.45;}
.shipment-extra-stop.dragging .sh-route-fields{box-shadow:inset 0 0 0 1px var(--accent);border-radius:var(--radius-md);}
.shipment-stop-label{display:flex;align-items:center;gap:8px;}
.shipment-stop-handle{color:var(--muted);font-size:17px;line-height:1;cursor:grab;user-select:none;}
.shipment-stop-handle:active{cursor:grabbing;}
.field.shipment-field-invalid input:not([type=hidden]),
.field.shipment-field-invalid select{border-color:var(--danger);box-shadow:0 0 0 2px rgba(239,68,68,.16);}
.field.shipment-field-invalid label{color:var(--danger);}
.shipment-attachments{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;}
.shipment-preview-empty{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:12px;line-height:1.5;padding:18px;}
.shipment-preview-name{font-size:11px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:10px 0;}
.file-preview-overlay{position:fixed;inset:0;z-index:1300;background:rgba(3,6,12,.82);display:flex;align-items:center;justify-content:center;padding:24px;}
.file-preview-modal{width:min(1100px,96vw);height:min(850px,94vh);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;}
.file-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink);}
.file-preview-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-preview-close{border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:2px 5px;}
.file-preview-close:hover{color:var(--ink);}
.file-preview-content{flex:1;min-height:0;background:var(--surface2);display:flex;align-items:center;justify-content:center;padding:14px;}
.file-preview-content iframe{width:100%;height:100%;border:0;background:#fff;border-radius:8px;}
.file-preview-content img{max-width:100%;max-height:100%;object-fit:contain;background:#fff;border-radius:8px;}
.shipment-attachment-group{background:var(--surface2);border-radius:var(--radius-md);padding:7px 10px;box-shadow:var(--shadow-sm);}
.shipment-attachment-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.shipment-attachment-head label:first-child{margin:0;color:var(--ink);font-size:11px;}
.file-picker-btn{display:inline-flex;align-items:center;gap:5px;margin:0;color:var(--accent-ink);font-size:11px;font-weight:700;text-transform:none;letter-spacing:0;cursor:pointer;}
.file-picker-btn input{display:none;}
.shipment-file-list{display:flex;flex-direction:column;gap:4px;margin-top:7px;}
.shipment-parse-status{font-size:11px;line-height:1.4;margin-top:7px;min-height:15px;color:var(--muted);}
.shipment-parse-status.loading{color:var(--accent-ink);}
.shipment-parse-status.success{color:var(--ok);font-weight:600;}
.shipment-parse-status.warning{color:#fbbf24;font-weight:600;}
.shipment-file-item{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--ink);min-width:0;}
.shipment-file-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.shipment-file-link{cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;}
.shipment-file-link:hover{text-decoration-color:var(--accent);color:var(--accent-ink);}
.shipment-file-item small{color:var(--muted);}
.shipment-no-files{font-size:11px;color:var(--muted);}
.file-remove-btn{border:0;background:transparent;color:var(--danger);cursor:pointer;font-size:11px;padding:1px 3px;flex:none;}
.empty{color:var(--muted);font-size:13px;padding:30px 10px;text-align:center;}
.badge-role{font-size:10px;padding:4px 10px;border-radius:100px;background:var(--surface2);box-shadow:var(--shadow-sm);color:var(--muted);font-weight:700;text-transform:uppercase;}
.icon-btn{position:relative;background:var(--surface2);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);width:36px;height:36px;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.icon-btn:hover{background:color-mix(in srgb, var(--ink) 7%, var(--surface2));}
.badge-count{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:9.5px;font-weight:800;min-width:16px;height:16px;border-radius:100px;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid var(--surface);}

/* modal */
.overlay{position:fixed;inset:0;background:rgba(3,6,12,.7);display:none;align-items:center;justify-content:center;z-index:1200;}
.overlay.show{display:flex;}
.modal{background:var(--surface);border-radius:var(--radius-lg);width:1100px;max-width:96vw;max-height:calc(100vh - 16px);overflow-y:auto;padding:18px 24px;box-shadow:var(--shadow-lg);transition:width .15s;}

/* — small dialogs (alert/confirm) — stack above any open modal, never replace it — */
.dialog-backdrop{
  position:fixed;inset:0;display:none;place-items:center;padding:var(--space-4);
  background:rgba(3,6,12,.55);z-index:1400;
}
.dialog-backdrop.show{ display:grid; }
.dialog{
  width:min(440px,100%);background:var(--surface);border-radius:var(--radius-lg);
  padding:20px 22px;box-shadow:var(--shadow-lg);animation:loginCardIn .2s ease;
}
.dialog h3{ margin:0 0 12px; }
.modal.wide{width:1180px;}
.modal.ai-scan-loading{width:min(780px,96vw);padding:0;overflow:hidden;border-radius:22px;border:1px solid var(--line);box-shadow:0 40px 90px rgba(6,11,28,.28),0 2px 6px rgba(6,11,28,.06);}
.partial-panel{
  background:color-mix(in srgb, var(--steel) 7%, transparent);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--steel);padding:16px;
}
.partial-panel h4{margin:0 0 12px;font-size:14px;color:var(--steel-dark);display:flex;align-items:center;justify-content:space-between;}
.stop-row.partial-stop{border-radius:8px;padding:4px 6px 4px 2px;background:color-mix(in srgb, var(--steel) 7%, transparent);box-shadow:inset 0 0 0 1px var(--steel);}
.modal h3{margin:0 0 14px;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px;letter-spacing:-.015em;color:var(--ink);}
.modal-close{float:right;cursor:pointer;font-size:20px;color:var(--muted);line-height:1;}
.check-row{display:flex;gap:16px;margin:8px 0 14px;}
.check-row label{display:flex;align-items:center;gap:6px;text-transform:none;font-size:13px;color:var(--ink);font-weight:500;}
.check-row input{width:auto;}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;}
/* ---------- SHIPMENT MODAL (New/Edit shipment) ---------- */
.sh-modal-head{display:flex;align-items:flex-start;gap:16.8px;margin:-2px 0 4px;}
.sh-kicker{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:6px;}
.sh-modal-head h3{margin:0 0 4px !important;}
.sh-sub{margin:0;font-size:12px;color:var(--muted);}
.sh-section{
  display:flex;flex-wrap:wrap;gap:16.8px;padding:14px 0;
  background-image:linear-gradient(to right, transparent, var(--line) 48px, var(--line) calc(100% - 48px), transparent);
  background-repeat:no-repeat;background-position:top;background-size:100% 1px;
}
.sh-section:first-of-type{background-image:none;padding-top:0;}
.sh-section-label{flex:0 0 150px;display:flex;flex-direction:column;gap:5px;}
.sh-section-label .sh-num{font-size:10px;letter-spacing:.14em;color:var(--accent);}
.sh-section-label h4{margin:0;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px;color:var(--ink);}
.sh-section-label p{margin:0;font-size:11.5px;line-height:1.5;color:var(--muted);}
.sh-section-body{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:11.2px;}
.sh-grid{display:grid;gap:11.2px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}

.sh-route{position:relative;display:flex;flex-direction:column;gap:8px;}
.sh-route-line{position:absolute;left:5px;top:34px;bottom:34px;width:1px;background:linear-gradient(to bottom, transparent, var(--color-accent-700) 12%, var(--color-accent-700) 88%, transparent);}
.sh-route-row{display:grid;grid-template-columns:11px minmax(0,1fr);gap:11.2px;align-items:start;}
.sh-route-dot{width:11px;height:11px;margin-top:28px;border-radius:50%;border:2px solid var(--accent);background:var(--surface);flex:none;}
.sh-route-dot.stop{width:7px;height:7px;margin:30px 0 0 2px;border:0;background:var(--muted);}
.sh-route-dot.dest{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);}
.sh-route-fields{display:grid;gap:8px;grid-template-columns:minmax(140px,1.8fr) minmax(56px,.4fr) minmax(70px,.5fr) minmax(150px,1.3fr);}
.sh-route-addstop{display:grid;grid-template-columns:11px minmax(0,1fr);gap:11.2px;}

.eqseg{display:flex;flex-wrap:wrap;gap:6px;}
.eqseg-opt{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);}
.eqseg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.eqseg-opt:has(input:checked){color:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);}
.eqseg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb, var(--ink) 6%, transparent);}

.sh-rpm{display:flex;align-items:baseline;gap:11.2px;padding-top:2.8px;border-top:1px solid var(--line);}
.rc-scan-spinner{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb, var(--accent) 25%, transparent);border-top-color:var(--accent);animation:rcSpin .8s linear infinite;}
.rc-inline-spinner{width:11px;height:11px;border-radius:50%;border:2px solid color-mix(in srgb, var(--accent) 25%, transparent);border-top-color:var(--accent);display:inline-block;vertical-align:middle;margin-right:5px;animation:rcSpin .8s linear infinite;}
@keyframes rcSpin{to{transform:rotate(360deg);}}
@keyframes aiPulseGlow{0%,100%{opacity:0.55;transform:scale(1);}50%{opacity:1;transform:scale(1.1);}}
@keyframes aiLineFade{0%,100%{opacity:0.5;background-color:#d7dded;}50%{opacity:1;background-color:#c3d4ff;}}
@keyframes aiScanMove{0%{top:-8%;opacity:0;}15%{opacity:1;}85%{opacity:1;}100%{top:102%;opacity:0;}}
@keyframes aiRingPulse{0%{transform:scale(0.55);opacity:0.55;}100%{transform:scale(2);opacity:0;}}
.sh-rpm-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.sh-rpm-value{font-family:var(--font-heading);font-size:20px;color:var(--accent-ink);}
.sh-rpm-note{font-size:11.5px;color:var(--muted);}

.sh-footer{
  display:flex;flex-wrap:wrap;align-items:center;gap:11.2px;
  margin:14px -24px -18px;padding:14px 24px;
  background:var(--surface2);border-radius:0 0 var(--radius-lg) var(--radius-lg);
}
.sh-footer-note{flex:1 1 220px;min-width:0;font-size:11.5px;color:var(--muted);}
.sh-footer .modal-actions{margin:0;}

.stop-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;padding:6px 8px;border-radius:var(--radius-md);background:var(--surface2);cursor:grab;}
.stop-row.dragging{opacity:.4;}
.stop-handle{color:var(--muted);font-size:16px;cursor:grab;user-select:none;flex:none;}
.stop-row.fixed-row{cursor:default;}
.stop-row.fixed-row[draggable="true"]{cursor:grab;}
.stop-badge{
  flex:none;width:38px;text-align:center;font-size:10px;font-weight:800;letter-spacing:.03em;
  color:var(--accent-ink);background:color-mix(in srgb, var(--steel) 12%, transparent);border-radius:6px;padding:8px 0;
}

/* ---------- MAIN dashboard (TMS MAIN design) ---------- */
@keyframes dmRise{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@keyframes dmFade{from{opacity:0;}to{opacity:1;}}
@keyframes dmPing{from{transform:scale(1);opacity:.6;}to{transform:scale(3);opacity:0;}}
@keyframes dmFlow{to{stroke-dashoffset:-18;}}
@keyframes dmReveal{from{clip-path:inset(-4px 100% -4px 0);}to{clip-path:inset(-4px -4px -4px 0);}}
@keyframes dmGrow{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes dmMping{0%{transform:scale(1);opacity:.4;}100%{transform:scale(2.1);opacity:0;}}
.dm{display:flex;flex-direction:column;gap:18px;}
.dm-rise{animation:dmRise .6s cubic-bezier(.2,.8,.2,1) backwards;}
.dm-fadein{animation:dmFade .5s ease backwards;}
.dm-still .dm-rise,.dm-still .dm-fadein,.dm-still .dm-spark,.dm-still .dm-br .fl{animation:none;}
.dm-mono{font-family:var(--font-mono);}
.dm-num{font-variant-numeric:tabular-nums;}

.dm-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card);overflow:hidden;}
.dm-kpi{position:relative;overflow:hidden;padding:14px 18px 12px;transition:background .25s;min-width:0;}
.dm-kpi+.dm-kpi{border-left:1px solid var(--line);}
.dm-kpi:hover{background:var(--blue-soft);}
.dm-kpi.hero,.dm-kpi.hero:hover{background:#2B62F0;color:#fff;}
.dm-kh{display:flex;align-items:center;gap:10px;}
.dm-ki{width:26px;height:26px;border-radius:8px;background:var(--blue-soft);color:var(--accent);display:grid;place-items:center;font-size:14px;flex:none;}
.dm-kpi.hero .dm-ki{background:rgba(255,255,255,.18);color:#fff;}
.dm-kl{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.dm-kpi.hero .dm-kl{color:rgba(255,255,255,.85);}
.dm-kv{margin-top:10px;font-family:var(--font-heading);font-size:26px;font-weight:700;letter-spacing:-.025em;line-height:1;}
.dm-kv small{font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0;margin-left:4px;}
.dm-kpi.hero .dm-kv small{color:rgba(255,255,255,.8);}
.dm-kd{margin-top:8px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:8px;color:var(--up);background:rgba(20,150,90,.10);padding:2px 8px;border-radius:999px;white-space:nowrap;}
.dm-kd.dn{color:var(--danger);background:rgba(220,60,60,.09);}
.dm-kd.none{color:var(--muted);background:transparent;padding-left:0;font-weight:500;}
.dm-kd span{font-weight:400;color:var(--muted);margin-left:2px;}
.dm-kpi.hero .dm-kd{color:#B9F5D4;background:rgba(255,255,255,.14);}
.dm-kpi.hero .dm-kd.dn{color:#FFC9C9;background:rgba(255,255,255,.14);}
.dm-kpi.hero .dm-kd.none{background:transparent;color:rgba(255,255,255,.8);}
.dm-kpi.hero .dm-kd span{color:rgba(255,255,255,.8);}
.dm-spark-wrap{--spark:var(--accent);margin-top:12px;}
.dm-kpi.hero .dm-spark-wrap{--spark:#fff;}
.dm-spark{position:relative;height:52px;animation:dmReveal 1.3s cubic-bezier(.4,0,.2,1) .35s backwards;}
.dm-spark svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;}
.dm-spark .sl{stroke:var(--spark);stroke-width:2.5;fill:none;}
.dm-days{display:flex;justify-content:space-between;padding:0 1.5%;margin-top:4px;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;color:var(--muted);}
.dm-kpi.hero .dm-days{color:rgba(255,255,255,.75);}
.dm-dot{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;display:grid;place-items:center;cursor:default;}
.dm-dot i{width:7px;height:7px;border-radius:50%;background:var(--surface);border:2px solid var(--spark);transition:transform .15s;}
.dm-kpi.hero .dm-dot i{background:#2B62F0;}
.dm-dot.last i{background:var(--spark);box-shadow:0 0 0 4px color-mix(in srgb, var(--spark) 22%, transparent);}
.dm-kpi.hero .dm-dot.last i{background:#fff;}
.dm-dot:hover i{transform:scale(1.5);}
.dm-dot:hover{z-index:3;}
.dm-dot::after{
  content:attr(data-tip);position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);
  white-space:nowrap;padding:4px 8px;border-radius:6px;background:#0B1533;color:#fff;font-size:11px;font-weight:600;
  opacity:0;pointer-events:none;transition:opacity .12s;
}
.dm-dot:hover::after{opacity:1;}
.dm-dot:first-of-type::after{left:0;transform:none;}
.dm-dot:last-of-type::after{left:auto;right:0;transform:none;}

.dm-g1{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:stretch;}
.dm-g2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;}
.dm-g2>.dm-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:14px 20px 16px;}
.dm-g2>.dm-card+.dm-card{border-left:1px solid var(--line);}
.dm-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-card);min-width:0;}
.dm-ch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}
.dm-ch h2{margin:0;font-size:15px;font-weight:700;letter-spacing:-.015em;display:flex;align-items:center;gap:10px;}
.dm-ch h2 small{font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0;}
.dm-dt{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--muted);}
.dm-live{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;border:1px solid var(--accent);background:var(--blue-soft);color:var(--accent);font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;}
.dm-live i{position:relative;width:6px;height:6px;border-radius:50%;background:var(--accent);}
.dm-live i::after{content:'';position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:dmPing 1.8s ease-out infinite;}
.dm-lnk{color:var(--accent);font-weight:600;text-decoration:none;font-size:12px;}
.dm-lnk:hover{text-decoration:underline;text-underline-offset:4px;}
.dm-lnk:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}

.dm-tw{overflow-x:auto;}
.dm-tr{display:grid;grid-template-columns:minmax(56px,.7fr) minmax(90px,1.2fr) minmax(80px,1fr) minmax(88px,1fr) minmax(44px,.5fr) minmax(56px,.6fr) minmax(48px,.5fr);column-gap:8px;align-items:center;min-width:520px;padding:0 6px;font-size:12px;}
.dm-tr>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dm-th{height:28px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);}
.dm-rw{height:32px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s;}
.dm-rw:last-child{border-bottom:0;}
.dm-rw:hover{background:var(--soft);}
.dm-rw .id{font-family:var(--font-mono);color:var(--accent);font-weight:600;}
.dm-rw .cu{font-weight:600;}
.dm-rw .r,.dm-th .r{text-align:right;}
.dm-rw .rt{font-weight:700;}
.dm-rw.row-new{animation:rowNewIn 2.2s ease-out,rowNewFlash 2.2s ease-out;}
.dm-empty{padding:18px 6px;font-size:12px;color:var(--muted);}

.dm-card.mc{display:flex;flex-direction:column;}
.dm-mapbox{position:relative;overflow:hidden;border-radius:12px;background-color:#EEF2F9;border:1px solid var(--line);flex:1;min-height:260px;isolation:isolate;z-index:0;}
#mapDiv{position:absolute;inset:0;background:#EEF2F9;font-family:var(--font-body);}
.dm-mapbox .leaflet-control-zoom{border:0!important;box-shadow:none;display:flex;flex-direction:column;gap:6px;margin:12px 0 0 12px;}
.dm-mapbox .leaflet-control-zoom a{
  width:36px;height:36px;line-height:34px;border-radius:10px!important;border:1px solid var(--line)!important;
  background:#fff;color:var(--ink);font-size:18px;box-shadow:var(--shadow-card);transition:background .2s,border-color .2s,color .2s;
}
.dm-mapbox .leaflet-control-zoom a:hover{background:var(--soft);border-color:var(--accent)!important;color:var(--accent);}
.dm-mapbox .leaflet-control-zoom a.leaflet-disabled{opacity:.45;cursor:not-allowed;background:#fff;color:var(--muted);}
.dm-mapbox .leaflet-control-attribution{background:rgba(255,255,255,.8);color:var(--muted);}
.dm-mapbox .leaflet-control-attribution a{color:var(--accent);}
.dm-lane{animation:dmFlow 1.2s linear infinite;}
.dm-mk{
  position:relative;width:24px;height:24px;border-radius:50%;background:var(--mk,#2B62F0);border:2px solid #fff;box-shadow:0 2px 6px rgba(11,21,51,.28);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;
}
.dm-mk::after{content:'';position:absolute;inset:-2px;border-radius:50%;background:var(--mk,#2B62F0);z-index:-1;animation:dmMping 2s ease-out var(--dl,0s) infinite;}
.leaflet-popup-content-wrapper{border-radius:8px;font-family:var(--font-body);background:var(--surface);color:var(--ink);}
.leaflet-popup-content b{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px;}
.leaflet-popup-tip{background:var(--surface);}
.leaflet-container a.leaflet-popup-close-button{color:var(--muted);}
.map-city-label{
  background:transparent!important;border:none!important;box-shadow:none!important;
  color:var(--ink);font-family:var(--font-body);font-size:11.5px;font-weight:700;
  text-shadow:0 0 4px #161826, 0 0 4px #161826, 0 0 4px #161826;
  padding:0!important;
}
.map-city-label::before{display:none!important;}
.map-city-label.muted{color:var(--muted);font-weight:500;font-size:10.5px;}
.map-hint{position:absolute;bottom:12px;left:12px;z-index:400;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:11px;padding:6px 12px;border-radius:100px;box-shadow:var(--shadow-card);pointer-events:none;}
.map-hint i{width:7px;height:7px;border-radius:50%;background:#1FA45B;flex:none;}
.map-stat{position:absolute;top:12px;right:12px;z-index:400;text-align:right;pointer-events:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px 12px;box-shadow:var(--shadow-card);}
.map-stat .num{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px;color:var(--ink);letter-spacing:-.02em;display:block;line-height:1.1;}
.map-stat .lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}

.dm-bl{display:flex;flex-direction:column;gap:9px;padding-top:2px;}
.dm-br{display:grid;grid-template-columns:14px minmax(0,1.5fr) minmax(40px,1fr) auto;align-items:center;gap:10px;font-size:12px;}
.dm-br .rk{font-family:var(--font-mono);font-size:10px;color:var(--muted);text-align:right;}
.dm-br .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dm-br .tk{height:5px;border-radius:3px;background:var(--soft);overflow:hidden;}
.dm-br .fl{height:100%;border-radius:3px;background:var(--accent);transform-origin:left;animation:dmGrow .9s cubic-bezier(.3,.9,.3,1) backwards;}
.dm-br .vl{text-align:right;font-weight:700;}

.dm-att{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.dm-ac{min-width:0;display:flex;gap:14px;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--soft);transition:transform .25s,border-color .25s;}
.dm-ac:hover{transform:translateY(-2px);border-color:var(--accent);}
.dm-ac .ti{flex:none;width:40px;height:40px;border-radius:11px;background:var(--blue-soft);color:var(--accent);display:grid;place-items:center;font-size:20px;}
.dm-ac.danger .ti{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);}
.dm-ac .tt2{font-weight:700;font-size:15px;color:var(--ink);}
.dm-ac .ds{margin-top:2px;color:var(--muted);font-size:13px;}
.dm-ac .dm-lnk{display:inline-block;margin-top:8px;}

@media (max-width:1400px){.dm-g1{grid-template-columns:minmax(0,1fr);}.dm-card.mc{height:430px;}}
@media (max-width:1200px){
  .dm-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dm-kpi:nth-child(3){border-left:0;}
  .dm-kpi:nth-child(n+3){border-top:1px solid var(--line);}
  #topbar{gap:12px;}
  .tb-who{display:none;}
}
@media (max-width:1000px){
  #sidebar,#sidebar.collapsed{width:76px;}
  #main,#sidebar + #main,#sidebar.collapsed + #main{margin-left:76px;}
  #sidebar .sidebar-toggle{display:none;}
  #sidebar .brand{justify-content:center;padding:0;}
  #sidebar .brand>div:last-child,#sidebar .nav-divider,#sidebar .nav-item span:not(.nav-ico),#sidebar .quick-action span:not(.nav-ico){display:none;}
  #sidebar .nav-item,#sidebar .quick-action{justify-content:center;padding-left:0;padding-right:0;}
  .dm-g2{grid-template-columns:minmax(0,1fr);}
  .dm-g2>.dm-card+.dm-card{border-left:0;border-top:1px solid var(--line);}
  .dm-att{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tb-arrow{display:none;}
}
@media (max-width:640px){
  .dm-att{grid-template-columns:minmax(0,1fr);}
  .dm-br{grid-template-columns:14px minmax(0,1.5fr) minmax(30px,1fr) auto;gap:8px;}
  #topbar{height:auto;padding:12px 16px;flex-wrap:wrap;}
  .tb-search{order:5;flex:1 1 100%;max-width:none;}
  .tb-title{flex:1;max-width:none;}
  #content{padding:16px 16px 32px;}
  .dm-kpis{grid-template-columns:minmax(0,1fr);}
  .dm-kpi+.dm-kpi{border-left:0;border-top:1px solid var(--line);}
}
@media (prefers-reduced-motion:reduce){
  .dm *,.dm *::before,.dm *::after{animation:none!important;transition:none!important;}
}

/* ---------- TOP SEARCH TYPEAHEAD ---------- */
.top-search-suggest{
  display:none;position:absolute;z-index:1300;top:calc(100% + 6px);left:0;right:0;
  background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);
  max-height:340px;overflow-y:auto;padding:6px;
}
.top-search-suggest.show{display:block;}
.top-search-group{padding:6px 8px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;}
.top-search-item{
  display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--radius-sm);cursor:pointer;
}
.top-search-item:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);}
.top-search-item i{font-size:15px;color:var(--accent);flex:none;width:15px;height:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center;}
.top-search-item-title{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.top-search-item-sub{font-size:11px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.top-search-item > div{min-width:0;flex:1;}
.top-search-empty{padding:10px 8px;color:var(--muted);font-size:12.5px;}

/* ---------- CUSTOM DATE & TIME PICKER ---------- */
.dt-picker{position:relative;}
.dt-picker-trigger{
  display:flex;align-items:center;gap:8px;width:100%;min-height:36px;
  font-family:var(--font-body);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:6px 10px;font-size:14px;background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;
}
.dt-picker-trigger:hover{border-color:color-mix(in srgb, var(--ink) 45%, transparent);}
.dt-picker-trigger i{color:var(--muted);font-size:14px;flex:none;}
.dt-picker-panel{
  display:none;position:fixed;z-index:1400;
  width:270px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);padding:12px;
}
.dt-picker-panel.show{display:block;}
.dt-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.dt-cal-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:13px;color:var(--ink);}
.dt-nav{border:none;background:transparent;color:var(--muted);cursor:pointer;width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;}
.dt-nav:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink);}
.dt-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;}
.dt-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;}
.dt-day{
  display:flex;align-items:center;justify-content:center;height:28px;border-radius:6px;font-size:12.5px;color:var(--ink);cursor:pointer;
}
.dt-day:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);}
.dt-day.muted{color:color-mix(in srgb, var(--ink) 30%, transparent);}
.dt-day.today{box-shadow:inset 0 0 0 1px var(--accent);}
.dt-day.selected{background:var(--accent);color:#fff;font-weight:700;}
.dt-time-row{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);}
.dt-time-row i{color:var(--muted);font-size:14px;flex:none;}
.dt-time-text{
  font-family:var(--font-body);border:1px solid var(--line);border-radius:6px;background:var(--surface2);color:var(--ink);
  font-size:12.5px;padding:6px 8px;flex:1;min-width:0;
}
.dt-time-text:focus-visible{outline:none;border-color:var(--accent);}
.dt-ampm-toggle{
  flex:none;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:6px;background:var(--surface2);color:var(--accent);
  font-size:11px;font-weight:700;padding:6px 10px;
}
.dt-footer{display:flex;align-items:center;gap:10px;margin-top:10px;}
.dt-footer-link{border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;padding:0;}
.dt-footer-link:hover{color:var(--accent);}
.dt-footer .btn{margin-left:auto;}

/* ---------- SHEET-STYLE BOARD (reference layout) ---------- */
.sheet-wrap{overflow-x:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);}
.sheet{border-collapse:collapse;width:100%;min-width:1750px;background:var(--surface);}
.sheet th,.sheet td{border:1px solid var(--line);padding:8px 10px;background-image:none;}
.sheet thead th{
  background:var(--surface2);font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  font-weight:700;white-space:nowrap;color:var(--muted);background-image:none;
}
.sheet thead th.col-driver{color:var(--ink);}
.sheet thead th.col-truck,.sheet thead th.col-trailer,.sheet thead th.col-phone{color:var(--steel-dark);}
.sheet thead th.col-day{color:var(--accent-ink);background:rgba(59,130,246,.07);}
.sheet thead th.col-metric{color:#e0c675;background:rgba(240,180,40,.06);}
.sheet td.col-driver{font-weight:700;color:var(--ink);font-family:var(--font-heading);font-size:15px;white-space:nowrap;background-image:none;}
.sheet td.col-driver .sub{display:block;font-family:var(--font-body);font-weight:500;font-size:11px;color:var(--muted);}
.rating-select{
  width:auto;display:inline-block;border:1px solid var(--line);border-radius:100px;padding:2px 8px;
  font-size:14px;margin-right:6px;cursor:pointer;background:var(--surface2);vertical-align:middle;
  appearance:none;-webkit-appearance:none;-moz-appearance:none;text-align:center;
}
.rating-select::-ms-expand{display:none;}
.copy-driver-btn{
  border:none;background:transparent;cursor:pointer;font-size:12px;opacity:.55;margin-left:4px;
  vertical-align:middle;padding:2px 4px;border-radius:5px;
}
.copy-driver-btn:hover{opacity:1;background:var(--surface2);}
.sheet td.col-truck,.sheet td.col-trailer{color:var(--steel-dark);font-weight:600;font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:12.5px;text-align:center;background-image:none;}
.sheet td.col-phone{color:var(--muted);font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:12px;background-image:none;}
.sheet td.col-day{vertical-align:top;min-width:250px;background:#1c1f2e;}
.sheet td.col-metric{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-weight:700;color:#e0c675;text-align:right;background-image:none;}
.sheet td.col-metric.money{color:var(--ok);}
.day-cell-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.day-load{
  background:var(--surface);border-radius:7px;box-shadow:var(--shadow-sm);padding:6px 8px;font-size:11.5px;margin-bottom:4px;cursor:pointer;
  flex:1 1 185px;min-width:185px;max-width:100%;
}
.day-load:hover{box-shadow:inset 0 0 0 1px var(--accent);}
.day-load .c{font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:11.5px;}
.day-load .n{color:var(--muted);font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sheet-add{
  flex:0 0 auto;width:26px;height:26px;border:1px dashed var(--line);background:transparent;border-radius:6px;color:var(--muted);font-size:15px;
  line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.sheet-add:hover{border-color:var(--accent);color:var(--accent);}
.sheet-add.empty-cell{width:100%;height:auto;padding:8px 0;font-size:14px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;}
.sheet-add.partial-add{width:auto;height:auto;padding:6px 9px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;border-style:dashed;}
.date-box{
  display:inline-block;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 30px;font-family:var(--font-heading);
  font-weight:var(--font-heading-weight);font-size:16px;background:var(--surface);color:var(--ink);
}
.dispatcher-group-head{
  background:#1e293b;color:#fff;font-family:var(--font-heading);font-size:14.5px;font-weight:var(--font-heading-weight);
  padding:8px 12px;letter-spacing:.02em;
}
.dispatcher-group-head .cnt{float:right;font-family:var(--font-body);font-weight:500;font-size:11.5px;color:var(--muted);text-transform:none;letter-spacing:0;}
.ext-badge{background:var(--accent);color:#fff;font-family:var(--font-body);font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:100px;margin-left:6px;letter-spacing:.02em;}
.dispatcher-subtotal td{background:rgba(240,180,40,.06);font-weight:700;color:#e0c675;border-top:2px solid rgba(240,180,40,.2);}
.dispatcher-subtotal td.col-driver{font-family:var(--font-body);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:#e0c675;text-align:center;}
.dispatcher-subtotal td.subtotal-note{font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#e0c675;white-space:nowrap;text-align:right;}
.dispatcher-subtotal td.subtotal-blank{background:var(--surface2);border-top:1px solid var(--line);}

/* ---------- PLANNING BOARD ---------- */
.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.week-nav{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:6px 10px;}
.week-nav button.btn.ghost.sm{white-space:nowrap;}
.week-nav .lbl{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;min-width:220px;text-align:center;color:var(--ink);}
.board-scroll{overflow-x:auto;}
.board-grid{display:grid;grid-template-columns:190px repeat(7,1fr);min-width:1150px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;background:var(--surface);}
.board-head, .board-row-head, .board-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.board-head{background:var(--surface2);padding:10px;font-size:12px;font-weight:700;text-align:center;}
.board-head .d{font-size:10px;color:var(--muted);font-weight:600;}
.board-row-head{padding:10px;background:var(--surface2);}
.board-row-head .drv{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:13.5px;color:var(--ink);}
.board-row-head .meta{font-size:11px;color:var(--muted);margin-top:2px;}
.board-cell{padding:6px;min-height:96px;vertical-align:top;position:relative;}
.load-card{
  background:var(--surface);border-radius:8px;box-shadow:var(--shadow-sm);padding:7px 8px;font-size:11.5px;margin-bottom:5px;cursor:pointer;
}
.load-card .city{font-weight:700;font-size:12.5px;color:var(--ink);}
.load-card .num{color:var(--muted);font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:10.5px;}
.load-card .money{color:var(--ok);font-weight:700;font-family:var(--font-body);font-variant-numeric:tabular-nums;float:right;}
.load-card .pills{margin-top:4px;display:flex;gap:3px;flex-wrap:wrap;}
.add-cell-btn{
  width:100%;border:1px dashed var(--line);background:transparent;border-radius:7px;color:var(--muted);
  font-size:16px;padding:5px 0;cursor:pointer;
}
.add-cell-btn:hover{border-color:var(--accent);color:var(--accent);}
.dispatcher-chip{
  display:inline-flex;align-items:center;gap:8px;background:var(--surface2);border-radius:100px;box-shadow:var(--shadow-sm);padding:5px 12px 5px 12px;font-size:13px;margin:0 6px 6px 0;color:var(--ink);
}
.dispatcher-chip .x{cursor:pointer;color:var(--danger);font-weight:700;}

.upload-list{display:flex;flex-direction:column;gap:6px;margin-top:6px;}
.upload-item{display:flex;justify-content:space-between;align-items:center;background:var(--surface2);border-radius:7px;padding:6px 10px;font-size:12px;}
.live-shipments-scroll{flex:1;min-height:0;overflow:hidden;}
.shipment-search-row{display:flex;align-items:center;gap:10px;margin:12px 0 8px;}
.shipment-search-row input{flex:1;min-width:220px;}
.shipment-search-count{flex:none;color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap;}
.customer-search-row{display:flex;align-items:center;gap:10px;margin:12px 0 8px;}
.customer-search-row input{flex:1;min-width:220px;}
.customer-duplicate-hint{display:none;margin-top:5px;padding:6px 9px;border-radius:7px;background:rgba(245,158,11,.10);box-shadow:inset 0 0 0 1px #f59e0b;color:#fbbf24;font-size:11px;font-weight:600;}
.customer-duplicate-hint.info{background:var(--soft);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);}
.customer-duplicate-input{border-color:#f59e0b!important;box-shadow:0 0 0 2px rgba(245,158,11,.20);}
.shipment-field-hint{font-size:10.5px;color:var(--muted);margin-top:4px;}
.tabs{display:flex;gap:6px;margin-bottom:14px;}
.tab{padding:7px 14px;border-radius:100px;font-size:13px;font-weight:600;cursor:pointer;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--muted);}
.tab.active{background:var(--accent);color:#fff;box-shadow:none;}
.note{font-size:12px;color:var(--muted);margin-top:10px;}
.lock-note{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);background:var(--surface2);padding:8px 12px;border-radius:8px;margin-bottom:14px;}

/* Hard override: the dispatcher subtotal row must NEVER change appearance on hover */
tr.dispatcher-subtotal:hover td{background:rgba(240,180,40,.06)!important;background-image:none!important;}
tr.dispatcher-subtotal:hover td.subtotal-blank{background:var(--surface2)!important;}
tr.dispatcher-subtotal:hover td.subtotal-note{background:rgba(240,180,40,.06)!important;}
tr.dispatcher-subtotal:hover td.col-driver{background:rgba(240,180,40,.06)!important;}

/* ---------- LINKED SHIPMENTS ---------- */

/* ---------- LOGIN SCREEN ---------- */
.login-screen{
  position:fixed;inset:0;display:flex;background:#060B1C;z-index:100;
  --login-accent:var(--accent);
  --login-accent-deep:#2B62F0;
  font-family:'Instrument Sans',var(--font-body),system-ui,sans-serif;
}
.login-screen *,.login-screen *::before,.login-screen *::after{ box-sizing:border-box; }
.login-disp{ font-family:'Bricolage Grotesque','Instrument Sans',system-ui,sans-serif; }
.login-mono{ font-family:'JetBrains Mono',ui-monospace,monospace; }

@keyframes loginRise{ from{ opacity:0;transform:translateY(14px); } to{ opacity:1;transform:none; } }
@keyframes loginTwinkle{ 0%,100%{ opacity:.2; } 50%{ opacity:.85; } }
@keyframes loginDrift{ to{ transform:translateX(-736px); } }
@keyframes loginLane{ to{ transform:translateX(-96px); } }
@keyframes loginWheelSpin{ to{ transform:rotate(360deg); } }
@keyframes loginBob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-1.5px); } }
@keyframes loginChase{ 0%,100%{ opacity:.2; } 50%{ opacity:1; } }
@keyframes loginBeamPulse{ 0%,100%{ opacity:.8; } 50%{ opacity:1; } }
@keyframes loginPuff{ 0%{ opacity:.34;transform:translate(0,0) scale(.6); } 100%{ opacity:0;transform:translate(-52px,-38px) scale(2.4); } }
@keyframes loginMarch{ to{ background-position:16px 0; } }
@keyframes loginShine{ 0%,55%{ left:-40%; } 100%{ left:140%; } }
@keyframes loginPop{ 0%{ transform:scale(.97); } 60%{ transform:scale(1.015); } 100%{ transform:scale(1); } }
@keyframes loginShoot{ 0%{ transform:translateX(-30px);opacity:0; } 3%{ opacity:1; } 20%{ transform:translateX(340px);opacity:0; } 100%{ transform:translateX(340px);opacity:0; } }
@keyframes loginPing{ from{ transform:scale(1);opacity:.6; } to{ transform:scale(3.2);opacity:0; } }

.rise-in{ animation:loginRise .75s cubic-bezier(.2,.8,.2,1) backwards; }
.login-star{ animation:loginTwinkle 4s ease-in-out infinite; }
.login-star.b{ animation-duration:5.2s; }
.login-star.c{ animation-duration:3.1s; }
.login-drift-far{ animation:loginDrift 90s linear infinite; }
.login-drift-near{ animation:loginDrift 36s linear infinite; }
.login-lane{ animation:loginLane .55s linear infinite; }
.login-bob{ animation:loginBob .9s ease-in-out infinite; }
.login-wheel{ transform-box:fill-box;transform-origin:center;animation:loginWheelSpin .65s linear infinite; }
.login-run{ animation:loginChase 1.6s ease-in-out infinite; }
.login-beam{ animation:loginBeamPulse 2.4s ease-in-out infinite; }
.login-glow-anim{ animation:loginBeamPulse 2.4s ease-in-out infinite; }
.login-puff{ transform-box:fill-box;transform-origin:center;animation:loginPuff 2.4s ease-out infinite; }
.login-puff.d2{ animation-delay:.8s; }
.login-puff.d3{ animation-delay:1.6s; }
.login-shoot{ opacity:0;animation:loginShoot 7s ease-in infinite;animation-delay:1.2s; }
.login-shoot.s2{ animation-duration:10s;animation-delay:3.6s; }
.login-shoot.s3{ animation-duration:8.5s;animation-delay:6.4s; }
.login-shoot.s4{ animation-duration:13s;animation-delay:9s; }

/* — hero (left) panel — */
.login-hero{
  flex:1.05 1 0;position:relative;overflow:hidden;min-width:0;
  display:flex;flex-direction:column;padding:44px 48px 36px;color:#EAF0FF;
  background:radial-gradient(120% 90% at 12% 4%, color-mix(in srgb, var(--login-accent) 34%, transparent), transparent 60%), #060B1C;
}
.login-scene{ position:absolute;left:0;bottom:0;width:100%;height:100%;overflow:visible;pointer-events:none; }
.login-hero-brand{ position:relative;z-index:1;display:flex;align-items:center;gap:14px; }
.login-hero-mark{ width:38px;height:38px;display:grid;place-items:center;overflow:hidden; }
.login-hero-mark img{ width:100%;height:100%;object-fit:contain; }
.login-hero-brand b{ font-family:'Bricolage Grotesque','Instrument Sans',sans-serif;font-weight:700;font-size:21px;letter-spacing:-.01em;line-height:1;display:block;color:#EAF0FF; }
.login-hero-brand span{ font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(234,240,255,.66);margin-top:3px;display:block; }
.login-hero-mid{ position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;padding:36px 0 96px; }
.hero-phrase{
  position:absolute;inset:0;opacity:0;transform:translateY(14px);z-index:1;
  transition:opacity .8s ease, transform .8s cubic-bezier(.22,1,.36,1);pointer-events:none;
}
.hero-phrase.active{ opacity:1;transform:translateY(0);pointer-events:auto;z-index:2; }
.hero-phrase-title{ font-family:'Bricolage Grotesque','Instrument Sans',sans-serif;font-weight:700;font-size:clamp(32px,3.5vw,50px);line-height:1.06;letter-spacing:-.025em;color:#EAF0FF;margin:0 0 16px; }
.hero-phrase-sub{ font-family:'Instrument Sans',sans-serif;font-size:18px;line-height:1.55;max-width:470px;color:rgba(234,240,255,.74); }
.hero-dots{ position:relative;z-index:1;display:flex;gap:8px;margin-top:24px; }
.hero-dot{
  height:3px;border:0;padding:0;cursor:pointer;border-radius:2px;background:rgba(234,240,255,.24);width:16px;
  transition:width .45s cubic-bezier(.22,1,.36,1), background .45s ease;
}
.hero-dot.active{ width:46px;background:var(--login-accent); }
.login-hero-foot{ position:relative;z-index:1;padding-top:22px;border-top:1px solid rgba(234,240,255,.14);display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px 24px; }
.login-hero-stats{ display:flex;flex-wrap:wrap;gap:16px 44px; }
.login-hero-stat b{ font-family:'Bricolage Grotesque','Instrument Sans',sans-serif;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1;color:#EAF0FF;display:block; }
.login-hero-stat span{ font-family:'JetBrains Mono',monospace;margin-top:4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(234,240,255,.66);display:block; }
.login-hero-stat.right{ margin-left:auto;text-align:right; }

/* — form (right) panel — */
.login-panel{ position:relative;flex:1 1 0;display:grid;place-items:center;padding:40px;min-width:0;background:#EDF1FA;color:#0B1533;overflow:hidden; }
.login-panel::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(11,21,51,.10) 1px, transparent 1px);background-size:22px 22px;
}
.login-card{ position:relative;z-index:1;width:min(400px,100%);animation:loginCardIn .5s cubic-bezier(.2,.8,.2,1); }
@keyframes loginCardIn{ from{opacity:0;transform:translateY(14px) scale(.98);} to{opacity:1;transform:translateY(0) scale(1);} }
.login-card.shake{ animation:loginShake .4s; }
@keyframes loginShake{
  10%,90%{transform:translateX(-2px);} 20%,80%{transform:translateX(4px);}
  30%,50%,70%{transform:translateX(-8px);} 40%,60%{transform:translateX(8px);}
}
.login-status{ display:flex;align-items:center;gap:10px; }
.login-status .dot{ width:8px;height:8px;border-radius:50%;background:#2E9E5B;position:relative;flex:none; }
.login-status .dot::after{ content:'';position:absolute;inset:0;border-radius:50%;background:#2E9E5B;animation:loginPing 2s ease-out infinite; }
.login-status span{ font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#4A5676; }
.login-title{ font-family:'Bricolage Grotesque','Instrument Sans',sans-serif;font-weight:700;font-size:40px;line-height:1.05;letter-spacing:-.025em;margin:18px 0 0;color:#0B1533; }
.login-sub{ margin:10px 0 0;font-size:15.5px;line-height:1.4;color:#4A5676; }
.login-foot-note{ margin-top:26px;font-size:14px;line-height:1.5;color:#4A5676; }
.login-foot-note a{ color:#0B1533;text-decoration:underline;text-decoration-color:var(--login-accent-deep); }

/* — progress rail — */
.login-rail{ position:relative;height:28px;margin:28px 0 14px; }
.login-rail-track{
  position:absolute;top:13px;left:0;right:0;height:2px;border-radius:1px;
  background:repeating-linear-gradient(90deg,#7C89AC 0 8px,transparent 8px 16px);
  animation:loginMarch 1s linear infinite;
}
.login-rail-fill{ position:absolute;top:13px;left:0;height:2px;border-radius:1px;background:var(--login-accent-deep);width:8%;transition:width .8s cubic-bezier(.3,.9,.3,1); }
.login-rail-marker{
  position:absolute;top:0;left:8%;transform:translateX(-50%);display:grid;place-items:center;
  width:28px;height:28px;border-radius:8px;background:var(--login-accent-deep);border:none;color:#FFFFFF;
  transition:left .8s cubic-bezier(.3,.9,.3,1);
}
.login-rail-marker svg{ animation:loginBob 1.1s ease-in-out infinite; }

/* — trust toggle + forgot link row — */
.login-row-between{ display:flex;align-items:center;justify-content:space-between;margin:14px 0 22px; }
.login-switch{
  display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:0;cursor:pointer;
  color:#0B1533;font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:500;
}
.switch-track{
  width:42px;height:24px;border-radius:12px;position:relative;flex:none;
  border:1.5px solid #8A97B8;background:#D9E0F0;transition:background .25s ease, border-color .25s ease;
}
.switch-knob{
  position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#0B1533;
  transition:left .35s cubic-bezier(.34,1.56,.64,1), background .28s ease;
}
.login-switch.on .switch-track{ background:var(--login-accent-deep);border-color:var(--login-accent-deep); }
.login-switch.on .switch-knob{ left:18px;background:#FFFFFF; }
.login-link{
  font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:500;color:#0B1533;
  text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--login-accent-deep);
  transition:text-decoration-color .2s;
}
.login-link:hover{ text-decoration-color:#0B1533; }

/* — or divider + google — */
.login-or{ display:flex;align-items:center;gap:16px;margin:26px 0;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#4A5676; }
.login-or span{ flex:1;height:1px;background:#C2CBE2; }

.login-float{ position:relative;margin-bottom:12px; }
.login-float input{
  width:100%;height:60px;background:#F8FAFF;border:1.5px solid #C2CBE2;border-radius:10px;
  padding:24px 44px 6px 16px;font:500 16px 'Instrument Sans',sans-serif;color:#0B1533;
  transition:border-color .2s, box-shadow .25s, transform .25s;
}
.login-float:hover input{ border-color:#8A97B8; }
.login-float input:focus{
  outline:none;border-color:#0B1533;box-shadow:0 0 0 4px color-mix(in srgb, var(--login-accent-deep) 30%, transparent);transform:translateY(-1px);
}
.login-float label{
  position:absolute;left:16px;top:21px;font:500 12px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;
  color:#4A5676;pointer-events:none;transform-origin:left top;transition:transform .25s cubic-bezier(.2,.8,.2,1), color .2s;
}
.login-float input:focus + label, .login-float input:not(:placeholder-shown) + label{
  transform:translateY(-13px) scale(.86);color:#0B1533;
}
.pw-toggle{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:8px;
  background:transparent;color:#4A5676;display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s;
}
.pw-toggle:hover{ background:rgba(11,21,51,.07);color:#0B1533; }
.pw-toggle:active{ transform:translateY(-50%) scale(.92); }

.login-btn{ position:relative;overflow:hidden;width:100%;height:56px;margin-top:22px;border-radius:10px;
  font:600 15.5px 'Instrument Sans',sans-serif;display:flex;align-items:center;justify-content:center;gap:10px;
  cursor:pointer;transition:transform .2s, box-shadow .2s, background .3s, border-color .3s;
}
.login-btn .arr{ display:none;transition:transform .25s; }
#loginSubmitBtn:not(:disabled) .arr{ display:block; }
#loginSubmitBtn{
  background:var(--login-accent-deep);border:1.5px solid #0B1533;color:#FFFFFF;box-shadow:0 4px 0 #0B1533;
}
#loginSubmitBtn:not(:disabled){ animation:loginPop .45s cubic-bezier(.34,1.56,.64,1); }
#loginSubmitBtn::before{
  content:'';position:absolute;top:0;bottom:0;left:-40%;width:28%;background:rgba(255,255,255,.5);
  transform:skewX(-20deg);animation:loginShine 3.4s ease-in-out infinite;
}
#loginSubmitBtn:disabled{ background:transparent;border:1.5px dashed #7C89AC;color:#3F4A6A;box-shadow:none;opacity:1;cursor:default;animation:none; }
#loginSubmitBtn:disabled::before{ display:none; }
#loginSubmitBtn:hover:not(:disabled){ transform:translateY(-1px);box-shadow:0 5px 0 #0B1533; }
#loginSubmitBtn:hover:not(:disabled) .arr{ transform:translateX(4px); }
#loginSubmitBtn:active:not(:disabled){ transform:translateY(3px);box-shadow:0 1px 0 #0B1533; }
.login-btn.ghost{
  background:#F8FAFF;border:1.5px solid #C2CBE2;color:#0B1533;
}
.login-btn.ghost:hover{ border-color:#0B1533;background:#FFFFFF;transform:translateY(-1px); }
.login-btn.ghost:active{ transform:translateY(1px); }
@media (max-width:1180px){
  .login-hero{ flex-basis:48%;padding:40px 32px 32px; }
  .login-hero-stats{ gap:16px 28px; }
}
@media (max-width:960px){
  .login-screen{
    display:flex;flex-direction:column;
    min-height:100vh;min-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;
    background:
      radial-gradient(1px 1px at 12% 9%, rgba(234,240,255,.8) 50%, transparent 52%),
      radial-gradient(1px 1px at 31% 4%, rgba(234,240,255,.8) 50%, transparent 52%),
      radial-gradient(1px 1px at 52% 11%, rgba(234,240,255,.8) 50%, transparent 52%),
      radial-gradient(1px 1px at 74% 6%, rgba(234,240,255,.8) 50%, transparent 52%),
      radial-gradient(1px 1px at 90% 13%, rgba(234,240,255,.8) 50%, transparent 52%),
      radial-gradient(1px 1px at 22% 17%, rgba(234,240,255,.8) 50%, transparent 52%),
      radial-gradient(1px 1px at 63% 19%, rgba(234,240,255,.8) 50%, transparent 52%),
      radial-gradient(1px 1px at 84% 24%, rgba(234,240,255,.8) 50%, transparent 52%),
      radial-gradient(1px 1px at 6% 26%, rgba(234,240,255,.8) 50%, transparent 52%),
      radial-gradient(120% 60% at 12% 0%, color-mix(in srgb, var(--login-accent) 34%, transparent), transparent 60%),
      #060B1C;
  }
  .login-hero{ display:contents; }
  .login-scene{ position:absolute;top:auto;left:50%;width:min(100%,600px);margin-left:calc(min(100%,600px) / -2);height:auto;aspect-ratio:736/900;bottom:0;opacity:.35;z-index:0;pointer-events:none; }
  .login-hero-brand{ order:1;flex:none;position:relative;z-index:1;margin:24px 24px 0; }
  .login-hero-mid{ display:none; }
  .login-hero-foot{ order:3;flex:none;position:relative;z-index:1;margin:0 24px 24px;padding-top:16px;gap:16px; }
  .login-hero-stats{ flex-wrap:nowrap;justify-content:space-between;width:100%;gap:10px; }
  .login-hero-stat{ min-width:0; }
  .login-hero-stat.right{ margin-left:0; }
  .login-hero-stat b{ font-size:22px; }
  .login-hero-stat span{ white-space:nowrap; }
  .login-panel{ order:2;flex:none;display:block;position:relative;z-index:1;margin:16px 0 0;padding:0 24px;background:transparent;color:#EAF0FF; }
  .login-panel::before{ display:none; }
  .login-card{ width:100%; }
  .login-title{ font-size:30px !important;margin-top:14px !important;color:#EAF0FF; }
  .login-sub{ margin-top:6px !important;color:rgba(234,240,255,.72); }
  .login-rail{ margin-top:20px; }
  .login-rail-track{ background:repeating-linear-gradient(90deg, rgba(234,240,255,.35) 0 8px, transparent 8px 16px); }
  .login-float{ margin-bottom:10px; }
  .login-float input{ height:56px;padding:23px 52px 5px 16px;background:rgba(234,240,255,.06);border-color:rgba(234,240,255,.22);color:#EAF0FF; }
  .login-float:hover input{ border-color:rgba(234,240,255,.45); }
  .login-float input:focus{ border-color:#EAF0FF; }
  .login-float label{ top:19px;color:rgba(234,240,255,.66); }
  .login-float input:focus + label,.login-float input:not(:placeholder-shown) + label{ transform:translateY(-11px) scale(.86);color:#EAF0FF; }
  .pw-toggle{ color:rgba(234,240,255,.66); }
  .pw-toggle:hover{ background:rgba(234,240,255,.1);color:#EAF0FF; }
  .login-row-between{ margin-top:6px !important; }
  .login-switch{ color:#EAF0FF;min-height:40px !important; }
  .switch-track{ background:rgba(234,240,255,.14);border-color:rgba(234,240,255,.5); }
  .switch-knob{ background:#EAF0FF; }
  .login-switch.on .switch-track{ border-color:#EAF0FF; }
  .login-link{ color:#EAF0FF;text-decoration-color:rgba(234,240,255,.55); }
  .login-link:hover{ text-decoration-color:#EAF0FF; }
  .login-btn{ height:52px;margin-top:14px; }
  #loginSubmitBtn{ border-color:transparent;box-shadow:0 4px 0 rgba(0,0,0,.5); }
  #loginSubmitBtn:hover:not(:disabled){ box-shadow:0 5px 0 rgba(0,0,0,.5); }
  #loginSubmitBtn:active:not(:disabled){ box-shadow:0 1px 0 rgba(0,0,0,.5); }
  #loginSubmitBtn:disabled{ border-color:rgba(234,240,255,.4); }
  #loginSubmitBtn:disabled .lbl{ color:rgba(234,240,255,.82); }
  .login-or{ margin-top:16px !important;color:rgba(234,240,255,.66); }
  .login-or span{ background:rgba(234,240,255,.2); }
  .login-btn.ghost{ height:52px;margin-top:14px !important;background:rgba(234,240,255,.06);border-color:rgba(234,240,255,.22);color:#EAF0FF; }
  .login-btn.ghost:hover{ background:rgba(234,240,255,.12);border-color:#EAF0FF; }
  .login-foot-note{ margin-top:16px !important;font-size:13px !important;line-height:1.4 !important;color:rgba(234,240,255,.72); }
  .login-foot-note a{ color:#EAF0FF;text-decoration-color:rgba(234,240,255,.55); }
  .login-status span{ color:rgba(234,240,255,.66); }
  #loginError{ color:#ff8a8a !important; }
}
.login-spinner{
  display:inline-block; width:14px; height:14px; border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff; border-radius:50%; animation:loginWheelSpin .7s linear infinite; vertical-align:-2px; margin-right:7px;
}
@media (prefers-reduced-motion:reduce){
  .login-screen *,.login-screen *::before,.login-screen *::after{ animation:none !important;transition:none !important; }
}
.row-new{ animation: rowNewIn 2.2s ease-out; }
.row-new td{ animation: rowNewFlash 2.2s ease-out; }
@keyframes rowNewIn{
  0%{ opacity:0; transform:translateY(-10px); }
  15%{ opacity:1; transform:translateY(0); }
  100%{ opacity:1; transform:translateY(0); }
}
@keyframes rowNewFlash{
  0%{ background:rgba(34,197,94,.28); }
  70%{ background:rgba(34,197,94,.14); }
  100%{ background:transparent; }
}

/* ---------- SHIPMENTS PAGE (redesign) ---------- */
.ship-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11.2px;margin-bottom:16.8px;}
.ship-stat-tile{
  padding:14px 16px;border-radius:var(--radius-md);background:linear-gradient(180deg,var(--surface) 0%,var(--surface2) 100%);
  box-shadow:var(--shadow-sm);
}
.ship-stat-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.ship-stat-value{font-family:var(--font-heading);font-size:26px;font-weight:var(--font-heading-weight);margin-top:6px;letter-spacing:-.02em;color:var(--ink);}
.ship-stat-value.money{color:var(--ok);}

.ship-card{border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden;}
.ship-toolbar{display:flex;align-items:center;gap:11.2px;padding:12px 16.8px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.ship-search{
  display:flex;align-items:center;gap:8px;flex:1;min-width:240px;padding:0 11.2px;height:36px;
  border:1px solid var(--line);border-radius:var(--radius-md);background:var(--canvas);
}
.ship-search:focus-within{border-color:var(--accent);}
.ship-search i{font-size:14px;color:var(--muted);flex:none;}
.ship-search input{flex:1;min-width:0;background:transparent;border:0;padding:0;font-size:13px;height:auto;min-height:0;}
.ship-search input:hover,.ship-search input:focus-visible{border-color:transparent;}
.ship-search-clear{cursor:pointer;color:var(--muted);font-size:13px;flex:none;}
.ship-search-clear:hover{color:var(--ink);}
.ship-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--canvas);flex:none;}
.ship-tab{padding:6px 12px;border-radius:6px;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;color:var(--muted);}
.ship-tab:hover{color:var(--ink);}
.ship-tab.active{color:var(--accent-ink);background:color-mix(in srgb, var(--accent) 16%, transparent);}
.ship-shown-label{font-size:12px;color:var(--muted);white-space:nowrap;flex:none;}

.ship-grid-cols{grid-template-columns:96px minmax(0,1fr) minmax(260px,2fr) 112px 112px 120px 128px;}
.ship-head{
  display:grid;align-items:center;gap:14px;padding:9px 16.8px;
  border-bottom:1px solid var(--line);background:var(--surface2);
}
.ship-head-col{font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;user-select:none;white-space:nowrap;color:var(--muted);}
.ship-head-col:hover{color:var(--ink);}
.ship-head-col.sorted{color:var(--accent-ink);}
.ship-head-col.right{text-align:right;}
.ship-head-col i{font-size:11px;margin-left:4px;vertical-align:-1px;}

.ship-row{
  display:grid;align-items:center;gap:14px;padding:11px 16.8px;cursor:pointer;
  background-image:linear-gradient(to right, transparent, var(--line) 48px, var(--line) calc(100% - 48px), transparent);
  background-repeat:no-repeat;background-position:bottom;background-size:100% 1px;
}
.ship-row:hover{background-color:color-mix(in srgb, var(--accent) 6%, transparent);}
.ship-row.shipment-linked-row{background-color:color-mix(in srgb, var(--accent) 6%, transparent);box-shadow:inset 3px 0 0 var(--accent);}
.ship-load-cell{display:flex;align-items:center;gap:7px;min-width:0;font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--ink);}
.ship-load-cell i{font-size:13px;flex:none;}
.ship-customer-cell{min-width:0;}
.ship-customer-name{font-size:13.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ship-customer-sub{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ship-route-cell{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;color:color-mix(in srgb, var(--ink) 88%, transparent);}
.ship-route-cell span.city{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ship-route-line{flex:0 1 12px;height:1px;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 15%, transparent));}
.ship-route-cell i{font-size:11px;color:var(--accent);flex:none;}
.ship-amount-cell{text-align:right;font-size:14px;font-weight:700;color:var(--ok);letter-spacing:-.01em;}
.ship-entered-cell{font-size:12.5px;color:color-mix(in srgb, var(--ink) 80%, transparent);}
.ship-entered-sub{font-size:11px;color:var(--muted);margin-top:2px;}
.ship-driver-cell{display:flex;justify-content:flex-end;}
.ship-assign-pill{
  display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;
  border:1px dashed color-mix(in srgb, #e0a33a 55%, transparent);color:#e0a33a;font-size:11.5px;white-space:nowrap;background:transparent;cursor:pointer;
}
.ship-assign-pill:hover{background:rgba(224,163,58,.12);}
.ship-driver-pill{
  display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 4px;border-radius:999px;
  background:color-mix(in srgb, var(--accent) 14%, transparent);font-size:11.5px;white-space:nowrap;color:var(--ink);
  border:none;cursor:pointer;
}
.ship-driver-pill .av{width:20px;height:20px;border-radius:999px;background:var(--color-accent-800);color:var(--color-accent-200);display:grid;place-items:center;font-size:9.5px;font-weight:600;flex:none;}

.ship-footer{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 16.8px;
  border-top:1px solid var(--line);background:var(--surface2);font-size:12px;color:var(--muted);flex-wrap:wrap;
}
.ship-footer-legend{display:flex;align-items:center;gap:6px;}
.ship-footer-legend .dot{width:7px;height:7px;border-radius:999px;background:#e0a33a;}
.ship-footer-legend .dot.assigned{background:var(--accent);margin-left:12px;}
.ship-empty{padding:56px 20px;text-align:center;color:var(--muted);font-size:13px;}
.ship-empty i{display:block;font-size:26px;margin-bottom:10px;color:color-mix(in srgb, var(--ink) 30%, transparent);}

@media (max-width:1100px){
  .ship-grid-cols{grid-template-columns:80px minmax(0,1fr) minmax(180px,1.4fr) 85px minmax(120px,auto);}
  .ship-head-col.hide-narrow,.ship-cell.hide-narrow{display:none;}
}

/* ---------- PLANNING BOARD (redesign) ---------- */
.jb-mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
.board-summary{display:flex;align-items:center;gap:18px;padding-right:4px;}
.board-summary-item{display:flex;flex-direction:column;gap:2px;}
.board-summary-label{font-size:9.5px;font-weight:700;letter-spacing:.12em;color:var(--muted);}
.board-summary-value{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:16px;font-weight:600;color:var(--ink);}
.board-summary-value.money{color:var(--ok);}
.board-summary-divider{width:1px;height:26px;background:var(--line);}

.sheet-wrap{max-height:80vh;}
.sheet td.col-truck,.sheet td.col-trailer,.sheet td.col-phone,.sheet td.col-metric{font-family:'JetBrains Mono',ui-monospace,monospace;}
.sheet thead th{position:sticky;top:0;z-index:4;}
.sheet thead th.col-driver{position:sticky;left:0;top:0;z-index:6;}
.sheet td.col-driver{position:sticky;left:0;z-index:3;box-shadow:1px 0 0 var(--line);background:var(--surface2);}
.sheet tr:hover td.col-driver{background:#1c1f2e;}

.sheet-day-head{display:flex;align-items:baseline;gap:6px;}
.sheet-day-head .d-date{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;color:var(--muted);font-weight:500;text-transform:none;letter-spacing:0;}

.rating-badge{position:relative;flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:14px;line-height:1;border:1px solid transparent;}
.rating-badge select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;min-height:0;}
.rating-badge.perfect{background:color-mix(in srgb, var(--ok) 16%, transparent);border-color:color-mix(in srgb, var(--ok) 42%, transparent);}
.rating-badge.good{background:color-mix(in srgb, #c9a227 16%, transparent);border-color:color-mix(in srgb, #c9a227 42%, transparent);}
.rating-badge.bad{background:color-mix(in srgb, var(--danger) 16%, transparent);border-color:color-mix(in srgb, var(--danger) 42%, transparent);}

.copy-driver-btn{
  display:inline-flex;align-items:center;gap:4px;height:19px;padding:0 6px;border:1px solid var(--line);border-radius:5px;
  background:transparent;color:var(--muted);font-family:var(--font-body);font-size:9px;font-weight:700;letter-spacing:.1em;cursor:pointer;
}
.copy-driver-btn:hover{border-color:var(--accent);color:var(--accent-ink);background:color-mix(in srgb, var(--accent) 8%, transparent);}

.day-load{background:var(--surface);border-radius:7px;box-shadow:var(--shadow-sm);padding:7px 9px;font-size:11.5px;margin-bottom:4px;cursor:pointer;flex:1 1 185px;min-width:185px;max-width:100%;transition:background .12s ease;}
.day-load:hover{background:color-mix(in srgb, var(--accent) 8%, var(--surface));}
.day-load-meta{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;}
.day-load-meta .dot{flex:none;width:3px;height:3px;border-radius:999px;background:var(--muted);}
.day-load-meta .broker{overflow:hidden;text-overflow:ellipsis;}
.day-load-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px;}
.day-tag{font-size:9px;font-weight:700;letter-spacing:.1em;padding:2px 6px;border-radius:4px;}
.day-partial{margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:5px 7px;padding:4px 7px 4px 5px;border-radius:7px;background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);}
.day-partial-badge{flex:none;display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:5px;background:var(--accent);color:#fff;font-size:8.5px;font-weight:700;letter-spacing:.1em;}
.day-partial-label{min-width:0;font-size:10px;color:var(--accent-ink);overflow-wrap:anywhere;font-family:'JetBrains Mono',ui-monospace,monospace;}
.day-note-banner{margin-top:5px;padding:4px 6px;background:color-mix(in srgb, var(--danger) 12%, transparent);border-left:2px solid var(--danger);border-radius:4px;font-size:10.5px;color:#f3a9a9;}

.dispatcher-group-head .bar{width:3px;height:15px;border-radius:2px;background:var(--accent);flex:none;}
.dispatcher-group-head .kicker{font-size:9.5px;font-weight:700;letter-spacing:.14em;color:var(--muted);}

.board-rating-legend{display:flex;align-items:center;gap:12px;padding-right:4px;}
.board-rating-legend span{display:flex;align-items:center;gap:5px;}

/* ---------- DRIVERS PAGE (redesign) ---------- */
.drv-header{display:flex;align-items:flex-end;gap:16.8px;flex-wrap:wrap;padding:11.2px 0 16.8px;}
.drv-kicker{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:6px;}
.drv-header h1{font-size:27px;margin:0;font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.02em;color:var(--ink);}
.drv-header p{margin:6px 0 0;font-size:12.5px;color:var(--muted);max-width:46ch;}
.drv-header-actions{display:flex;gap:8px;flex-wrap:wrap;}

.drv-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--line);border-radius:var(--radius-md);overflow:hidden;margin-bottom:16.8px;box-shadow:var(--shadow-sm);}
.drv-stat-tile{background:var(--surface);padding:14px 16px;display:flex;flex-direction:column;gap:4px;}
.drv-stat-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.drv-stat-value{font-family:var(--font-heading);font-size:26px;line-height:1.1;letter-spacing:-.02em;color:var(--ink);}
.drv-stat-note{font-size:11px;color:var(--muted);}

.drv-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.drv-search{position:relative;flex:1;min-width:200px;max-width:300px;}
.drv-search i{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;pointer-events:none;}
.drv-search input{padding-left:30px;}
.drv-chipgroup{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.drv-chipgroup-label{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:2px;}
.drv-chip{cursor:pointer;font-family:inherit;padding:6px 12px;border-radius:var(--radius-md);font-size:12px;background:transparent;color:var(--muted);border:1px solid var(--line);}
.drv-chip:hover{color:var(--ink);}
.drv-chip.on{background:var(--color-accent-800);color:var(--color-accent-100);border-color:var(--color-accent-600);}
.drv-sort{width:auto;font-size:12.5px;min-width:0;}
.drv-result-label{font-size:11.5px;color:var(--muted);margin-bottom:12px;}

.drv-roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));grid-auto-flow:row dense;gap:12px;align-items:stretch;}
.drv-team-wrap{display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:hidden;}
.drv-team-wrap.teamed{box-shadow:0 0 0 1px var(--color-accent-600);background:var(--color-accent-900);}
.drv-team-band{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:11.5px;color:var(--accent-ink);}
.drv-team-band .line{width:26px;height:1px;background:var(--color-accent-700);flex:none;}
.drv-team-band .meta{color:var(--muted);font-family:ui-monospace,monospace;font-size:10.5px;}
.drv-team-members{flex:1;display:grid;gap:1px;background:var(--line);}

.drv-card{
  background:var(--surface);padding:16px;display:flex;flex-direction:column;gap:11px;position:relative;overflow:hidden;
  box-shadow:var(--shadow-sm);cursor:pointer;height:100%;
}
.drv-card:hover{box-shadow:inset 0 0 0 1px var(--accent);}
.drv-card.terminated{opacity:.62;}
.drv-card .edge{position:absolute;inset:0 auto 0 0;width:2px;}
.drv-card-top{display:flex;align-items:flex-start;gap:10px;}
.drv-avatar{width:38px;height:38px;flex:none;border-radius:var(--radius-md);background:var(--color-accent-900);color:var(--color-accent-300);display:grid;place-items:center;font-family:var(--font-heading);font-size:13px;letter-spacing:.04em;}
.drv-card-name{font-family:var(--font-heading);font-size:15.5px;line-height:1.25;letter-spacing:-.01em;color:var(--ink);}
.drv-card-meta{font-size:11.5px;color:var(--muted);margin-top:2px;}
.drv-card-status{display:flex;align-items:center;gap:6px;font-size:10.5px;white-space:nowrap;flex:none;}
.drv-card-status .dot{width:7px;height:7px;border-radius:50%;flex:none;}
.drv-rig-row{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:var(--radius-sm);background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px var(--line);font-family:ui-monospace,monospace;font-size:12.5px;color:var(--ink);}
.drv-rig-row i{color:var(--accent-ink);font-size:15px;flex:none;}
.drv-rig-dash{flex:1;height:1px;background:repeating-linear-gradient(to right, var(--color-neutral-700) 0 4px, transparent 4px 8px);}
.drv-alert{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:var(--radius-sm);font-size:10.5px;letter-spacing:.05em;}
.drv-alert i{font-size:14px;flex:none;}
.drv-alert .date{font-family:ui-monospace,monospace;letter-spacing:0;opacity:.75;margin-left:auto;flex:none;}
.drv-team-note{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--accent-ink);min-width:0;}
.drv-team-note .partner{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.drv-card-tags{display:flex;gap:5px;flex-wrap:wrap;}
.drv-card-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding-top:10px;margin-top:auto;border-top:1px solid var(--line);}
.drv-card-footer-label{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.drv-card-footer-value{font-size:12.5px;margin-top:3px;color:var(--ink);}
.drv-card-open{align-self:flex-end;font-size:11.5px;padding:3px 8px;margin-top:-6px;}

.drv-compact{border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden;}
.drv-compact-head{display:grid;grid-template-columns:1.5fr 1fr 1.2fr .9fr .9fr 68px;gap:12px;padding:10px 16px;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);}
.drv-compact-team-band{display:flex;align-items:center;gap:7px;padding:6px 16px 0 22px;font-size:10.5px;color:var(--accent-ink);}
.drv-compact-team-band .line{width:20px;height:1px;background:var(--color-accent-700);flex:none;}
.drv-compact-row{display:grid;grid-template-columns:1.5fr 1fr 1.2fr .9fr .9fr 68px;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);cursor:pointer;}
.drv-compact-row:hover{background:color-mix(in srgb, var(--accent) 6%, transparent);}
.drv-compact-row.teamed-row{background:color-mix(in srgb, var(--accent) 5%, transparent);}
.drv-compact-name-wrap{display:flex;align-items:center;gap:8px;min-width:0;}
.drv-compact-name-wrap .dot{width:7px;height:7px;flex:none;border-radius:50%;}
.drv-compact-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
.drv-compact-sub{font-size:10.5px;color:var(--muted);}
.drv-compact-rig{font-family:ui-monospace,monospace;font-size:12px;color:var(--ink);}
.drv-compact-alert{font-size:10px;letter-spacing:.05em;margin-top:2px;display:flex;align-items:center;gap:4px;white-space:nowrap;}

.drv-empty{padding:56px 20px;text-align:center;color:var(--muted);font-size:13px;}

.drv-team-candidate{
  display:flex;align-items:center;gap:10px;text-align:left;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;
  padding:9px 12px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--line);width:100%;margin-bottom:6px;
}
.drv-team-candidate:hover{border-color:var(--color-accent-600);}
.drv-team-candidate.picked{background:var(--blue-soft);border-color:var(--accent);}
.drv-team-candidate .mark{font-size:16px;color:var(--muted);flex:none;}
.drv-team-candidate.picked .mark{color:var(--accent);}
.drv-team-candidate .truck{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--muted);flex:none;}
.drv-team-candidate .hint{font-size:10.5px;color:var(--muted);flex:none;}

.drv-panel-backdrop{position:fixed;inset:0;background:rgba(3,6,12,.6);display:flex;justify-content:flex-end;z-index:1250;}
.drv-panel{width:min(420px,100%);height:100%;background:var(--surface);box-shadow:var(--shadow-lg);padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;animation:drvPanelIn .18s ease;}
@keyframes drvPanelIn{ from{transform:translateX(24px);opacity:0;} to{transform:translateX(0);opacity:1;} }
.drv-panel-head{display:flex;align-items:flex-start;gap:12px;}
.drv-panel-avatar{width:48px;height:48px;flex:none;border-radius:var(--radius-md);background:var(--color-accent-900);color:var(--color-accent-300);display:grid;place-items:center;font-family:var(--font-heading);font-size:16px;}
.drv-panel-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.drv-panel-field-label{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.drv-panel-field-value{font-size:13px;margin-top:3px;color:var(--ink);}


/* ---------- PLANNING BOARD (TMS PLANNING BOARD design) ---------- */
.pb{display:flex;flex-direction:column;gap:16px;}
.pb-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.pb-wk{display:flex;align-items:center;gap:6px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);}
.pb-arrow,.pb-ico{
  width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;
  cursor:pointer;font-size:16px;padding:0;transition:border-color .2s,color .2s,transform .2s;
}
.pb-arrow{color:var(--ink);}
.pb-arrow:hover{border-color:var(--accent);transform:translateY(-1px);}
.pb-ico{color:var(--muted);}
.pb-ico:hover{border-color:var(--accent);color:var(--accent);}
.pb-wl{min-width:150px;padding:0 6px;text-align:center;font-family:var(--font-heading);font-size:16px;font-weight:700;letter-spacing:-.015em;white-space:nowrap;}
.pb-tw{
  height:48px;padding:0 16px;border-radius:14px;border:1px solid var(--accent);background:var(--blue-soft);color:var(--accent);
  font:inherit;font-weight:600;display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s;
}
.pb-tw i{font-size:16px;display:flex;}
.pb-tw:hover{background:var(--accent);color:#fff;}
.pb-tw:disabled{opacity:.55;cursor:default;background:var(--blue-soft);color:var(--accent);}
.pb-arrow:focus-visible,.pb-ico:focus-visible,.pb-tw:focus-visible,.pb-dh:focus-visible,.pb-slot:focus-visible,.pb-cp:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px;}
.pb-bs{display:flex;align-items:stretch;margin-left:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);}
.pb-bs>div{padding:8px 20px;min-width:96px;}
.pb-bs>div+div{border-left:1px solid var(--line);}
.pb-bs .k{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.pb-bs .v{margin-top:3px;font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.1;}
.pb .pb-num{font-variant-numeric:tabular-nums;}
.pb .up{color:var(--up);}

.pb-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;}
.pb-wrap{overflow:auto;max-height:calc(100vh - 200px);min-height:320px;}
.pb-grid{display:grid;--pb-w1:280px;--pb-w2:76px;grid-template-columns:var(--pb-w1) var(--pb-w2) var(--pb-w2) repeat(7,minmax(230px,1fr)) 92px 80px 80px;min-width:2294px;}
.pb-cell{min-width:0;border-bottom:1px solid var(--line);}

.pb-hd{position:sticky;top:0;z-index:4;height:44px;padding:0 12px;display:flex;align-items:center;gap:8px;background:var(--soft);}
.pb-hd.first{left:0;z-index:6;}
.pb-hd.stat{justify-content:center;padding:0 4px;border-left:1px solid var(--line);}
.pb-hd .hl{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;}
.pb-hd .hdate{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);opacity:.85;}
.pb-hd.today{background:var(--blue-soft);}
.pb-hd.today .hl,.pb-hd.today .hdate{color:var(--accent);opacity:1;}

.pb-dsp{grid-column:1 / -1;background:var(--blue-soft);height:42px;display:flex;align-items:center;padding:0 12px;}
.pb-dh{position:sticky;left:12px;display:flex;align-items:center;gap:10px;border:0;background:transparent;cursor:pointer;padding:0;height:100%;color:var(--ink);text-align:left;font:inherit;}
.pb-chev{flex:none;color:var(--accent);font-size:16px;display:flex;transition:transform .25s;}
.pb-chev.shut{transform:rotate(-90deg);}
.pb-dl{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.pb-dn{font-family:var(--font-heading);font-weight:700;font-size:15px;letter-spacing:-.01em;display:flex;align-items:center;gap:6px;}
.pb-ext{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;padding:2px 9px;border-radius:999px;background:var(--accent);color:#fff;}
.pb-ext.terminated{background:var(--soft);color:var(--muted);border:1px solid var(--line);}

.pb-drv{min-height:58px;padding:6px 12px;display:flex;align-items:center;gap:10px;position:sticky;left:0;z-index:2;background:var(--surface);box-shadow:1px 0 0 var(--line);}
.pb-dav{
  position:relative;flex:none;width:34px;height:34px;border-radius:50%;background:var(--blue-soft);color:var(--accent);
  display:grid;place-items:center;font-weight:700;font-size:12px;cursor:pointer;border:0;padding:0;font-family:inherit;
  box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--up);transition:transform .15s;
}
.pb-dav.good{box-shadow:0 0 0 2px var(--surface),0 0 0 4px #D9A21B;}
.pb-dav.bad{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--danger);}
.pb-dinfo{min-width:0;flex:1;}
.pb-dname{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pb-dtag{margin-top:2px;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pb-dmeta{margin-top:2px;display:flex;flex-wrap:wrap;gap:0 8px;font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums;}
.pb-cp{
  flex:none;display:flex;align-items:center;gap:4px;height:22px;padding:0 7px;border-radius:7px;border:1px solid var(--line);
  background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;
  transition:border-color .2s,color .2s;
}
.pb-cp:hover{border-color:var(--accent);color:var(--accent);}

.pb-day{padding:6px;display:flex;border-left:1px solid var(--line);min-height:58px;}
.pb-day.today{background:color-mix(in srgb,var(--accent) 5%,transparent);}
.pb-day .day-cell-row{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:4px;}
.pb-slot{
  flex:1;width:100%;min-height:36px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--muted);
  display:grid;place-items:center;cursor:pointer;font-size:15px;padding:0;transition:border-color .2s,background .2s,color .2s;
}
.pb-slot:hover{border-style:solid;border-color:var(--accent);background:var(--blue-soft);color:var(--accent);}

.pb-day .day-load{
  flex:none;min-width:0;max-width:none;margin:0;padding:5px 8px;font-size:11.5px;cursor:pointer;
  background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--tone,var(--accent));border-radius:10px;box-shadow:none;
  overflow:hidden;transition:border-color .2s,background .2s;
}
.pb-day .day-load:hover{background:var(--soft);border-color:var(--accent);border-left-color:var(--tone,var(--accent));}
.pb-day .day-load .c{font-size:12px;line-height:1.3;}
.pb-day .day-load-meta{margin-top:1px;}
.pb-day .day-load-foot{margin-top:3px;gap:5px;flex-wrap:nowrap;min-width:0;}
.pb-day .day-ico{flex:none;font-size:12px;color:var(--muted);}
.pb-day .day-ico.warn{color:var(--danger);}
.pb-day .day-amt{margin-left:auto;font-weight:600;color:var(--ok);font-size:11px;white-space:nowrap;padding-left:2px;}
.pb-day .day-load-meta{color:var(--muted);}
.pb-day .day-partial-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;font-size:9.5px;}
.pb-day .day-tag{border-radius:5px;font-family:var(--font-mono);white-space:nowrap;flex:none;font-size:8.5px;letter-spacing:.04em;padding:2px 5px;}
.pb-day .day-note-banner{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);}
.pb-day .day-partial{flex-wrap:nowrap;gap:5px;margin-top:4px;padding:2px 6px 2px 4px;background:var(--blue-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent);}

.pb-st,.pb-sumst{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line);font-family:var(--font-mono);font-weight:700;}
.pb-tt{min-height:58px;display:flex;align-items:center;justify-content:center;padding:0 4px;border-left:1px solid var(--line);font-family:var(--font-mono);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface);}
.pb-asset-btn{width:100%;height:100%;border:0;background:transparent;font:inherit;font-family:inherit;color:inherit;cursor:pointer;border-radius:6px;}
.pb-asset-btn:hover:not(:disabled){background:var(--soft);}
.pb-asset-btn:disabled{cursor:default;}
.pb-st{min-height:58px;font-size:12.5px;background:var(--surface);}
.pb-sum{grid-column:1 / 11;height:36px;padding:0 12px;background:var(--soft);display:flex;align-items:center;}
.pb-sumin{position:sticky;left:12px;display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;}
.pb-sumin::before{content:'';width:3px;height:12px;border-radius:2px;background:var(--accent);}
.pb-sumst{height:36px;background:var(--soft);font-size:11.5px;}
.pb-emp{grid-column:1 / -1;padding:32px 16px;color:var(--muted);text-align:center;border-bottom:0;}
.pb-sum:nth-last-child(4),.pb-sumst:nth-last-child(-n+3){border-bottom:0;}

@media (max-width:1000px){.pb-bs{margin-left:0;}}
@media (max-width:640px){.pb-bs{width:100%;}.pb-bs>div{flex:1;min-width:0;padding:8px 12px;}}
.pb-dav:hover{transform:scale(1.06);}
.pb-dav:focus-visible{outline:2px solid var(--accent);outline-offset:5px;}
.pb-drv:has(.pb-rate-menu.show){z-index:20;}
.pb-rate-menu{
  display:none;position:fixed;z-index:1500;min-width:150px;padding:6px;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);
}
.pb-rate-menu.show{display:block;}
.pb-rate-menu button{
  display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;border:0;border-radius:8px;background:transparent;
  color:var(--ink);font:inherit;font-weight:500;cursor:pointer;text-align:left;
}
.pb-rate-menu button:hover{background:var(--soft);}
.pb-rate-menu button.on{font-weight:700;background:var(--blue-soft);}
.pb-rate-menu .rd{flex:none;width:14px;height:14px;border-radius:50%;background:var(--surface);border:3px solid var(--up);}
.pb-rate-menu .rd.good{border-color:#D9A21B;}
.pb-rate-menu .rd.bad{border-color:var(--danger);}
/* team rating menu: one name header per driver, each with its own Perfect/Good/Bad picker below it */
.pb-rate-menu-who{padding:8px 10px 4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.pb-asset-search{width:100%;height:32px;margin-bottom:4px;padding:0 10px;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;}
.pb-asset-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);}
.pb-asset-opts{max-height:220px;overflow-y:auto;}
.pb-asset-opt.taken{opacity:.55;cursor:not-allowed;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.pb-asset-taken{font-size:10px;color:var(--muted);font-weight:500;white-space:nowrap;}
.pb-asset-clear{width:100%;height:34px;margin-top:4px;padding:0 10px;display:flex;align-items:center;gap:8px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--danger);font-weight:600;font-size:12.5px;cursor:pointer;border-radius:0 0 11px 11px;}
.pb-asset-clear:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);}
.pb-rate-menu-who:not(:first-child){margin-top:4px;border-top:1px solid var(--line);}

/* ---------- Duplicate load dialog ---------- */
.dup-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;}
.dup-head h3{margin:0 0 2px;}
.dup-ico{flex:none;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,#D9A21B 18%,transparent);color:#8A5A00;display:grid;place-items:center;font-size:22px;}
.dup-sub{font-size:13px;color:var(--muted);}
.dup-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:12.5px;}
.dup-row{display:grid;grid-template-columns:86px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;padding:8px 12px;border-top:1px solid var(--line);}
.dup-row:first-child{border-top:0;}
.dup-row>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dup-th{background:var(--soft);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:6px 12px;}
.dup-row .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.dup-row.hit{background:color-mix(in srgb,#D9A21B 12%,transparent);font-weight:700;}
.dup-note{margin:12px 0 14px;font-size:12.5px;line-height:1.5;color:var(--muted);}
.dup-note b{color:var(--ink);}
.dup-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.attn-rev-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;}
.attn-rev-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s;}
.attn-rev-row:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--soft);}
.attn-rev-row i{flex:none;color:var(--muted);}
.attn-rev-tx{min-width:0;display:flex;flex-direction:column;gap:2px;}
.attn-rev-nm{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.attn-rev-sb{font-size:12px;color:var(--muted);}
.attn-rev-empty{padding:18px 0;text-align:center;color:var(--muted);font-size:13px;}
/* TRK / TRL stay pinned next to the driver column while the board scrolls sideways */
.pb-tt.trk,.pb-tt.trl{position:sticky;z-index:2;}
.pb-tt.trk:has(.pb-rate-menu.show),.pb-tt.trl:has(.pb-rate-menu.show){z-index:20;}
.pb-tt.trk{left:var(--pb-w1);}
.pb-tt.trl{left:calc(var(--pb-w1) + var(--pb-w2));box-shadow:1px 0 0 var(--line);}
.pb-hd.trk{left:var(--pb-w1);z-index:6;}
.pb-hd.trl{left:calc(var(--pb-w1) + var(--pb-w2));z-index:6;box-shadow:1px 0 0 var(--line);}

/* ---------- Shared page controls (Shipments / Drivers redesign) ---------- */
.pg-acts{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.pg-btn{
  height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);
  font:inherit;font-weight:600;font-size:12.5px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;
  transition:border-color .2s,background .2s,color .2s,transform .2s;
}
.pg-btn i{font-size:15px;display:flex;}
.pg-btn:hover{border-color:var(--accent);color:var(--accent);}
.pg-btn:active{transform:scale(.98);}
.pg-btn.pri{border-color:var(--accent);background:var(--accent);color:#fff;}
.pg-btn.pri:hover{filter:brightness(1.08);color:#fff;}
.pg-btn:focus-visible,.pg-seg button:focus-visible,.dr-chip:focus-visible,.dr-bx:focus-visible,.dpill:focus-visible,.asg:focus-visible,.sp-hc:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.pg-fs{display:flex;align-items:center;gap:10px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--soft);padding:0 12px;color:var(--muted);transition:border-color .2s,box-shadow .2s;}
.pg-fs:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent);}
.pg-fs>i{font-size:16px;display:flex;flex:none;}
.pg-fs input[type=search]{flex:1;min-width:0;width:auto;height:100%;min-height:0;padding:0;border:0;border-radius:0;outline:0;background:transparent;font:inherit;font-size:13px;color:var(--ink);box-shadow:none;}
.pg-seg{display:flex;gap:2px;padding:3px;background:var(--soft);border:1px solid var(--line);border-radius:11px;}
.pg-seg button{height:32px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-weight:600;font-size:12.5px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:background .2s,color .2s;}
.pg-seg button:hover{color:var(--ink);}
.pg-seg button.on{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px rgba(11,21,51,.12);}

/* ---------- SHIPMENTS ---------- */
.sp{display:flex;flex-direction:column;gap:16px;}
.sp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;}
.sp-stats>div{padding:14px 22px 16px;transition:background .25s;}
.sp-stats>div+div{border-left:1px solid var(--line);}
.sp-stats>div:hover{background:var(--blue-soft);}
.sp-stats .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.sp-stats .v{margin-top:6px;font-family:var(--font-heading);font-size:30px;font-weight:700;letter-spacing:-.025em;line-height:1;font-variant-numeric:tabular-nums;}
.sp-stats .v.up{color:var(--up);}
.sp-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;}
.sp-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.sp-cnt{font-size:11.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;}
.sp-tw{overflow-x:auto;}
.sp-tr{display:grid;grid-template-columns:96px minmax(140px,1.1fr) minmax(110px,.85fr) minmax(230px,2fr) 98px 92px 108px 132px;column-gap:12px;align-items:center;min-width:1150px;padding:0 18px;}
.sp-th{height:38px;background:var(--soft);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.sp-hc{display:inline-flex;align-items:center;gap:4px;cursor:pointer;user-select:none;white-space:nowrap;transition:color .2s;}
.sp-hc.r{justify-content:flex-end;}
.sp-hc:hover{color:var(--ink);}
.sp-hc.sorted{color:var(--accent);}
.sp-rw{min-height:56px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s;}
.sp-rw:last-child{border-bottom:0;}
.sp-rw:hover{background:var(--soft);}
.sp-rw>*{min-width:0;}
.sp-rw.shipment-linked-row{box-shadow:inset 3px 0 0 var(--accent);}
.sp-rw .ld{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.sp-rw .ld i{font-size:14px;flex:none;}
.sp-rw .cn{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sp-rw .cb{justify-self:start;display:inline-block;max-width:100%;padding:3px 9px;border-radius:7px;background:var(--soft);border:1px solid var(--line);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sp-rw .rt{display:flex;align-items:center;gap:10px;font-size:13px;}
.sp-rw .pl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sp-rw .ar{flex:none;width:22px;height:22px;border-radius:50%;background:var(--blue-soft);color:var(--accent);display:grid;place-items:center;font-size:12px;}
.sp-rw .sid{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);}
.sp-rw .am{text-align:right;font-weight:700;color:var(--up);font-variant-numeric:tabular-nums;}
.sp-rw .en{font-size:12.5px;font-variant-numeric:tabular-nums;}
.sp-rw .en .by{margin-top:1px;font-size:10.5px;color:var(--muted);}
.sp-rw .dv{display:flex;justify-content:flex-end;}
.sp-rw .asg{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 11px;border-radius:999px;border:1px dashed var(--accent);background:transparent;color:var(--accent);font:inherit;font-weight:600;font-size:11.5px;cursor:pointer;transition:background .2s,border-style .2s;}
.sp-rw .asg:hover:not(:disabled){background:var(--blue-soft);border-style:solid;}
.sp-rw .dpill{display:inline-flex;align-items:center;gap:8px;max-width:100%;height:28px;padding:0 11px 0 3px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;font-size:11.5px;cursor:pointer;transition:border-color .2s;}
.sp-rw .dpill:hover:not(:disabled){border-color:var(--accent);}
.sp-rw .dpill .av{flex:none;width:22px;height:22px;border-radius:50%;background:var(--blue-soft);color:var(--accent);display:grid;place-items:center;font-size:9.5px;font-weight:700;}
.sp-rw .dpill .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sp-rw .asg:disabled,.sp-rw .dpill:disabled{opacity:.55;cursor:default;}
.sp-empty{padding:40px 18px;text-align:center;color:var(--muted);}
.sp-empty i{display:block;font-size:26px;margin-bottom:8px;opacity:.6;}
.sp-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:11px 18px;border-top:1px solid var(--line);background:var(--soft);font-size:12px;color:var(--muted);}

/* ---------- ASSETS ---------- */
.as{display:flex;flex-direction:column;gap:16px;}
.as-th3{margin:0;margin-right:2px;font-size:15px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;display:flex;align-items:center;gap:10px;}
.as-thico{width:32px;height:32px;border-radius:10px;background:var(--blue-soft);color:var(--accent);display:grid;place-items:center;flex:none;}
.as-thico i,.as-thico .ico-trailer{display:flex;font-size:16px;}
.as-tr{display:grid;column-gap:14px;align-items:center;padding:0 18px;}
.as-tr.as-all{grid-template-columns:100px 64px minmax(170px,1.5fr) 60px 100px 92px 108px 130px minmax(160px,1.2fr);min-width:1100px;}
.as-tr.as-trk{grid-template-columns:100px minmax(190px,1.6fr) 60px 100px 92px 108px 130px minmax(160px,1.2fr);min-width:990px;}
.as-tr.as-trl{grid-template-columns:100px minmax(210px,1.6fr) 60px 100px 108px 130px minmax(160px,1.2fr);min-width:890px;}
.as-tr.sp-th{height:38px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;}
.as-tr:not(.sp-th){height:58px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s;}
.as-tr:not(.sp-th):last-child{border-bottom:0;}
.as-tr:not(.sp-th):hover{background:var(--soft);}
.as-un{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;}
.as-un i,.as-un .ico-trailer{flex:none;color:var(--muted);display:flex;}
.as-exp{font-size:15px;}
.as-exp.expired{color:var(--danger);}
.as-exp.expiring{color:#D9A21B;}
.as-kind{font-size:12px;color:var(--muted);}
.as-mm{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.as-yr{color:var(--muted);font-size:12.5px;}
.as-pl{font-size:12px;color:var(--muted);}
.as-mi{font-size:12.5px;}
.as-stat{justify-self:start;display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;}
.as-stat.active{background:var(--up-soft,#DDF6E8);color:var(--up);}
.as-stat.shop{background:rgba(217,162,27,.16);color:#8A5A00;}
.as-stat.avail{background:var(--blue-soft);color:var(--accent);}
.as-stat.linked{background:var(--soft);color:var(--muted);}
.as-lnk{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.as-lnk.dim{color:var(--muted);font-style:italic;font-weight:400;}
.as-dav{flex:none;width:24px;height:24px;border-radius:8px;background:var(--ink);color:var(--surface);display:grid;place-items:center;font-weight:700;font-size:9.5px;}
.as-lic{flex:none;width:22px;height:22px;border-radius:7px;background:var(--soft);color:var(--muted);display:inline-grid;place-items:center;font-size:11px;}

.as-stat-dot{width:6px;height:6px;border-radius:999px;background:currentColor;flex:none;}
.as-noplate{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;background:rgba(217,162,27,.16);color:#8A5A00;font-size:11.5px;font-weight:700;white-space:nowrap;}
.as-due{display:flex;flex-direction:column;gap:3px;align-items:flex-start;}
.as-due-main{font-size:12.5px;font-weight:700;}
.as-due-tag{display:inline-flex;padding:2px 7px;border-radius:6px;font-size:10.5px;font-weight:800;white-space:nowrap;}
.as-due-tag.red{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);}
.as-due-tag.amber{background:rgba(217,162,27,.16);color:#8A5A00;}
.as-due-tag.gray{background:var(--soft);color:var(--muted);}
.as-asn{display:flex;align-items:center;gap:9px;min-width:0;}
.as-asn-av{flex:none;width:30px;height:30px;border-radius:999px;background:var(--ink);color:var(--surface);font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.as-asn-tx{min-width:0;}
.as-asn-nm{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.as-asn-sb{font-size:11.5px;color:var(--muted);}
.as-asn-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:8px;background:var(--soft);font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap;}
.as-asn-empty{font-size:12.5px;font-weight:600;color:var(--muted);font-style:italic;}

.as-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.as-stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;align-items:center;gap:16px;}
.as-stat-ic{flex:none;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;}
.as-stat-tx{min-width:0;}
.as-stat-k{font-size:13px;font-weight:600;color:var(--muted);}
.as-stat-v{margin-top:2px;font-family:var(--font-heading);font-size:26px;font-weight:700;line-height:1.15;letter-spacing:-.02em;}
.as-stat-s{margin-top:2px;font-size:12px;color:var(--muted);}

.as-tab-cnt{min-width:20px;height:20px;padding:0 6px;margin-left:8px;border-radius:999px;background:var(--blue-soft);color:var(--accent);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;}
.pg-seg button:not(.on) .as-tab-cnt{background:var(--soft);color:var(--muted);}

.as-sort-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.as-sort-lbl{font-size:13px;font-weight:600;color:var(--muted);margin-right:2px;}
.as-sort-pill{height:34px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;}
.as-sort-pill:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));}
.as-sort-pill.on{background:var(--accent);color:#fff;border-color:var(--accent);}
.as-sort-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger);font-size:10.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;}
.as-sort-pill.on .as-sort-badge{background:#fff;color:var(--danger);}

/* ---------- CUSTOMERS ---------- */
.cust{display:flex;flex-direction:column;gap:16px;}
.cust-tr{display:grid;grid-template-columns:120px minmax(140px,1.1fr) minmax(160px,1.3fr) minmax(150px,1.1fr) 130px 90px 100px 90px;column-gap:14px;align-items:center;padding:0 18px;min-width:1120px;}
.cust-tr.sp-th{height:38px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;}
.cust-tr.sp-th .r{text-align:right;}
.cust-tr.cust-rw{height:58px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s;}
.cust-tr.cust-rw:last-child{border-bottom:0;}
.cust-tr.cust-rw:hover{background:var(--soft);}
.cust-id{color:var(--muted);font-size:12.5px;}
.cust-nm{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cust-dim{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cust-shp{font-size:13px;text-align:right;}
.cust-ebtn{height:32px;padding:0 14px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:12px;cursor:pointer;white-space:nowrap;justify-self:end;transition:border-color .2s,color .2s;}
.cust-ebtn:hover{border-color:var(--accent);color:var(--accent);}

/* ---------- DRIVERS ---------- */
.dr{display:flex;flex-direction:column;gap:16px;}
.dr-bn{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:12.5px;color:var(--muted);}
.dr-bn>i{flex:none;font-size:15px;color:var(--accent);display:flex;}
.dr-bn b{color:var(--accent);font-weight:600;}
.vo-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:12.5px;color:var(--muted);}
.vo-banner>i{flex:none;font-size:15px;color:var(--accent);display:flex;}
.vo-lock{pointer-events:none;opacity:.68;user-select:none;}
.dr-hdr{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.dr-hdr .eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.dr-hdr h2{margin:4px 0 6px;font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.05;}
.dr-hdr p{margin:0;max-width:440px;color:var(--muted);font-size:13px;}
.dr-hb{display:flex;gap:8px;flex-wrap:wrap;}
.dr-s4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;}
.dr-s4>div{padding:14px 20px;transition:background .25s;}
.dr-s4>div+div{border-left:1px solid var(--line);}
.dr-s4>div:hover{background:var(--blue-soft);}
.dr-s4 .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.dr-s4 .v{margin-top:6px;font-family:var(--font-heading);font-size:28px;font-weight:700;letter-spacing:-.025em;line-height:1;font-variant-numeric:tabular-nums;}
.dr-s4 .v small{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--muted);letter-spacing:0;margin-left:4px;}
.dr-s4 .s{margin-top:6px;font-size:11.5px;color:var(--muted);}
.dr-fb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);}
.dr-fb .pg-fs{height:36px;}
.dr-fb .pg-fs input[type=search]{font-size:12.5px;}
.dr-fb .pg-seg button{height:28px;padding:0 11px;font-size:12px;border-radius:7px;}
.dr-fl{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.dr-fl .lb{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:2px;}
.dr-chip{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-weight:600;font-size:12px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s;}
.dr-chip:hover{border-color:var(--accent);color:var(--accent);}
.dr-chip.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.dr-vd{width:1px;height:22px;background:var(--line);}
.dr-rgt{margin-left:auto;display:flex;align-items:center;gap:8px;}
.dr-sel{width:auto;height:36px;min-height:0;border-radius:10px;border:1px solid var(--line);background-color:var(--surface);color:var(--ink);font:inherit;font-size:12.5px;padding:0 30px 0 10px;}
.dr-sh{font-size:12px;color:var(--muted);margin-top:-4px;}
.dr-list{display:flex;flex-direction:column;gap:16px;}
.dr-team{background:var(--blue-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:18px;padding-bottom:14px;}
.dr-tmh{display:flex;align-items:center;gap:10px;padding:11px 18px;font-family:var(--font-mono);font-size:11px;color:var(--muted);}
.dr-tmh b{color:var(--accent);font-weight:700;font-size:12px;display:flex;align-items:center;gap:8px;}
.dr-tmh .ln{flex:0 0 36px;height:1px;background:color-mix(in srgb,var(--accent) 45%,transparent);}
.dr-unpair{height:26px;padding:0 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:transparent;color:var(--accent);font:inherit;font-size:11px;font-weight:600;cursor:pointer;}
.dr-unpair:hover{background:var(--surface);}
.dr-tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 14px;}
.dr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;}
.dr-card{display:flex;flex-direction:column;gap:10px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow-card);cursor:pointer;transition:transform .25s,border-color .25s;}
.dr-card:hover{transform:translateY(-2px);border-color:var(--accent);}
.dr-card.terminated{opacity:.72;}
.dr-h{display:flex;align-items:center;gap:11px;}
.dr-av{flex:none;width:42px;height:42px;border-radius:13px;background:#0B1533;color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:.02em;}
.dr-tx{min-width:0;flex:1;}
.dr-n{font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dr-ph{margin-top:1px;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;}
.dr-st{flex:none;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;background:rgba(20,150,90,.10);color:var(--up);font-size:11px;font-weight:600;}
.dr-st i{width:6px;height:6px;border-radius:50%;background:currentColor;}
.dr-st.off{background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted);}
.dr-rig{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:var(--soft);font-size:11px;}
.dr-rig .rc{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-weight:500;color:var(--ink);}
.dr-rig .rc i{color:var(--accent);font-size:14px;display:flex;}
.dr-rig .rl{flex:1;height:0;border-top:1.5px dashed color-mix(in srgb,var(--accent) 45%,transparent);}
.dr-tm{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted);flex-wrap:wrap;}
.dr-tm .tp{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);font-size:11px;font-weight:600;}
.dr-tgs{display:flex;gap:6px;flex-wrap:wrap;}
.dr-tg{padding:3px 9px;border-radius:6px;background:var(--blue-soft);color:var(--accent);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;font-weight:600;}
.dr-none{font-size:11px;color:var(--muted);padding:3px 0;}
.dr-al{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;background:rgba(220,60,60,.09);color:var(--danger);font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;}
.dr-al.warn{background:rgba(217,162,27,.14);color:#8A5A00;}
.dr-al i{flex:none;font-size:13px;display:flex;}
.dr-al .at{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dr-al .ad{flex:none;opacity:.75;}
.dr-mt{margin-top:auto;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px;padding-top:12px;border-top:1px solid var(--line);}
.dr-mt .ml{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.dr-mt .mv{margin-top:3px;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dr-mt .ms{margin-top:1px;font-size:10.5px;color:var(--muted);}
.dr-ac{display:flex;justify-content:space-between;gap:8px;}
.dr-bx{height:30px;padding:0 14px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-weight:600;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;text-decoration:none;transition:background .2s,border-color .2s;}
.dr-bx:hover{background:var(--soft);border-color:var(--ink);}
.dr-bx.term{border-color:color-mix(in srgb,var(--danger) 55%,transparent);color:var(--danger);}
.dr-bx.term:hover{background:rgba(220,60,60,.09);border-color:var(--danger);}
.dr-als{display:flex;flex-direction:column;gap:10px;}
/* compact view: one aligned row per driver */
.dr-compact .dr-grid,.dr-compact .dr-tgrid{grid-template-columns:minmax(0,1fr);gap:8px;}
.dr-compact .dr-card{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 16px;}
.dr-compact .dr-card:hover{transform:none;}
.dr-compact .dr-h{flex:0 0 340px;max-width:100%;}
.dr-compact .dr-rig{flex:0 0 210px;}
.dr-compact .dr-rig .rl{display:none;}
.dr-compact .dr-rig .rc:last-child{margin-left:auto;}
.dr-compact .dr-tgs{flex:0 0 190px;}
.dr-compact .dr-als{order:5;flex:1 1 240px;min-width:0;flex-direction:row;flex-wrap:wrap;gap:6px;}
.dr-compact .dr-al{flex:0 1 auto;max-width:100%;}
.dr-compact .dr-mt{order:4;margin:0;padding:0;border-top:0;flex:0 0 130px;display:block;}
.dr-compact .dr-mt>div:nth-child(n+2){display:none;}
.dr-compact .dr-tm,.dr-compact .dr-ac{display:none;}
.dr-empty{padding:40px 18px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:14px;}

@media (max-width:1200px){
  .dr-s4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dr-s4>div:nth-child(3){border-left:0;}
  .dr-s4>div:nth-child(n+3){border-top:1px solid var(--line);}
}
@media (max-width:900px){.dr-tgrid{grid-template-columns:minmax(0,1fr);}.dr-rgt{margin-left:0;}}
@media (max-width:640px){
  .sp-stats,.dr-s4{grid-template-columns:minmax(0,1fr);}
  .sp-stats>div+div,.dr-s4>div+div{border-left:0;border-top:1px solid var(--line);}
  .pg-acts{justify-content:flex-start;}
}
@media (max-width:1560px){.dr-vd{display:none;}}
.dr-bx.react{border-color:color-mix(in srgb,var(--up) 55%,transparent);color:var(--up);}
.dr-bx.react:hover{background:rgba(20,150,90,.09);border-color:var(--up);}

/* drag & drop of load cards on the Planning Board */
.pb-day .day-load{cursor:grab;}
.pb-day .day-load:active{cursor:grabbing;}
.pb-day .day-load.dragging{opacity:.35;}
.pb-day.drop-ok{background:var(--blue-soft);box-shadow:inset 0 0 0 2px var(--accent);}
.pb-day.drop-ok .pb-slot{border-style:solid;border-color:var(--accent);color:var(--accent);}
.pb-day.drop-no{background:rgba(190,47,47,.05);}
/* ---------- EDIT / NEW DRIVER MODAL (de-*) ---------- */
.modal.driver-edit{width:min(760px,96vw);padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 48px);border-radius:20px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(6,11,28,.45);}
.driver-edit .de-mh{flex:none;display:flex;align-items:center;gap:14px;padding:18px 24px;border-bottom:1px solid var(--line);}
.driver-edit .de-mav{width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none;}
.driver-edit .de-mtt{flex:1;min-width:0;}
.driver-edit .de-mtt h3{margin:0;font-size:20px;letter-spacing:-.02em;line-height:1.15;}
.driver-edit .de-mtt div{font-size:12px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.driver-edit .de-mx{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;font-size:16px;transition:border-color .2s,color .2s;}
.driver-edit .de-mx:hover{border-color:var(--accent);color:var(--accent);}
.driver-edit .de-mb{flex:1 1 auto;min-height:0;overflow-y:auto;padding:6px 24px 22px;display:flex;flex-direction:column;}
.driver-edit .de-sc{padding:18px 0 4px;display:flex;flex-direction:column;gap:12px;}
.driver-edit .de-sc+.de-sc{border-top:1px dashed var(--line);margin-top:16px;}
.driver-edit .de-sct{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
.driver-edit .de-sct i{font-size:14px;}
.driver-edit .de-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.driver-edit .de-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.driver-edit .de-fld{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0;}
.driver-edit .de-fld.full{grid-column:1/-1;}
.driver-edit .de-fld>label{margin:0;font-size:11.5px;font-weight:600;color:var(--muted);}
.driver-edit .de-fld input,.driver-edit .de-fld select{height:38px;min-height:38px;border-radius:10px;font-size:13px;padding:0 12px;outline:0;transition:border-color .2s,box-shadow .2s;}
.driver-edit .de-fld select{padding-right:32px;}
.driver-edit .de-fld input:focus,.driver-edit .de-fld select:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);}
.driver-edit .de-fld .dt-picker-trigger{height:38px;min-height:38px;border-radius:10px;font-size:13px;padding:0 12px;transition:border-color .2s;}
.driver-edit .de-fld .dt-picker-trigger:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));}
.driver-edit .field.shipment-field-invalid .dt-picker-trigger{border-color:var(--danger);box-shadow:0 0 0 2px rgba(239,68,68,.16);}
.driver-edit .de-ends{display:flex;gap:8px;flex-wrap:wrap;}
.driver-edit .de-ckb{position:relative;margin:0;height:34px;padding:0 12px 0 8px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:600;font-size:12px;letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s,border-color .2s,color .2s;}
.driver-edit .de-ckb input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;pointer-events:none;}
.driver-edit .de-ckb i{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--line);display:grid;place-items:center;color:transparent;transition:background .2s,border-color .2s,color .2s;}
.driver-edit .de-ckb:hover{border-color:var(--accent);}
.driver-edit .de-ckb:has(input:checked){border-color:var(--accent);background:var(--blue-soft);color:var(--accent);}
.driver-edit .de-ckb:has(input:checked) i{background:var(--accent);border-color:var(--accent);color:#fff;}
.driver-edit .de-ckb:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px;}
.driver-edit .de-drop{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1.5px dashed color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 5%,transparent);}
.driver-edit .de-drop .di{width:36px;height:36px;border-radius:10px;background:var(--blue-soft);color:var(--accent);display:grid;place-items:center;flex:none;font-size:18px;}
.driver-edit .de-drop .dt{flex:1;min-width:0;font-size:12.5px;color:var(--muted);}
.driver-edit .de-drop .dt b{display:block;color:var(--ink);font-weight:600;font-size:13px;}
.driver-edit .de-drop .shipment-parse-status{margin-top:4px;min-height:0;}
.driver-edit .de-drop .shipment-parse-status:empty{display:none;}
.driver-edit .shipment-parse-status.warning{color:#8A5A00;}
.driver-edit .de-ups{display:inline-flex;align-items:center;margin:0;height:32px;padding:0 12px;border-radius:9px;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-family:inherit;font-weight:600;font-size:12px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s;}
.driver-edit .de-ups:hover{background:var(--accent);color:#fff;}
.driver-edit .de-ups input{display:none;}
.driver-edit .de-files{display:flex;flex-direction:column;gap:8px;}
.driver-edit .de-files:empty{display:none;}
.driver-edit .de-frow{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:10px;background:var(--soft);font-size:12.5px;}
.driver-edit .de-frow>i{color:var(--muted);flex:none;}
.driver-edit .de-frow>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.driver-edit .de-frow>a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);text-decoration:none;}
.driver-edit .de-frow>a:hover{color:var(--accent);text-decoration:underline;}
.driver-edit .de-frx{width:26px;height:26px;border-radius:8px;border:0;background:transparent;color:var(--danger);display:grid;place-items:center;cursor:pointer;font-size:13px;}
.driver-edit .de-frx:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);}
.driver-edit .de-mf{flex:none;display:flex;align-items:center;gap:8px;padding:14px 24px;border-top:1px solid var(--line);background:var(--soft);}
.driver-edit .de-sp{flex:1;}
.driver-edit .de-btn{height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;font-weight:600;font-size:12.5px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;transition:border-color .2s,background .2s,color .2s,transform .2s;}
.driver-edit .de-btn:hover{border-color:var(--accent);color:var(--accent);}
.driver-edit .de-btn:active{transform:scale(.98);}
.driver-edit .de-btn.pri{border-color:var(--accent);background:var(--accent);color:#fff;}
.driver-edit .de-btn.pri:hover{filter:brightness(1.08);color:#fff;}
.driver-edit .de-btn.dg{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line));}
.driver-edit .de-btn.dg:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:var(--danger);color:var(--danger);}
.driver-edit .de-btn:focus-visible,.driver-edit .de-mx:focus-visible,.driver-edit .de-ups:focus-visible,.driver-edit .de-frx:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
@media (max-width:640px){
  .modal.driver-edit{border-radius:0;max-height:100vh;}
  .driver-edit .de-g2,.driver-edit .de-g3{grid-template-columns:minmax(0,1fr);}
  .driver-edit .de-mb,.driver-edit .de-mh,.driver-edit .de-mf{padding-left:16px;padding-right:16px;}
  .driver-edit .de-mf{flex-wrap:wrap;}
  .driver-edit .de-drop{flex-wrap:wrap;}
}
/* blinking colon in the login hero clock */
.clock-colon{font-style:normal;transition:opacity .25s ease;}
.clock-colon.off{opacity:.15;}

/* ---------- AI UPLOAD DIALOG (Rate Confirmation + CDL) ---------- */
@keyframes aidRing{0%{transform:scale(.8);opacity:.55}100%{transform:scale(1.7);opacity:0}}
@keyframes aidBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes aidScan{0%{top:6%}50%{top:88%}100%{top:6%}}
@keyframes aidIndet{0%{transform:translateX(-100%)}100%{transform:translateX(320%)}}
@keyframes aidBlink{0%,100%{opacity:.35}50%{opacity:1}}
.ai-scan-loading .aid-hd{display:flex;align-items:flex-start;gap:16px;padding:22px 26px 18px;}
.ai-scan-loading .aid-tx{flex:1;min-width:0;}
.ai-scan-loading .aid-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.ai-scan-loading .aid-hd h3{margin:6px 0 4px;font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.1;}
.ai-scan-loading .aid-hd p{margin:0;font-size:13px;color:var(--muted);}
.ai-scan-loading .aid-x{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;flex:none;transition:border-color .2s,color .2s,transform .2s;}
.ai-scan-loading .aid-x:hover{border-color:var(--accent);color:var(--accent);transform:rotate(90deg);}
.ai-scan-loading .aid-bd{padding:0 26px 26px;}
.aid-zone{border-radius:18px;padding:44px 24px 38px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,var(--line));background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%),var(--surface);transition:border-color .25s,box-shadow .25s;}
.aid-zone:hover{border-color:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent);}
.aid-ico{position:relative;width:72px;height:72px;border-radius:22px;background:var(--blue-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:18px;}
.aid-ico::before,.aid-ico::after{content:"";position:absolute;inset:0;border-radius:22px;border:1.5px solid var(--accent);opacity:0;animation:aidRing 2.6s ease-out infinite;}
.aid-ico::after{animation-delay:1.3s;}
.aid-ico svg{animation:aidBob 3s ease-in-out infinite;}
.aid-zt{margin:0 0 6px;font-size:18px;font-weight:700;letter-spacing:-.01em;}
.aid-zd{margin:0;max-width:380px;color:var(--muted);font-size:13px;}
.aid-up{margin:20px 0 0;height:44px;padding:0 22px;border-radius:12px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-family:inherit;font-weight:700;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 35%,transparent);transition:transform .2s,filter .2s;}
.aid-up:hover{filter:brightness(1.08);transform:translateY(-1px);}
.aid-up:active{transform:scale(.98);}
.aid-up input{display:none;}
.aid-fmt{display:flex;gap:6px;margin-top:16px;font-family:var(--font-mono);}
.aid-fmt span{font-size:10px;letter-spacing:.12em;padding:4px 8px;border-radius:6px;background:var(--soft);border:1px solid var(--line);color:var(--muted);}
.aid-rd{border-radius:18px;border:1px solid var(--line);background:var(--soft);padding:26px;display:flex;align-items:center;gap:26px;}
.aid-doc{position:relative;width:132px;height:168px;border-radius:12px;background:var(--surface);border:1px solid var(--line);padding:16px 14px;display:flex;flex-direction:column;gap:9px;overflow:hidden;flex:none;box-shadow:0 10px 24px rgba(11,21,51,.08);}
.aid-doc i{display:block;height:6px;border-radius:3px;background:var(--line);}
.aid-doc i.b{background:color-mix(in srgb,var(--accent) 30%,var(--line));width:55%;}
.aid-doc i.s{width:70%;}
.aid-doc i.m{width:85%;}
.aid-doc .sc{position:absolute;left:0;right:0;height:26px;top:6%;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 35%,transparent));border-bottom:2px solid var(--accent);animation:aidScan 2.4s ease-in-out infinite;}
.aid-rt{flex:1;min-width:0;}
.aid-fn{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--muted);min-width:0;}
.aid-fn svg{flex:none;}
.aid-fn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.aid-rt h4{margin:8px 0 4px;font-family:var(--font-heading);font-size:18px;font-weight:700;letter-spacing:-.01em;}
.aid-rt h4 span{animation:aidBlink 1.2s ease-in-out infinite;}
.aid-rt p{margin:0;font-size:13px;color:var(--muted);}
.aid-bar{margin-top:18px;height:6px;border-radius:999px;background:var(--line);overflow:hidden;}
.aid-bar i{display:block;height:100%;width:34%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#5B9BFF);animation:aidIndet 1.4s ease-in-out infinite;}
.ai-scan-loading .aid-ft{display:flex;align-items:center;gap:10px;padding:16px 26px;background:var(--soft);border-top:1px solid var(--line);}
.aid-h{flex:1;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);}
.aid-h svg{color:var(--accent);flex:none;}
.aid-btn{height:40px;padding:0 18px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s,transform .2s,background .2s;}
.aid-btn:hover{border-color:var(--accent);color:var(--accent);}
.aid-btn:active{transform:scale(.98);}
.aid-btn.pri{background:var(--ink);border-color:var(--ink);color:var(--surface);}
.aid-btn.pri:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.aid-x:focus-visible,.aid-up:focus-within,.aid-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
@media (max-width:640px){
  .ai-scan-loading .aid-hd,.ai-scan-loading .aid-ft{padding-left:18px;padding-right:18px;}
  .ai-scan-loading .aid-bd{padding:0 18px 18px;}
  .aid-rd{flex-direction:column;text-align:center;}
  .aid-fn{justify-content:center;}
  .ai-scan-loading .aid-ft{flex-wrap:wrap;}
  .aid-h{flex:1 0 100%;}
}
@media (prefers-reduced-motion:reduce){.aid-zone *,.aid-zone *::before,.aid-rd *,.aid-ico::before,.aid-ico::after{animation:none !important;}}
.driver-edit .de-note{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:10px;background:var(--blue-soft);color:var(--accent);font-size:12px;line-height:1.45;}
.driver-edit .de-note i{font-size:15px;flex:none;margin-top:1px;}

/* team row on the planning board: two overlapping avatars */
.pb-dpair{flex:none;display:flex;align-items:center;}
/* team row: one pill-shaped avatar with combined initials ("J&E") instead of two overlapping circles */
.pb-dav-team{width:auto;min-width:34px;padding:0 8px;border-radius:17px;font-size:11px;letter-spacing:.01em;}
.pb-team .pb-dname{letter-spacing:.01em;}

/* ---------- ASSIGN DRIVER (searchable driver picker) ---------- */
.modal.assign-driver{width:min(560px,96vw);padding:0;overflow:visible;border-radius:22px;border:1px solid var(--line);box-shadow:0 40px 90px rgba(6,11,28,.28),0 2px 6px rgba(6,11,28,.06);}
.asn-hd{display:flex;align-items:flex-start;gap:16px;padding:24px 26px 6px;}
.asn-tx{flex:1;min-width:0;}
.asn-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.asn-tx h3{margin:6px 0 4px;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:25px;letter-spacing:-.03em;line-height:1.1;}
.asn-tx p{margin:0;font-family:var(--font-mono);font-size:12.5px;color:var(--muted);}
.asn-x{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;flex:none;font-size:16px;transition:border-color .2s,color .2s,transform .2s;}
.asn-x:hover{border-color:var(--accent);color:var(--accent);transform:rotate(90deg);}
.asn-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.asn-bd{padding:14px 26px 6px;}
.cust-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.cust-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;background:var(--soft);font-size:12px;font-weight:600;color:var(--muted);}
.cust-pill.danger{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);font-weight:700;}
.cust-sec{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;}
.cust-sec-lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.cust-g3{display:grid;grid-template-columns:2fr 1fr;gap:14px;}
.cust-mc-group{height:44px;display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);}
.cust-mc-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);}
.cust-mc-pre{padding:0 10px;height:100%;display:flex;align-items:center;background:var(--soft);border-right:1px solid var(--line);font-size:12px;font-weight:700;color:var(--muted);flex:none;}
.cust-mc-group input{flex:1;min-width:0;height:100%;border:0;padding:0 12px;font-size:14px;color:var(--ink);background:transparent;}
.cust-mc-group input:focus{outline:none;box-shadow:none !important;}
.cust-dnu-card{border-radius:12px;border:1px solid var(--line);background:var(--surface);padding:14px 16px;display:flex;flex-direction:column;gap:12px;transition:background .2s,border-color .2s;}
.cust-dnu-card.on{background:color-mix(in srgb,var(--danger) 8%,transparent);border-color:color-mix(in srgb,var(--danger) 35%,var(--line));}
.cust-dnu-row{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.cust-dnu-tx{display:flex;flex-direction:column;gap:2px;}
.cust-dnu-title{font-size:14.5px;font-weight:700;color:var(--ink);}
.cust-dnu-card.on .cust-dnu-title{color:var(--danger);}
.cust-dnu-sub{font-size:12.5px;line-height:1.4;color:var(--muted);}
.cust-switch{width:48px;height:28px;flex:none;border-radius:999px;border:0;padding:3px;background:var(--line);cursor:pointer;display:flex;align-items:center;justify-content:flex-start;transition:background .2s;}
.cust-switch.on{background:var(--danger);justify-content:flex-end;}
.cust-switch span{width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.cust-dnu-card .field textarea{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));}
.asn-lbl{display:block;margin-bottom:9px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.asn-dd{position:relative;}
.asn-field{width:100%;display:flex;align-items:center;gap:12px;height:68px;padding:0 12px 0 14px;border-radius:15px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s;font:inherit;color:inherit;}.asn-field:disabled{cursor:default;opacity:.55;}
.asn-field:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));}
.asn-field.open{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);}
.asn-field:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);}
.asn-av{flex:none;position:relative;width:42px;height:42px;border-radius:13px;background:#0B1533;color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:.02em;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--up);}
.asn-av-none{background:var(--soft);color:var(--muted);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--line);font-size:17px;}
.asn-ftx{min-width:0;flex:1;}
.asn-fn{font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.asn-fs{margin-top:2px;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.asn-chev{flex:none;color:var(--muted);font-size:16px;transition:transform .25s,color .2s;}
.asn-field.open .asn-chev{transform:rotate(180deg);color:var(--accent);}
.asn-sg{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:4;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:0 22px 48px rgba(11,21,51,.17);overflow:hidden;animation:asnPop .18s ease backwards;}
@keyframes asnPop{from{opacity:0;transform:translateY(-6px) scale(.98);}to{opacity:1;transform:none;}}
.asn-sgs{position:relative;display:flex;align-items:center;gap:10px;height:52px;padding:0 16px;border-bottom:1px solid var(--line);transition:background .2s;}
.asn-sgs:focus-within{background:var(--soft);}
.asn-sgs i{flex:none;color:var(--muted);font-size:15px;}
.asn-sgs input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;padding:0;outline:0;}
.asn-sgs input::placeholder{color:var(--muted);}
.asn-sgl{margin:0;padding:8px;list-style:none;display:flex;flex-direction:column;gap:5px;max-height:270px;overflow:auto;}
.asn-opt{width:100%;display:flex;align-items:center;gap:12px;height:62px;padding:0 12px;border:0;border-radius:12px;background:transparent;cursor:pointer;text-align:left;transition:background .15s;font:inherit;color:inherit;}
.asn-opt:hover{background:var(--soft);}
.asn-opt.sel{background:var(--blue-soft);}
.asn-opt .asn-av{width:38px;height:38px;border-radius:11px;font-size:11.5px;box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--up);}
.asn-opt.sel .asn-av{box-shadow:0 0 0 2px var(--blue-soft),0 0 0 3.5px var(--up);}
.asn-opt .asn-av-none{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--line);}
.asn-opt.sel .asn-av-none{box-shadow:0 0 0 2px var(--blue-soft),0 0 0 3.5px var(--line);}
.asn-opt .asn-fn{font-size:13.5px;}
.asn-opt .asn-fs{font-size:11px;margin-top:3px;}
.asn-opt:disabled{opacity:.5;cursor:not-allowed;}
.asn-opt:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
.asn-chk{flex:none;color:var(--accent);font-size:16px;}
.asn-noh{padding:28px 14px;text-align:center;color:var(--muted);font-size:12.5px;}
.asn-ft{display:flex;align-items:center;gap:10px;padding:22px 26px;margin-top:12px;background:var(--soft);border-top:1px solid var(--line);border-radius:0 0 22px 22px;}
.asn-note{flex:1;display:flex;align-items:center;gap:7px;font-size:12px;color:var(--up);font-weight:600;min-width:0;}
.asn-note i{flex:none;font-size:15px;}
.asn-note.asn-note-muted{color:var(--muted);font-weight:500;}
.asn-btn{height:42px;padding:0 18px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s,transform .2s,background .2s;}
.asn-btn:hover{border-color:var(--accent);color:var(--accent);}
.asn-btn:active{transform:scale(.98);}
.asn-btn.pri{background:var(--accent);border-color:var(--accent);color:#fff;}
.asn-btn.pri:hover{filter:brightness(1.08);color:#fff;}
.asn-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
@media (max-width:640px){
  .modal.assign-driver{border-radius:20px 20px 0 0;}
  .asn-hd,.asn-bd{padding-left:18px;padding-right:18px;}
  .asn-ft{padding-left:18px;padding-right:18px;border-radius:0;}
  .asn-note{display:none;}
}

/* ---------- SPLIT LOAD (reuses the assign-driver asn-* shell) ---------- */
.spl-route{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:var(--font-body,inherit) !important;}
.spl-route i{font-size:12px;}
.spl-cur{color:var(--ink);font-weight:600;}
.spl-bd{display:flex;flex-direction:column;gap:20px;padding-top:16px;}
.spl-inp{display:flex;align-items:center;gap:12px;height:52px;padding:0 14px;border-radius:13px;border:1.5px solid var(--line);background:var(--surface);transition:border-color .2s,box-shadow .2s;}
.spl-inp:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));}
.spl-inp:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);}
.spl-inp>i{flex:none;color:var(--muted);font-size:16px;}
.spl-inp>div{flex:1;min-width:0;height:100%;}
.spl-inp input{width:100%;height:100%;border:0 !important;outline:0;background:transparent !important;box-shadow:none !important;padding:0 !important;font:inherit;font-size:14px;color:var(--ink);}
.spl-inp input::placeholder{color:var(--muted);}
.asn-field.spl-field{height:52px;border-radius:13px;}
.spl-field .asn-av{width:32px;height:32px;border-radius:10px;font-size:11px;box-shadow:none;}
.spl-field .asn-av-none{font-size:16px;}
.spl-field .asn-fn{font-size:14px;}
.spl-field .asn-fs{font-size:11px;margin-top:1px;}
.asn-fn.spl-ph{font-weight:500;color:var(--muted);}
#splitDriverList .asn-opt{height:54px;}
#splitDriverList .asn-av{width:32px;height:32px;border-radius:10px;font-size:11px;box-shadow:none;}
#splitDriverList .asn-sgl{max-height:264px;}

/* ---------- MOVE THIS LOAD (board drag & drop confirm) ---------- */
.dialog.mvl{padding:0;border-radius:20px;border:1px solid var(--line);box-shadow:0 40px 90px rgba(6,11,28,.28),0 2px 6px rgba(6,11,28,.06);animation:asnRise .5s cubic-bezier(.2,.8,.2,1) backwards;}
@keyframes asnRise{from{opacity:0;transform:translateY(14px) scale(.985);}to{opacity:1;transform:none;}}
.mvl-hd{display:flex;align-items:flex-start;gap:14px;padding:26px 24px 4px;}
.mvl-ico{flex:none;width:44px;height:44px;border-radius:13px;background:var(--blue-soft);color:var(--accent);display:grid;place-items:center;font-size:20px;}
.mvl-tx{flex:1;min-width:0;}
.mvl-tx h3{margin:0 0 7px;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px;letter-spacing:-.02em;line-height:1.25;}
.mvl-tx p{margin:0;font-size:13px;color:var(--muted);line-height:1.5;}
.mvl-tx p b{color:var(--ink);font-weight:700;}
.mvl-id{color:var(--ink);font-weight:600;}
.asn-x.mvl-x{width:34px;height:34px;border-radius:10px;font-size:14px;}
.mvl-swap{display:flex;align-items:flex-start;gap:8px;margin:14px 24px 0;padding:10px 12px;border-radius:10px;background:var(--blue-soft);color:var(--accent);font-size:12px;line-height:1.45;}
.mvl-swap i{flex:none;font-size:15px;margin-top:1px;}
.mvl-ft{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:22px 24px 24px;}
.mvl-ft .asn-btn{height:40px;padding:0 17px;}
@media (max-width:640px){
  .mvl-hd,.mvl-ft{padding-left:18px;padding-right:18px;}
  .mvl-swap{margin-left:18px;margin-right:18px;}
}
@media (prefers-reduced-motion:reduce){.dialog.mvl{animation:none;}}

/* ---------- "A FEW FIELDS NEED YOUR HELP" review-step fields ---------- */
.need-wrap{display:flex;flex-direction:column;gap:12px;}
.need{border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:16px 16px 18px;}
.need-nh{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.need-nh label{margin:0;font-size:13px;font-weight:700;letter-spacing:-.005em;text-transform:none;color:var(--ink);}
.need-tg{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;background:#FFF1D6;color:#B26A00;}
.need-tg.ok{background:#DDF6E8;color:var(--ok);}
.need-tg i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:needBlink 1.4s ease-in-out infinite;}
@keyframes needBlink{0%,100%{opacity:.35;}50%{opacity:1;}}
.need-fw{position:relative;}
.need-fw>i{position:absolute;left:14px;top:50%;transform:translate(0,-50%);color:var(--muted);pointer-events:none;font-size:15px;}
.need-fw input,.need-fw select{width:100%;height:50px;border-radius:13px;border:1.5px solid color-mix(in srgb,#B26A00 55%,var(--line));background:var(--surface);color:var(--ink);font:inherit;font-size:14px;padding:0 16px 0 44px;outline:0;box-shadow:0 0 0 4px rgba(178,106,0,.12);transition:border-color .2s,box-shadow .2s;}
.need-fw.plain input,.need-fw.plain select{padding-left:16px;}
.need-fw input::placeholder{color:var(--muted);opacity:.75;}
.need-fw input:focus,.need-fw select:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);}
.need-fw.done input,.need-fw.done select{border-color:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 12%,transparent);}
.need-hint{margin-top:6px;font-size:11px;color:var(--muted);}
/* ---------- ACCOUNTS (master/detail) ---------- */
.acc{display:flex;flex-direction:column;gap:16px;}
.acc-wrap{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start;}
@media (max-width:980px){.acc-wrap{grid-template-columns:1fr;}}

.acc-lst{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;padding-bottom:6px;}
.acc-lst .pg-fs{margin:14px 14px 12px;}
.acc-lempty{padding:36px 20px;text-align:center;color:var(--muted);font-size:12.5px;}
.acc-lrow{width:100%;display:flex;align-items:center;gap:12px;padding:13px 16px;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;text-align:left;transition:background .15s;font:inherit;color:inherit;}
.acc-lrow:last-child{border-bottom:0;}
.acc-lrow:hover{background:var(--soft);}
.acc-lrow.on{background:var(--blue-soft);}
.acc-lrow.terminated{opacity:.65;}
.acc-lrow.terminated.on{opacity:1;}
.acc-av2{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:.02em;background:#0B1533;color:#fff;}
.acc-av2.adm{background:var(--ink);}
.acc-ltx{min-width:0;flex:1;}
.acc-ln{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acc-lsub{margin-top:2px;font-family:var(--font-mono);font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acc-lrow.on .acc-lsub{color:var(--accent);}
.acc-chev{flex:none;color:var(--muted);opacity:0;transition:opacity .15s,color .15s;font-size:15px;}
.acc-lrow.on .acc-chev{opacity:1;color:var(--accent);}

.acc-dpn{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:26px 28px;display:flex;flex-direction:column;gap:22px;}
.acc-dtop{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.acc-did{display:flex;align-items:center;gap:16px;}
.acc-av3{flex:none;width:58px;height:58px;border-radius:16px;display:grid;place-items:center;font-weight:700;font-size:18px;letter-spacing:.02em;background:#0B1533;color:#fff;}
.acc-av3.adm{background:var(--ink);}
.acc-dnm h2{margin:0;font-size:21px;letter-spacing:-.015em;}
.acc-role{display:inline-flex;align-items:center;height:21px;margin-top:7px;padding:0 9px;border-radius:999px;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;}
.acc-role.admin{background:var(--ink);color:var(--surface);}
.acc-role.disp{background:var(--blue-soft);color:var(--accent);}
.acc-dbtns{display:flex;align-items:center;gap:8px;flex:none;}
.acc-sbtn{height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;font-size:12px;cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s;}
.acc-sbtn:hover{border-color:var(--accent);color:var(--accent);}
.acc-sbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.acc-trash{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--muted);display:grid;place-items:center;cursor:pointer;font-size:15px;transition:border-color .2s,color .2s,background .2s;}
.acc-trash:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);}
.acc-trash:focus-visible{outline:2px solid var(--danger);outline-offset:2px;}

.acc-meta{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);margin-top:-4px;padding-top:18px;}
.acc-meta span{display:inline-flex;align-items:center;gap:7px;}
.acc-meta i{flex:none;color:var(--muted);font-size:14px;}

.acc-sec{display:flex;flex-direction:column;gap:12px;}
.acc-slbl{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.acc-drows{display:flex;flex-direction:column;gap:6px;}
.acc-drow{display:flex;align-items:center;gap:14px;height:60px;padding:0 12px;border-radius:13px;background:var(--soft);border:1px solid var(--line);}
.acc-dav{flex:none;width:38px;height:38px;border-radius:11px;background:#0B1533;color:#fff;display:grid;place-items:center;font-weight:700;font-size:11.5px;font-family:var(--font-mono);}
.acc-dtx{min-width:0;flex:1;}
.acc-dn{font-weight:700;font-size:13.5px;}
.acc-ds{margin-top:2px;font-family:var(--font-mono);font-size:11px;color:var(--muted);}
.acc-drm{flex:none;width:28px;height:28px;border-radius:50%;border:0;background:transparent;color:var(--danger);display:grid;place-items:center;cursor:pointer;font-size:14px;transition:background .15s;}
.acc-drm:hover{background:color-mix(in srgb,var(--danger) 14%,transparent);}
.acc-drm:focus-visible{outline:2px solid var(--danger);outline-offset:1px;}
.acc-nodrv{font-size:12.5px;color:var(--muted);font-style:italic;padding:6px 2px;}

.acc-av-add{background:var(--blue-soft);color:var(--accent);}
.acc-fplaceholder{color:var(--muted);font-size:13px;}

.acc-pool{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:18px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.acc-plbl{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex:none;}
.acc-pchips{display:flex;flex-wrap:wrap;gap:8px;flex:1;}
.acc-pchip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:var(--soft);border:1px dashed var(--line);font-family:var(--font-mono);font-size:11.5px;color:var(--muted);}
.acc-pempty{font-size:12px;color:var(--muted);}