/* === Block from line ~15 === */
/* ═══════════════════════════════════════════
   RESET & TOKENS
═══════════════════════════════════════════ */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow-x:hidden}

:root{
  /* Cool white palette */
  --bg:#f0f4f8;
  --surface:#ffffff;
  --surface2:#f7f9fc;
  --border:#dde3ec;
  --border2:#c8d0de;

  /* Blues — cool accent system */
  --blue:#2563eb;
  --blue-light:#eff4ff;
  --blue-mid:#93b4f7;
  --navy:#0f2250;
  --sky:#e8f0fe;

  /* Neutrals */
  --ink:#0d1b2e;
  --ink2:#354762;
  --ink3:#7a8fa8;
  --ink4:#aab8cc;

  /* Status */
  --green:#059669;
  --green-bg:#ecfdf5;
  --amber:#d97706;
  --amber-bg:#fffbeb;
  --red:#dc2626;
  --red-bg:#fef2f2;
  --purple:#7c3aed;
  --purple-bg:#f5f3ff;

  /* Spacing */
  --r:12px;
  --r2:8px;
  --r3:16px;
  --shadow:0 1px 4px rgba(13,27,46,0.08),0 4px 16px rgba(13,27,46,0.06);
  --shadow2:0 8px 32px rgba(13,27,46,0.14);
}

/* ── DARK MODE ── */
[data-theme="dark"]{
  --bg:#0d1117;
  --surface:#161b22;
  --surface2:#1c2128;
  --border:#30363d;
  --border2:#484f58;

  --blue:#4493f8;
  --blue-light:#1c2d45;
  --blue-mid:#2d4a7a;
  --navy:#cdd9e5;
  --sky:#1c2d45;

  --ink:#cdd9e5;
  --ink2:#adbac7;
  --ink3:#768390;
  --ink4:#545d68;

  --green:#3fb950;
  --green-bg:#0d2117;
  --amber:#d29922;
  --amber-bg:#271d04;
  --red:#f85149;
  --red-bg:#2d1216;
  --purple:#bc8cff;
  --purple-bg:#1d1230;

  --shadow:0 1px 4px rgba(0,0,0,0.4),0 4px 16px rgba(0,0,0,0.3);
  --shadow2:0 8px 32px rgba(0,0,0,0.5);
}
[data-theme="dark"] .home-hero{background:linear-gradient(135deg,#0d1117 0%,#161b22 100%)}
[data-theme="dark"] .topbar{background:var(--surface)}
[data-theme="dark"] .drawer{background:var(--surface)}
[data-theme="dark"] .lock-screen{background:var(--surface)}
[data-theme="dark"] .lock-card{background:var(--surface2);border-color:var(--border)}
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{
  background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--border)!important;
}
[data-theme="dark"] .home-desk-card{background:var(--surface)}
[data-theme="dark"] .pp-hero{background:linear-gradient(145deg,#0d1117 0%,#0d2117 100%)!important}

/* ── PC MODE ── */
body.pc-mode{max-width:1280px;margin:0 auto}
body.pc-mode .page{display:none;min-height:100vh}
body.pc-mode .page.active{display:grid;grid-template-columns:280px 1fr;grid-template-rows:56px 1fr;min-height:100vh}
body.pc-mode .topbar{grid-column:1/-1;grid-row:1}
body.pc-mode .desk-content{grid-column:2;grid-row:2;padding:24px 32px 80px;overflow-y:auto;max-height:calc(100vh - 56px)}
body.pc-mode .btn-grid{grid-template-columns:repeat(3,1fr)}
body.pc-mode .counter-grid{grid-template-columns:repeat(4,1fr)}

/* PC mode sidebar */
body.pc-mode .page.active::after{
  content:'';grid-column:1;grid-row:2;
  background:var(--surface);border-right:1px solid var(--border);
}
body.pc-mode #page-home{display:block!important}
body.pc-mode #page-home .home-cards{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:680px;margin:0 auto;
}
body.pc-mode .board-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
body.pc-mode .pp-dash{grid-template-columns:repeat(4,1fr)!important}
body.pc-mode .pmt-summary-strip{grid-template-columns:repeat(4,1fr)!important}

/* Toggle button styles */
.ui-toggles{
  position:fixed;bottom:20px;right:16px;
  display:flex;flex-direction:column;gap:8px;z-index:200;
}
.ui-toggle-btn{
  width:44px;height:44px;border-radius:50%;border:none;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;cursor:pointer;transition:all .2s;
  box-shadow:0 2px 12px rgba(0,0,0,0.2);
}
.ui-toggle-btn.dark-btn{background:var(--navy);color:white}
.ui-toggle-btn.pc-btn{background:var(--surface);border:1.5px solid var(--border);color:var(--ink2)}
[data-theme="dark"] .ui-toggle-btn.pc-btn{background:var(--surface2)}
.ui-toggle-btn:active{transform:scale(0.9)}

body{
  font-family:'Helvetica Neue','Helvetica',Arial,sans-serif;
  background:var(--bg);color:var(--ink);
  font-size:15px;line-height:1.5;
}

/* ═══════════════════════════════════════════
   PAGES
═══════════════════════════════════════════ */
.page{display:none;min-height:100vh;animation:pgIn .22s ease}
.page.active{display:block}
@keyframes pgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ═══════════════════════════════════════════
   TOPBAR
═══════════════════════════════════════════ */
.topbar{
  background:var(--surface);
  border-bottom:1px solid var(--border);
  padding:0 16px;
  height:56px;
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:50;
}
.topbar-brand{
  font-size:17px;font-weight:700;letter-spacing:-0.02em;color:var(--navy);
  display:flex;align-items:center;gap:8px;
}
.topbar-brand-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--blue);display:inline-block;
}
.topbar-back{
  display:flex;align-items:center;gap:4px;
  background:none;border:none;color:var(--blue);
  font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;
  padding:6px 0;
}
.topbar-right{font-size:12px;color:var(--ink3);font-weight:500}

