/* ============================================================
   KUPAICO TRACK — design system  v4 "Studio"
   Minimal · dense · professional. Bordered cards, ink actions,
   teal as a restrained accent. No gradients-as-decoration.
   ============================================================ */
:root{
  --navy:#16273F;          /* brand / headings */
  --ink:#1B2536;           /* body text */
  --muted:#697588;
  --faint:#98A2B2;

  --pri:#151B26;           /* primary action ink-black */
  --pri-600:#232B3A;
  --teal:#12A594;          /* accent */
  --teal-600:#0E8577;
  --teal-700:#0B6C61;
  --teal-050:#E9F6F3;
  /* legacy aliases kept for inline JS */
  --navy-700:#1B3050; --navy-600:#274264; --navy-500:#3A567E;

  --line:rgba(16,24,40,.09);
  --line-strong:rgba(16,24,40,.15);
  --bg:#F5F6F8;
  --bg-soft:#EEF0F4;
  --card:#FFFFFF;

  --ok:#0E9F55;      --ok-bg:#E7F6EE;
  --warn:#B4791B;    --warn-bg:#FBF0DC;
  --danger:#D8443C;  --danger-bg:#FBEAE9;

  --shadow-sm:0 1px 2px rgba(16,24,40,.04);
  --shadow:0 1px 3px rgba(16,24,40,.06), 0 1px 2px rgba(16,24,40,.04);
  --shadow-md:0 8px 24px -12px rgba(16,24,40,.18), 0 2px 6px -3px rgba(16,24,40,.08);
  --shadow-lg:0 24px 60px -20px rgba(10,16,30,.30);
  --hi:none;
  --ring:0 0 0 1px var(--line);

  --radius-lg:16px;
  --radius:13px;
  --radius-sm:10px;
  --radius-xs:8px;
  --pill:999px;

  --ease:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(.22,1,.36,1);
  --spring:cubic-bezier(.16,1,.3,1);

  --font:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --display:var(--font);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;padding:0}
body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:13.5px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button{font-family:inherit}
h1,h2,h3,h4{margin:0;color:var(--navy);font-weight:700;letter-spacing:-.02em}
code{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.88em;background:var(--bg-soft);padding:2px 7px;border-radius:6px;color:var(--navy)}
::selection{background:rgba(18,165,148,.22)}

.klogo,.brand-mark svg{display:block}

/* ---------- Top bar ---------- */
#topbar{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--card);color:var(--ink);padding:0 22px;height:60px;position:sticky;top:0;z-index:20;
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--navy);display:grid;place-items:center;overflow:hidden}
.brand-mark svg{width:21px;height:23px}
.brand-mark img{width:26px;height:26px;object-fit:contain;display:block}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text strong{font-size:16px;color:var(--navy);font-weight:800;letter-spacing:-.03em}
.brand-text span{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--teal);font-weight:700}
.topbar-right{display:flex;align-items:center;gap:12px}
.ctx-label{font-size:12px;color:var(--muted);font-weight:500;padding:5px 11px;background:var(--bg-soft);border-radius:var(--pill)}
.who{display:flex;align-items:center;gap:9px}
#who-name{font-weight:600;color:var(--ink)}
.role-pill{font-size:10px;text-transform:uppercase;letter-spacing:.1em;background:var(--teal-050);color:var(--teal-700);padding:4px 9px;border-radius:var(--pill);font-weight:700}

/* ---------- Layout ---------- */
main{padding:24px 24px 64px;max-width:1400px;margin:0 auto}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.page-head h2{font-size:22px;font-weight:800;letter-spacing:-.03em}
.page-sub{color:var(--muted);font-size:13px;margin-top:3px;font-weight:500}
.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}

/* ---------- Buttons ---------- */
.btn{border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 15px;font-weight:600;font-size:13px;cursor:pointer;
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;letter-spacing:-.01em}
.btn:active{transform:translateY(.5px)}
.btn-primary{background:var(--pri);color:#fff}
.btn-primary:hover{background:var(--pri-600)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-600)}
.btn-accent{background:var(--teal);color:#fff}
.btn-accent:hover{background:var(--teal-600)}
.btn-ghost{background:var(--bg-soft);color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:#e5e8ee}
.btn-outline{background:var(--card);color:var(--ink);border-color:var(--line-strong)}
.btn-outline:hover{border-color:var(--ink);background:var(--card)}
.btn-sm{padding:7px 12px;font-size:12px}
.btn-block{width:100%;justify-content:center;padding:12px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-danger{background:var(--danger-bg);color:var(--danger)}
.btn-danger:hover{background:var(--danger);color:#fff}
.icon-btn{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--faint);transition:color .2s var(--ease)}
.icon-btn:hover{color:var(--navy)}

/* ---------- Stat cards ---------- */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px;margin-bottom:22px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 17px;transition:border-color .2s var(--ease)}
.stat:hover{border-color:var(--line-strong)}
.stat .n{font-size:27px;font-weight:800;color:var(--navy);letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.stat .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:8px;font-weight:600}
.stat.accent{border-color:rgba(18,165,148,.28);background:var(--teal-050)}
.stat.accent .n{color:var(--teal-700)}

/* ---------- Panels ---------- */
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:18px;overflow:hidden}
.panel-head{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.panel-head h3{font-size:15px;font-weight:700;letter-spacing:-.02em}
.panel-body{padding:2px 0}

/* ---------- Tables ---------- */
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:12px 18px;font-size:13px;border-bottom:1px solid var(--line)}
th{color:var(--faint);font-weight:700;text-transform:uppercase;font-size:10.5px;letter-spacing:.09em}
tr:last-child td{border-bottom:none}
tbody tr{transition:background .15s var(--ease)}
tbody tr:hover{background:var(--bg-soft)}
.num{text-align:right;font-variant-numeric:tabular-nums}

/* ---------- Search + toolbar bits ---------- */
.searchbar{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 12px;min-width:220px;flex:1;max-width:340px}
.searchbar input{border:none;outline:none;background:none;font-family:inherit;font-size:13px;color:var(--ink);width:100%}
.searchbar .s-ic{color:var(--faint);flex:none;display:grid;place-items:center}
.list-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--navy);color:#fff;border-radius:var(--radius-sm);padding:9px 14px;margin-bottom:12px;font-size:13px}
.bulkbar .bb-count{font-weight:700}
.bulkbar .btn{padding:6px 11px;font-size:12px}
.selbox{width:16px;height:16px;accent-color:var(--teal);cursor:pointer}
td.selcell,th.selcell{width:38px;padding-left:16px;padding-right:0}

/* ---------- Attendance ---------- */
.att-prompt{display:flex;align-items:center;gap:14px;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px;margin-bottom:18px}
.att-prompt .att-title{font-weight:700;color:var(--navy);font-size:15px;letter-spacing:-.02em}
.att-prompt .att-hi{font-family:"Noto Sans Devanagari",var(--font);color:var(--muted);font-size:12.5px;margin-top:2px}
.att-done{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 14px;margin-bottom:16px}
.att-done .att-meta{font-size:12.5px;color:var(--muted)}
.att-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.att-lbl{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-right:8px}
.att-controls input[type=date]{padding:8px 11px;border:1px solid var(--line-strong);border-radius:var(--radius-xs);font-family:inherit;font-size:13px;color:var(--ink);background:#fff}
.att-info{font-size:12.5px;color:var(--muted);background:var(--bg-soft);border-radius:var(--radius-sm);padding:9px 13px;margin-bottom:16px}
.att-info.warn{background:var(--warn-bg);color:var(--warn)}
.att-set{padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-xs);font-family:inherit;font-size:12px;font-weight:600;color:var(--navy);background:#fff;cursor:pointer;transition:.2s var(--ease)}
.att-set:hover{border-color:var(--teal);color:var(--teal-700)}
.map-box{height:240px;border-radius:var(--radius-sm);overflow:hidden;margin-top:12px;border:1px solid var(--line);background:var(--bg-soft)}
.geo-row{display:flex;gap:8px}
.geo-row input{flex:1}
.geo-res{margin-top:6px;max-height:160px;overflow-y:auto}
.geo-item{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-xs);margin-top:6px;cursor:pointer;background:#fff;transition:.2s var(--ease)}
.geo-item:hover{border-color:var(--teal);background:var(--teal-050)}
.geo-name{font-size:12.5px;color:var(--ink);line-height:1.35}
.geo-empty{padding:8px 4px;font-size:12.5px;color:var(--muted)}
.map-box .leaflet-container{height:100%;width:100%;font-family:inherit}

/* ---------- Board service filter ---------- */
.board-filter{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.board-filter label{font-size:12px;font-weight:700;color:var(--navy)}
.board-filter select{padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;font-weight:600;color:var(--navy);background:#fff;cursor:pointer}
.step-now{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--teal-700);background:var(--teal-050);padding:4px 10px;border-radius:var(--radius-xs);font-size:12.5px}

/* ---------- Kanban board ---------- */
.board-wrap{overflow-x:auto;padding-bottom:10px;margin:0 -4px}
.board{display:flex;gap:13px;min-width:min-content;padding:0 4px}
.col{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);width:262px;flex:0 0 262px;display:flex;flex-direction:column;max-height:72vh}
.col-head{padding:12px 14px 10px;display:flex;align-items:center;justify-content:space-between}
.col-head .cn{font-weight:700;color:var(--navy);font-size:12.5px;display:flex;align-items:center;gap:8px}
.col-head .code{background:var(--navy);color:#fff;font-size:10.5px;padding:3px 8px;border-radius:6px;font-weight:700}
.col-head .count{background:var(--card);color:var(--muted);border-radius:var(--pill);padding:2px 10px;font-size:12px;font-weight:700;border:1px solid var(--line)}
.col.done{background:var(--ok-bg);border-color:rgba(14,159,85,.2)}
.col.done .col-head .code{background:var(--ok)}
.col-cards{padding:2px 10px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:9px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 13px;cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}
.card .inv{font-weight:800;color:var(--navy);font-size:14px;letter-spacing:-.02em}
.card .cust{color:var(--ink);font-size:12.5px;margin-top:2px}
.card .meta{display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap}
.card-store{font-size:10px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.07em;font-weight:600}

/* ---------- Chips ---------- */
.chip{font-size:11px;padding:3px 9px;border-radius:var(--pill);font-weight:600;display:inline-flex;align-items:center;gap:4px;line-height:1.4}
.chip.hold{background:var(--teal-050);color:var(--teal-700)}
.chip.free{background:var(--bg-soft);color:var(--muted)}
.chip.time{background:var(--warn-bg);color:var(--warn)}
.chip.aging{background:var(--danger-bg);color:var(--danger)}
.chip.flag{background:var(--danger-bg);color:var(--danger)}
.chip.pay-ok{background:var(--ok-bg);color:var(--ok)}
.chip.pay-no{background:var(--warn-bg);color:var(--warn)}
.chip.urgent{background:var(--danger);color:#fff;font-weight:700;letter-spacing:.03em}
.chip.assign{background:var(--bg-soft);color:var(--navy)}
.chip.assign.mine{background:var(--navy);color:#fff}
.chip.route{background:var(--teal-050);color:var(--teal-700);font-weight:700}
.chip.route.route-none{background:var(--warn-bg);color:var(--warn)}
.chip.await{background:var(--warn-bg);color:var(--warn);font-weight:700}

/* New-order acceptance cards (staff) */
.accept-card{border:1px solid rgba(18,165,148,.4);border-radius:var(--radius);padding:15px;margin-bottom:12px;background:var(--teal-050)}
.accept-card.urgent{border-color:rgba(216,68,60,.45);background:var(--danger-bg)}
.accept-card .ac-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.accept-card .ac-inv{font-weight:800;font-size:16px;color:var(--navy);letter-spacing:-.02em}
.accept-card .ac-cust{font-size:15px;font-weight:600;color:var(--ink)}
.accept-card .ac-svc{font-size:12.5px;color:var(--muted);margin:2px 0 12px}
.accept-card .ac-btn{font-size:15px;padding:13px}
.step-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}

/* Performance dashboard */
.perf-stores{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:22px}
.perf-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;transition:border-color .2s var(--ease)}
.perf-card:hover{border-color:var(--line-strong)}
.perf-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.perf-card-head h4{font-size:15px;font-weight:700;letter-spacing:-.02em}
.perf-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:12px;margin-bottom:14px}
.perf-metric .pm-n{font-size:20px;font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.perf-metric .pm-l{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-top:4px}
.bar{height:7px;border-radius:var(--pill);background:var(--bg-soft);overflow:hidden}
.bar .bar-fill{height:100%;border-radius:var(--pill);background:var(--teal)}
.bar.mini{width:90px;height:6px}
td .bar.mini{margin:0}
.row-more{color:var(--faint);font-weight:800}

/* Company overview */
.ov-h{font-size:15px;font-weight:700;margin:6px 0 14px;color:var(--navy);letter-spacing:-.02em}
.ov-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-bottom:20px}
@media (max-width:760px){.ov-cols{grid-template-columns:1fr}}
.spark{display:flex;align-items:flex-end;gap:10px;height:148px;padding:14px 16px 6px}
.spark-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.spark-n{font-size:12px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;min-height:14px}
.spark-track{width:64%;flex:1;display:flex;align-items:flex-end;background:var(--bg-soft);border-radius:6px 6px 3px 3px;overflow:hidden}
.spark-bar{width:100%;min-height:3px;background:var(--teal);border-radius:6px 6px 0 0}
.spark-lbl{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase}
.ov-today{display:grid;grid-template-columns:1fr 1fr;gap:2px 4px;padding:8px}
.ov-stat{padding:12px 14px}
.ov-stat .ov-n{font-size:22px;font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.ov-stat .ov-l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-top:3px}

/* 3-light delivery */
.light{width:8px;height:8px;border-radius:50%;display:inline-block;vertical-align:middle}
.light-g{background:var(--ok)}
.light-a{background:var(--warn)}
.light-r{background:var(--danger)}
.light-done{background:var(--faint)}

/* urgent emphasis */
.card-urgent{background:var(--danger-bg)!important;border:1px solid var(--danger)!important}
.card-urgent .inv,.card-urgent .cust{color:var(--danger)}
.row-urgent td{background:rgba(216,68,60,.055)}
.row-urgent td:first-child{box-shadow:inset 3px 0 0 var(--danger)}
.staff-card.urgent{background:var(--danger-bg);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--danger)}
.staff-card.urgent .sc-inv{color:var(--danger)}
.urgent-banner{position:fixed;top:0;left:0;right:0;z-index:90;background:var(--danger);color:#fff;
  font-weight:700;font-size:14px;letter-spacing:.01em;text-align:center;padding:13px 16px;cursor:pointer;
  box-shadow:0 8px 24px -10px rgba(216,68,60,.5);animation:urgentblink 1.1s steps(1) infinite}