/* ═══════════════════════════════════════════
   LOCK SCREEN
═══════════════════════════════════════════ */
.lock-screen{
  min-height:100vh;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:32px 24px;
}
.lock-logo{
  font-size:36px;font-weight:800;letter-spacing:-0.04em;
  color:var(--navy);margin-bottom:4px;
}
.lock-logo span{color:var(--blue)}
.lock-sub{font-size:13px;color:var(--ink3);margin-bottom:40px;letter-spacing:0.02em}
.lock-card{
  background:var(--surface);border-radius:var(--r3);
  padding:28px 24px;width:100%;max-width:360px;
  box-shadow:var(--shadow2);
}
.lock-desk-name{
  font-size:13px;font-weight:600;color:var(--ink3);
  letter-spacing:0.06em;text-transform:uppercase;margin-bottom:6px;
}
.lock-title{font-size:22px;font-weight:700;color:var(--navy);margin-bottom:24px;letter-spacing:-0.02em}
.lock-pin-row{display:flex;gap:10px;margin-bottom:20px}
.lock-pin-dot{
  flex:1;height:52px;border-radius:var(--r);
  border:2px solid var(--border);background:var(--surface2);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;color:var(--blue);transition:border .15s,background .15s;
}
.lock-pin-dot.filled{border-color:var(--blue);background:var(--blue-light)}
.lock-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.numpad-btn{
  height:60px;border-radius:var(--r2);background:var(--surface2);
  border:1px solid var(--border);font-family:inherit;font-size:20px;
  font-weight:600;color:var(--navy);cursor:pointer;transition:all .12s;
}
.numpad-btn:active{background:var(--sky);border-color:var(--blue-mid)}
.numpad-btn.del{font-size:16px;color:var(--ink3)}
.numpad-btn.clear{font-size:12px;color:var(--red);font-weight:600}
.lock-error{
  text-align:center;font-size:13px;color:var(--red);
  margin-top:12px;min-height:18px;font-weight:500;
}

/* ═══════════════════════════════════════════
   HOME
═══════════════════════════════════════════ */
#page-home{background:var(--surface)}
.home-hero{
  background:linear-gradient(135deg,var(--navy) 0%,#1a3a6b 100%);
  padding:40px 20px 32px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  position:relative;
}
.home-wordmark{
  font-size:32px;font-weight:800;letter-spacing:-0.04em;
  color:white;margin-bottom:4px;
}
.home-wordmark span{color:#7eb3ff}
.home-tagline{font-size:13px;color:rgba(255,255,255,0.55);letter-spacing:0.06em;text-transform:uppercase}
.home-cards{padding:24px 16px;display:flex;flex-direction:column;gap:14px}
.home-desk-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r3);padding:20px;
  display:flex;align-items:center;gap:16px;cursor:pointer;
  box-shadow:var(--shadow);transition:all .18s;
  position:relative;overflow:hidden;
}
.home-desk-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
}
.home-desk-card.sales::before{background:var(--blue)}
.home-desk-card.ops::before{background:var(--green)}
.home-desk-card.admin::before{background:var(--purple)}
.home-desk-card:active{transform:scale(0.98)}
.home-card-icon{
  width:48px;height:48px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;
}
.home-card-icon.sales{background:var(--blue-light)}
.home-card-icon.ops{background:var(--green-bg)}
.home-card-icon.admin{background:var(--purple-bg)}
.home-card-body strong{display:block;font-size:16px;font-weight:700;color:var(--navy);letter-spacing:-0.01em}
.home-card-body small{font-size:12px;color:var(--ink3)}
.home-card-arrow{margin-left:auto;font-size:18px;color:var(--ink4)}

/* ═══════════════════════════════════════════
   DESK PAGES
═══════════════════════════════════════════ */
.desk-content{padding:16px 16px 100px}

/* Counters */
.counter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.counter-tile{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);padding:14px 16px;
}
.counter-tile .ct-val{
  font-size:30px;font-weight:800;letter-spacing:-0.03em;
  color:var(--blue);line-height:1;margin-bottom:2px;
}
.counter-tile .ct-lbl{font-size:11px;font-weight:600;color:var(--ink3);letter-spacing:0.05em;text-transform:uppercase}

/* Section label */
.s-label{
  font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--ink3);margin:20px 0 10px;
}

/* Button grid */
.btn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.desk-btn{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);padding:14px 14px 12px;
  cursor:pointer;text-align:left;
  box-shadow:0 1px 3px rgba(13,27,46,0.05);
  transition:all .15s;display:flex;flex-direction:column;gap:5px;
  position:relative;
}
.desk-btn:active{transform:scale(0.97);background:var(--surface2)}
.desk-btn .db-ico{font-size:20px;line-height:1}
.desk-btn .db-title{font-size:13px;font-weight:700;color:var(--navy);line-height:1.25;letter-spacing:-0.01em}
.desk-btn .db-sub{font-size:11px;color:var(--ink3)}
.desk-btn.accent{background:var(--blue-light);border-color:var(--blue-mid)}
.desk-btn.accent .db-title{color:var(--blue)}
.desk-btn.danger{background:var(--red-bg);border-color:#fca5a5}
.desk-btn.danger .db-title{color:var(--red)}
.desk-btn.success{background:var(--green-bg);border-color:#6ee7b7}
.desk-btn.success .db-title{color:var(--green)}
.desk-btn.warn{background:var(--amber-bg);border-color:#fcd34d}
.desk-btn.warn .db-title{color:var(--amber)}
.desk-btn.full{grid-column:1/-1}
.chevron-indicator{
  position:absolute;bottom:10px;right:12px;
  font-size:10px;color:var(--ink4);
}

/* Board tabs */
.board-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.board-tabs::-webkit-scrollbar{display:none}
.b-tab{
  flex-shrink:0;height:44px;padding:0 18px;
  background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--r2);font-family:inherit;font-size:13px;
  font-weight:700;color:var(--ink2);cursor:pointer;transition:all .15s;
  display:flex;align-items:center;gap:6px;
}
.b-tab.active{background:var(--navy);border-color:var(--navy);color:white}
.board-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.b-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);padding:14px 16px;
  border-left:3px solid var(--blue-mid);
}
.b-card.green{border-left-color:var(--green)}
.b-card.amber{border-left-color:var(--amber)}
.b-card.red{border-left-color:var(--red)}
.b-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}
.b-card-id{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:0.06em;margin-bottom:2px}
.b-card-name{font-size:15px;font-weight:700;color:var(--navy);letter-spacing:-0.01em}
.b-card-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11px;color:var(--ink3);margin-top:4px;font-weight:500}
.pill{
  display:inline-flex;align-items:center;height:22px;padding:0 9px;
  border-radius:11px;font-size:11px;font-weight:700;letter-spacing:0.02em;
}
.pill-new{background:#eff6ff;color:#2563eb}
.pill-hot{background:#fff7ed;color:#c2410c}
.pill-pay{background:#ecfdf5;color:#065f46}
.pill-conv{background:#f5f3ff;color:#5b21b6}
.pill-upcoming{background:#eff6ff;color:#1d4ed8}
.pill-ongoing{background:#fff7ed;color:#b45309}
.pill-done{background:#ecfdf5;color:#065f46}
.pill-cancel{background:#fef2f2;color:#991b1b}
.pill-pend{background:#fffbeb;color:#92400e}
.pill-paid{background:#ecfdf5;color:#065f46}
.empty-state{text-align:center;padding:40px;color:var(--ink4);font-size:13px}
.empty-state .ei{font-size:32px;margin-bottom:8px}

/* ═══════════════════════════════════════════
   DRAWER (replaces modals)
═══════════════════════════════════════════ */
.drawer-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(13,27,46,0.4);backdrop-filter:blur(4px);
  z-index:200;align-items:flex-end;justify-content:center;
}
.drawer-overlay.open{display:flex}
.drawer{
  background:var(--surface);
  border-radius:20px 20px 0 0;
  width:100%;max-width:540px;
  max-height:90vh;overflow-y:auto;
  animation:drawerUp .28s cubic-bezier(0.32,0.72,0,1);
  padding-bottom:env(safe-area-inset-bottom,16px);
}
@keyframes drawerUp{from{transform:translateY(110%)}to{transform:none}}
.drawer-pip{
  width:40px;height:4px;border-radius:2px;
  background:var(--border);margin:10px auto 0;
}
.drawer-head{
  padding:16px 18px 14px;
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;background:var(--surface);z-index:1;
}
.drawer-title{font-size:17px;font-weight:800;color:var(--navy);letter-spacing:-0.02em}
.drawer-close{
  width:30px;height:30px;border-radius:50%;
  background:var(--bg);border:none;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;color:var(--ink3);cursor:pointer;
}
.drawer-body{padding:18px 18px}

/* ═══════════════════════════════════════════
   FORMS
═══════════════════════════════════════════ */
.f-field{margin-bottom:14px}
.f-field label{
  display:block;font-size:11px;font-weight:700;
  color:var(--ink2);letter-spacing:0.05em;text-transform:uppercase;margin-bottom:6px;
}
.f-field input,.f-field select,.f-field textarea{
  width:100%;background:var(--surface2);
  border:1.5px solid var(--border);border-radius:var(--r2);
  padding:11px 13px;font-family:inherit;font-size:14px;color:var(--ink);
  outline:none;transition:border .15s;-webkit-appearance:none;
  -webkit-font-smoothing:antialiased;
}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{
  border-color:var(--blue);background:var(--surface);
}
.f-field textarea{min-height:80px;resize:vertical}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.f-field input[type=file]{padding:8px;font-size:12px}
.f-field input[readonly]{background:var(--bg);color:var(--ink3)}
.submit-btn{
  width:100%;background:var(--navy);color:white;
  border:none;border-radius:var(--r);padding:15px;
  font-family:inherit;font-size:15px;font-weight:800;
  cursor:pointer;letter-spacing:-0.01em;margin-top:10px;
  transition:background .15s;-webkit-font-smoothing:antialiased;
}
.submit-btn:active{background:var(--blue)}
.submit-btn.blue{background:var(--blue)}
.submit-btn.blue:active{background:#1d4ed8}
.submit-btn.green{background:var(--green)}
.submit-btn.red{background:var(--red)}
.submit-btn.amber{background:var(--amber)}
.divider{height:1px;background:var(--border);margin:16px 0}
.s-label-sm{font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}

/* ═══════════════════════════════════════════
   CHECKLIST
═══════════════════════════════════════════ */
.check-item{
  display:flex;align-items:center;gap:12px;
  background:var(--surface2);border:1.5px solid var(--border);
  border-radius:var(--r2);padding:13px 14px;margin-bottom:8px;cursor:pointer;
  transition:all .15s;
}
.check-item.checked{background:var(--green-bg);border-color:#6ee7b7}
.check-item .ci-box{
  width:20px;height:20px;border-radius:6px;border:2px solid var(--border2);
  background:var(--surface);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .15s;
}
.check-item.checked .ci-box{background:var(--green);border-color:var(--green);color:white;font-size:12px}
.check-item .ci-text{font-size:13px;font-weight:500;color:var(--ink)}
.check-item.checked .ci-text{color:var(--green);text-decoration:line-through;opacity:.7}

/* ═══════════════════════════════════════════
   CALCULATOR RESULT (SALES VIEW)
═══════════════════════════════════════════ */
.calc-result{
  background:var(--navy);border-radius:var(--r);
  padding:20px;margin-top:16px;display:none;
}
.calc-result.show{display:block}
.cr-row{
  display:flex;justify-content:space-between;
  padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.07);
}
.cr-row:last-child{border:none;padding-top:14px}
.cr-row span{font-size:13px;color:rgba(255,255,255,0.5);font-weight:500}
.cr-row strong{font-size:14px;color:white;font-weight:700;letter-spacing:-0.01em}
.cr-row.total span{font-size:14px;color:rgba(255,255,255,0.7);font-weight:700}
.cr-row.total strong{font-size:24px;color:#7eb3ff;font-weight:800;letter-spacing:-0.03em}
.cr-row.offer strong{color:#34d399;font-size:18px}
.cr-row.discount strong{color:#fbbf24}
.cr-row.pp strong{color:#a78bfa;font-size:16px}

/* ═══════════════════════════════════════════
   VENDOR CARD
═══════════════════════════════════════════ */
.v-card{
  background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--r);padding:13px 14px;margin-bottom:10px;
  display:flex;align-items:center;gap:12px;
}
.v-av{
  width:40px;height:40px;border-radius:10px;background:var(--sky);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
}
.v-info strong{display:block;font-size:13px;font-weight:700;color:var(--navy)}
.v-info span{font-size:11px;color:var(--ink3)}
.v-call{
  margin-left:auto;background:var(--blue);color:white;
  border:none;border-radius:20px;padding:6px 14px;
  font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;
}

/* ═══════════════════════════════════════════
   REPLY GUIDES
═══════════════════════════════════════════ */
.guide-card{
  background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--r);padding:14px;margin-bottom:10px;
}
.guide-card h4{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:6px}
.guide-card p{font-size:12px;color:var(--ink2);line-height:1.7;white-space:pre-wrap}
.copy-btn{
  margin-top:8px;background:var(--blue-light);border:none;
  color:var(--blue);border-radius:6px;padding:5px 12px;
  font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;
}

/* ═══════════════════════════════════════════
   EMERGENCY
═══════════════════════════════════════════ */
.emergency-card{
  background:var(--red);border-radius:var(--r);
  padding:20px;text-align:center;cursor:pointer;
  margin-top:4px;transition:transform .15s;
  box-shadow:0 4px 20px rgba(220,38,38,0.25);
}
.emergency-card:active{transform:scale(0.97)}
.emergency-card .ec-icon{font-size:26px;margin-bottom:4px}
.emergency-card .ec-title{font-size:16px;font-weight:800;color:white;letter-spacing:-0.01em}
.emergency-card .ec-sub{font-size:11px;color:rgba(255,255,255,0.7);margin-top:2px}

/* ═══════════════════════════════════════════
   ADMIN PAGE
═══════════════════════════════════════════ */
.admin-section{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r3);margin-bottom:16px;overflow:hidden;
}
.admin-section-head{
  padding:14px 16px;border-bottom:1px solid var(--border);
  background:var(--surface2);
  display:flex;align-items:center;justify-content:space-between;
}
.admin-section-head h3{font-size:14px;font-weight:800;color:var(--navy);letter-spacing:-0.01em}
.admin-section-body{padding:16px}
.admin-chevron{
  font-size:16px;color:var(--ink3);transition:transform .25s;
  display:inline-block;line-height:1;user-select:none;
}
.admin-chevron.closed{transform:rotate(-90deg)}
.admin-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;border-bottom:1px solid var(--border);
}
.admin-row:last-child{border:none}
.admin-row label{font-size:13px;font-weight:600;color:var(--ink);flex:1}
.admin-row input{
  width:120px;background:var(--surface2);border:1.5px solid var(--border);
  border-radius:var(--r2);padding:8px 12px;font-family:inherit;
  font-size:14px;font-weight:700;color:var(--blue);text-align:right;
  outline:none;transition:border .15s;
}
.admin-row input:focus{border-color:var(--blue)}
.admin-row .unit{font-size:11px;color:var(--ink3);margin-left:6px;font-weight:600}
.save-admin-btn{
  width:100%;background:var(--blue);color:white;
  border:none;border-radius:var(--r);padding:14px;
  font-family:inherit;font-size:14px;font-weight:800;cursor:pointer;
  margin-top:12px;letter-spacing:-0.01em;
}
.save-admin-btn:active{background:#1d4ed8}
.admin-tag{
  font-size:10px;font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--purple);
  background:var(--purple-bg);padding:2px 8px;border-radius:10px;
}

/* ═══════════════════════════════════════════
   TOAST
═══════════════════════════════════════════ */
#toast{
  position:fixed;bottom:28px;left:50%;transform:translateX(-50%);
  background:var(--navy);color:white;
  padding:11px 22px;border-radius:24px;font-size:13px;font-weight:600;
  z-index:999;opacity:0;transition:opacity .25s;pointer-events:none;
  white-space:nowrap;box-shadow:var(--shadow2);letter-spacing:-0.01em;
}
#toast.show{opacity:1}

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media(min-width:480px){
  .counter-grid{grid-template-columns:repeat(4,1fr)}
  .btn-grid{grid-template-columns:repeat(3,1fr)}
}

/* scrollbar */
::-webkit-scrollbar{width:3px;height:3px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}

/* ═══ FINANCE & ANALYTICS ═══ */
.home-desk-card.finance::before{background:linear-gradient(180deg,#0e7490,#0891b2)}
.home-card-icon.finance{background:#ecfeff;}
.home-desk-card.finance{ border-left:4px solid #0891b2}

/* KPI strip */
.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.kpi-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);padding:14px 16px;cursor:pointer;
  transition:all .15s;position:relative;overflow:hidden;
}
.kpi-card:active{transform:scale(0.97)}
.kpi-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
}
.kpi-card.teal::before{background:linear-gradient(90deg,#0891b2,#06b6d4)}
.kpi-card.green::before{background:linear-gradient(90deg,#059669,#10b981)}
.kpi-card.blue::before{background:linear-gradient(90deg,#2563eb,#3b82f6)}
.kpi-card.purple::before{background:linear-gradient(90deg,#7c3aed,#8b5cf6)}
.kpi-card.red::before{background:linear-gradient(90deg,#dc2626,#ef4444)}
.kpi-card.amber::before{background:linear-gradient(90deg,#d97706,#f59e0b)}
.kpi-val{font-size:22px;font-weight:800;color:var(--navy);letter-spacing:-0.03em;line-height:1;margin-bottom:4px}
.kpi-lbl{font-size:11px;font-weight:700;color:var(--ink3);letter-spacing:0.05em;text-transform:uppercase}
.kpi-sub{font-size:11px;color:var(--ink4);margin-top:3px}
.kpi-tap{font-size:9px;color:var(--ink4);position:absolute;bottom:8px;right:10px;font-weight:600;letter-spacing:0.04em}

/* Admin cost input */
.admin-cost-bar{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);padding:14px 16px;margin-bottom:20px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.admin-cost-bar label{font-size:13px;font-weight:700;color:var(--navy);white-space:nowrap}
.admin-cost-bar input{
  flex:1;min-width:120px;background:var(--surface2);
  border:1.5px solid var(--border);border-radius:var(--r2);
  padding:8px 12px;font-family:inherit;font-size:14px;
  font-weight:700;color:var(--blue);outline:none;
}
.admin-cost-bar input:focus{border-color:var(--blue)}
.admin-cost-bar button{
  background:var(--navy);color:white;border:none;
  border-radius:var(--r2);padding:9px 18px;font-family:inherit;
  font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;
}

/* Performance table */
.perf-section{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);margin-bottom:16px;overflow:hidden;
}
.perf-head{
  padding:12px 16px;border-bottom:1px solid var(--border);
  background:var(--surface2);
  display:flex;align-items:center;justify-content:space-between;
}
.perf-head h3{font-size:14px;font-weight:800;color:var(--navy);letter-spacing:-0.01em}
.perf-head span{font-size:11px;color:var(--ink3)}
.perf-table{width:100%;border-collapse:collapse;font-size:13px}
.perf-table th{
  padding:8px 14px;text-align:left;
  font-size:10px;font-weight:700;color:var(--ink3);
  letter-spacing:0.07em;text-transform:uppercase;
  background:var(--bg);border-bottom:1px solid var(--border);
}
.perf-table td{padding:11px 14px;border-bottom:1px solid var(--border);color:var(--ink)}
.perf-table tr:last-child td{border:none}
.perf-table tr:hover td{background:var(--surface2)}
.perf-table .num{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.perf-table .money{font-weight:700;color:var(--green)}
.perf-table .warn{color:var(--amber);font-weight:700}
.perf-table .badge{
  display:inline-block;padding:2px 8px;border-radius:10px;
  font-size:10px;font-weight:700;
}
.badge-high{background:#fef2f2;color:#dc2626}
.badge-med{background:#fffbeb;color:#d97706}
.badge-low{background:#ecfdf5;color:#059669}

/* Finance drill drawer */
.drill-list{display:flex;flex-direction:column;gap:10px}
.drill-card{
  background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--r2);padding:12px 14px;
}
.drill-card .dc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}
.drill-card .dc-name{font-size:14px;font-weight:700;color:var(--navy)}
.drill-card .dc-id{font-size:10px;color:var(--ink3);font-weight:600;letter-spacing:0.04em}
.drill-card .dc-meta{font-size:12px;color:var(--ink3);display:flex;gap:12px;flex-wrap:wrap}
.drill-card .dc-amount{font-size:16px;font-weight:800;color:var(--green)}

/* Profit indicator */
.profit-bar{
  height:6px;border-radius:3px;background:var(--border);
  margin-top:8px;overflow:hidden;
}
.profit-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#059669,#10b981);transition:width .6s ease}
.profit-bar-fill.loss{background:linear-gradient(90deg,#dc2626,#ef4444)}

@media(min-width:480px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}
.td-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px;margin-bottom:16px;
}
.td-cell{
  background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--r2);padding:10px 12px;
}
.td-cell .tdc-lbl{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:2px}
.td-cell .tdc-val{font-size:14px;font-weight:700;color:var(--navy)}
.td-cell.full{grid-column:1/-1}
.td-pay-bar{display:flex;flex-direction:column;gap:6px}
.td-pay-row{display:flex;justify-content:space-between;font-size:13px}
.td-pay-row span{color:var(--ink3)}
.td-pay-row strong{color:var(--navy);font-weight:700}
.td-pay-row.balance strong{color:var(--amber)}
.td-pay-row.paid strong{color:var(--green)}

/* ═══ VENDOR CIRCLES ═══ */
.circle-section{margin-bottom:18px}
.circle-header{
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;background:var(--navy);
  border-radius:var(--r2);margin-bottom:8px;
}
.circle-header .ch-dot{
  width:8px;height:8px;border-radius:50%;background:var(--blue-mid);flex-shrink:0;
}
.circle-header .ch-name{font-size:12px;font-weight:800;color:white;letter-spacing:0.04em;text-transform:uppercase}
.circle-header .ch-count{font-size:11px;color:rgba(255,255,255,0.5);margin-left:auto}

/* Stay location groups */
.stay-loc-section{margin-bottom:16px}
.stay-loc-header{
  font-size:11px;font-weight:700;color:var(--ink3);
  letter-spacing:0.06em;text-transform:uppercase;
  padding:6px 0;border-bottom:1px solid var(--border);margin-bottom:8px;
}

/* Admin add button */
.admin-add-btn{
  background:var(--blue-light);border:1px solid var(--blue-mid);
  color:var(--blue);border-radius:20px;padding:5px 14px;
  font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;
}
.admin-add-btn:active{background:var(--sky)}

/* Stay location admin row */
.stay-loc-admin{
  background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--r2);margin-bottom:10px;overflow:hidden;
}
.stay-loc-admin .sla-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;background:var(--sky);border-bottom:1px solid var(--border);
}
.stay-loc-admin .sla-head strong{font-size:13px;font-weight:700;color:var(--navy)}
.stay-loc-admin .sla-body{padding:10px 14px}

/* delete btn */
.del-btn{
  background:var(--red-bg);border:none;color:var(--red);
  border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;cursor:pointer;
  font-family:inherit;
}

/* === Block from line ~4228 === */
/* ══════════════════════════════════
   REPORTS PAGE CSS
══════════════════════════════════ */
.home-desk-card.reports::before{background:linear-gradient(180deg,#374151,#1f2937)}
.home-card-icon.reports{background:#f3f4f6}
.home-desk-card.reports{border-left:4px solid #374151}

/* Report type selector */
.report-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.rtype-btn{
  background:var(--surface);border:2px solid var(--border);
  border-radius:var(--r);padding:16px 12px;cursor:pointer;
  text-align:center;transition:all .15s;
}
.rtype-btn:active{transform:scale(0.97)}
.rtype-btn.active{border-color:var(--navy);background:var(--sky)}
.rtype-btn .rt-ico{font-size:24px;margin-bottom:6px}
.rtype-btn .rt-name{font-size:13px;font-weight:700;color:var(--navy);letter-spacing:-0.01em}
.rtype-btn .rt-sub{font-size:11px;color:var(--ink3);margin-top:2px}

/* Filter bar */
.filter-bar{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);padding:14px 16px;margin-bottom:16px;
}
.filter-bar-title{font-size:11px;font-weight:700;color:var(--ink3);letter-spacing:0.07em;text-transform:uppercase;margin-bottom:12px}
.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.filter-row.three{grid-template-columns:1fr 1fr 1fr}
.filter-field label{display:block;font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:0.05em;text-transform:uppercase;margin-bottom:5px}
.filter-field input,.filter-field select{
  width:100%;background:var(--surface2);
  border:1.5px solid var(--border);border-radius:var(--r2);
  padding:9px 11px;font-family:inherit;font-size:13px;color:var(--ink);
  outline:none;-webkit-appearance:none;
}
.filter-field input:focus,.filter-field select:focus{border-color:var(--blue)}

/* Generate button */
.gen-btn{
  width:100%;background:var(--navy);color:white;border:none;
  border-radius:var(--r);padding:14px;font-family:inherit;
  font-size:14px;font-weight:800;cursor:pointer;margin-top:10px;
  letter-spacing:-0.01em;transition:background .15s;
}
.gen-btn:active{background:var(--blue)}

/* Report output */
#report-output{display:none;margin-top:20px}
#report-output.show{display:block}

/* Report document */
.report-doc{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);overflow:hidden;
}
.report-header{
  background:var(--navy);padding:20px 20px 16px;
  display:flex;align-items:flex-start;justify-content:space-between;
}
.rh-brand{font-size:18px;font-weight:800;color:white;letter-spacing:-0.02em}
.rh-brand span{color:#7eb3ff}
.rh-meta{text-align:right}
.rh-meta .rh-type{font-size:12px;font-weight:700;color:rgba(255,255,255,0.6);letter-spacing:0.06em;text-transform:uppercase}
.rh-meta .rh-date{font-size:11px;color:rgba(255,255,255,0.4);margin-top:2px}
.report-filter-tag{
  background:rgba(255,255,255,0.08);padding:8px 20px;
  font-size:11px;color:rgba(255,255,255,0.5);
  border-bottom:1px solid rgba(255,255,255,0.06);
  letter-spacing:0.04em;
}

/* Report summary strip */
.report-summary{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:1px;background:var(--border);
  border-bottom:1px solid var(--border);
}
.rs-cell{
  background:var(--surface);padding:14px 16px;
}
.rs-cell .rsc-val{font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-0.02em}
.rs-cell .rsc-lbl{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:0.05em;text-transform:uppercase;margin-top:2px}

/* Report table */
.report-table-wrap{overflow-x:auto;padding:0}
.report-table{width:100%;border-collapse:collapse;font-size:13px}
.report-table th{
  padding:10px 14px;text-align:left;
  background:var(--bg);border-bottom:2px solid var(--border);
  font-size:10px;font-weight:700;color:var(--ink3);
  letter-spacing:0.07em;text-transform:uppercase;white-space:nowrap;
}
.report-table td{
  padding:11px 14px;border-bottom:1px solid var(--border);
  color:var(--ink);vertical-align:middle;
}
.report-table tr:last-child td{border-bottom:none}
.report-table tr:nth-child(even) td{background:#fafbfc}
.rt-id{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:0.04em;font-variant-numeric:tabular-nums}
.rt-name{font-weight:700;color:var(--navy)}
.rt-money{font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}
.rt-money.neg{color:var(--red)}
.rt-warn{color:var(--amber);font-weight:700}
.rt-muted{color:var(--ink3)}
.report-footer{
  padding:12px 20px;background:var(--bg);
  border-top:1px solid var(--border);
  font-size:11px;color:var(--ink4);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;
}

/* Action bar */
.report-actions{
  display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;
}
.ra-btn{
  flex:1;min-width:120px;border:none;border-radius:var(--r2);
  padding:13px;font-family:inherit;font-size:13px;font-weight:700;
  cursor:pointer;transition:all .15s;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.ra-btn.pdf{background:var(--red);color:white}
.ra-btn.csv{background:var(--green);color:white}
.ra-btn.share{background:var(--blue);color:white}
.ra-btn:active{filter:brightness(0.88);transform:scale(0.97)}

/* ══════════════════════════════════
   ADMIN UI BOX SYSTEM (upgraded)
══════════════════════════════════ */
.admin-box{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r3);margin-bottom:16px;overflow:hidden;
  box-shadow:0 1px 4px rgba(13,27,46,0.05);
}
.admin-box-head{
  padding:14px 18px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--border);
}
.admin-box-head.blue{background:var(--sky);border-bottom-color:#bfdbfe}
.admin-box-head.green{background:var(--green-bg);border-bottom-color:#a7f3d0}
.admin-box-head.purple{background:var(--purple-bg);border-bottom-color:#c4b5fd}
.admin-box-head.red{background:var(--red-bg);border-bottom-color:#fca5a5}
.admin-box-head.amber{background:var(--amber-bg);border-bottom-color:#fcd34d}
.admin-box-head.grey{background:var(--surface2);border-bottom-color:var(--border)}
.admin-box-title{
  display:flex;align-items:center;gap:10px;
}
.admin-box-title .abt-icon{font-size:18px}
.admin-box-title h3{font-size:14px;font-weight:800;color:var(--navy);letter-spacing:-0.01em}
.admin-box-title .abt-badge{
  font-size:10px;font-weight:700;padding:2px 8px;
  border-radius:10px;letter-spacing:0.04em;text-transform:uppercase;
}
.abt-badge.purple{background:var(--purple-bg);color:var(--purple)}
.abt-badge.red{background:var(--red-bg);color:var(--red)}
.admin-box-actions{display:flex;gap:8px;align-items:center}
.admin-box-body{padding:0}
.admin-box-info{
  padding:10px 18px;font-size:12px;
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:8px;
}
.admin-box-info.blue{background:var(--sky);color:var(--blue)}
.admin-box-info.amber{background:var(--amber-bg);color:var(--amber)}
.admin-box-footer{padding:14px 18px;border-top:1px solid var(--border);background:var(--surface2)}

/* Admin row upgraded */
.admin-row-v2{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;border-bottom:1px solid var(--border);transition:background .1s;
}
.admin-row-v2:last-child{border:none}
.admin-row-v2:hover{background:var(--bg)}
.admin-row-v2 .arv-label{font-size:13px;font-weight:600;color:var(--ink);flex:1}
.admin-row-v2 .arv-sub{font-size:11px;color:var(--ink3);margin-top:1px}
.admin-row-v2 .arv-control{display:flex;align-items:center;gap:8px}
.admin-row-v2 input[type=number]{
  width:110px;text-align:right;background:var(--surface2);
  border:1.5px solid var(--border);border-radius:var(--r2);
  padding:8px 12px;font-family:inherit;font-size:14px;
  font-weight:700;color:var(--blue);outline:none;
}
.admin-row-v2 input[type=number]:focus{border-color:var(--blue);background:var(--surface)}
.arv-unit{font-size:11px;font-weight:700;color:var(--ink3);min-width:28px}

/* Save bar */
.admin-save-bar{
  padding:14px 18px;background:var(--surface2);
  border-top:1px solid var(--border);
}
.admin-save-bar button{
  width:100%;background:var(--navy);color:white;border:none;
  border-radius:var(--r2);padding:12px;font-family:inherit;
  font-size:13px;font-weight:800;cursor:pointer;transition:background .15s;
}
.admin-save-bar button:active{background:var(--blue)}
.admin-save-bar button.purple{background:var(--purple)}
.admin-save-bar button.red{background:var(--red)}

/* Print styles */
@media print{
  body > *:not(#page-reports){display:none!important}
  #page-reports .topbar,
  #page-reports .report-type-grid,
  #page-reports .filter-bar,
  #page-reports .gen-btn,
  #page-reports .report-actions,
  #page-reports .s-label:first-of-type{display:none!important}
  #report-output{display:block!important}
  .report-doc{border:none;box-shadow:none}
  .report-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{margin:15mm;size:A4}
}

/* === Block from line ~4862 === */
/* ══════════════════════════════
   NEW FEATURES CSS
══════════════════════════════ */
/* Document preview */
.doc-preview{
  background:white;border:1px solid var(--border);
  border-radius:var(--r);overflow:hidden;margin-bottom:16px;
}
.doc-header{
  background:var(--navy);padding:20px;
  display:flex;justify-content:space-between;align-items:flex-start;
}
.doc-brand{font-size:17px;font-weight:800;color:white;letter-spacing:-0.02em}
.doc-brand span{color:#7eb3ff}
.doc-type{font-size:11px;font-weight:700;color:rgba(255,255,255,0.5);letter-spacing:0.08em;text-transform:uppercase;margin-top:2px}
.doc-body{padding:18px}
.doc-section{margin-bottom:16px}
.doc-section-title{font-size:10px;font-weight:800;color:var(--ink3);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border)}
.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.doc-field{background:var(--surface2);border-radius:var(--r2);padding:8px 10px}
.doc-field .df-label{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:0.05em;text-transform:uppercase;margin-bottom:2px}
.doc-field .df-val{font-size:13px;font-weight:700;color:var(--navy)}
.doc-field.full{grid-column:1/-1}
.doc-highlight{background:var(--navy);border-radius:var(--r2);padding:12px 14px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.doc-highlight span{font-size:12px;color:rgba(255,255,255,0.6)}
.doc-highlight strong{font-size:16px;font-weight:800;color:#7eb3ff}
.doc-notice{background:var(--amber-bg);border:1px solid #fcd34d;border-radius:var(--r2);padding:10px 12px;font-size:12px;color:var(--amber);line-height:1.6}
.doc-actions{display:flex;gap:8px;flex-wrap:wrap}
.doc-btn{
  flex:1;min-width:100px;border:none;border-radius:var(--r2);
  padding:12px;font-family:inherit;font-size:12px;font-weight:700;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;
  transition:filter .15s;
}
.doc-btn:active{filter:brightness(0.88)}
.doc-btn.wa{background:#25d366;color:white}
.doc-btn.pdf{background:var(--red);color:white}
.doc-btn.copy{background:var(--blue);color:white}
.doc-btn.print{background:var(--navy);color:white}

/* Analytics chart bars */
.bar-chart{display:flex;flex-direction:column;gap:10px;padding:4px 0}
.bar-row{display:flex;align-items:center;gap:10px}
.bar-label{font-size:12px;font-weight:600;color:var(--ink2);width:80px;flex-shrink:0;text-align:right}
.bar-track{flex:1;height:22px;background:var(--bg);border-radius:4px;overflow:hidden;position:relative}
.bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--blue),#60a5fa);transition:width .5s ease}
.bar-fill.green{background:linear-gradient(90deg,var(--green),#34d399)}
.bar-fill.amber{background:linear-gradient(90deg,var(--amber),#fbbf24)}
.bar-val{font-size:11px;font-weight:700;color:var(--navy);white-space:nowrap;min-width:50px}

/* Overdue alert card */
.alert-card{
  background:var(--red-bg);border:1px solid #fca5a5;
  border-radius:var(--r);padding:13px 14px;margin-bottom:10px;
  border-left:4px solid var(--red);
}
.alert-card .ac-name{font-size:14px;font-weight:700;color:var(--red)}
.alert-card .ac-meta{font-size:12px;color:#991b1b;margin-top:3px;display:flex;gap:10px;flex-wrap:wrap}
.alert-card .ac-days{font-size:11px;font-weight:800;color:var(--red);background:#fee2e2;padding:2px 8px;border-radius:10px}

/* Availability calendar */
.avail-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:8px}
.avail-day{
  aspect-ratio:1;border-radius:6px;display:flex;align-items:center;
  justify-content:center;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;
}
.avail-day.available{background:var(--green-bg);color:var(--green)}
.avail-day.partial{background:var(--amber-bg);color:var(--amber)}
.avail-day.blocked{background:var(--red-bg);color:var(--red);text-decoration:line-through}
.avail-day.past{background:var(--bg);color:var(--ink4);cursor:default}
.avail-day.header{background:none;color:var(--ink3);font-size:10px;cursor:default;aspect-ratio:auto}

/* Monthly pnl row */
.pnl-pos{color:var(--green);font-weight:700}
.pnl-neg{color:var(--red);font-weight:700}

/* Vendor payment status */
.vpay-paid{color:var(--green);font-weight:700}
.vpay-pending{color:var(--amber);font-weight:700}

/* === Block from line ~5861 === */
/* SOS styles */
.sos-category{margin-bottom:14px}
.sos-cat-title{
  font-size:11px;font-weight:800;color:#991b1b;
  letter-spacing:0.07em;text-transform:uppercase;
  padding:6px 0;border-bottom:1px solid #fca5a5;margin-bottom:8px;
}
.sos-card{
  background:white;border:1px solid #fca5a5;border-radius:var(--r2);
  padding:11px 14px;margin-bottom:8px;
  display:flex;align-items:center;gap:12px;
}
.sos-card .sc-icon{font-size:20px;flex-shrink:0}
.sos-card .sc-info{flex:1;min-width:0}
.sos-card .sc-name{font-size:13px;font-weight:700;color:var(--navy)}
.sos-card .sc-loc{font-size:11px;color:var(--ink3)}
.sos-card .sc-note{font-size:11px;color:var(--amber);margin-top:2px}
.sos-call-btn{
  background:var(--red);color:white;border:none;border-radius:var(--r2);
  padding:8px 14px;font-family:inherit;font-size:12px;font-weight:800;
  cursor:pointer;white-space:nowrap;flex-shrink:0;
}
.sos-call-btn.green{background:#25d366}
.sos-national-row{
  display:flex;align-items:center;justify-content:space-between;
  background:white;border:1px solid #fca5a5;border-radius:var(--r2);
  padding:10px 14px;margin-bottom:8px;
}
.sos-national-row .snr-left{display:flex;align-items:center;gap:10px}
.sos-national-row .snr-ico{font-size:18px}
.sos-national-row .snr-name{font-size:13px;font-weight:700;color:var(--navy)}
.sos-national-row .snr-num{font-size:12px;color:var(--ink3)}
.sos-num-btn{
  background:var(--red);color:white;border:none;border-radius:20px;
  padding:6px 16px;font-family:inherit;font-size:13px;font-weight:800;
  cursor:pointer;letter-spacing:0.02em;
}

/* Multi-traveler card */
.traveler-card{
  background:var(--surface2);border:1.5px solid var(--border);
  border-radius:var(--r);padding:14px;margin-bottom:12px;
  position:relative;
}
.traveler-card-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;
}
.traveler-card-head .tc-label{font-size:12px;font-weight:800;color:var(--navy);letter-spacing:0.02em}

/* Stay stop card */
.stay-stop-card{
  background:var(--surface2);border:1.5px solid var(--border);
  border-radius:var(--r);padding:14px;margin-bottom:10px;
  position:relative;
}
.stay-stop-head{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;
}
.stay-stop-head .ssh-label{font-size:12px;font-weight:800;color:var(--navy)}

/* === Block from line ~6595 === */
/* ══════════════════════════════
   PARTNER PAYMENTS PAGE
══════════════════════════════ */
.home-desk-card.partner-pay::before{background:linear-gradient(180deg,#0f766e,#0d9488)}
.home-card-icon.partner-pay{background:#f0fdfa}
.home-desk-card.partner-pay{border-left:4px solid #0d9488}

/* Dashboard summary tiles */
.pp-dash{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.pp-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;position:relative;overflow:hidden}
.pp-tile::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.pp-tile.teal::before{background:linear-gradient(90deg,#0d9488,#2dd4bf)}
.pp-tile.amber::before{background:linear-gradient(90deg,#d97706,#fbbf24)}
.pp-tile.red::before{background:linear-gradient(90deg,#dc2626,#f87171)}
.pp-tile.green::before{background:linear-gradient(90deg,#059669,#34d399)}
.pp-tile.blue::before{background:linear-gradient(90deg,#2563eb,#60a5fa)}
.pp-tile.purple::before{background:linear-gradient(90deg,#7c3aed,#a78bfa)}
.pp-tile .ppt-val{font-size:22px;font-weight:800;color:var(--navy);letter-spacing:-0.02em;line-height:1;margin-bottom:3px}
.pp-tile .ppt-lbl{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:0.06em;text-transform:uppercase}
.pp-tile .ppt-sub{font-size:11px;color:var(--ink4);margin-top:2px}

/* Trip partner card */
.pp-trip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);margin-bottom:14px;overflow:hidden;box-shadow:var(--shadow)}
.pp-trip-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer}
.pp-trip-head .pth-left .pth-id{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:0.05em;margin-bottom:2px}
.pp-trip-head .pth-left .pth-name{font-size:15px;font-weight:800;color:var(--navy);letter-spacing:-0.01em}
.pp-trip-head .pth-left .pth-meta{font-size:12px;color:var(--ink3);margin-top:2px}
.pp-trip-head .pth-right{text-align:right}

/* Partner row */
.pp-partner-row{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);gap:12px}
.pp-partner-row:last-child{border:none}
.pp-partner-row .ppr-icon{font-size:22px;flex-shrink:0;width:32px;text-align:center}
.pp-partner-row .ppr-info{flex:1;min-width:0}
.pp-partner-row .ppr-name{font-size:13px;font-weight:700;color:var(--navy)}
.pp-partner-row .ppr-type{font-size:11px;color:var(--ink3)}
.pp-partner-row .ppr-amounts{text-align:right;flex-shrink:0}
.pp-partner-row .ppr-preset{font-size:11px;color:var(--ink3)}
.pp-partner-row .ppr-actual{font-size:14px;font-weight:800}
.pp-partner-row .ppr-actual.over{color:var(--red)}
.pp-partner-row .ppr-actual.match{color:var(--green)}
.pp-partner-row .ppr-actual.under{color:var(--blue)}

/* Variance badge */
.variance-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:800;margin-top:3px}
.variance-over{background:#fef2f2;color:var(--red)}
.variance-match{background:#ecfdf5;color:var(--green)}
.variance-under{background:#eff6ff;color:var(--blue)}

/* Trip profit footer */
.pp-trip-footer{padding:12px 16px;background:var(--navy);display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pp-trip-footer .ptf-item{text-align:center}
.pp-trip-footer .ptf-val{font-size:14px;font-weight:800;color:white;letter-spacing:-0.01em}
.pp-trip-footer .ptf-lbl{font-size:9px;color:rgba(255,255,255,0.5);font-weight:600;letter-spacing:0.05em;text-transform:uppercase;margin-top:2px}
.pp-trip-footer .ptf-val.profit{color:#34d399}
.pp-trip-footer .ptf-val.loss{color:#f87171}
.pp-trip-footer .ptf-val.warn{color:#fbbf24}

/* Mark paid button */
.mark-paid-btn{background:var(--green);color:white;border:none;border-radius:var(--r2);padding:6px 14px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}
.mark-paid-btn.pending{background:var(--amber)}

/* Big action buttons */
.pp-action-btn{
  display:flex;align-items:center;gap:10px;
  border:none;border-radius:var(--r);padding:14px 14px;
  cursor:pointer;font-family:inherit;text-align:left;
  transition:transform .12s,filter .12s;width:100%;
}
.pp-action-btn:active{transform:scale(0.97)}
.pp-action-btn .pab-icon{font-size:26px;flex-shrink:0;line-height:1}
.pp-action-btn .pab-body{flex:1;min-width:0}
.pp-action-btn .pab-title{font-size:14px;font-weight:800;letter-spacing:-0.01em}
.pp-action-btn .pab-sub{font-size:11px;opacity:0.7;margin-top:2px;font-weight:600}
.pp-action-btn .pab-arrow{font-size:20px;opacity:0.5;flex-shrink:0}
.pending-btn{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#92400e;border:1.5px solid #fcd34d}
.settled-btn{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#065f46;border:1.5px solid #6ee7b7}
.variance-btn{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b;border:1.5px solid #fca5a5}
.all-btn{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);color:#0f766e;border:1.5px solid #5eead4}

/* Stat cards */
.pp-stat-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);padding:12px 14px;
  display:flex;align-items:flex-start;gap:10px;
  border-left:3px solid;
}
.pp-stat-card .psc-icon{font-size:22px;flex-shrink:0;margin-top:2px}
.pp-stat-card .psc-body{min-width:0}
.pp-stat-card .psc-val{font-size:17px;font-weight:800;letter-spacing:-0.01em;line-height:1;margin-bottom:2px}
.pp-stat-card .psc-lbl{font-size:11px;font-weight:700;color:var(--navy)}
.pp-stat-card .psc-sub{font-size:10px;color:var(--ink4);margin-top:1px}

@media(min-width:480px){.pp-dash{grid-template-columns:repeat(3,1fr)}}

/* === Block from line ~7447 === */
/* ── Log type buttons */
.log-type-btn{
  background:var(--surface2);border:2px solid var(--border);
  border-radius:var(--r2);padding:10px 6px;cursor:pointer;
  text-align:center;transition:all .15s;
}
.log-type-btn div:last-child{font-size:10px;font-weight:700;color:var(--navy);margin-top:4px;line-height:1.3}
.log-type-btn.active{border-color:var(--blue);background:var(--blue-light)}
.log-type-btn.active div:last-child{color:var(--blue)}

/* ── Log entry card */
.log-entry{background:var(--surface2);border-left:3px solid var(--blue);border-radius:var(--r2);padding:10px 12px;margin-bottom:8px}
.log-entry.type-guest_issue{border-color:var(--amber)}
.log-entry.type-trip_issue{border-color:var(--purple)}
.log-entry.type-driver_issue,.log-entry.type-vehicle_issue{border-color:var(--red)}
.log-entry.type-weather_issue{border-color:#0891b2}
.log-entry .le-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.log-entry .le-day{font-size:12px;font-weight:800;color:var(--navy)}
.log-entry .le-date{font-size:11px;color:var(--ink3)}
.log-entry .le-type{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;background:var(--bg)}
.log-entry .le-notes{font-size:12px;color:var(--ink2);line-height:1.5}

/* ── Referral card */
.ref-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px;margin-bottom:10px}
.ref-card .rc-id{font-size:16px;font-weight:800;color:var(--blue);letter-spacing:0.03em}
.ref-card .rc-name{font-size:13px;color:var(--navy);font-weight:600;margin-top:2px}
.ref-card .rc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.ref-card .rc-stat{text-align:center;background:var(--surface2);border-radius:var(--r2);padding:8px}
.ref-card .rc-stat-val{font-size:15px;font-weight:800;color:var(--navy)}
.ref-card .rc-stat-lbl{font-size:10px;color:var(--ink3);font-weight:600;text-transform:uppercase;letter-spacing:0.05em;margin-top:2px}

/* ── Stay brief card */
.stay-brief-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px;margin-bottom:10px}
.stay-brief-card .sbc-loc{font-size:14px;font-weight:800;color:var(--navy)}
.stay-brief-card .sbc-route{font-size:11px;color:var(--ink3);margin-top:2px}
.stay-brief-card .sbc-rates{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.stay-brief-card .sbc-rate{background:var(--surface2);border-radius:var(--r2);padding:8px 10px;text-align:center}
.stay-brief-card .sbc-rate-val{font-size:15px;font-weight:800;color:var(--navy)}
.stay-brief-card .sbc-rate-lbl{font-size:10px;color:var(--ink3);font-weight:600;margin-top:2px}