@keyframes urgentblink{50%{background:#b23a33}}

/* ---------- Forms ---------- */
.field{margin-bottom:15px}
.field label{display:block;font-size:11px;font-weight:700;color:var(--navy);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
.field input,.field select,.field textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:13.5px;font-family:inherit;background:#fff;color:var(--ink);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
.field input::placeholder,.field textarea::placeholder{color:var(--faint)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(18,165,148,.14)}
.field .hint{font-size:11.5px;color:var(--muted);margin-top:5px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}

/* Dept picker */
.dept-picker{border:1px solid var(--line);border-radius:var(--radius);padding:13px;background:#fff}
.dept-picker .dp-all{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:9px 11px;border-radius:var(--radius-xs);background:var(--teal-050);border:1px solid rgba(18,165,148,.22)}
.dept-picker .dp-all input{margin-top:2px;width:18px;height:18px;accent-color:var(--teal)}
.dept-picker .dp-all span{display:flex;flex-direction:column;line-height:1.25}
.dept-picker .dp-all strong{font-size:14px;color:var(--navy)}
.dept-picker .dp-all small{font-size:11.5px;color:var(--muted)}
.dept-picker .dp-hint{font-size:11.5px;color:var(--muted);margin:11px 2px 8px}
.dept-picker .dp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dept-picker .dp-item{display:flex;align-items:flex-start;gap:9px;cursor:pointer;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius-xs);transition:border-color .18s var(--ease)}
.dept-picker .dp-item:hover{border-color:var(--teal)}
.dept-picker .dp-item input{margin-top:2px;width:17px;height:17px;accent-color:var(--teal)}
.dept-picker .dp-item input:disabled{opacity:.4}
.dept-picker .dp-item span{display:flex;flex-direction:column;line-height:1.2}
.dept-picker .dp-item strong{font-size:13px;color:var(--navy);font-weight:700}
.dept-picker .dp-item small{font-size:11px;color:var(--muted);margin-top:1px}
.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:560px){.dept-picker .dp-grid{grid-template-columns:1fr}}

/* date presets */
.date-presets{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.date-preset{background:var(--bg-soft);color:var(--navy);font-weight:600;font-size:12px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--pill);cursor:pointer;font-family:inherit;transition:.18s var(--ease)}
.date-preset:hover{background:var(--teal-050);color:var(--teal-700);border-color:transparent}

/* payment capture */
.pay-methods{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.pay-method{padding:13px 10px;border:1px solid var(--line-strong);background:#fff;border-radius:var(--radius-sm);font-weight:700;font-size:13.5px;cursor:pointer;color:var(--navy);font-family:inherit;transition:.18s var(--ease)}
.pay-method:hover{border-color:var(--teal)}
.pay-method.sel{border-color:var(--teal);background:var(--teal-050);color:var(--teal-700)}
.pay-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:18px}
.pay-summary strong{font-weight:800}
.pay-summary .pay-by{color:var(--muted);font-weight:500}
.pay-summary.ok{background:var(--ok-bg);color:var(--ok)}
.pay-summary.pending{background:var(--warn-bg);color:var(--warn);font-weight:700}

/* ---------- Auth / login ---------- */
.auth{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--bg)}
.auth-brand{position:relative;overflow:hidden;color:#fff;padding:56px 52px;
  background:var(--navy);display:flex;flex-direction:column;justify-content:space-between}
.auth-brand::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(18,165,148,.18),transparent 68%);top:-150px;right:-120px}
.auth-brand-top{display:flex;align-items:center;gap:13px;position:relative;z-index:1}
.auth-brand-top .brand-mark{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.1)}
.auth-brand-top .brand-mark svg{width:27px;height:29px}
.auth-brand-top .brand-mark img{width:34px;height:34px;object-fit:contain}
.auth-brand-top .wm{font-size:19px;font-weight:800;letter-spacing:-.02em}
.auth-brand-top .wm b{color:#fff}
.auth-brand-top .wm i{color:var(--teal);font-style:normal;font-weight:700;font-size:10px;letter-spacing:.3em;text-transform:uppercase;display:block;margin-top:2px}
.auth-hero{position:relative;z-index:1;max-width:440px}
.auth-hero h1{color:#fff;font-size:40px;line-height:1.1;font-weight:800;letter-spacing:-.035em}
.auth-hero h1 em{font-style:normal;color:var(--teal)}
.auth-hero p{color:#aab6c8;font-size:15px;margin-top:16px;line-height:1.6}
.auth-points{list-style:none;padding:0;margin:28px 0 0;position:relative;z-index:1}
.auth-points li{display:flex;align-items:center;gap:11px;color:#cdd8e6;font-size:14px;font-weight:500;margin-bottom:13px}
.auth-points li .tick{width:22px;height:22px;border-radius:50%;background:rgba(18,165,148,.16);color:var(--teal);display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}
.auth-foot{position:relative;z-index:1;color:#6f7f97;font-size:12px}
.auth-form{display:grid;place-items:center;padding:40px 24px}
.auth-form-inner{width:100%;max-width:372px}
.auth-form-inner h2{font-size:27px;font-weight:800;margin-bottom:5px;letter-spacing:-.03em}
.auth-form-inner .sub{color:var(--muted);font-size:14px;margin-bottom:26px}
.login-err{background:var(--danger-bg);color:var(--danger);padding:11px 13px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:15px;display:none}
.auth-note{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px;line-height:1.5}
.login-wrap{min-height:100dvh;display:grid;place-items:center;background:var(--navy);padding:20px}
.login-card{background:#fff;border-radius:20px;padding:36px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}
.login-title{text-align:center;margin:14px 0 4px;font-size:22px}
.login-sub{text-align:center;color:var(--muted);font-size:13px;margin-bottom:22px}

/* ---------- Order detail ---------- */
.timeline{list-style:none;margin:0;padding:0}
.timeline li{position:relative;padding:0 0 18px 26px;border-left:2px solid var(--line-strong);margin-left:6px}
.timeline li:last-child{border-left-color:transparent;padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--teal);border:2px solid #fff;box-shadow:0 0 0 1.5px var(--teal)}
.timeline .t-act{font-weight:700;color:var(--navy);font-size:13px}
.timeline .t-meta{font-size:12px;color:var(--muted);margin-top:2px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-bottom:20px;background:var(--bg-soft);border-radius:var(--radius-sm);padding:16px 18px}
.detail-grid .k{font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.detail-grid .v{font-weight:700;color:var(--navy);font-size:14px;margin-top:3px}

/* ---------- Work list ---------- */
.work-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);transition:background .15s var(--ease)}
.work-item:last-child{border-bottom:none}
.work-item:hover{background:var(--bg-soft)}
.work-item .wi-main{min-width:0}
.work-item .wi-inv{font-weight:800;color:var(--navy);font-size:14px;letter-spacing:-.02em}
.work-item .wi-cust{color:var(--muted);font-size:13px}
.work-item .wi-stage{font-size:12px;color:var(--teal-700);font-weight:600;margin-top:3px}
.wi-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* ---------- Staff top bar ---------- */
.staff-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.staff-hello{min-width:0;flex:1}
.staff-hello .sh-name{font-size:17px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.staff-hello .sh-store{font-size:12.5px;color:var(--muted);margin-top:1px}
.clockbar{background:var(--navy);color:#fff;border-radius:var(--radius-sm);padding:8px 14px;text-align:right;flex:none}
.clockbar .cb-time{font-size:18px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.clockbar .cb-date{font-size:10px;color:var(--teal);font-weight:600;margin-top:3px;letter-spacing:.05em;text-transform:uppercase}
.stat-row.two{grid-template-columns:1fr 1fr}

/* Staff hero — clean, not gradient */
.hero{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:16px}
.ring-wrap{position:relative;width:88px;height:88px;flex:none}
.ring{width:88px;height:88px;transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:var(--bg-soft);stroke-width:10}
.ring-fg{fill:none;stroke:var(--teal);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease)}
.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring-top{font-size:27px;font-weight:800;line-height:1;color:var(--navy)}
.ring-bottom{font-size:10px;color:var(--muted);margin-top:3px;text-align:center;letter-spacing:.02em;max-width:76px}
.hero-r{min-width:0;flex:1}
.hero-hi{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.hero-sub{font-size:13px;color:var(--muted);margin-top:2px}
.hero-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.gbadge{font-size:12px;font-weight:600;background:var(--bg-soft);color:var(--ink);border:1px solid var(--line);padding:5px 10px;border-radius:var(--pill)}

/* step progress */
.sc-bar{display:flex;align-items:center;gap:10px;margin-top:12px}
.sc-bar-track{flex:1;height:7px;background:var(--bg-soft);border-radius:var(--pill);overflow:hidden}
.sc-bar-fill{height:100%;background:var(--teal);border-radius:var(--pill);transition:width .5s var(--ease)}
.sc-bar-txt{font-size:11.5px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}

/* celebration */
.confetti-canvas{position:fixed;inset:0;pointer-events:none;z-index:9999}
.pts-pop{position:fixed;left:50%;top:32%;z-index:10000;pointer-events:none;background:var(--navy);color:#fff;font-weight:800;font-size:19px;padding:9px 16px;border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:ptspop 1.2s ease forwards}
@keyframes ptspop{0%{opacity:0;transform:translate(-50%,10px) scale(.85)}22%{opacity:1;transform:translate(-50%,-6px) scale(1.05)}42%{transform:translate(-50%,-10px) scale(1)}100%{opacity:0;transform:translate(-50%,-60px) scale(.95)}}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Floor */
.floor-row{display:flex;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid var(--line)}
.floor-row:last-child{border-bottom:none}
.fr-l{flex:1.1;min-width:0}
.fr-name{font-weight:800;color:var(--navy);font-size:14px;display:flex;align-items:center;gap:7px}
.fr-dot{width:9px;height:9px;border-radius:50%;flex:none;background:#c3c9d6}
.fr-dot.work{background:var(--ok)}
.fr-dot.avail{background:var(--warn)}
.fr-dot.off{background:var(--muted)}
.fr-pos{font-size:11.5px;color:var(--muted);margin-top:2px}
.fr-m{flex:1.5;min-width:0}
.fr-status{font-size:12px;font-weight:800;color:var(--muted)}
.fr-status.work{color:var(--ok)}
.fr-status.avail{color:var(--warn)}
.fr-doing{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-r{flex:none;text-align:center;min-width:46px}
.fr-count{font-size:20px;font-weight:800;color:var(--teal-700);line-height:1}
.fr-count-l{font-size:10px;color:var(--muted);margin-top:2px}

/* Pay & Deliver */
.close-card{border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:var(--radius-sm);padding:13px 14px;margin-bottom:11px;background:var(--card)}
.close-card.late{border-left-color:var(--danger);background:var(--danger-bg)}
.close-card .cc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.close-card .cc-inv{font-weight:800;color:var(--navy);font-size:15px;display:inline-flex;align-items:center;gap:6px;letter-spacing:-.02em}
.close-card .cc-cust{font-size:13px;color:var(--ink);margin-top:3px}
.close-card .cc-state{font-size:12px;color:var(--muted);margin:5px 0 12px}
.close-card .cc-details{margin-top:8px;width:100%}

/* section nav */
.section-nav{display:flex;gap:4px;margin-bottom:16px;background:var(--bg-soft);padding:4px;border-radius:var(--radius);border:1px solid var(--line);max-width:520px}
.section-nav .snav{flex:1;text-align:center;font-weight:600;font-size:13px;color:var(--muted);padding:9px 8px;border-radius:var(--radius-sm);cursor:pointer;user-select:none;transition:all .18s var(--ease)}
.section-nav .snav:hover{color:var(--navy)}
.section-nav .snav.active{background:var(--card);color:var(--navy);box-shadow:var(--shadow-sm)}

/* ===== POS ===== */
.pos-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:14px}
.pos-head .field{margin-bottom:0;min-width:200px}
.pos-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.muted-line{font-size:12.5px;color:var(--muted);margin-bottom:10px}
.pos-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:880px){.pos-grid{grid-template-columns:1.35fr 1fr;align-items:start}.pos-right{position:sticky;top:76px}}
.pick-cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:14px 0 8px}
.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.pick-item{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 12px;cursor:pointer;font-family:inherit;transition:border-color .16s var(--ease),background .16s var(--ease)}
.pick-item:hover{border-color:var(--teal);background:var(--teal-050)}
.pick-item:active{transform:translateY(.5px)}
.pick-item .pi-name{font-weight:700;font-size:13px;color:var(--navy)}
.pick-item .pi-price{font-size:12px;color:var(--muted);font-weight:600}
.cart-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.cart-row .cr-name{flex:1;min-width:0;font-weight:700;font-size:13px;color:var(--navy)}
.cart-row .cr-unit{color:var(--muted);font-weight:600;font-size:11px}
.qty{display:flex;align-items:center;gap:4px}
.qbtn{width:28px;height:28px;border-radius:8px;border:1px solid var(--line-strong);background:#fff;font-weight:700;font-size:16px;line-height:1;cursor:pointer;color:var(--navy);transition:.15s var(--ease)}
.qbtn:hover{border-color:var(--teal);color:var(--teal-700)}
.qinput{width:46px;text-align:center;border:1px solid var(--line-strong);border-radius:8px;padding:5px 2px;font-size:13px;font-family:inherit;font-variant-numeric:tabular-nums}
.cart-row .cr-amt{min-width:62px;text-align:right;font-weight:800;color:var(--navy);font-size:13.5px;font-variant-numeric:tabular-nums}
.cart-row .cr-del{background:none;border:none;color:var(--faint);font-size:15px;cursor:pointer;padding:2px 4px;transition:.15s var(--ease)}
.cart-row .cr-del:hover{color:var(--danger)}
.cart-sub{display:flex;justify-content:space-between;align-items:center;padding:10px 0 2px;font-size:13px;color:var(--muted);font-weight:600}
.cart-sub .cs-v{color:var(--ink);font-variant-numeric:tabular-nums}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:12px;border-top:1.5px solid var(--navy);font-size:19px;font-weight:800;color:var(--navy);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pos-cust{margin-top:16px}
.disc-row{display:flex;align-items:center;gap:8px;margin-top:10px}
.disc-row .disc-lbl{font-size:12px;font-weight:700;color:var(--navy);white-space:nowrap}
.disc-row input{flex:1;padding:8px 11px;border:1px solid var(--line-strong);border-radius:var(--radius-xs);font-family:inherit;font-size:13px}
.disc-row .disc-mode{display:flex;border:1px solid var(--line-strong);border-radius:var(--radius-xs);overflow:hidden}
.disc-row .disc-mode button{border:none;background:#fff;padding:8px 11px;font-family:inherit;font-weight:700;font-size:12.5px;color:var(--muted);cursor:pointer}
.disc-row .disc-mode button.on{background:var(--navy);color:#fff}
.settle-toggle{display:flex;align-items:center;gap:9px;margin:4px 0 12px;font-size:13px;font-weight:600;color:var(--navy);cursor:pointer;user-select:none}
.settle-toggle input{width:17px;height:17px;accent-color:var(--teal);cursor:pointer}

/* Price rows */
.price-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.price-row:last-child{border-bottom:none}
.price-row .pr-name{flex:1;font-weight:700;color:var(--navy);font-size:13.5px}
.price-row .pr-unit{color:var(--muted);font-weight:600;font-size:11px}
.price-row .pr-price{min-width:68px;text-align:right;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}

/* Bill created modal */
.bill-done{text-align:center;margin-bottom:18px}
.bill-done .bd-check{width:54px;height:54px;border-radius:50%;background:var(--ok-bg);color:var(--ok);font-size:26px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.bill-done .bd-title{font-weight:700;color:var(--navy);font-size:15px}
.bill-done .bd-total{font-size:30px;font-weight:800;color:var(--navy);margin-top:5px;letter-spacing:-.03em}

/* MIS bars */
.mis-cat{display:flex;align-items:center;gap:10px;padding:8px 0}
.mis-cat .mc-name{flex:0 0 34%;font-weight:700;font-size:13px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mis-cat .mc-bar{flex:1;height:9px;background:var(--bg-soft);border-radius:var(--pill);overflow:hidden}
.mis-cat .mc-fill{height:100%;background:var(--teal);border-radius:var(--pill)}
.mis-cat .mc-amt{min-width:68px;text-align:right;font-weight:800;color:var(--navy);font-size:13px;font-variant-numeric:tabular-nums}

/* collapsible */
.panel.collapsible .panel-head{user-select:none;cursor:pointer}
.collapse-x{margin-left:auto;color:var(--muted);transition:transform .2s var(--ease)}
.panel.collapsible.collapsed .panel-body{display:none}
.panel.collapsible.collapsed .collapse-x{transform:rotate(-90deg)}

/* completed rows */
.done-row{display:flex;align-items:center;gap:11px;padding:11px 18px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s var(--ease)}
.done-row:last-child{border-bottom:none}
.done-row:hover{background:var(--bg-soft)}
.done-row .dr-check{width:24px;height:24px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.done-row .dr-main{flex:1;min-width:0;font-size:13px}
.done-row .dr-inv{font-weight:800;color:var(--navy)}
.done-row .dr-step{color:var(--muted)}
.done-row .dr-time{font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums;flex:none}

/* Staff card with step tabs */
.staff-card{padding:16px 18px;border-bottom:1px solid var(--line)}
.staff-card:last-child{border-bottom:none}
.sc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.sc-main{min-width:0}
.sc-inv{font-weight:800;color:var(--navy);font-size:15px;letter-spacing:-.02em}
.sc-cust{color:var(--muted);font-size:13px;margin-top:2px}
.sc-right{display:flex;align-items:center;gap:9px;flex:none}
.sc-steps{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.step-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--muted);font-family:inherit}
.step-pill .sp-code{font-weight:800}
.step-pill .sp-name{font-weight:600}
.step-pill.done{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.step-pill.todo{color:var(--faint);opacity:.7}
.step-pill.locked{background:var(--warn-bg);color:var(--warn);border-color:transparent}
.step-pill.locked .sp-lock{font-weight:800}
.step-pill.current{cursor:pointer;border:none;color:#fff;padding:11px 16px;font-size:13.5px;background:var(--teal);transition:background .18s var(--ease),transform .15s var(--ease)}
.step-pill.current:hover{background:var(--teal-600)}
.step-pill.current:active{transform:translateY(.5px)}
.step-pill.current .sp-go{background:rgba(255,255,255,.22);padding:2px 8px;border-radius:6px;font-weight:800;font-size:11.5px}
.step-pill.current:disabled{opacity:.7}

/* Tabs */
.tabs{display:inline-flex;gap:3px;margin-bottom:20px;flex-wrap:wrap;background:var(--bg-soft);padding:4px;border-radius:var(--radius);border:1px solid var(--line)}
.tab{padding:8px 15px;border-radius:var(--radius-sm);background:transparent;border:none;cursor:pointer;font-weight:600;font-size:12.5px;color:var(--muted);transition:all .18s var(--ease)}
.tab:hover{color:var(--navy)}
.tab.active{background:var(--card);color:var(--navy);box-shadow:var(--shadow-sm)}

/* Empty / misc */
.empty{text-align:center;color:var(--muted);padding:40px 20px}
.empty .big{font-size:15px;color:var(--ink);font-weight:600;margin-bottom:4px}
.spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}
.center-load{display:grid;place-items:center;min-height:60vh;color:var(--muted)}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(11,18,32,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:50;padding:20px;animation:fade .18s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{background:#fff;border-radius:18px;width:100%;max-width:520px;max-height:88vh;overflow:auto;box-shadow:var(--shadow-lg);animation:pop .28s var(--ease-out)}
@keyframes pop{from{transform:translateY(12px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}
.modal-head h3{font-size:18px;font-weight:800;letter-spacing:-.02em}
.modal-body{padding:22px}
.modal.wide{max-width:660px}

/* Toast */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:13px 22px;border-radius:var(--radius);font-weight:600;font-size:13px;z-index:80;box-shadow:var(--shadow-md);animation:toastin .25s var(--ease-out)}
@keyframes toastin{from{transform:translate(-50%,10px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.toast.ok{background:var(--ok)}
.toast.err{background:var(--danger)}

/* Setup notice */
.setup-note{max-width:620px;margin:60px auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px}
.setup-note h2{margin-bottom:10px}
.setup-note ol{padding-left:20px;line-height:1.9}

@media (max-width:860px){
  .auth{grid-template-columns:1fr}
  .auth-brand{display:none}
}
@media (max-width:640px){
  main{padding:16px 15px 54px}
  .form-row,.detail-grid{grid-template-columns:1fr}
  #topbar{padding:0 14px;height:56px}
  .topbar-right{gap:8px}
  .ctx-label,#who-name{display:none}
  .brand-mark{width:31px;height:31px}
  .brand-text strong{font-size:15px}
  .page-head h2{font-size:20px}
  .section-nav{max-width:none}
  .staff-hello .sh-name{font-size:16px}
  .clockbar{padding:7px 11px}
  .clockbar .cb-time{font-size:16px}
  .sc-head{flex-direction:column;align-items:stretch;gap:8px}
  .sc-right{justify-content:space-between}
  .sc-steps .step-pill.current{width:100%;justify-content:center;font-size:14px;padding:13px}
  .modal-body{padding:18px}
  .searchbar{max-width:none}
}

/* ============================================================
   App shell with left sidebar (v4.1)
   ============================================================ */
body.shell-on #topbar{display:none}
#sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;z-index:30}
body.shell-on main{margin-left:230px;max-width:none;padding:26px 32px 72px}
.sb-brand{display:flex;align-items:center;gap:11px;padding:4px 8px 18px}
.sb-brand .sb-mark{width:34px;height:34px;border-radius:9px;background:var(--navy);display:grid;place-items:center;overflow:hidden;flex:none}
.sb-brand .sb-mark img{width:24px;height:24px;object-fit:contain}
.sb-brand .sb-wm{display:flex;flex-direction:column;line-height:1.05}
.sb-brand .sb-wm b{font-size:15px;color:var(--navy);font-weight:800;letter-spacing:-.03em}
.sb-brand .sb-wm i{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--teal);font-weight:700;font-style:normal}
.sb-ctx{font-size:11px;color:var(--muted);font-weight:600;padding:0 10px 12px;text-transform:uppercase;letter-spacing:.06em}
.sb-nav{display:flex;flex-direction:column;gap:3px}
.sb-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;font-weight:600;font-size:13.5px;color:var(--muted);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease);user-select:none}
.sb-item:hover{background:var(--bg-soft);color:var(--navy)}
.sb-item.active{background:var(--navy);color:#fff}
.sb-item .sb-ic{width:19px;height:19px;flex:none;display:grid;place-items:center}
.sb-item .sb-ic svg{width:19px;height:19px}
.sb-spacer{flex:1;min-height:16px}
.sb-foot{border-top:1px solid var(--line);padding-top:12px;margin-top:8px;display:flex;align-items:center;gap:10px}
.sb-avatar{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.sb-who{min-width:0;flex:1}
.sb-who .sb-uname{font-weight:700;font-size:13px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-who .sb-urole{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.sb-out{background:none;border:none;cursor:pointer;color:var(--faint);padding:6px;border-radius:8px;display:grid;place-items:center;transition:.15s var(--ease)}
.sb-out:hover{color:var(--danger);background:var(--danger-bg)}
.sb-out svg{width:18px;height:18px}

@media(max-width:820px){
  body.shell-on #topbar{display:flex}
  body.shell-on main{margin-left:0;padding:16px 15px 84px}
  #sidebar{top:auto;right:0;left:0;bottom:0;width:auto;height:62px;flex-direction:row;border-right:none;border-top:1px solid var(--line);padding:0;box-shadow:0 -4px 16px -8px rgba(16,24,40,.12)}
  .sb-brand,.sb-spacer,.sb-foot,.sb-ctx{display:none}
  .sb-nav{flex-direction:row;width:100%;gap:0}
  .sb-item{flex:1;flex-direction:column;gap:3px;justify-content:center;align-items:center;border-radius:0;font-size:10.5px;font-weight:600;padding:8px 4px}
  .sb-item.active{background:none;color:var(--teal-700)}
  .sb-item:hover{background:none}
}

/* ============================================================
   POS refinements — padded panels + fast picker
   ============================================================ */
.pos-grid .panel-body{padding:14px 18px 18px}
.pos-cust .panel-body{padding:16px 18px}
.pos-right .panel{margin-bottom:16px}
.pick-toolbar{display:flex;flex-direction:column;gap:10px;padding:14px 18px 4px;position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid var(--line)}
.pick-search{display:flex;align-items:center;gap:8px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px}
.pick-search input{border:none;outline:none;background:none;font-family:inherit;font-size:13.5px;color:var(--ink);width:100%}
.pick-search .s-ic{color:var(--faint);display:grid;place-items:center;flex:none}
.cat-chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.cat-chips::-webkit-scrollbar{display:none}
.cat-chip{white-space:nowrap;border:1px solid var(--line-strong);background:#fff;color:var(--muted);font-family:inherit;font-weight:600;font-size:12.5px;padding:7px 13px;border-radius:var(--pill);cursor:pointer;transition:.15s var(--ease)}
.cat-chip:hover{border-color:var(--navy);color:var(--navy)}
.cat-chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pick-scroll{max-height:60vh;overflow-y:auto;padding:12px 18px 16px}
.pick-item{min-height:58px;justify-content:center}
.pick-item .pi-price{color:var(--teal-700)}
.pick-empty{text-align:center;color:var(--muted);padding:30px 10px;font-size:13px}

/* ============================================================
   v5 — SaaS console: shell, dashboard, orders, drawer, checkout
   ============================================================ */
.ic{display:inline-grid;place-items:center;width:18px;height:18px;flex:none}
.ic svg{width:100%;height:100%;display:block}
.btn .ic{width:16px;height:16px;margin-left:-2px}
.spinner.dark{border-color:rgba(16,24,40,.14);border-top-color:var(--teal);width:22px;height:22px}
.link-btn{background:none;border:none;padding:4px 0;font:inherit;font-size:12.5px;font-weight:600;color:var(--teal-700);cursor:pointer;display:inline-flex;align-items:center;gap:2px}
.link-btn:hover{color:var(--navy)}
.link-btn .ic{width:14px;height:14px}
.icon-action{width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--card);color:var(--ink);display:inline-grid;place-items:center;cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease);text-decoration:none}
.icon-action:hover{border-color:var(--ink)}
.icon-action .ic{width:18px;height:18px}
.icon-action.sm{width:32px;height:32px}
.icon-action.sm .ic{width:16px;height:16px}

/* tags (one badge system everywhere) */
.tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;line-height:1;padding:5px 8px;border-radius:6px;background:var(--bg-soft);color:var(--ink);white-space:nowrap}
.tag.ok{background:var(--ok-bg);color:var(--ok)}
.tag.warn{background:var(--warn-bg);color:var(--warn)}
.tag.danger{background:var(--danger-bg);color:var(--danger)}

/* page head */
.page-head{align-items:center;margin-bottom:22px}
.ph-titles{min-width:0}
.page-head h2{font-size:24px}
.ph-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.att-slot{display:flex}
.att-chip{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 13px;border-radius:var(--radius-sm);font:inherit;font-size:12.5px;font-weight:600;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);white-space:nowrap}
.att-chip.todo{cursor:pointer;border-color:rgba(180,121,27,.4);background:var(--warn-bg);color:var(--warn)}
.att-chip.todo:hover{border-color:var(--warn)}
.att-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.att-chip.ok{color:var(--ok)}

/* sidebar v5 */
#sidebar{width:236px;padding:16px 12px}
body.shell-on main{margin-left:236px;padding:28px 34px 72px}
.sb-brand{padding:4px 10px 16px}
.sb-store{display:flex;align-items:center;gap:8px;margin:0 4px 14px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;color:var(--ink);background:var(--bg)}
.sb-store-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}
.sb-nav{gap:1px;overflow-y:auto}
.sb-group{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:14px 12px 6px}
.sb-item{padding:8px 10px;font-size:13.5px;text-decoration:none;gap:10px}
.sb-item .sb-ic{width:18px;height:18px;color:var(--faint)}
.sb-item:hover .sb-ic{color:var(--navy)}
.sb-item.active .sb-ic{color:#fff}
.sb-label{flex:1;min-width:0}
.sb-badge{display:none;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--bg-soft);color:var(--ink);font-size:11px;font-weight:700;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.sb-badge.on{display:inline-flex}
.sb-item.active .sb-badge{background:rgba(255,255,255,.18);color:#fff}
.sb-more{display:none}
.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.more-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}
.more-item .ic{width:22px;height:22px;color:var(--muted)}
.more-item.on{border-color:var(--navy);background:var(--bg-soft)}
.more-item.danger{color:var(--danger)}
.more-item.danger .ic{color:var(--danger)}

/* KPI cards */
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.kpi-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi{display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
button.kpi{cursor:pointer}
button.kpi:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}
.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.kpi-label{font-size:12.5px;font-weight:600;color:var(--muted)}
.kpi-ic{width:30px;height:30px;padding:6px;border-radius:8px;background:var(--bg-soft);color:var(--muted)}
.kpi-val{font-size:28px;font-weight:800;letter-spacing:-.035em;color:var(--navy);line-height:1.1;font-variant-numeric:tabular-nums}
.kpi-sub{font-size:12px;color:var(--muted)}
.kpi.teal .kpi-ic{background:var(--teal-050);color:var(--teal-700)}
.kpi.danger .kpi-ic{background:var(--danger-bg);color:var(--danger)}
.kpi.danger .kpi-val{color:var(--danger)}
.kpi.warn .kpi-ic{background:var(--warn-bg);color:var(--warn)}
.kpi.ok .kpi-ic{background:var(--ok-bg);color:var(--ok)}

/* dashboard cards */
.home-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.card-x{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 18px 12px;min-width:0;margin-bottom:16px}
.home-row > .card-x{margin-bottom:0}
.cx-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.cx-head h3{font-size:15px;font-weight:700;letter-spacing:-.02em}
.cx-head p{font-size:12.5px;color:var(--muted);margin:2px 0 0}
.pipe-bar{display:flex;gap:3px;height:12px;border-radius:6px;overflow:hidden;margin-bottom:16px}
.pipe-seg{min-width:6px;border-radius:3px}
.t-warn{background:#E4A43B}.t-c1{background:#3B82C4}.t-c2{background:#7A6FD1}.t-c3{background:#C46BA8}.t-c4{background:#12A594}.t-ok{background:#0E9F55}.t-empty{background:var(--bg-soft)}
.pipe-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
.pl-item{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
.pl-dot{width:9px;height:9px;border-radius:3px;flex:none}
.pl-name{flex:1;color:var(--ink)}
.pl-n{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.list-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:inherit;background:none;border:none;border-top:1px solid var(--line);padding:11px 2px;cursor:pointer}
.list-row:first-of-type{border-top:none}
.cx-head + .list-row{border-top:none}
.list-row:hover .lr-title{color:var(--teal-700)}
.lr-main{flex:1;min-width:0}
.lr-title{font-weight:700;font-size:13.5px;color:var(--navy);display:flex;gap:8px;align-items:baseline;min-width:0}
.lr-dim{font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lr-sub{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lr-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.lr-amt{font-weight:700;font-size:13.5px;color:var(--navy);font-variant-numeric:tabular-nums}
.calm{display:flex;align-items:center;gap:12px;padding:18px 4px 14px}
.calm-ic{width:36px;height:36px;padding:8px;border-radius:50%;background:var(--ok-bg);color:var(--ok)}
.calm b{display:block;font-size:14px;color:var(--navy)}
.calm span{font-size:12.5px;color:var(--muted)}
.bars{display:flex;align-items:flex-end;gap:6px;height:170px;padding:6px 2px 0}
.bar-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;gap:6px}
.bar-v{font-size:11px;font-weight:700;color:var(--navy);min-height:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.bar-track{flex:1;width:100%;max-width:42px;display:flex;align-items:flex-end;border-radius:6px;background:var(--bg-soft);overflow:hidden}
.bar-fill2{width:100%;background:#9ADCD3;border-radius:6px 6px 0 0}
.bar-col.hi .bar-fill2{background:var(--teal)}
.bar-l{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;min-height:14px}

/* segmented filters + toolbars */
.list-toolbar{justify-content:space-between}
.seg{display:inline-flex;gap:2px;padding:3px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);max-width:100%}
.seg-scroll{overflow-x:auto;scrollbar-width:none}
.seg-scroll::-webkit-scrollbar{display:none}
.seg-b{display:inline-flex;align-items:center;gap:7px;border:none;background:transparent;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);padding:7px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s var(--ease),color .15s var(--ease)}
.seg-b:hover{color:var(--navy)}
.seg-b.on{background:var(--card);color:var(--navy);box-shadow:var(--shadow-sm)}
.seg-n{font-size:11px;font-weight:700;color:var(--faint);font-variant-numeric:tabular-nums}
.seg-b.on .seg-n{color:var(--muted)}
.seg-b.alert .seg-n{color:var(--danger)}
.seg-sm .seg-b{padding:6px 10px;font-size:12px}
.select-s{padding:8px 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:13px;font-weight:600;color:var(--navy);background:#fff}

/* data tables */
.table-card{padding:0;overflow:hidden}
.table-scroll{overflow-x:auto}
table.dt th{padding:11px 14px;background:var(--bg);border-bottom:1px solid var(--line);white-space:nowrap}
table.dt td{padding:12px 14px;vertical-align:middle}
table.dt tbody tr{cursor:pointer}
table.dt.compact td,table.dt.compact th{padding:9px 10px}
.cell-inv{font-weight:800;color:var(--navy);display:flex;align-items:center;gap:7px;white-space:nowrap}
.cell-main{font-weight:600;color:var(--ink)}
.cell-sub{font-size:12px;color:var(--muted);margin-top:2px}
.status-cell{display:flex;flex-direction:column;gap:6px;min-width:140px}
.st-line{display:flex;align-items:center;gap:7px}
.st-name{font-weight:600;font-size:13px;color:var(--ink);white-space:nowrap}
.mini-prog{height:4px;width:120px;border-radius:2px;background:var(--bg-soft);overflow:hidden}
.mini-prog span{display:block;height:100%;background:var(--teal);border-radius:2px}
tr.row-sel td{background:var(--teal-050)}
.table-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.row-act{text-align:right;width:52px}
.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:48px 20px;color:var(--muted);font-size:13px}
.empty-state b{color:var(--navy);font-size:14.5px}
.es-ic{width:44px;height:44px;padding:10px;border-radius:12px;background:var(--bg-soft);color:var(--muted);margin-bottom:4px}
.empty-state .btn{margin-top:8px}
.bulkbar{border-radius:var(--radius);padding:9px 12px}
.bb-lbl{opacity:.7;font-size:12.5px}
.bb-clear{margin-left:auto}
.cust-cell{display:flex;align-items:center;gap:11px}
.avatar-s{width:32px;height:32px;border-radius:50%;background:var(--bg-soft);color:var(--navy);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.avatar-l{width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}

/* share bars (reports) */
.share{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}
.share-top{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:6px}
.share-name{font-weight:600;color:var(--ink)}
.share-v{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.share-pct{font-weight:600;color:var(--muted);margin-left:8px}
.share-track{height:6px;border-radius:3px;background:var(--bg-soft);overflow:hidden}
.share-track span{display:block;height:100%;background:var(--teal);border-radius:3px}

/* ---------- side drawer ---------- */
.modal-overlay.is-drawer{place-items:stretch end;padding:0}
.modal-overlay.is-drawer .modal{height:100dvh;max-height:none;max-width:540px;border-radius:18px 0 0 18px;animation:drawerIn .28s var(--ease-out)}
@keyframes drawerIn{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
.drawer-body{display:flex;flex-direction:column;gap:14px}
.drawer-body > *{margin-bottom:0!important}
.dr-hero{display:flex;align-items:center;gap:13px}
.dr-hero-main{flex:1;min-width:0}
.dr-name{font-size:17px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.dr-sub{font-size:12.5px;color:var(--muted);margin-top:2px}
.dr-contact{display:flex;gap:6px}
.dr-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.dr-amt{margin-left:auto;font-size:20px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.stepper{display:flex;gap:4px;overflow-x:auto;padding:4px 0 2px;scrollbar-width:none}
.stepper::-webkit-scrollbar{display:none}
.step{flex:1;min-width:64px;display:flex;flex-direction:column;gap:6px}
.step-dot{height:4px;border-radius:2px;background:var(--bg-soft)}
.step.done .step-dot{background:var(--teal)}
.step.now .step-dot{background:var(--navy)}
.step-l{font-size:10.5px;font-weight:600;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.step.done .step-l{color:var(--muted)}
.step.now .step-l{color:var(--navy)}
.dr-section-t{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:6px}
.dr-items{border:1px solid var(--line);border-radius:var(--radius);padding:4px 14px 12px}
.dr-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.dr-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.dr-note{display:flex;gap:9px;align-items:flex-start;padding:11px 13px;border-radius:var(--radius-sm);background:var(--warn-bg);color:#7a5210;font-size:13px}
.dr-note .ic{width:16px;height:16px;margin-top:1px}
.dr-list{display:flex;flex-direction:column}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius)}
.mini-stats > div{padding:12px 14px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.mini-stats > div:first-child{border-left:none}
.mini-stats b{font-size:17px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}
.mini-stats span{font-size:11.5px;color:var(--muted)}
.warn-t{color:var(--warn)!important}
.sc-note{font-size:12.5px;color:#7a5210;background:var(--warn-bg);border-radius:6px;padding:5px 8px;margin-top:6px;display:inline-block}

/* totals rows (checkout + drawer) */
.tot-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--muted);padding:3px 0;font-variant-numeric:tabular-nums}
.tot-row.disc span:last-child{color:var(--ok);font-weight:600}
.tot-row.grand{font-size:18px;font-weight:800;color:var(--navy);padding-top:8px;letter-spacing:-.02em}

/* ---------- POS v5 ---------- */
.pos-head{margin-bottom:14px}
.field.inline{display:flex;align-items:center;gap:10px;margin:0}
.field.inline label{margin:0}
.field.inline select{width:auto;min-width:240px}
.pos-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}
@media(min-width:900px){.pos-grid{grid-template-columns:minmax(0,1fr) 360px}}
@media(min-width:1200px){.pos-grid{grid-template-columns:minmax(0,1fr) 400px}}
.pick-panel{margin:0;display:flex;flex-direction:column}
.pick-toolbar{position:static;padding:14px 16px 10px}
.pick-search{background:var(--card);border-color:var(--line-strong);padding:10px 12px}
.pick-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(18,165,148,.14)}
.cat-chip{display:inline-flex;align-items:center;gap:7px}
.cc-n{font-size:11px;font-weight:700;opacity:.55;font-variant-numeric:tabular-nums}
.pick-scroll{max-height:none;padding:6px 16px 18px}
@media(min-width:900px){.pick-scroll{max-height:calc(100dvh - 250px)}}
.pick-cat{margin:16px 0 8px;font-size:11px}
.pick-grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:8px}
.pick-item{position:relative;min-height:64px;padding:11px 12px;justify-content:space-between}
.pick-item .pi-name{font-size:13px;line-height:1.3;padding-right:22px}
.pick-item .pi-price{font-size:12.5px;font-weight:700;color:var(--navy)}
.pick-item.in{border-color:var(--teal);background:var(--teal-050)}
.pi-qty{position:absolute;top:8px;right:8px;min-width:22px;height:20px;padding:0 5px;border-radius:10px;background:var(--teal);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}
.checkout{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}
@media(min-width:900px){.checkout{position:sticky;top:18px;max-height:calc(100dvh - 36px)}}
.co-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.co-title{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px}
.co-title h3{font-size:15px;font-weight:700}
.co-count{font-size:12px;color:var(--muted);font-weight:600}
.co-inv{display:flex;align-items:center;gap:2px;border:1px solid var(--line-strong);border-radius:8px;padding:0 4px 0 9px;font-size:12.5px;font-weight:700;color:var(--muted)}
.inv-input{width:64px;border:none;outline:none;font:inherit;font-size:13px;font-weight:700;color:var(--navy);padding:6px 2px;background:none;font-variant-numeric:tabular-nums}
.co-body{flex:1;overflow-y:auto;overscroll-behavior:contain}
.co-sec{padding:14px 16px;border-bottom:1px solid var(--line)}
.co-sec:last-child{border-bottom:none}
.co-sec-t{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.co-sec .field{margin-bottom:12px}
.co-sec .field:last-child{margin-bottom:0}
.co-sec .field label{font-size:11.5px;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:600}
.co-sec .field input,.co-sec .field select{padding:9px 11px;font-size:13.5px}
.co-cust{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.co-cust .field{margin-bottom:0}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;max-height:260px;overflow:auto}
.sg-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;background:none;font:inherit;padding:8px;border-radius:8px;cursor:pointer}
.sg-item:hover{background:var(--bg-soft)}
.sg-main{display:flex;flex-direction:column;min-width:0}
.sg-main b{font-size:13px;color:var(--navy)}
.sg-main span{font-size:12px;color:var(--muted)}
.cust-badge{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:12px;color:var(--muted)}
.co-empty{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;padding:6px 0}
.co-empty .es-ic{width:34px;height:34px;padding:7px;margin:0}
.cart-row{padding:9px 0}
.cart-row:last-child{border-bottom:none}
.cr-title{font-weight:700;font-size:13px;color:var(--navy)}
.cr-meta{font-size:11.5px;color:var(--muted);font-weight:500;margin-top:1px}
.disc-row{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line-strong)}
.field-hint{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.45}
.field-hint .tag{margin-right:4px;padding:3px 6px}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.chip-b{border:1px solid var(--line-strong);background:#fff;font:inherit;font-size:12px;font-weight:600;color:var(--muted);padding:6px 10px;border-radius:var(--pill);cursor:pointer}
.chip-b:hover{border-color:var(--navy);color:var(--navy)}
.chip-b.on{background:var(--navy);border-color:var(--navy);color:#fff}
.form-row.bn{grid-template-columns:84px 1fr;gap:10px}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;margin-top:4px;user-select:none}
.sw-text{display:flex;flex-direction:column}
.sw-text b{font-size:13px;color:var(--navy)}
.sw-text span{font-size:12px;color:var(--muted)}
.switch{position:relative;width:38px;height:22px;border-radius:11px;background:#D5DAE3;flex:none;transition:background .18s var(--ease)}
.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.switch .knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.25);transition:transform .18s var(--ease);pointer-events:none}
.switch.on{background:var(--teal)}
.switch.on .knob{transform:translateX(16px)}
.co-sec .pay-methods{margin-top:12px}
.co-foot{padding:12px 16px 16px;border-top:1px solid var(--line);background:var(--bg)}
.co-totals{margin-bottom:10px}
.co-create{padding:13px;font-size:14px}
.co-create:disabled{opacity:1;background:#D5DAE3;color:var(--muted)}

/* bill created */
.bill-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin:0}
.bill-done .bd-check{width:52px;height:52px;padding:13px;margin:0 0 6px}
.bill-done .bd-check .ic{width:26px;height:26px}
.bd-status{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.bd-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:10px;width:100%}
.bd-actions .btn{flex:1;justify-content:center;min-width:140px;text-decoration:none}
.bd-link{margin-top:6px}

/* ---------- mobile ---------- */
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
  #sidebar{height:64px;padding:0 4px;width:auto;left:0;right:0}
  .sb-item .sb-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  body.shell-on main{margin-left:0;padding:16px 14px 92px}
  .sb-group,.sb-store,.sb-secondary{display:none!important}
  .sb-more{display:flex}
  .sb-item{gap:3px;padding:8px 2px;font-size:10.5px}
  .sb-item .sb-ic{width:20px;height:20px}
  .sb-item.active .sb-ic{color:var(--teal-700)}
  .sb-badge{position:absolute;margin-left:22px;margin-top:-26px;min-width:16px;height:16px;font-size:9.5px;padding:0 4px;background:var(--danger);color:#fff}
  .sb-item{position:relative}
  .sb-item.active .sb-badge{background:var(--danger);color:#fff}
  .home-row{grid-template-columns:1fr}
  .page-head{flex-direction:column;align-items:stretch;gap:12px}
  .ph-actions{justify-content:flex-start}
  .ph-actions .btn-primary{margin-left:auto}
  .page-head h2{font-size:21px}
  .list-toolbar{flex-direction:column;align-items:stretch}
  .list-toolbar .searchbar{max-width:none}
  .modal-overlay.is-drawer .modal{max-width:none;border-radius:0}
  .co-cust{grid-template-columns:1fr}
  .more-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:480px){.kpi-val{font-size:23px}.kpi{padding:14px}.pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* pay & deliver queue */
.close-row{display:flex;align-items:center;gap:14px;padding:12px 2px;border-top:1px solid var(--line)}
.cx-head + .close-row{border-top:none}
.cl-left{flex:1;min-width:0;text-align:left;background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:0}
.cl-left:hover .lr-title{color:var(--teal-700)}
.cl-right{display:flex;align-items:center;gap:10px;flex:none}
.cx-head.pad{padding:16px 18px 12px;margin:0}
@media(max-width:820px){.close-row{flex-wrap:wrap}.cl-right{width:100%;justify-content:flex-end}}
/* POS mobile: sticky review bar */
.pos-mbar{display:none}
@media(max-width:899px){
  .pick-scroll{max-height:58vh}
  .pos-mbar.on{display:flex;align-items:center;gap:10px;position:fixed;left:12px;right:12px;bottom:76px;z-index:25;border:none;border-radius:14px;background:var(--pri);color:#fff;padding:13px 16px;font:inherit;font-size:14px;font-weight:600;box-shadow:0 12px 28px -10px rgba(10,16,30,.5);cursor:pointer}
  .pos-mbar .mb-count{opacity:.7;font-weight:500}
  .pos-mbar .mb-total{font-weight:800;font-variant-numeric:tabular-nums}
  .pos-mbar .mb-go{margin-left:auto}
  .pos-mbar .ic{width:16px;height:16px}
  .pos{padding-bottom:70px}
}
@media(min-width:821px) and (max-width:899px){.pos-mbar.on{bottom:18px}}

/* ============================================================
   v6 — Brand pass: Kupaico navy + teal, used on purpose
   navy = structure & primary actions · teal = money, success, "go"
   ============================================================ */
:root{
  --navy:#16273F; --navy-700:#1B3050; --navy-600:#23395A; --navy-500:#3A567E; --navy-050:#EEF2F8;
  --teal:#2FB8A6; --teal-600:#23A392; --teal-700:#14806F; --teal-050:#E8F7F4; --teal-100:#CFEFEA;
  --pri:#16273F; --pri-600:#23395A;
  --bg:#F4F6F9; --bg-soft:#ECEFF4;
  --line:rgba(22,39,63,.09); --line-strong:rgba(22,39,63,.16);
}
::selection{background:rgba(47,184,166,.25)}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-600)}
.btn-accent{background:var(--teal);color:var(--navy);font-weight:700}
.btn-accent:hover{background:#3CC7B5}
.btn-accent:disabled{background:#D5DAE3;color:var(--muted)}
.btn-ghost-light{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18)}
.btn-ghost-light:hover{background:rgba(255,255,255,.16)}
.btn:focus-visible,.icon-action:focus-visible,.seg-b:focus-visible,.sb-item:focus-visible,.rc-price:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

/* sidebar: navy active with a teal tick */
.sb-item.active{background:var(--navy);color:#fff;box-shadow:inset 3px 0 0 var(--teal)}
.sb-item.active .sb-ic{color:var(--teal)}
.sb-mark{background:var(--navy)}
.sb-store-dot{background:var(--teal)}
.sb-avatar{background:var(--teal);color:var(--navy)}
.role-pill{background:var(--teal-050);color:var(--teal-700)}

/* brand-toned data colours */
.t-warn{background:#E9A23B}.t-c1{background:#23395A}.t-c2{background:#5B79A3}.t-c3{background:#8FD9CF}.t-c4{background:#2FB8A6}.t-ok{background:#14806F}
.bar-fill2{background:var(--teal-100)}
.bar-col.hi .bar-fill2{background:var(--teal)}
.mini-prog span,.share-track span,.bar .bar-fill,.sc-bar-fill,.mis-cat .mc-fill,.spark-bar{background:var(--teal)}
.kpi.teal .kpi-ic{background:var(--teal-050);color:var(--teal-700)}

/* older components, brought in line */
.stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;border-radius:var(--radius-lg);padding:16px 18px}
.stat .l{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;color:var(--muted);margin:0 0 6px}
.stat .n{font-size:28px}
.stat.accent{background:var(--card);border-color:var(--line)}
.stat.accent .n{color:var(--teal-700)}
.chip{border-radius:6px;padding:4px 8px;font-size:11.5px}
.panel table th{background:var(--bg);border-bottom:1px solid var(--line)}
.panel-head{padding:14px 18px}
.card{border-radius:12px}
.col{border-radius:14px}
.col-head .code{background:var(--navy)}
.step-now{background:var(--teal-050);color:var(--teal-700)}
.pay-method.sel{border-color:var(--teal);background:var(--teal-050);color:var(--teal-700)}
.tabs .tab.active,.seg-b.on{color:var(--navy)}

/* ---------- dashboard hero ---------- */
.hero-dash{position:relative;overflow:hidden;background:var(--navy);color:#fff;border-radius:18px;padding:22px 22px 18px;margin-bottom:16px;isolation:isolate}
.hero-dash::after{content:"";position:absolute;right:-90px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(47,184,166,.28),transparent 65%);z-index:-1;pointer-events:none}
.hd-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.hd-hi{font-size:22px;font-weight:800;letter-spacing:-.03em}
.hd-line{font-size:13.5px;color:rgba(255,255,255,.66);margin-top:3px}
.hd-cta{display:flex;gap:8px;flex-wrap:wrap}
.hd-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hd-stat{display:flex;flex-direction:column;gap:4px;text-align:left;font:inherit;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:13px 14px;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}
.hd-stat:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.hd-lbl{font-size:12px;font-weight:600;color:rgba(255,255,255,.7)}
.hd-val{font-size:26px;font-weight:800;letter-spacing:-.035em;line-height:1.15;font-variant-numeric:tabular-nums}
.hd-sub{font-size:11.5px;color:rgba(255,255,255,.55)}
.hd-stat.teal .hd-val{color:#7FE3D6}
.hd-stat.danger .hd-val{color:#FF9B91}
@media(max-width:820px){.hd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hd-top{flex-direction:column}.hd-cta{width:100%}.hd-cta .btn{flex:1;justify-content:center}}

/* ---------- POS brand touches ---------- */
.co-inv{gap:6px;padding:5px 6px 5px 10px;border-color:var(--line);background:var(--bg)}
.inv-no{font-size:13px;color:var(--navy);font-variant-numeric:tabular-nums}
.auto-tag{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--teal-050);color:var(--teal-700);padding:3px 6px;border-radius:5px}
.co-create{font-size:14.5px}
.pick-item.in{border-color:var(--teal);background:var(--teal-050)}
.pi-qty{background:var(--navy)}
.cat-chip.on{background:var(--navy);border-color:var(--navy)}
.chip-b.on{background:var(--navy);border-color:var(--navy)}
.bill-done .bd-check{background:var(--teal-050);color:var(--teal-700);animation:pop .4s var(--ease-out)}

/* ---------- rate card ---------- */
.tb-left,.tb-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tb-left{flex:1;min-width:0}
.tb-left .store-pick{padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:13px;font-weight:600;color:var(--navy);background:#fff}
.rate-stats{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:14px;overflow:hidden}
.rs-item{display:flex;flex-direction:column;gap:2px;padding:12px 18px;border-right:1px solid var(--line)}
.rs-item b{font-size:18px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rs-item span{font-size:11.5px;color:var(--muted);font-weight:600}
.rs-hint{flex:1;display:flex;align-items:center;gap:8px;padding:12px 18px;font-size:12.5px;color:var(--muted);min-width:220px}
.rs-hint .ic{width:16px;height:16px;color:var(--teal-700)}
table.rate-table td,table.rate-table th{padding:0 12px}
table.rate-table th{height:42px}
table.rate-table tbody tr{cursor:default}
table.rate-table tbody tr:hover{background:var(--bg)}
.rc-name{padding:10px 14px!important;min-width:190px}
.rc-col{text-align:center;min-width:130px}
.rc-colh{display:inline-flex;align-items:center;gap:7px;text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--navy)}
.rc-cell{text-align:center;padding:6px 8px!important}
.rc-price{min-width:92px;border:1px solid transparent;background:none;font:inherit;font-size:14px;font-weight:700;color:var(--navy);padding:7px 10px;border-radius:8px;cursor:pointer;font-variant-numeric:tabular-nums;transition:background .12s var(--ease),border-color .12s var(--ease)}
.rc-price:hover{background:var(--teal-050);border-color:rgba(47,184,166,.4)}
.rc-price.empty{color:transparent;font-weight:600;font-size:12px}
tr:hover .rc-price.empty{color:var(--faint)}
.rc-price.empty:hover{color:var(--teal-700);background:var(--teal-050)}
.rc-u{font-size:11px;font-weight:600;color:var(--muted);margin-left:2px}
.rc-edit{display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--teal);border-radius:8px;padding:0 8px;background:#fff;box-shadow:0 0 0 3px rgba(47,184,166,.15)}
.rc-edit span{font-weight:700;color:var(--muted)}
.rc-input{width:70px;border:none;outline:none;font:inherit;font-size:14px;font-weight:700;color:var(--navy);padding:7px 0;text-align:right;font-variant-numeric:tabular-nums}
.rc-cell.saving{opacity:.5}
.rc-act{width:56px;text-align:right}
.es-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.form-row.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:560px){.form-row.three{grid-template-columns:1fr}}

/* ---------- staff floor ---------- */
.stations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-bottom:6px}
.station{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--bg);display:flex;flex-direction:column;gap:10px}
.stn-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.stn-name{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;color:var(--navy)}
.stn-level{font-size:11px;font-weight:700;padding:3px 7px;border-radius:5px;background:var(--teal-050);color:var(--teal-700)}
.lv-busy .stn-level{background:var(--warn-bg);color:var(--warn)}
.lv-jam .stn-level{background:var(--danger-bg);color:var(--danger)}
.stn-num{font-size:30px;font-weight:800;letter-spacing:-.04em;color:var(--navy);line-height:1;font-variant-numeric:tabular-nums}
.stn-num span{font-size:13px;font-weight:600;letter-spacing:0;color:var(--muted)}
.stn-meter{height:6px;border-radius:3px;background:#fff;overflow:hidden}
.stn-meter span{display:block;height:100%;border-radius:3px;background:var(--teal)}
.lv-busy .stn-meter span{background:#E9A23B}
.lv-jam .stn-meter span{background:var(--danger)}
.stn-crew{display:flex;align-items:center;gap:8px;min-height:26px}
.stn-crew-t{font-size:12px;color:var(--muted)}
.lv-jam .stn-crew-t{color:var(--danger);font-weight:600}
.stack{display:flex}
.stack > *{margin-left:-6px}
.stack > *:first-child{margin-left:0}
.av-xs,.av-m,.av-l{border-radius:50%;display:grid;place-items:center;font-weight:800;flex:none;background:var(--navy-050);color:var(--navy);border:2px solid #fff}
.av-xs{width:26px;height:26px;font-size:10px}
.av-m{width:40px;height:40px;font-size:13.5px;box-shadow:0 0 0 2px var(--line-strong)}
.av-l{width:52px;height:52px;font-size:16px}
.av-xs.s-work,.av-m.s-work,.av-l.s-work{background:var(--teal);color:var(--navy)}
.av-m.s-work{box-shadow:0 0 0 2px var(--teal);animation:ringPulse 2.2s var(--ease) infinite}
.av-m.s-free{box-shadow:0 0 0 2px var(--navy)}
.av-m.s-away,.av-m.s-off,.av-xs.s-off{background:var(--bg-soft);color:var(--faint)}
@keyframes ringPulse{0%,100%{box-shadow:0 0 0 2px var(--teal),0 0 0 0 rgba(47,184,166,.4)}50%{box-shadow:0 0 0 2px var(--teal),0 0 0 7px rgba(47,184,166,0)}}
.floor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.floor-grid > .card-x{margin:0}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;padding-bottom:8px}
.person{border:1px solid var(--line);border-radius:14px;padding:13px;display:flex;flex-direction:column;gap:10px;background:#fff}
.person.s-work{border-color:rgba(47,184,166,.45);background:linear-gradient(180deg,var(--teal-050),#fff 60%)}
.person.s-off,.person.s-away{background:var(--bg)}
.pc-top{display:flex;align-items:center;gap:11px}
.pc-who{flex:1;min-width:0}
.pc-name{font-weight:700;font-size:14px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-pos{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-state{font-size:11px;font-weight:700;padding:3px 7px;border-radius:5px;background:var(--bg-soft);color:var(--muted)}
.pc-state.s-work{background:var(--teal);color:var(--navy)}
.pc-state.s-free{background:var(--navy);color:#fff}
.pc-doing{font-size:13px;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:20px}
.person.s-off .pc-doing,.person.s-away .pc-doing{color:var(--muted)}
.pc-timer{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--teal-700);background:#fff;border:1px solid rgba(47,184,166,.35);padding:2px 7px;border-radius:5px;font-variant-numeric:tabular-nums}
.pc-timer .ic{width:13px;height:13px}
.pc-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pc-bar{flex:1;min-width:60px;height:5px;border-radius:3px;background:var(--bg-soft);overflow:hidden}
.pc-bar span{display:block;height:100%;border-radius:3px;background:var(--navy)}
.person.s-work .pc-bar span{background:var(--teal)}
.pc-steps{font-size:12px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.pc-last{width:100%;font-size:11.5px;color:var(--faint)}
.lb .cx-head{margin-bottom:6px}
.podium{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:end;gap:8px;padding:10px 0 6px}
.pod{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.pod-crown{width:22px;height:22px;color:#E9A23B}
.pod-name{font-size:12.5px;font-weight:700;color:var(--navy)}
.pod-n{font-size:12px;color:var(--muted);font-weight:600}
.pod-n::after{content:" steps"}
.pod-block{width:100%;border-radius:10px 10px 4px 4px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px}
.pod.r1 .pod-block{height:86px;background:var(--navy)}
.pod.r2 .pod-block{height:62px;background:var(--navy-500)}
.pod.r3 .pod-block{height:46px;background:var(--teal);color:var(--navy)}
.pod.r1 .av-l{border-color:#E9A23B;box-shadow:0 0 0 2px #E9A23B}
@media(max-width:1100px){.stations{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-grid{grid-template-columns:1fr}}
@media(max-width:480px){.stations{grid-template-columns:1fr 1fr}.stn-num{font-size:24px}}

/* ---------- PDF invoice layout (rendered off-screen) ---------- */
.inv-doc-host{position:fixed;left:-10000px;top:0;pointer-events:none}
.inv-doc{width:620px;background:#fff;color:#16273F;font-family:"Hanken Grotesk",-apple-system,"Segoe UI",sans-serif;font-size:13px;line-height:1.45}
.id-head{background:#16273F;color:#fff;padding:26px 30px 22px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.id-brand{display:flex;gap:14px;align-items:center}
.id-mono{width:46px;height:46px;border-radius:12px;background:#2FB8A6;color:#16273F;display:grid;place-items:center;font-weight:800;font-size:22px}
.id-bname{font-size:22px;font-weight:800;letter-spacing:-.02em}
.id-bsub{font-size:11.5px;color:rgba(255,255,255,.7)}
.id-meta{text-align:right}
.id-label{font-size:11px;font-weight:700;letter-spacing:.22em;color:#7FE3D6}
.id-no{font-size:22px;font-weight:800;margin-top:2px}
.id-date{font-size:11.5px;color:rgba(255,255,255,.7)}
.id-accent{height:5px;background:linear-gradient(90deg,#2FB8A6,#8FD9CF)}
.id-parties{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;padding:22px 30px 8px}
.id-k{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#98A2B2}
.id-v{font-size:14px;font-weight:700;margin-top:3px}
.id-s{font-size:12px;color:#697588}
.id-express{display:inline-block;margin-top:4px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#FBEAE9;color:#D8443C;padding:2px 7px;border-radius:4px}
.id-table{width:calc(100% - 60px);margin:14px 30px 0;border-collapse:collapse}
.id-table th{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#16273F;padding:9px 10px;text-align:left}
.id-table th:first-child{border-radius:6px 0 0 6px}.id-table th:last-child{border-radius:0 6px 6px 0}
.id-table td{padding:10px;border-bottom:1px solid #ECEFF4;vertical-align:top}
.id-table tbody tr:nth-child(even) td{background:#F7F9FB}
.id-table .c{text-align:center}.id-table .r{text-align:right;font-variant-numeric:tabular-nums}
.id-item{font-weight:700}
.id-cat{font-size:11px;color:#697588}
.id-bottom{display:flex;justify-content:space-between;gap:24px;padding:18px 30px 6px;align-items:flex-start}
.id-left{flex:1;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.id-status{font-size:12px;font-weight:800;letter-spacing:.04em;padding:6px 11px;border-radius:6px}
.id-status.paid{background:#E8F7F4;color:#14806F}
.id-status.due{background:#FBF0DC;color:#B4791B}
.id-note{font-size:12px;color:#5b4410;background:#FBF0DC;border-radius:6px;padding:9px 11px;max-width:300px}
.id-totals{min-width:220px}
.id-trow{display:flex;justify-content:space-between;font-size:13px;color:#697588;padding:3px 0}
.id-trow.disc span:last-child{color:#14806F;font-weight:700}
.id-grand{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;padding:10px 12px;border-radius:8px;background:#16273F;color:#fff;font-size:18px;font-weight:800}
.id-grand span:first-child{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7FE3D6}
.id-foot{margin-top:18px;padding:16px 30px 22px;border-top:1px dashed #D5DAE3;font-size:11.5px;color:#697588;display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}
.id-pw{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-weight:700;color:#14806F}
.id-pw img{width:16px;height:16px;border-radius:4px}
.id-table{border-spacing:0}
.id-table th{border:none}
@media(max-width:820px){
  .sb-item.active{background:none;color:var(--navy);box-shadow:inset 0 3px 0 var(--teal)}
  .sb-item.active .sb-ic{color:var(--teal-700)}
}

/* ============================================================
   Staff "My work" v2 — one obvious action per card
   ============================================================ */
.sw-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.sw-hello{flex:1;min-width:0}
.sw-hi{font-size:19px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.sw-sub{font-size:12.5px;color:var(--muted)}
.sw-score{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;height:48px;border-radius:12px;background:var(--teal-050);color:var(--teal-700)}
.sw-score b{font-size:19px;line-height:1;font-variant-numeric:tabular-nums}
.sw-score span{font-size:10px;font-weight:700}
.sw-alerts{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.sw-alerts:empty{display:none}
.sw-alert{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;font-size:13.5px;font-weight:600;padding:12px 14px;border-radius:12px;border:1px solid transparent;line-height:1.35}
button.sw-alert{cursor:pointer}
.sw-alert .ic{width:20px;height:20px;flex:none}
.sw-alert > span{flex:1}
.sw-alert .sa-go{width:16px;height:16px;opacity:.6}
.sw-alert.danger{background:var(--danger-bg);color:#9e2a24;border-color:rgba(216,68,60,.35)}
.sw-alert.danger .ic:first-child{color:var(--danger)}
.sw-alert.warn{background:var(--warn-bg);color:#7a5210;border-color:rgba(180,121,27,.3)}
.sw-alert.warn .ic:first-child{color:var(--warn)}
.sw-alert.info{background:var(--navy-050);color:var(--navy);border-color:var(--line)}
/* tabs */
.sw-tabs{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 0;margin-bottom:6px;background:var(--bg)}
.sw-tab{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 4px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font:inherit;color:var(--muted);cursor:pointer}
.sw-tab b{font-size:20px;line-height:1.1;color:var(--navy);font-variant-numeric:tabular-nums}
.sw-tab span{font-size:11.5px;font-weight:700}
.sw-tab.on{background:var(--navy);border-color:var(--navy);color:rgba(255,255,255,.8)}
.sw-tab.on b{color:#fff}
.sw-tab.t-new.pulse:not(.on){border-color:#E9A23B;background:var(--warn-bg);color:#7a5210}
.sw-tab.t-new.pulse:not(.on) b{color:#9A560B}
.sw-tab.t-ready.on{background:var(--teal-700);border-color:var(--teal-700)}
.sw-body{display:flex;flex-direction:column;gap:12px;padding-bottom:30px}
.sw-hint{font-size:13px;color:var(--muted);margin:2px 2px 0}
.sw-sec{display:flex;flex-direction:column;gap:10px}
.sw-sec-t{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 2px 0}
.sw-sec-t b{font-size:15px;color:var(--navy)}
.sw-n{min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;display:inline-grid;place-items:center}
.sw-sec-s{font-size:12px;color:var(--muted)}
.sw-empty{font-size:13px;color:var(--muted);padding:14px;border:1px dashed var(--line-strong);border-radius:12px;text-align:center}
.sw-coming{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px}
.sw-coming summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}
.sw-coming summary::-webkit-details-marker{display:none}
.sw-coming summary b{color:var(--navy);font-size:14.5px}
.sw-coming[open] summary{margin-bottom:10px}
.sw-coming .wc + .wc{margin-top:8px}
.sw-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sw-stats > div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px}
.sw-stats b{font-size:20px;color:var(--navy);font-variant-numeric:tabular-nums}
.sw-stats span{font-size:11.5px;color:var(--muted);font-weight:600}
/* work card */
.wc{position:relative;display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 14px 12px 18px;box-shadow:inset 5px 0 0 var(--sc)}
.wc.mine{border-color:rgba(47,184,166,.5);background:linear-gradient(180deg,var(--teal-050),#fff 55%)}
.wc.urgent{border-color:rgba(216,68,60,.55);box-shadow:inset 5px 0 0 var(--danger)}
.wc.wc-hero{border:2px solid var(--navy);padding-top:34px}
.wc-ribbon{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:6px;padding:6px 14px 6px 18px;background:var(--navy);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:14px 14px 0 0}
.wc-ribbon .ic{width:14px;height:14px;color:var(--teal)}
.wc-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wc-inv{font-size:19px;font-weight:800;color:var(--navy);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.wc-svc{font-size:11.5px;font-weight:700;color:var(--si);background:var(--sb);padding:3px 8px;border-radius:6px}
.wc-due{margin-left:auto}
.wc-cust{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.wc-cust b{font-size:15px;color:var(--ink)}
.wc-cust span{font-size:12.5px;color:var(--muted)}
.wc-note,.wc-flag{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.4;padding:8px 10px;border-radius:9px}
.wc-note{background:var(--warn-bg);color:#6b470c}
.wc-note .ic{width:16px;height:16px;color:var(--warn);margin-top:1px}
.wc-flag{background:var(--danger-bg);color:#9e2a24}
.wc-flag .ic{width:16px;height:16px;color:var(--danger);margin-top:1px}
.wc-track{display:flex;flex-direction:column;gap:6px}
.wc-dots{display:flex;gap:4px}
.wd{flex:1;height:6px;border-radius:3px;background:var(--bg-soft)}
.wd.d{background:var(--teal)}
.wd.n{background:var(--sc)}
.wc-now{font-size:13px;color:var(--muted)}
.wc-now b{color:var(--navy);font-size:14px;margin-right:4px}
.wc-status{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px;color:var(--muted);font-weight:600}
.wc-status .ic{width:16px;height:16px}
.wc-status.mine{color:var(--teal-700)}
.wc-status.mine b{font-variant-numeric:tabular-nums}
.wc-status.warn{color:var(--warn)}
.wc-status.ok{color:var(--teal-700)}
.wc-status.other{color:var(--navy)}
.wc-act{display:flex;gap:8px}
.wc-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 14px;border-radius:13px;border:none;font:inherit;font-size:15.5px;font-weight:800;cursor:pointer;transition:transform .1s var(--ease),background .15s var(--ease)}
.wc-btn:active{transform:scale(.98)}
.wc-btn .ic{width:20px;height:20px}
.wc-btn.go{background:var(--teal);color:var(--navy)}
.wc-btn.go:hover{background:#3CC7B5}
.wc-btn.start{background:var(--navy);color:#fff}
.wc-btn.start:hover{background:var(--navy-600)}
.wc-btn.quick{flex:0 0 auto;background:#fff;color:var(--teal-700);border:1.5px solid rgba(47,184,166,.6);font-size:14px}
.wc-btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line-strong);font-size:14px}
.wc-btn:disabled{opacity:.7;cursor:default}
.wc-more{align-self:flex-start;background:none;border:none;padding:2px 0;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){
  .sw-tabs{top:56px}
  .sw-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wc-inv{font-size:18px}
}

/* ---------- basket split + tags ---------- */
.bs-lead{font-size:13px;color:var(--muted);margin:0 0 12px}
.bs-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.bs-bar .bk{display:flex;align-items:center;gap:6px}
.bs-n{min-width:28px;text-align:center;font-size:18px;color:var(--navy);font-variant-numeric:tabular-nums}
.bk-b{width:40px;height:40px;border-radius:11px;border:1.5px solid var(--line-strong);background:#fff;font:inherit;font-size:20px;font-weight:700;color:var(--navy);cursor:pointer}
.bs-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.bs-grid{min-width:max-content;width:100%}
.bs-row{display:grid;align-items:center;border-top:1px solid var(--line)}
.bs-row:first-child{border-top:none;background:var(--bg)}
.bs-h{padding:10px 12px;font-size:12px;font-weight:700;color:var(--navy)}
.bs-h.c{text-align:center;display:flex;flex-direction:column;gap:1px}
.bs-h span{font-size:11px;font-weight:600;color:var(--muted)}
.bs-item{padding:10px 12px;display:flex;flex-direction:column;gap:1px;box-shadow:inset 4px 0 0 var(--tc)}
.bs-item b{font-size:13px;color:var(--navy)}
.bs-item span{font-size:11.5px;color:var(--muted)}
.bs-cell{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 4px;border-left:1px solid var(--line)}
.bs-cell b{min-width:22px;text-align:center;font-size:15px;color:var(--faint);font-variant-numeric:tabular-nums}
.bs-cell.has{background:var(--teal-050)}
.bs-cell.has b{color:var(--navy)}
.bs-cell button{width:28px;height:30px;border-radius:8px;border:1px solid var(--line-strong);background:#fff;font:inherit;font-size:17px;font-weight:700;color:var(--navy);cursor:pointer}
.bs-cell button:disabled{opacity:.25;cursor:default}
.bd-tags{margin:2px 0 10px;font-size:14.5px}
.dr-baskets{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line-strong)}
.drb{display:flex;gap:10px;font-size:12.5px;line-height:1.4}
.drb b{flex:none;color:var(--navy);min-width:64px}
.drb span{color:var(--muted)}
.wc-links{display:flex;gap:16px}
.sw-more{align-self:flex-start;background:none;border:none;padding:2px 4px;font:inherit;font-size:12.5px;font-weight:700;color:var(--navy);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.wc-status{flex-wrap:nowrap;align-items:flex-start;line-height:1.4}
.wc-status > .ic{margin-top:1px}
.wc-status.other{align-items:center}
   New bill v7 — colour-coded services, numbered steps, big targets
   ============================================================ */
.pos2 .pick-panel{overflow:hidden}
.pp-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px 0}
.pp-title b{font-size:15px;color:var(--navy)}
.pp-title > span:last-child{font-size:12.5px;color:var(--muted)}
.pos2 .pick-toolbar{display:flex;flex-direction:column;gap:12px;padding:12px 16px 14px;border-bottom:1px solid var(--line)}
/* service tiles */
.svc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.svc-tile{position:relative;display:flex;align-items:center;gap:11px;text-align:left;font:inherit;padding:12px 13px;border-radius:14px;border:1.5px solid transparent;background:var(--sb);color:var(--si);cursor:pointer;transition:transform .12s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease)}
.svc-tile:hover{box-shadow:0 0 0 1.5px var(--sc) inset}
.svc-tile:active{transform:scale(.98)}
.svc-tile .st-ic{width:38px;height:38px;padding:8px;border-radius:10px;background:#fff;color:var(--sc)}
.st-txt{display:flex;flex-direction:column;min-width:0}
.st-txt b{font-size:14px;line-height:1.2}
.st-txt span{font-size:11.5px;opacity:.75;font-weight:600}
.svc-tile.on{background:var(--sc);color:#fff;border-color:var(--sc);box-shadow:0 8px 18px -10px var(--sc)}
.svc-tile.on .st-ic{background:rgba(255,255,255,.2);color:#fff}
.st-badge{position:absolute;top:-7px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--navy);color:#fff;font-size:11.5px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}
/* garment cards */
.pos2 .pick-scroll{padding:14px 16px 18px}
.pos2 .pick-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.g-card{position:relative;display:flex;flex-direction:column;gap:4px;min-height:92px;padding:12px 12px 10px 15px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:inset 4px 0 0 var(--sc);cursor:pointer;user-select:none;transition:background .12s var(--ease),border-color .12s var(--ease),transform .1s var(--ease)}
.g-card:hover{border-color:var(--sc)}
.g-card:active{transform:scale(.98)}
.g-card:focus-visible{outline:2px solid var(--sc);outline-offset:2px}
.g-name{font-weight:700;font-size:13.5px;color:var(--navy);line-height:1.3}
.g-svc{font-size:10.5px;font-weight:700;color:var(--si);background:var(--sb);align-self:flex-start;padding:2px 6px;border-radius:4px}
.g-price{font-size:15px;font-weight:800;color:var(--si);font-variant-numeric:tabular-nums;margin-top:auto}
.g-price small{font-size:11px;font-weight:600;opacity:.8}
.g-add{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;color:var(--muted)}
.g-add .ic{width:13px;height:13px}
.g-card:hover .g-add{color:var(--si)}
.g-card.in{background:var(--sb);border-color:var(--sc)}
.g-step{display:flex;align-items:center;justify-content:space-between;gap:6px;background:#fff;border-radius:9px;padding:3px;margin-top:2px;cursor:default}
.g-step button{width:34px;height:30px;border:none;border-radius:7px;background:var(--sc);color:#fff;font:inherit;font-size:18px;font-weight:700;line-height:1;cursor:pointer}
.g-step button:active{transform:scale(.94)}
.g-step b{font-size:15px;color:var(--navy);font-variant-numeric:tabular-nums}
/* numbered steps */
.co-step{padding:14px 16px;border-bottom:1px solid var(--line)}
.co-step:last-child{border-bottom:none}
.cs-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cs-num{position:relative;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--bg-soft);color:var(--muted);font-weight:800;font-size:13px;flex:none;transition:background .2s var(--ease),color .2s var(--ease)}
.cs-num.sm{width:24px;height:24px;background:var(--navy);color:#fff;font-size:12px}
.cs-ok{position:absolute;width:15px;height:15px;opacity:0}
.cs-title{font-weight:700;font-size:14.5px;color:var(--muted)}
.co-step.now .cs-num{background:var(--navy);color:#fff}
.co-step.now .cs-title{color:var(--navy)}
.co-step.done .cs-num{background:var(--teal);color:var(--navy)}
.co-step.done .cs-n{opacity:0}
.co-step.done .cs-ok{opacity:1}
.co-step.done .cs-title{color:var(--navy)}
.co-step .field label{font-size:11.5px;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:600}
.co-step .field{margin-bottom:0}
.co-step .field input{padding:10px 12px;font-size:14px}
.sub-l{font-size:11.5px;font-weight:700;color:var(--muted);margin:12px 0 7px}
.cs-body > .sub-l:first-child{margin-top:0}
/* bill groups */
.bill-group{border-radius:12px;border:1px solid var(--line);box-shadow:inset 4px 0 0 var(--sc);padding:4px 12px 4px 15px;margin-bottom:8px;background:#fff}
.bg-head{display:flex;align-items:center;gap:8px;padding:8px 0 6px;color:var(--si);font-size:12.5px}
.bg-head b{flex:1}
.bg-head span{font-weight:800;font-variant-numeric:tabular-nums}
.bg-ic{width:18px;height:18px}
.bill-group .cart-row{padding:8px 0;border-top:1px solid var(--line);border-bottom:none}
.bill-group .qbtn{width:30px;height:30px;border-color:var(--line-strong)}
.qv{min-width:24px;text-align:center;font-size:14px;color:var(--navy);font-variant-numeric:tabular-nums}
.goes{display:flex;flex-direction:column;gap:8px}
.goes:empty{display:none}
.goes-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:4px}
.goes-pill{font-weight:700;color:var(--si);background:var(--sb);padding:4px 9px;border-radius:6px}
.goes-sel{padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:13px}
.mixed-warn{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:#7a5210;background:var(--warn-bg);border-radius:10px;padding:9px 11px}
.mixed-warn .ic{width:16px;height:16px;margin-top:1px;color:var(--warn)}
/* delivery */
.ready-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ready-b{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 4px;border-radius:11px;border:1.5px solid var(--line-strong);background:#fff;font:inherit;cursor:pointer;color:var(--navy)}
.ready-b b{font-size:13.5px}
.ready-b span{font-size:11px;color:var(--muted);font-weight:600}
.ready-b.on{background:var(--navy);border-color:var(--navy);color:#fff}
.ready-b.on span{color:rgba(255,255,255,.7)}
.exact-time{margin-top:8px}
.exact-time summary{font-size:12px;font-weight:600;color:var(--teal-700);cursor:pointer;list-style:none}
.exact-time summary::-webkit-details-marker{display:none}
.exact-time input{margin-top:8px;width:100%;padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:13px}
.row-2{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:end}
.bk{display:flex;align-items:center;gap:6px}
.bk-b{width:40px;height:44px;border-radius:11px;border:1.5px solid var(--line-strong);background:#fff;font:inherit;font-size:20px;font-weight:700;color:var(--navy);cursor:pointer}
.bk-b:active{transform:scale(.95)}
.bk-n{min-width:30px;text-align:center;font-size:18px;color:var(--navy);font-variant-numeric:tabular-nums}
.express-b{display:flex;align-items:center;gap:10px;width:100%;height:44px;padding:0 12px;border-radius:11px;border:1.5px dashed var(--line-strong);background:#fff;font:inherit;text-align:left;cursor:pointer;color:var(--muted)}
.express-b .ic{width:20px;height:20px;flex:none}
.express-b span{display:flex;flex-direction:column;line-height:1.2}
.express-b b{font-size:13px;color:var(--navy)}
.express-b small{font-size:11px}
.express-b.on{border:1.5px solid var(--danger);background:var(--danger-bg);color:var(--danger)}
.express-b.on b{color:var(--danger)}
.note-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.note-b{border:1.5px solid var(--line-strong);background:#fff;border-radius:999px;padding:6px 11px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}
.note-b.on{border-color:var(--warn);background:var(--warn-bg);color:#7a5210}
.co-step input[type=text]:not(.rc-input){width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:13.5px}
/* payment — one colour per way of paying */
.pay-choice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pay-b{--pc:#697588;--pb:#F1F3F6;display:flex;flex-direction:column;align-items:center;gap:1px;padding:11px 4px;border-radius:12px;border:1.5px solid var(--pb);background:var(--pb);font:inherit;cursor:pointer;color:var(--pc);transition:transform .1s var(--ease)}
.pay-b:active{transform:scale(.97)}
.pay-b b{font-size:14px}
.pay-b span{font-size:10.5px;font-weight:600;opacity:.75}
.pay-b.p-cash{--pc:#0B7A41;--pb:#E7F6EE}
.pay-b.p-upi{--pc:#5B41B8;--pb:#F0EDFC}
.pay-b.p-card{--pc:#1D4FA8;--pb:#EAF1FD}
.pay-b.on{background:var(--pc);border-color:var(--pc);color:#fff}
.pay-b.p-later.on{background:var(--navy);border-color:var(--navy)}
.pos2 .disc-row{margin-top:12px}
@media(max-width:560px){.ready-chips,.pay-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.row-2{grid-template-columns:1fr}.svc-tiles{grid-template-columns:1fr 1fr}.svc-tile .st-ic{width:32px;height:32px;padding:6px}.pos2 .pick-grid{grid-template-columns:1fr 1fr}}
/* rate-card headers carry the same service colour */
.rc-ic{width:17px;height:17px}
/* keep the Create button in view without scrolling the page */
@media(min-width:900px){.pos2 .checkout{max-height:calc(100dvh - 150px)}.pos2 .pick-scroll{max-height:calc(100dvh - 330px)}}

/* ===== New bill v8: simple search-first billing ===== */
.pick-search.big{padding:13px 14px;border-width:1.5px}
.pick-search.big input{font-size:16px;font-weight:500}
.pos2 .pick-scroll{max-height:calc(100dvh - 290px)}
.g-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-bottom:1px solid var(--line);border-radius:10px}
.g-row.in{background:var(--bg-soft)}
.gr-name{flex:1;min-width:0;font-weight:600;font-size:14.5px;color:var(--navy);overflow-wrap:anywhere}
.gr-sub{display:block;font-weight:500;font-size:12px;color:var(--muted)}
.gr-prices{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.pb{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:86px;padding:6px 11px 7px;border-radius:10px;border:1.5px solid transparent;background:var(--sb);color:var(--si);font:inherit;cursor:pointer;text-align:left;transition:box-shadow .12s,transform .1s}
.pb:hover{box-shadow:0 0 0 1.5px var(--sc) inset}
.pb:active{transform:scale(.97)}
.pb-l{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85}
.pb b{font-size:15px;font-weight:700}
.pb.in{background:var(--sc);color:#fff}
.pb-q{position:absolute;top:-7px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--navy);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;border:2px solid var(--card)}
.show-all{display:flex;align-items:center;gap:6px;margin:14px auto 4px;font-weight:600}
.show-all .ic{width:14px;height:14px;transform:rotate(90deg)}
/* kg popup */
.kg-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kg-f span{display:block;font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:5px}
.kg-f input{width:100%;font:inherit;font-size:24px;font-weight:700;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line-strong);background:var(--card);color:var(--navy)}
.kg-f input:focus{outline:none;border-color:var(--sc);box-shadow:0 0 0 3px var(--sb)}
.kgm-rule{font-size:12.5px;color:var(--muted);margin:8px 0 4px}
.kgm-info{margin:10px 0 14px}
.kgm-line{font-size:15px;color:var(--navy)}
.kg-warn{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:11px 12px;border-radius:10px;background:#FDF0E1;color:#9A560B;font-weight:600;font-size:14px;line-height:1.4}
.kg-warn .ic{width:18px;height:18px;flex:none;margin-top:1px}
.kgm-add{height:50px;font-size:15.5px}
/* bill list: one colour stripe per line */
.bill-list{display:flex;flex-direction:column;gap:6px}
.pos2 .cart-row{border-left:3px solid var(--sc,var(--line-strong));padding-left:10px;border-radius:4px}
.cart-row.addon{border-left-color:var(--line-strong)}
.cart-row.addon .cr-title{font-weight:500;color:var(--muted)}
.kg-acts{display:flex;align-items:center;gap:8px}
.cr-del{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:16px;cursor:pointer}
/* pickup toggle */
.seg2{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.seg2 button{font:inherit;font-weight:600;font-size:13px;padding:10px;border-radius:10px;border:1.5px solid var(--line-strong);background:var(--card);color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.seg2 button .ic{width:16px;height:16px}
.seg2 button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pk-note{font-size:12.5px;color:var(--muted);margin-top:6px}
.tot-row small{font-size:11.5px;color:#9A560B;font-weight:600}
.tot-row.free span:last-child{color:var(--teal);font-weight:700}
/* more options */
.more-opts{border-top:1px solid var(--line)}
.more-opts>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:13px 16px;font-weight:600;color:var(--navy);font-size:14px}
.more-opts>summary::-webkit-details-marker{display:none}
.more-opts>summary .ic{width:16px;height:16px;transition:transform .15s}
.more-opts[open]>summary .ic{transform:rotate(45deg)}
.more-opts>summary span{font-weight:500;font-size:12.5px;color:var(--muted)}
.mo-body{padding:0 16px 16px}
.mo-body .sub-l{margin-top:12px}
.mo-body .disc-row{margin-top:4px;padding-top:0;border-top:none}
.mo-body input[type=datetime-local],.mo-body select{width:100%;font:inherit;padding:9px 11px;border-radius:10px;border:1px solid var(--line-strong);background:var(--card)}
/* price list: laundry by weight box */
.kg-rates{margin-top:16px;padding:16px 18px}
.kr-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.kr-head .kr-ic{width:36px;height:36px;padding:7px;border-radius:10px;background:#7B61D9;color:#fff;flex:none}
.kr-head>div:nth-child(2){flex:1;min-width:200px}
.kr-head b{display:block;color:var(--navy);font-size:15px}
.kr-head span{font-size:12.5px;color:var(--muted)}
.kr-btns{display:flex;gap:6px}
.kr-list{margin-top:12px;border-top:1px solid var(--line)}
.kr-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.kr-name{flex:1}
.kr-name b{display:block;color:var(--navy)}
.kr-name span{font-size:12px;color:var(--muted)}
.kr-row.addon .kr-name span{color:#5B41B8;font-weight:600}
.kr-price{min-width:110px;text-align:right}
.kr-empty{margin-top:12px;font-size:13px;color:var(--muted)}
.kr-foot{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:13px;color:var(--ink)}
.kr-foot .ic{width:18px;height:18px;color:var(--teal);flex:none}
@media(max-width:560px){.g-row{flex-direction:column;align-items:stretch;gap:7px}.gr-prices{justify-content:flex-start}}

/* ===== Stores, branding & owner view ===== */
.role-pill.r-owner{background:#F0EDFC;color:#5B41B8}
.role-pill.r-manager{background:#EAF1FD;color:#1D4FA8}
.role-pill.r-company{background:var(--navy);color:#fff}
/* store logo helpers */
.st-logo,.sc-logo,.sb-slogo,.od-logo,.sp-pv-logo{object-fit:contain;background:#fff;flex:none}
.mono{display:grid;place-items:center;font-weight:800;color:var(--navy);background:#E4F6F3!important}
/* sidebar: the store's own identity */
.sb-store.has-logo{gap:10px;padding:8px 10px}
.sb-slogo{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);font-size:15px}
.sb-st{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.sb-st b{font-size:13px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-st span{font-size:11.5px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* invoice logo */
.id-logo{width:52px;height:52px;object-fit:contain;border-radius:10px}
/* company: store cards */
.store-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.store-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-align:left;font:inherit;color:inherit}
.sc-top{display:flex;align-items:center;gap:12px}
.sc-logo{width:48px;height:48px;border-radius:12px;border:1px solid var(--line);font-size:20px}
.sc-names{flex:1;min-width:0;display:flex;flex-direction:column}
.sc-names b{font-size:15.5px;color:var(--navy)}
.sc-names span{font-size:12.5px;color:var(--muted)}
.sc-code{font-size:12px;font-weight:700;padding:4px 8px;border-radius:7px;background:var(--bg-soft);color:var(--navy)}
.sc-addr{font-size:12.5px;color:var(--ink);line-height:1.45;min-height:18px}
.sc-people{display:grid;grid-template-columns:1.2fr 1.2fr .6fr;gap:8px;padding:10px 12px;border-radius:10px;background:var(--bg-soft)}
.sc-people span{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.sc-people b{font-size:13px;color:var(--navy);overflow-wrap:anywhere}
.sc-miss{display:flex;gap:7px;align-items:flex-start;font-size:12px;font-weight:600;color:#9A560B;background:#FDF0E1;padding:8px 10px;border-radius:9px}
.sc-miss .ic{width:15px;height:15px;flex:none}
.sc-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:auto}
.sc-acts .icon-action{margin-left:auto}
.store-card.add{align-items:center;justify-content:center;border-style:dashed;border-width:1.5px;cursor:pointer;min-height:220px;color:var(--muted)}
.store-card.add:hover{border-color:var(--teal);color:var(--navy)}
.store-card.add b{font-size:15px;color:var(--navy)}
.store-card.add span{font-size:12.5px}
.sc-add-ic{width:34px;height:34px;padding:7px;border-radius:50%;background:var(--bg-soft);color:var(--navy)}
/* store profile modal */
.store-prof textarea{width:100%;font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--line-strong);resize:vertical}
.sp-top{display:flex;gap:16px;align-items:stretch;margin-bottom:6px}
.sp-names{flex:1;min-width:0}
.sp-logo{display:flex;flex-direction:column;align-items:center;gap:6px}
.sp-drop{width:116px;height:116px;border-radius:16px;border:1.5px dashed var(--line-strong);background:var(--bg-soft);cursor:pointer;display:grid;place-items:center;padding:8px;font:inherit;color:var(--muted)}
.sp-drop:hover{border-color:var(--teal)}
.sp-drop span{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
.sp-drop .ic{width:22px;height:22px;color:var(--navy)}
.sp-drop b{font-size:12.5px;color:var(--navy)}
.sp-drop small{font-size:10.5px;line-height:1.3}
.sp-drop.has{border-style:solid;background:#fff}
.sp-drop img{max-width:100%;max-height:100%;object-fit:contain}
.sp-logo-acts{display:flex;gap:10px}
.link-btn.danger{color:#C23B3B}
.sp-preview{margin:6px 0 14px}
.sp-pv-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:6px}
.sp-pv{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;border-top:3px solid var(--teal)}
.sp-pv-logo{width:46px;height:46px;border-radius:10px;font-size:20px}
.sp-pv-txt{flex:1;min-width:0;display:flex;flex-direction:column;font-size:11.5px;color:#555;line-height:1.4}
.sp-pv-txt b{font-size:15px;color:#151B26}
.sp-pv-txt .muted{color:#aaa}
.sp-pv-inv{text-align:right;font-size:10px;font-weight:700;letter-spacing:.1em;color:#888;display:flex;flex-direction:column}
.sp-pv-inv b{font-size:14px;color:#151B26;letter-spacing:0}
.sp-pv-foot{margin-top:6px;font-size:11.5px;color:#666;text-align:center}
@media(max-width:560px){.sp-top{flex-direction:column;align-items:center}.sp-names{width:100%}.sc-people{grid-template-columns:1fr 1fr}}
/* view-only price list */
.rates.ro .rc-act,.rates.ro .rs-hint{display:none}
.rates.ro .rc-price{cursor:default}
.ro-tag{font-size:12px;font-weight:700;color:var(--muted);padding:6px 10px;border:1px solid var(--line);border-radius:999px}
/* owner overview */
.od-id{display:flex;align-items:center;gap:14px}
.od-logo{width:54px;height:54px;border-radius:14px;font-size:22px;border:2px solid rgba(255,255,255,.18)}
.od-seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.od-seg button{font:inherit;font-size:13px;font-weight:600;color:rgba(255,255,255,.72);background:none;border:none;padding:7px 12px;border-radius:9px;cursor:pointer}
.od-seg button.on{background:#fff;color:var(--navy)}
.od-main{display:grid;grid-template-columns:minmax(220px,.8fr) 2fr;gap:12px;align-items:stretch}
.od-big{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px 16px;border-radius:14px;background:rgba(47,184,166,.14);border:1px solid rgba(127,227,214,.28)}
.od-big b{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.05}
.od-delta{align-self:flex-start;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px}
.od-delta.up{background:rgba(127,227,214,.18);color:#7FE3D6}
.od-delta.down{background:rgba(255,155,145,.16);color:#FF9B91}
.od-delta.flat{background:rgba(255,255,255,.1);color:rgba(255,255,255,.75)}
.hd-stat.static{cursor:default}
.hd-stat.static:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
.hd-stat.warn .hd-val{color:#FFC98A}
.od-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:16px}
.od-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:13.5px;color:var(--ink);line-height:1.45}
.odn-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex:none;background:var(--teal)}
.od-note.warn .odn-dot{background:#E8912D}
.od-note.danger .odn-dot{background:#D64545}
.share-list{display:flex;flex-direction:column;gap:12px;padding:4px 0 8px}
.sh-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13.5px}
.sh-l{font-weight:600;color:var(--navy)}
.sh-v{font-weight:700;color:var(--ink)}
.sh-v small{font-weight:600;color:var(--muted);margin-left:6px}
.sh-track{height:9px;border-radius:6px;background:var(--bg-soft);margin-top:6px;overflow:hidden}
.sh-fill{height:100%;border-radius:6px}
.sh-sub{font-size:11.5px;color:var(--muted);margin-top:3px}
.od-promise{display:flex;align-items:center;gap:22px;padding:6px 0 10px}
.od-ring{position:relative;width:132px;height:132px;flex:none}
.od-ring svg{width:100%;height:100%}
.odr-t{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.odr-t b{font-size:26px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.odr-t span{font-size:11.5px;color:var(--muted);font-weight:600}
.od-ring.empty{display:grid;place-items:center;border-radius:50%;border:9px solid var(--bg-soft);font-size:12px;color:var(--muted);text-align:center;padding:10px}
.od-pstats{flex:1;display:flex;flex-direction:column;gap:10px}
.od-pstats>div{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:13px;color:var(--muted)}
.od-pstats b{font-size:16px;color:var(--navy)}
.od-pstats .bad b{color:#D64545}
.list-row.static{cursor:default}
.list-row.static:hover .lr-title{color:inherit}
.od-rank{width:26px;height:26px;border-radius:8px;background:var(--bg-soft);display:grid;place-items:center;font-size:12.5px;font-weight:800;color:var(--navy);flex:none}
.od-team-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 8px}
.od-team-sum>div{padding:10px 12px;border-radius:10px;background:var(--bg-soft);display:flex;flex-direction:column}
.od-team-sum b{font-size:18px;color:var(--navy)}
.od-team-sum span{font-size:11.5px;color:var(--muted);font-weight:600}
.od-dot{width:10px;height:10px;border-radius:50%;flex:none;background:#C7CFDB}
.od-dot.on{background:#12A594}
.od-dot.away{background:#E8912D}
@media(max-width:820px){.od-main{grid-template-columns:1fr}.od-seg{width:100%}.od-seg button{flex:1}.od-promise{flex-direction:column;align-items:stretch}.od-ring{margin:0 auto}}

/* ===== Money: expenses + MIS ===== */
.ic.flip svg{transform:rotate(180deg)}
.day-nav{display:flex;align-items:center;gap:6px}
.day-nav input[type=date]{font:inherit;font-size:13.5px;padding:7px 10px;border-radius:9px;border:1px solid var(--line-strong);background:var(--card);color:var(--navy)}
.mnav-l{min-width:130px;text-align:center;font-size:14.5px;color:var(--navy)}
.exp-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
.exp-main .card-x{margin-bottom:16px}
.exp-add .sub-l{margin:4px 0 8px}
.exp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.exp-chip{display:flex;align-items:center;gap:7px;font:inherit;font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--card);color:var(--navy);cursor:pointer}
.exp-chip .ec-dot{width:8px;height:8px;border-radius:50%;background:var(--ec)}
.exp-chip.on{border-color:var(--ec);background:var(--ec);color:#fff}
.exp-chip.on .ec-dot{background:#fff}
.exp-add select,.exp-add>input{width:100%;font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--card);margin-bottom:10px}
.exp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;align-items:end;margin:4px 0 10px}
.seg2.four{grid-template-columns:repeat(4,1fr);margin-top:5px}
.exp-go{width:100%;height:48px;font-size:15px;display:flex;align-items:center;justify-content:center;gap:6px}
.exp-go .ic{width:16px;height:16px}
.exp-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.exp-total{display:flex;justify-content:space-between;padding:12px 2px 4px;border-top:1.5px solid var(--navy);margin-top:4px;font-size:14px}
.exp-total b{font-size:16px;color:var(--navy)}
.exp-mtot{display:flex;flex-direction:column;margin:2px 0 14px}
.exp-mtot b{font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.exp-mtot span{font-size:12.5px;color:var(--muted)}
.heads-mgr{max-height:62vh;overflow:auto}
.hm-cat{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px}
.hm-row{display:flex;align-items:center;gap:10px;padding:7px 4px;font-size:14px;cursor:pointer}
.hm-row.off span{color:var(--muted);text-decoration:line-through}
.hm-add{display:grid;grid-template-columns:1.4fr 1fr auto;gap:8px;margin:16px 0 8px}
.hm-add input,.hm-add select{font:inherit;padding:8px 10px;border-radius:9px;border:1px solid var(--line-strong)}
/* P&L */
.od-big.neg{background:rgba(255,155,145,.14);border-color:rgba(255,155,145,.3)}
.mis-table td.num,.mis-table th.num{text-align:right;white-space:nowrap}
.mis-table tr.click{cursor:pointer}
.mis-table tr.click:hover td{background:var(--bg-soft)}
.mis-table tfoot td{font-weight:800;color:var(--navy);border-top:1.5px solid var(--navy)}
.mis-table .pos{color:#0B7A41;font-weight:700}
.mis-table .neg{color:#C23B3B;font-weight:700}
.mt-store{display:flex;align-items:center;gap:10px}
.mt-store b{display:block;color:var(--navy)}
.mt-store span{font-size:12px;color:var(--muted)}
.mt-logo{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);font-size:14px}
.pl-line{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:14px}
.pl-line small{margin-left:8px;font-size:12px;color:var(--muted);font-weight:500}
.pl-line.top b{font-size:16px;color:var(--navy)}
.pl-line.sub{font-weight:600}
.pl-line.grand{border-bottom:none;border-top:1.5px solid var(--navy);margin-top:2px;padding-top:12px}
.pl-line.grand b{font-size:19px}
.pl-line.pos b{color:#0B7A41}
.pl-line.neg b{color:#C23B3B}
.pl-line.muted{color:var(--muted)}
.pl-gap{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 0 2px}
.pl-cat{border-bottom:1px solid var(--line)}
.pl-cat>summary{list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 2px;cursor:pointer;font-size:14px}
.pl-cat>summary::-webkit-details-marker{display:none}
.pl-cat>summary>span{display:flex;align-items:center;gap:8px}
.pl-cat>summary small{font-size:12px;color:var(--muted)}
.pl-cat>summary b{color:#9A3A3A;font-weight:600}
.pl-head{display:flex;justify-content:space-between;padding:5px 2px 5px 20px;font-size:13px;color:var(--ink)}
.pl-head:last-child{padding-bottom:10px}
.pl-empty{font-size:13px;color:var(--muted);padding:10px 2px}
.hc-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line)}
.hc-row b{display:block;color:var(--navy);font-size:14px}
.hc-row span{font-size:12px;color:var(--muted)}
.hc-v{display:flex;align-items:center;gap:10px}
.hc-v b{font-size:16px}
.mis-trend{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end;height:190px;padding-top:6px}
.mt-col{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;font:inherit;background:none;border:none;border-radius:10px;padding:4px 2px;cursor:pointer;color:inherit}
.mt-col.on{background:var(--bg-soft)}
.mt-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px}
.mtb{width:38%;max-width:18px;border-radius:5px 5px 2px 2px;min-height:2px}
.mtb.s,.mt-legend i.s{background:var(--navy)}
.mtb.e,.mt-legend i.e{background:#E8912D}
.mt-col b{font-size:12px;color:#0B7A41}
.mt-col b.neg{color:#C23B3B}
.mt-col span{font-size:11.5px;color:var(--muted)}
.mt-legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-top:8px}
.mt-legend span{display:flex;align-items:center;gap:5px}
.mt-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
/* owner: this month's profit */
.opl-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.opl-cell{flex:1;min-width:120px;display:flex;flex-direction:column;padding:12px 14px;border-radius:12px;background:var(--bg-soft)}
.opl-cell span{font-size:12px;color:var(--muted);font-weight:600}
.opl-cell b{font-size:20px;color:var(--navy);letter-spacing:-.02em}
.opl-cell small{font-size:11.5px;color:var(--muted)}
.opl-cell.pos{background:#E7F6EE}.opl-cell.pos b{color:#0B7A41}
.opl-cell.neg{background:#FBEAEA}.opl-cell.neg b{color:#C23B3B}
.opl-cell.dim b{color:var(--muted)}
.opl-op{font-size:20px;font-weight:700;color:var(--muted)}
.opl-hint{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:13px;color:#9A560B}
.opl-hint .ic{width:16px;height:16px}
@media(max-width:900px){.exp-grid{grid-template-columns:1fr}.opl-op{display:none}.opl-cell{min-width:calc(50% - 10px)}}
@media(max-width:560px){.exp-row{grid-template-columns:1fr}.hm-add{grid-template-columns:1fr}}
