*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#060809;--ink:#090c12;--ink-2:#0e1218;--ink-3:#13181f;--ink-4:#181e28;--ink-5:#1e2532;
  --border:rgba(201,168,76,0.1);--border-2:rgba(201,168,76,0.22);--border-3:rgba(201,168,76,0.38);
  --gold:#c9a84c;--gold-2:#e2c96e;--gold-3:#f5e8b0;
  --gold-dim:rgba(201,168,76,0.11);--gold-glow:rgba(201,168,76,0.05);
  --ruby:#e74c3c;--ruby-d:rgba(231,76,60,0.15);
  --sage:#27ae60;--sage-d:rgba(39,174,96,0.15);
  --sky:#2980b9;--sky-d:rgba(41,128,185,0.15);
  --amber:#e67e22;--amber-d:rgba(230,126,34,0.15);
  --violet:#8e44ad;--violet-d:rgba(142,68,173,0.15);
  --slate:#7f8c8d;--slate-d:rgba(127,140,141,0.15);
  --text-1:#f0e8d5;--text-2:#aca490;--text-3:#625a48;--text-4:#2a2318;
  --r:8px;--rl:14px;--rxl:20px;
  --sh:0 4px 32px rgba(0,0,0,0.55);--sh-lg:0 8px 60px rgba(0,0,0,0.75);
  --glow:0 0 36px rgba(201,168,76,0.07);
  --fd:'Cormorant Garamond',serif;--fu:'Jost',sans-serif;--fm:'DM Mono',monospace;
  /* Font scale (8 steps — target for standardization) */
  --fs-2xs:8px;--fs-xs:9px;--fs-sm:10px;--fs-base:11px;--fs-md:12px;--fs-lg:13px;--fs-xl:15px;--fs-2xl:19px;--fs-3xl:24px;
  --sw:258px;--th:62px;
}
/* ═══════════════════════════════════════════════
   PALACE IVORY — Royal Heritage Light Theme
═══════════════════════════════════════════════ */
body.light{
  --black:#faf6ec;--ink:#ffffff;--ink-2:#fdfaf2;--ink-3:#f5edd8;--ink-4:#ede5cc;--ink-5:#e2d9bf;
  --border:rgba(107,76,17,0.12);--border-2:rgba(107,76,17,0.22);--border-3:rgba(107,76,17,0.38);
  --gold:#8b6914;--gold-2:#6b4c11;--gold-3:#4a3510;
  --gold-dim:rgba(201,168,76,0.08);--gold-glow:rgba(201,168,76,0.04);
  --ruby:#8b1a1a;--ruby-d:rgba(139,26,26,0.08);
  --sage:#1a6b1a;--sage-d:rgba(26,107,26,0.08);
  --sky:#1a3a6b;--sky-d:rgba(26,58,107,0.08);
  --amber:#8b5a00;--amber-d:rgba(139,90,0,0.08);
  --violet:#5a1a7a;--violet-d:rgba(90,26,122,0.08);
  --slate:#5a5a5a;--slate-d:rgba(90,90,90,0.08);
  --text-1:#4a3510;--text-2:#6b5a3a;--text-3:#a08c5a;--text-4:#d4c5a0;
  --r:6px;--rl:10px;--rxl:14px;
  --sh:0 2px 10px rgba(107,76,17,0.06);--sh-lg:0 4px 24px rgba(107,76,17,0.10);
  --glow:0 1px 8px rgba(107,76,17,0.04);
  --fd:Georgia,'Times New Roman',serif;
}
body.light::after{display:none}

/* ── TOPBAR: Gold Crown Banner ── */
body.light #topbar{background:linear-gradient(90deg,#6b4c11,#8b6914,#c9a84c,#8b6914,#6b4c11);border-bottom:none;min-height:44px}
body.light .tb-title{color:#f0e8d0;font-family:Georgia,serif;font-size:var(--fs-3xl);letter-spacing:0.04em}
body.light .tb-title em{color:#f0c040}
body.light .srch{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.2)}
body.light .srch input{color:#f0e8d0}
body.light .srch input::placeholder{color:rgba(240,232,208,0.5)}
body.light .srch:focus-within{border-color:rgba(255,255,255,0.5)}
body.light .nb{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.2);color:#f0e8d0}
body.light .nb:hover{background:rgba(255,255,255,0.2);color:#fff}
body.light .nb-dot{border-color:#8b6914}
body.light .btn-royal{background:rgba(255,255,255,0.18);color:#f0e8d0;box-shadow:none;border:1px solid rgba(255,255,255,0.3)}
body.light .btn-royal:hover{background:rgba(255,255,255,0.28);box-shadow:none;transform:none}
body.light .theme-toggle{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.2);color:#f0e8d0}
body.light .badge-bar{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.2);color:#f0e8d0}

/* ── SIDEBAR: Parchment ── */
body.light #sidebar{background:#f5edd8;border-right:2px solid #c9a84c}
body.light #sidebar::after{background:none}
body.light .sb-brand{border-bottom:2px solid #c9a84c;padding-bottom:16px}
body.light .sb-crown{background:linear-gradient(135deg,#8b6914,#c9a84c);border:2px solid #c9a84c;box-shadow:0 2px 12px rgba(201,168,76,0.3)}
body.light .sb-name{color:#4a3510;font-family:Georgia,serif}
body.light .sb-tag{color:#8b6914}
body.light .sb-proj{background:#fff;border-color:#d4c5a0}
body.light .sp-lbl{color:#a08c5a}
body.light .sp-name{color:#8b6914}
body.light .sp-stats{background:#faf6ec;border-color:#d4c5a0}
body.light .sp-val{color:#4a3510}
body.light .sp-lbl2{color:#a08c5a}
body.light .nv-sec{color:#a08c5a}
body.light .nv-item{color:#6b4c11;font-family:Georgia,serif;font-weight:600;border-left:3px solid transparent;border-radius:0;border-right:0;border-top:0;border-bottom:0}
body.light .nv-item:hover{background:rgba(201,168,76,0.08);color:#4a3510}
body.light .nv-item.active{background:#6b4c11;color:#f0e8d0;border-color:transparent;border-left-color:#d4af37}
body.light .nv-item.active .nv-ico{color:#d4af37}
body.light .nv-pill{font-weight:700}
body.light .p-gold{background:rgba(201,168,76,0.15);color:#8b6914}
body.light .p-red{background:rgba(139,26,26,0.1);color:#8b1a1a}
body.light .p-green{background:rgba(26,107,26,0.1);color:#1a6b1a}
body.light .p-blue{background:rgba(26,58,107,0.1);color:#1a3a6b}
body.light .sb-user{border-top:2px solid #c9a84c}
body.light .su-name{color:#4a3510;font-family:Georgia,serif}
body.light .su-role{color:#a08c5a}
body.light .su-av{border:2px solid #c9a84c}

/* ── MAIN CONTENT ── */
body.light #main{background:#faf6ec}
body.light #content{background:#faf6ec}

/* ── CARDS: Embossed White ── */
body.light .card{background:#fff;border:1px solid #d4c5a0;box-shadow:0 2px 8px rgba(107,76,17,0.05);border-radius:10px}
body.light .card-title{font-family:Georgia,serif;color:#4a3510}

/* ── KPIs: Embossed with Gold Underline ── */
body.light .kpi-card{background:#fff;border:1px solid #d4c5a0;border-radius:10px;box-shadow:0 2px 8px rgba(107,76,17,0.06)}
body.light .kpi-card:hover{border-color:#c9a84c;box-shadow:0 4px 16px rgba(201,168,76,0.12);transform:translateY(-2px)}
body.light .kpi-card::before{height:4px}
body.light .kpi-card::after{content:'';position:absolute;bottom:14px;left:20px;right:40%;height:2px;border-radius:1px}
body.light .k-gold::after{background:linear-gradient(90deg,#c9a84c,transparent)}
body.light .k-red::after{background:linear-gradient(90deg,#8b1a1a,transparent)}
body.light .k-green::after{background:linear-gradient(90deg,#1a6b1a,transparent)}
body.light .k-blue::after{background:linear-gradient(90deg,#1a3a6b,transparent)}
body.light .k-violet::after{background:linear-gradient(90deg,#5a1a7a,transparent)}
body.light .k-amber::after{background:linear-gradient(90deg,#8b5a00,transparent)}
body.light .kpi-lbl{color:#a08c5a;font-weight:700}
body.light .kpi-val{color:#4a3510;font-family:Georgia,serif;font-size:42px;font-weight:800}
body.light .kpi-delta.up{color:#1a6b1a}
body.light .kpi-delta.dn{color:#8b1a1a}

/* ── SECTION HEADERS: Filigree Dividers ── */
body.light .sec-title{font-family:Georgia,serif;color:#4a3510}
body.light .sec-hd::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,#c9a84c,transparent);margin-left:12px}
body.light .divider{background:linear-gradient(90deg,transparent,#c9a84c,transparent)}
body.light .card-hd{border-bottom:1px solid #ede5cc;padding-bottom:12px}
body.light .card-sub{color:#a08c5a}

/* ── TABLES: Regal ── */
body.light table th{background:#f5edd8;border-bottom:2px solid #c9a84c;color:#6b4c11;font-weight:700}
body.light table td{border-bottom-color:#ede5cc;color:#6b5a3a}
body.light tr:hover td{background:rgba(201,168,76,0.04)}

/* ── BADGES: Jewel Tones ── */
body.light .b-vhot{background:#8b1a1a;color:#fff;border-color:#8b1a1a}
body.light .b-hot{background:#b8860b;color:#fff;border-color:#b8860b}
body.light .b-warm{background:#f0e8d0;color:#6b4c11;border-color:#d4c5a0}
body.light .b-cold{background:#edf0f5;color:#1a3a6b;border-color:#a0b0c8}
body.light .b-rnr{background:#e8e8e8;color:#5a5a5a;border-color:#c0c0c0}
body.light .b-drop{background:rgba(139,26,26,0.1);color:#8b1a1a;border-color:rgba(139,26,26,0.2)}
body.light .b-nc{background:rgba(90,26,122,0.08);color:#5a1a7a;border-color:rgba(90,26,122,0.15)}
body.light .b-won{background:rgba(26,107,26,0.1);color:#1a6b1a;border-color:rgba(26,107,26,0.2)}

/* ── AVATARS: Gold Monogram Rings ── */
body.light .avatar{border:2px solid #c9a84c}
body.light .su-av{border:2px solid #c9a84c}
body.light .lc-av{border-radius:50%;border:2px solid #c9a84c}
body.light .login-avatar{border:2px solid #c9a84c}

/* ── LEADS ── */
body.light .filter-bar{gap:4px}
body.light .fb{background:#fff;border-color:#d4c5a0;color:#6b4c11;border-radius:4px;font-family:monospace;font-size:var(--fs-base)}
body.light .fb:hover{border-color:#c9a84c;background:#faf6ec}
body.light .fb.active{background:#6b4c11;border-color:#6b4c11;color:#f0e8d0}
body.light .lc{background:#fff;border-color:#d4c5a0;border-radius:10px;box-shadow:0 1px 6px rgba(107,76,17,0.04)}
body.light .lc:hover{border-color:#c9a84c;box-shadow:0 4px 16px rgba(201,168,76,0.1)}
body.light .lc-name{font-family:Georgia,serif;color:#4a3510}
body.light .lc-sub{color:#a08c5a}
body.light .lc-bot{border-top-color:#ede5cc}

/* ── MODALS ── */
body.light .mov{background:rgba(74,53,16,0.45);backdrop-filter:blur(4px)}
body.light .modal{background:#fdfaf2;border:2px solid #c9a84c;box-shadow:0 8px 40px rgba(107,76,17,0.15)}
body.light .m-hd{border-bottom:2px solid #c9a84c;background:#f5edd8}
body.light .m-title{font-family:Georgia,serif;color:#4a3510}
body.light .m-x{background:#fff;border-color:#d4c5a0;color:#a08c5a}
body.light .m-x:hover{background:rgba(139,26,26,0.08);border-color:rgba(139,26,26,0.2);color:#8b1a1a}
body.light .m-ft,.light .m-foot{border-top:2px solid #c9a84c;background:#f5edd8}

/* ── FORMS ── */
body.light .fi,body.light .fs,body.light .fta{background:#fff;border-color:#d4c5a0;color:#4a3510;font-family:inherit}
body.light .fi:focus,body.light .fs:focus,body.light .fta:focus{border-color:#c9a84c;box-shadow:0 0 0 3px rgba(201,168,76,0.1)}
body.light .fi::placeholder{color:#c5bfb2}
body.light .fl{color:#a08c5a;font-weight:700}
body.light .btn-ghost{background:#fff;color:#6b4c11;border-color:#d4c5a0}
body.light .btn-ghost:hover{border-color:#c9a84c;background:#faf6ec}
body.light .btn-danger{background:rgba(139,26,26,0.06);color:#8b1a1a;border-color:rgba(139,26,26,0.15)}
body.light .btn-success{background:rgba(26,107,26,0.06);color:#1a6b1a;border-color:rgba(26,107,26,0.15)}

/* ── PIPELINE ── */
body.light .pipe-col{background:#fff;border-color:#d4c5a0}
body.light .pc-hd{border-bottom-color:#ede5cc}
body.light .deal-card{background:#faf6ec;border-color:#d4c5a0}
body.light .deal-card:hover{border-color:#c9a84c;box-shadow:0 4px 16px rgba(107,76,17,0.08)}
body.light .dc-prop{color:#4a3510;font-family:Georgia,serif}
body.light .dc-val{color:#6b4c11;font-family:Georgia,serif}

/* ── LEADERBOARD ── */
body.light .lb-row{border-bottom-color:#ede5cc}
body.light .lb-row:hover{background:#faf6ec}
body.light .lb-rank{color:#d4c5a0;font-family:Georgia,serif}
body.light .lb-row.r1 .lb-rank{color:#c9a84c}
body.light .lb-row.r2 .lb-rank{color:#a08c5a}
body.light .lb-row.r3 .lb-rank{color:#b8860b}
body.light .lb-name{color:#4a3510;font-family:Georgia,serif}
body.light .lb-sv{font-family:Georgia,serif}
body.light .alloc-count{color:#6b4c11;font-family:Georgia,serif}

/* ── FOLLOW-UPS ── */
body.light .fu-item{background:#fff;border-color:#d4c5a0}
body.light .fu-item:hover{border-color:#c9a84c}
body.light .fu-urgent{border-left-color:#8b1a1a}
body.light .fu-high{border-left-color:#b8860b}
body.light .fu-normal{border-left-color:#1a3a6b}
body.light .fu-name{color:#4a3510;font-family:Georgia,serif}
body.light .fu-ag{background:rgba(201,168,76,0.1);color:#6b4c11;border:1px solid #d4c5a0}

/* ── CALENDAR ── */
body.light .cal-mn{font-family:Georgia,serif;color:#4a3510}
body.light .cal-btn{background:#fff;border-color:#d4c5a0;color:#6b4c11}
body.light .cd{background:#fff}
body.light .cd:hover{background:#faf6ec}
body.light .cd.today{background:rgba(201,168,76,0.08)}
body.light .cd.today .cd-num{background:#c9a84c;color:#fff}

/* ── TOAST ── */
body.light .toast{background:#fff;border-color:#d4c5a0;box-shadow:0 4px 16px rgba(107,76,17,0.1)}
body.light .toast-t{color:#4a3510}

/* ── SETTINGS ── */
body.light .settings-group{background:#fff;border-color:#d4c5a0}
body.light .sg-hd{color:#4a3510;font-family:Georgia,serif}
body.light .sg-hd:hover{background:#faf6ec}
body.light .sg-hd::before{color:#c9a84c}

/* ── LOGIN ── */
body.light .login-bg::before{background:radial-gradient(ellipse at 30% 40%,rgba(201,168,76,0.12) 0%,transparent 60%)}
body.light #login-screen{background:#faf6ec}
body.light .login-card{background:#fff;border:2px solid #c9a84c;box-shadow:0 8px 40px rgba(107,76,17,0.12)}
body.light .login-crown{background:linear-gradient(135deg,#8b6914,#c9a84c);border-color:#d4af37;box-shadow:0 4px 24px rgba(201,168,76,0.3)}
body.light .login-brand{color:#4a3510}
body.light .login-sub{color:#8b6914}
body.light .login-card-title{color:#4a3510;font-family:Georgia,serif}
body.light .login-select,body.light .login-pin{background:#faf6ec;border-color:#d4c5a0;color:#4a3510}
body.light .login-select:focus,body.light .login-pin:focus{border-color:#c9a84c}
body.light .login-enter{background:linear-gradient(135deg,#6b4c11,#8b6914,#c9a84c);color:#f0e8d0}

/* ── AI PANEL ── */
body.light .ai-panel{background:linear-gradient(135deg,rgba(201,168,76,0.06),rgba(90,26,122,0.03));border-color:#d4c5a0}
body.light .ai-tag{background:rgba(201,168,76,0.1);border-color:#d4c5a0;color:#6b4c11}

/* ── MISC ── */
body.light .golden-rule{background:rgba(201,168,76,0.06);border-color:#d4c5a0}
body.light .gr-text{color:#6b4c11}
body.light .act-item{border-bottom-color:#ede5cc}
body.light .act-who{color:#4a3510;font-family:Georgia,serif}
body.light .notif-item{border-bottom-color:#ede5cc}
body.light .notif-title{color:#4a3510;font-family:Georgia,serif}
body.light .status-option{background:#faf6ec;border-color:#d4c5a0}
body.light .status-option:hover{background:#f5edd8;border-color:#c9a84c}
body.light .status-option.selected{border-color:#c9a84c;background:rgba(201,168,76,0.1)}
body.light .st-entry.current .st-dot{border-color:#c9a84c;background:#c9a84c}
body.light .bottom-sheet .bs-content{background:#fdfaf2}
body.light .bs-header{border-bottom-color:#c9a84c}
body.light .bs-title{color:#4a3510;font-family:Georgia,serif}
body.light .mission-card{background:#fff;border-color:#d4c5a0}
body.light .conv-card{background:#fff;border-color:#d4c5a0}
body.light .mc-instruction{background:#faf6ec;border-color:#d4c5a0;border-left-color:#c9a84c}
body.light .prog{background:#ede5cc}
body.light .prog-fill{background:linear-gradient(90deg,#8b6914,#c9a84c)}
body.light .perf-bar{background:#ede5cc}
body.light .date-group-hd{border-bottom-color:#d4c5a0;color:#8b6914}
body.light .pipe-board::-webkit-scrollbar-thumb{background:#c9a84c}
body.light ::-webkit-scrollbar-thumb{background:#c9a84c}
body.light .handover-banner{background:rgba(139,26,26,0.04);border-color:rgba(139,26,26,0.2)}
body.light .ai-drawer{background:#fdfaf2;border-color:#c9a84c}
body.light .aid-hd{border-bottom-color:#c9a84c}
body.light .aid-title{color:#4a3510;font-family:Georgia,serif}
body.light .aid-msg.user{background:rgba(201,168,76,0.08);color:#6b4c11;border-color:#d4c5a0}
body.light .aid-msg.bot{background:#faf6ec;color:#6b5a3a;border-color:#d4c5a0}
body.light .aid-inp{background:#fff;border-color:#d4c5a0;color:#4a3510}
body.light .aid-send{background:linear-gradient(135deg,#8b6914,#c9a84c)}
body.light .script-card{background:#faf6ec;border-color:#d4c5a0}
body.light .script-title{color:#6b4c11;font-family:Georgia,serif}
/* Theme toggle button */
.theme-toggle{width:34px;height:34px;background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);display:grid;place-items:center;cursor:pointer;font-size:var(--fs-xl);color:var(--text-2);transition:all 0.16s;flex-shrink:0}
.theme-toggle:hover{border-color:var(--border-2);color:var(--text-1)}
html,body{height:100%;overflow:hidden}
body{font-family:var(--fu);background:var(--black);color:var(--text-1);font-size:var(--fs-lg);line-height:1.5}
body::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:0.38;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}
::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}
#app{display:flex;height:100vh;overflow:hidden}

/* ═══════════════════════════════════
   LOGIN SCREEN
═══════════════════════════════════ */
#login-screen{position:fixed;inset:0;z-index:10000;background:var(--black);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity 0.5s,transform 0.5s;overflow-y:auto;padding:20px 0}
#login-screen.hidden{opacity:0;transform:scale(1.04);pointer-events:none}
.login-bg{position:absolute;inset:0;overflow:hidden}
.login-bg::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 40%,rgba(201,168,76,0.06) 0%,transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(142,68,173,0.04) 0%,transparent 50%);animation:loginBgSway 20s ease-in-out infinite alternate}
.login-bg::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");opacity:0.5}
@keyframes loginBgSway{0%{transform:translate(0,0)}100%{transform:translate(-3%,2%)}}
.login-container{position:relative;z-index:2;width:420px;max-width:92vw;animation:loginSlideUp 0.7s ease;flex-shrink:0}
@keyframes loginSlideUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
.login-crown-row{display:flex;flex-direction:column;align-items:center;margin-bottom:28px}
.login-crown{width:64px;height:64px;border-radius:16px;background:linear-gradient(145deg,#110e00,#1e1800);border:1.5px solid var(--gold);display:grid;place-items:center;font-size:32px;box-shadow:0 4px 30px rgba(201,168,76,0.25),inset 0 1px 0 rgba(201,168,76,0.15);margin-bottom:14px}
.login-brand{font-family:var(--fd);font-size:28px;font-weight:600;color:var(--text-1);letter-spacing:0.06em;text-align:center}
.login-sub{font-family:var(--fm);font-size:var(--fs-sm);color:var(--gold);letter-spacing:0.28em;text-transform:uppercase;margin-top:5px}
.login-card{background:var(--ink-2);border:1px solid var(--border-2);border-radius:var(--rxl);padding:28px 26px 22px;box-shadow:var(--sh-lg)}
.login-card-title{font-family:var(--fd);font-size:var(--fs-2xl);font-weight:600;color:var(--text-1);margin-bottom:4px}
.login-card-sub{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);margin-bottom:18px}
.login-select-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.login-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-xl);font-weight:700;color:white;flex-shrink:0;background:var(--ink-3);border:1.5px solid var(--border);transition:all 0.25s}
.login-avatar.has-user{border-color:var(--gold);box-shadow:0 0 14px rgba(201,168,76,0.2)}
.login-select{flex:1;padding:11px 14px;background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);color:var(--text-1);font-size:var(--fs-lg);font-family:var(--fu);outline:none;cursor:pointer;transition:border-color 0.17s;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.login-select:focus{border-color:var(--gold)}
.login-select option{background:var(--ink-2);color:var(--text-1);padding:8px}
.login-select optgroup{font-weight:700;color:var(--gold);font-size:var(--fs-md);font-family:var(--fm);letter-spacing:0.08em}
.login-role-info{background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);padding:10px 14px;margin-bottom:14px;display:none;transition:all 0.2s}
.login-role-info.visible{display:block}
.login-role-info .lri-role{font-family:var(--fm);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.14em;color:var(--gold)}
.login-role-info .lri-access{font-size:var(--fs-md);color:var(--text-3);margin-top:4px;line-height:1.5}
.login-pin-row{margin-bottom:16px}
.login-pin-label{font-family:var(--fm);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.16em;color:var(--text-3);margin-bottom:6px}
.login-pin{width:100%;padding:10px 14px;background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);color:var(--text-1);font-size:var(--fs-2xl);font-family:var(--fm);letter-spacing:0.35em;outline:none;transition:border-color 0.17s;text-align:center}
.login-pin:focus{border-color:var(--gold)}
.login-pin::placeholder{color:var(--text-4);letter-spacing:0.2em;font-size:var(--fs-lg)}
.login-enter{width:100%;padding:11px;background:linear-gradient(135deg,#9a7820,var(--gold),var(--gold-2));color:#080600;border:none;border-radius:var(--r);font-family:var(--fu);font-size:var(--fs-lg);font-weight:700;letter-spacing:0.06em;cursor:pointer;transition:all 0.2s;box-shadow:0 3px 18px rgba(201,168,76,0.3)}
.login-enter:hover{box-shadow:0 5px 28px rgba(201,168,76,0.5);transform:translateY(-1px)}
.login-enter:disabled{opacity:0.4;cursor:not-allowed;transform:none;box-shadow:none}
.login-error{font-family:var(--fm);font-size:var(--fs-base);color:var(--ruby);text-align:center;margin-top:10px;min-height:15px}
.login-footer{text-align:center;margin-top:16px;font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-4);letter-spacing:0.12em}
.login-switch-hint{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);text-align:center;margin-top:12px;display:none}
.login-switch-hint a{color:var(--gold);cursor:pointer;text-decoration:underline}

/* SIDEBAR */
#sidebar{width:var(--sw);min-width:var(--sw);background:var(--ink);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:10;height:100vh}
#sidebar::after{content:'';position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(to bottom,transparent,var(--gold-dim) 35%,var(--gold-dim) 65%,transparent)}
.sb-brand{padding:18px 16px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:11px;flex-shrink:0}
.sb-crown{width:38px;height:38px;border-radius:9px;flex-shrink:0;background:linear-gradient(145deg,#110e00,#1e1800);border:1px solid var(--gold);display:grid;place-items:center;font-size:var(--fs-2xl);box-shadow:0 2px 14px rgba(201,168,76,0.22),inset 0 1px 0 rgba(201,168,76,0.12)}
.sb-name{font-family:var(--fd);font-size:var(--fs-2xl);font-weight:700;color:var(--text-1);letter-spacing:0.04em;line-height:1}
.sb-tag{font-family:var(--fm);font-size:var(--fs-xs);color:var(--gold);letter-spacing:0.22em;text-transform:uppercase;margin-top:3px}
.sb-proj{margin:11px 11px 0;padding:11px 13px;background:linear-gradient(135deg,rgba(201,168,76,0.07),rgba(201,168,76,0.02));border:1px solid var(--border);border-radius:var(--r);flex-shrink:0}
.sp-lbl{font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:0.2em;color:var(--text-3)}
.sp-name{font-size:var(--fs-md);font-weight:600;color:var(--gold-2);margin-top:2px}
.sp-stats{display:flex;gap:0;margin-top:9px;background:var(--ink-3);border-radius:6px;overflow:hidden;border:1px solid var(--border)}
.sp-stat{flex:1;text-align:center;padding:6px 4px;border-right:1px solid var(--border)}
.sp-stat:last-child{border:none}
.sp-val{font-family:var(--fm);font-size:var(--fs-2xl);font-weight:700;color:var(--text-1);display:block}
.sp-lbl2{font-family:var(--fm);font-size:7.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:0.1em;display:block;margin-top:1px}
.sb-nav{flex:1;overflow-y:auto;padding:12px 9px;display:flex;flex-direction:column;gap:1px}
.nv-sec{font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:0.22em;color:var(--text-4);padding:10px 10px 5px}
.nv-item{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:var(--r);cursor:pointer;color:var(--text-3);font-size:13.5px;font-weight:500;transition:all 0.15s;user-select:none;border:1px solid transparent;position:relative}
.nv-item:hover{color:var(--text-2);background:var(--ink-3)}
.nv-item.active{color:var(--gold-2);background:var(--gold-dim);border-color:var(--border)}
.nv-item.active .nv-ico{color:var(--gold)}
.nv-item.nv-hidden{display:none}
.nv-ico{font-size:var(--fs-xl);width:17px;text-align:center;flex-shrink:0}
.nv-pill{margin-left:auto;font-family:var(--fm);font-size:var(--fs-sm);padding:2px 6px;border-radius:10px;font-weight:500}
.p-red{background:rgba(231,76,60,0.22);color:#e74c3c}
.p-gold{background:rgba(201,168,76,0.22);color:var(--gold-2)}
.p-green{background:rgba(39,174,96,0.18);color:#2ecc71}
.p-blue{background:rgba(41,128,185,0.18);color:#5dade2}
.sb-user{padding:13px 13px;padding-bottom:max(13px,env(safe-area-inset-bottom));border-top:1px solid var(--border);display:flex;align-items:center;gap:9px;flex-shrink:0;cursor:pointer;transition:background 0.15s;min-height:60px}
.sb-user:hover{background:var(--ink-3)}
.su-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-md);font-weight:700;color:white;flex-shrink:0}
.su-name{font-size:var(--fs-lg);font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.su-role{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3)}
.su-dot{width:7px;height:7px;border-radius:50%;background:#2ecc71;box-shadow:0 0 6px #2ecc71;flex-shrink:0}
.su-switch{font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-4);letter-spacing:0.1em;text-transform:uppercase;margin-left:auto}

/* MAIN */
#main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--black)}
#topbar{min-height:var(--th);background:var(--ink);border-bottom:2px solid var(--border);display:flex;align-items:center;padding:0 22px;gap:12px;z-index:5;flex-wrap:wrap}
.tb-title{font-family:var(--fd);font-size:23px;font-weight:500;color:var(--text-1);flex:1;letter-spacing:0.02em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-title em{color:var(--gold);font-style:normal}
.srch{display:flex;align-items:center;gap:7px;background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);padding:7px 11px;width:200px;transition:border-color 0.2s}
.srch:focus-within{border-color:var(--gold)}
.srch input{background:none;border:none;outline:none;color:var(--text-1);font-size:var(--fs-lg);font-family:var(--fu);width:100%}
.srch input::placeholder{color:var(--text-3)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:var(--r);font-size:var(--fs-lg);font-weight:700;cursor:pointer;transition:all 0.16s;border:none;font-family:var(--fu);letter-spacing:0.04em;user-select:none;white-space:nowrap}
.btn-royal{background:linear-gradient(135deg,#9a7820,var(--gold),var(--gold-2));color:#080600;box-shadow:0 2px 18px rgba(201,168,76,0.32)}
.btn-royal:hover{box-shadow:0 4px 28px rgba(201,168,76,0.55);transform:translateY(-1px)}
.btn-ghost{background:var(--ink-3);color:var(--text-2);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--border-2);color:var(--text-1)}
.btn-danger{background:var(--ruby-d);color:var(--ruby);border:1px solid rgba(231,76,60,0.25)}
.btn-success{background:var(--sage-d);color:var(--sage);border:1px solid rgba(39,174,96,0.25)}
.btn-sm{padding:4px 10px;font-size:10.5px}
.btn-xs{padding:3px 8px;font-size:var(--fs-base)}
.nb{position:relative;width:34px;height:34px;background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);display:grid;place-items:center;cursor:pointer;font-size:var(--fs-xl);color:var(--text-2);transition:all 0.16s}
.nb:hover{border-color:var(--border-2);color:var(--text-1)}
.nb-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--ruby);border:1.5px solid var(--ink-2)}

/* CONTENT */
#content{flex:1;overflow-y:auto;padding:24px 24px 48px;animation:fadeIn 0.28s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.page{display:none}.page.active{display:block}

/* CARDS */
.card{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--rl);padding:19px}
.card-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.card-title{font-family:var(--fd);font-size:var(--fs-3xl);font-weight:700;color:var(--text-1);letter-spacing:0.01em}
.card-sub{font-family:var(--fm);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.16em;color:var(--text-3)}

/* KPI */
.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:20px}
.kpi-card{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--rl);padding:19px 20px;position:relative;overflow:hidden;transition:all 0.2s;cursor:default}
.kpi-card:hover{border-color:var(--border-2);transform:translateY(-3px);box-shadow:0 0 40px rgba(201,168,76,0.1)}
.kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.k-gold::before{background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.k-red::before{background:linear-gradient(90deg,#a93226,var(--ruby))}
.k-green::before{background:linear-gradient(90deg,#1e8449,var(--sage))}
.k-blue::before{background:linear-gradient(90deg,#1a5276,var(--sky))}
.k-violet::before{background:linear-gradient(90deg,#6c3483,var(--violet))}
.k-amber::before{background:linear-gradient(90deg,#a04000,var(--amber))}
.kpi-lbl{font-family:var(--fm);font-size:var(--fs-base);text-transform:uppercase;letter-spacing:0.18em;color:var(--text-2);font-weight:600}
.kpi-val{font-family:var(--fd);font-size:42px;font-weight:700;color:var(--text-1);line-height:1;margin:6px 0 4px}
.kpi-delta{font-family:var(--fm);font-size:var(--fs-md);display:flex;align-items:center;gap:3px;font-weight:500}
.kpi-delta.up{color:#2ecc71}.kpi-delta.dn{color:var(--ruby)}
.kpi-ico{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:32px;opacity:0.08}

/* TABLE */
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-family:var(--fm);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.16em;color:var(--text-2);padding:10px 12px;border-bottom:2px solid var(--border-2);font-weight:600;background:rgba(201,168,76,0.02)}
td{padding:10px 12px;border-bottom:1px solid rgba(201,168,76,0.06);color:var(--text-2);font-size:var(--fs-lg);vertical-align:middle}
tr:last-child td{border:none}
tr:hover td{background:rgba(201,168,76,0.025)}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;border-radius:20px;font-family:var(--fm);font-size:10.5px;font-weight:600;white-space:nowrap;letter-spacing:0.05em}
.b-vhot{background:rgba(192,57,43,0.2);color:#e74c3c;border:1px solid rgba(192,57,43,0.3)}
.b-hot{background:rgba(230,126,34,0.2);color:#e67e22;border:1px solid rgba(230,126,34,0.3)}
.b-warm{background:rgba(201,168,76,0.18);color:var(--gold-2);border:1px solid var(--border-2)}
.b-cold{background:rgba(41,128,185,0.2);color:#5dade2;border:1px solid rgba(41,128,185,0.3)}
.b-rnr{background:rgba(127,140,141,0.2);color:#aab7b8;border:1px solid rgba(127,140,141,0.3)}
.b-drop{background:rgba(192,57,43,0.12);color:#a93226;border:1px solid rgba(192,57,43,0.2)}
.b-nc{background:rgba(142,68,173,0.2);color:#bb8fce;border:1px solid rgba(142,68,173,0.3)}
.b-won{background:rgba(39,174,96,0.2);color:#2ecc71;border:1px solid rgba(39,174,96,0.3)}
.b-blue{background:rgba(41,128,185,0.2);color:#5dade2;border:1px solid rgba(41,128,185,0.3)}
.b-amber{background:rgba(230,126,34,0.2);color:#e67e22;border:1px solid rgba(230,126,34,0.3)}

.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-base);font-weight:700;color:white;flex-shrink:0}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:15px}
/* Utility classes — for future code to replace inline styles */
.mono{font-family:var(--fm)}.serif{font-family:var(--fd)}.t1{color:var(--text-1)}.t2{color:var(--text-2)}.t3{color:var(--text-3)}.t4{color:var(--text-4)}.tc{text-align:center}.bold{font-weight:600}.upper{text-transform:uppercase}.f8{font-size:var(--fs-xs)}.f9{font-size:var(--fs-sm)}.f10{font-size:var(--fs-base)}.f11{font-size:var(--fs-md)}.f12{font-size:var(--fs-lg)}.f13{font-size:var(--fs-lg)}.f14{font-size:var(--fs-xl)}.f16{font-size:var(--fs-2xl)}.f18{font-size:var(--fs-2xl)}.f20{font-size:var(--fs-3xl)}.flex{display:flex}.flex-c{display:flex;align-items:center}.gap6{gap:6px}.gap8{gap:8px}.gap10{gap:10px}.gap12{gap:12px}.bg3{background:var(--ink-3)}.br{border-radius:var(--r)}.b1{border:1px solid var(--border)}.bb{border-bottom:1px solid var(--border)}.ptr{cursor:pointer}.shrink0{flex-shrink:0}.flex1{flex:1}.nowrap{white-space:nowrap}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px}
.g4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:13px}
.sec-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.sec-title{font-family:var(--fd);font-size:24px;font-weight:700;color:var(--text-1)}
.divider{height:1px;background:var(--border);margin:16px 0}
/* Settings groups */
.settings-group{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--rxl);margin-bottom:10px;overflow:hidden}
.sg-hd{font-family:var(--fu);font-size:var(--fs-xl);font-weight:600;color:var(--text-1);padding:16px 18px;cursor:pointer;display:flex;align-items:center;gap:8px;list-style:none;user-select:none;transition:background 0.15s;min-height:48px;-webkit-tap-highlight-color:rgba(201,168,76,0.1)}
.sg-hd:hover{background:var(--ink-3)}
.sg-hd::before{content:'▶';font-size:var(--fs-sm);color:var(--text-3);transition:transform 0.2s}
details[open]>.sg-hd::before{transform:rotate(90deg)}
.sg-hd::-webkit-details-marker{display:none}
.sg-body{padding:4px 18px 18px}

/* MODAL */
.mov{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,0.82);backdrop-filter:blur(5px);display:none;place-items:center}
.mov.open{display:grid}
.modal{background:var(--ink-2);border:1px solid var(--border-2);border-radius:var(--rxl);width:560px;max-width:95vw;max-height:90vh;overflow:hidden;box-shadow:var(--sh-lg);animation:mIn 0.2s ease;display:flex;flex-direction:column}
.modal-wide{width:720px}
@keyframes mIn{from{opacity:0;transform:scale(0.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.m-hd{padding:18px 22px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.m-title{font-family:var(--fd);font-size:var(--fs-3xl);font-weight:600;color:var(--text-1)}
.m-x{width:27px;height:27px;background:var(--ink-3);border:1px solid var(--border);border-radius:7px;display:grid;place-items:center;cursor:pointer;color:var(--text-2);font-size:var(--fs-lg);transition:all 0.13s}
.m-x:hover{background:var(--ruby-d);border-color:rgba(231,76,60,0.3);color:var(--ruby)}
.m-body{padding:18px 22px;flex:1;overflow-y:auto}
.m-ft{padding:13px 22px;border-top:1px solid var(--border);display:flex;gap:9px;justify-content:flex-end;flex-shrink:0}

/* FORM */
.fg{margin-bottom:13px}
.fl{display:block;font-family:var(--fm);font-size:var(--fs-md);font-weight:500;text-transform:uppercase;letter-spacing:0.12em;color:var(--text-3);margin-bottom:5px}
.fi,.fs,.fta{width:100%;padding:8px 11px;background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);color:var(--text-1);font-size:var(--fs-lg);font-family:var(--fu);outline:none;transition:border-color 0.17s}
.fi:focus,.fs:focus,.fta:focus{border-color:var(--gold)}
.fi::placeholder{color:var(--text-3)}
.fs option{background:var(--ink-3)}
.fta{resize:vertical;min-height:68px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px}

/* AI PANEL */
.ai-panel{background:linear-gradient(135deg,rgba(201,168,76,0.07),rgba(142,68,173,0.05));border:1px solid var(--border-2);border-radius:var(--rl);padding:15px;position:relative;overflow:hidden}
.ai-panel::before{content:'✦';position:absolute;right:13px;top:11px;color:var(--gold);opacity:0.18;font-size:var(--fs-3xl)}
.ai-hd{display:flex;align-items:center;gap:7px;margin-bottom:9px}
.ai-tag{display:inline-flex;align-items:center;gap:4px;background:var(--gold-dim);border:1px solid var(--border-2);border-radius:20px;padding:2px 9px;font-family:var(--fm);font-size:var(--fs-sm);color:var(--gold-2);letter-spacing:0.08em}
.ai-tag::before{content:'◆';font-size:var(--fs-2xs)}
.ai-body{font-size:var(--fs-lg);color:var(--text-2);line-height:1.7}
.ai-dots span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);animation:dp 1.2s infinite;margin-right:2px}
.ai-dots span:nth-child(2){animation-delay:0.2s}.ai-dots span:nth-child(3){animation-delay:0.4s}
@keyframes dp{0%,80%,100%{transform:scale(0.6);opacity:0.4}40%{transform:scale(1);opacity:1}}
.ai-loading{display:flex;align-items:center;gap:6px;color:var(--text-3);font-family:var(--fm);font-size:var(--fs-md)}
.prog{height:4px;border-radius:4px;background:var(--ink-4);overflow:hidden}
.prog-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:width 0.7s ease}

/* PIPELINE */
.pipe-board{display:flex;gap:11px;overflow-x:auto;padding-bottom:10px;min-height:460px}
.pipe-board::-webkit-scrollbar{height:4px}
.pipe-col{min-width:195px;width:195px;display:flex;flex-direction:column;background:var(--ink-2);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;flex-shrink:0}
.pc-hd{padding:11px 13px;border-bottom:1px solid var(--border);position:relative}
.pc-hd::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.s0 .pc-hd::before{background:#3498db}.s1 .pc-hd::before{background:#5dade2}.s2 .pc-hd::before{background:var(--amber)}.s3 .pc-hd::before{background:#f39c12}.s4 .pc-hd::before{background:#e67e22}.s5 .pc-hd::before{background:#1abc9c}.s6 .pc-hd::before{background:var(--sage)}.s7 .pc-hd::before{background:var(--gold)}.s8 .pc-hd::before{background:var(--gold-2)}.s9 .pc-hd::before{background:var(--violet)}.s10 .pc-hd::before{background:var(--slate)}.s11 .pc-hd::before{background:linear-gradient(90deg,var(--gold),var(--sage))}.s12 .pc-hd::before{background:#2980b9}.s13 .pc-hd::before{background:#1a5276}.s14 .pc-hd::before{background:var(--ruby)}
.pc-name{font-family:var(--fm);font-size:var(--fs-sm);font-weight:500;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-1)}
.pc-meta{display:flex;justify-content:space-between;margin-top:4px}
.pc-cnt{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3)}
.pc-val{font-family:var(--fm);font-size:var(--fs-sm);color:var(--gold)}
.pipe-cards{flex:1;padding:7px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:50px}
.pipe-cards.drag-over{background:var(--gold-glow);border-radius:7px}
.deal-card{background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);padding:11px;cursor:grab;transition:all 0.16s;user-select:none}
.deal-card:hover{border-color:var(--border-2);transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,0.4)}
.deal-card:active{cursor:grabbing;opacity:0.55}.deal-card.dragging{opacity:0.3}
.dc-prop{font-size:var(--fs-md);font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc-client{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);margin-top:2px}
.dc-ft{display:flex;align-items:center;justify-content:space-between;margin-top:7px}
.dc-val{font-family:var(--fd);font-size:var(--fs-xl);font-weight:600;color:var(--gold-2)}
.dc-days{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3)}
.dc-ag{display:flex;align-items:center;gap:4px;margin-top:5px}
.dc-av{width:15px;height:15px;border-radius:50%;font-size:var(--fs-2xs);font-weight:700;color:white;display:grid;place-items:center}
.dc-an{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3)}
.dc-link{font-family:var(--fm);font-size:var(--fs-xs);color:var(--sky);cursor:pointer;margin-left:auto;text-decoration:underline;opacity:0.7;transition:opacity 0.13s}
.dc-link:hover{opacity:1}

/* LEADS */
.filter-bar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:17px}
.fb{padding:5px 13px;border-radius:20px;font-size:var(--fs-md);cursor:pointer;transition:all 0.13s;border:1px solid var(--border);background:var(--ink-2);color:var(--text-3);font-family:var(--fu);user-select:none}
.fb:hover{border-color:var(--border-2);color:var(--text-2)}
.fb.active{background:var(--gold-dim);border-color:var(--border-3);color:var(--gold-2)}
.lead-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px;align-items:start}
.lc{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--rl);padding:14px;cursor:pointer;transition:all 0.16s;display:flex;flex-direction:column}
.lc:hover{border-color:var(--border-2);transform:translateY(-2px);box-shadow:var(--glow)}
.lc-top{display:flex;align-items:flex-start;gap:10px}
.lc-av{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;font-size:var(--fs-lg);font-weight:700;color:white;flex-shrink:0}
.lc-name{font-size:var(--fs-xl);font-weight:600;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lc-sub{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lc-mid{margin-top:10px;display:flex;flex-direction:column;gap:5px}
.lc-row{display:flex;align-items:center;gap:6px;font-size:var(--fs-md);color:var(--text-2);overflow:hidden;white-space:nowrap}
.lc-ico{color:var(--text-3);font-size:var(--fs-base);width:14px;flex-shrink:0}
.lc-bot{margin-top:9px;padding-top:9px;border-top:1px solid var(--border);display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow:hidden}
.lc-quick{display:flex;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}
.lc-qb{flex:1;padding:7px 4px;border-radius:6px;font-size:var(--fs-base);font-family:var(--fm);cursor:pointer;min-height:40px;border-width:1px;border-style:solid}
.lc-qb-g{background:rgba(39,174,96,0.1);border-color:rgba(39,174,96,0.25);color:var(--sage)}
.lc-qb-n{background:rgba(127,140,141,0.1);border-color:rgba(127,140,141,0.25);color:var(--text-2)}
.lc-qb-w{background:rgba(37,211,102,0.1);border-color:rgba(37,211,102,0.25);color:#25d366}
.sv-yes{font-family:var(--fm);font-size:var(--fs-sm);color:var(--sage)}
.sv-no{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3)}
.sv-imm{font-family:var(--fm);font-size:var(--fs-sm);color:var(--ruby)}

/* CALENDAR */
.cal-layout{display:grid;grid-template-columns:1fr 295px;gap:15px}
.cal-nav-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.cal-nav{display:flex;align-items:center;gap:7px}
.cal-btn{width:27px;height:27px;background:var(--ink-3);border:1px solid var(--border);border-radius:7px;cursor:pointer;color:var(--text-2);font-size:var(--fs-lg);display:grid;place-items:center;transition:all 0.13s;user-select:none}
.cal-btn:hover{border-color:var(--border-2);color:var(--text-1)}
.cal-mn{font-family:var(--fd);font-size:var(--fs-2xl);font-weight:600;color:var(--text-1);min-width:148px;text-align:center}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border-radius:10px;overflow:hidden}
.cdh{background:var(--ink-2);padding:6px 4px;text-align:center;font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:0.1em;color:var(--text-3)}
.cd{background:var(--ink-2);min-height:70px;padding:5px;cursor:pointer;transition:background 0.13s}
.cd:hover{background:var(--ink-3)}.cd.other{opacity:0.22}.cd.today{background:var(--gold-glow)}
.cd-num{font-family:var(--fm);font-size:10.5px;color:var(--text-2);width:19px;height:19px;display:grid;place-items:center;border-radius:50%}
.cd.today .cd-num{background:var(--gold);color:var(--ink);font-weight:700}
.ce{font-size:var(--fs-sm);border-radius:3px;padding:2px 4px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-sv{background:rgba(142,68,173,0.25);color:#bb8fce}.ev-meet{background:rgba(41,128,185,0.25);color:#5dade2}.ev-dead{background:rgba(231,76,60,0.22);color:#e74c3c}.ev-open{background:rgba(201,168,76,0.22);color:var(--gold-2)}

/* TASKS */
.task-list{display:flex;flex-direction:column;gap:6px}
.ti{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;background:var(--ink-2);border:1px solid var(--border);border-radius:var(--r);transition:border-color 0.13s}
.ti:hover{border-color:var(--border-2)}.ti.done{opacity:0.42}
.ti-chk{width:15px;height:15px;border-radius:50%;border:1.5px solid var(--border-2);display:grid;place-items:center;cursor:pointer;flex-shrink:0;margin-top:1px;transition:all 0.13s}
.ti-chk:hover{border-color:var(--gold)}.ti-chk.checked{background:var(--sage);border-color:var(--sage)}
.ti-chk.checked::after{content:'✓';font-size:var(--fs-xs);color:white}
.ti-ttl{font-size:var(--fs-lg);color:var(--text-1);font-weight:500}
.ti-meta{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);margin-top:2px}
.tp{padding:2px 7px;border-radius:10px;font-family:var(--fm);font-size:var(--fs-sm);flex-shrink:0}
.tp-h{background:var(--ruby-d);color:var(--ruby)}.tp-m{background:var(--amber-d);color:var(--amber)}.tp-l{background:var(--sage-d);color:var(--sage)}

/* REPORTS */
.bar-wrap{position:relative;height:175px;display:flex;align-items:flex-end;gap:6px;padding:8px 0}
.bar{flex:1;border-radius:4px 4px 0 0;position:relative;cursor:pointer;transition:opacity 0.2s;min-width:22px}
.bar:hover{opacity:0.78}
.bar-lbl{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap}
.bar-val{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap}
.funnel-row{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.funnel-lbl{width:130px;font-size:10.5px;color:var(--text-2);flex-shrink:0;font-family:var(--fm)}
.funnel-bw{flex:1}
.funnel-bar{height:22px;border-radius:4px;display:flex;align-items:center;padding-left:8px;font-family:var(--fm);font-size:var(--fs-sm);color:white;transition:width 0.7s ease}
.funnel-pct{width:34px;text-align:right;font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);flex-shrink:0}
.src-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}
.src-row:last-child{border:none}
.src-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.src-name{font-size:var(--fs-lg);color:var(--text-1);flex:1}
.src-cnt{font-family:var(--fm);font-size:var(--fs-md);color:var(--text-2)}
.src-pct{font-family:var(--fm);font-size:var(--fs-md);color:var(--text-3);width:34px;text-align:right}

/* LEADERBOARD */
.lb-row{display:flex;align-items:center;gap:11px;padding:10px 13px;border-bottom:1px solid var(--border);transition:background 0.13s}
.lb-row:last-child{border:none}.lb-row:hover{background:var(--ink-3)}
.lb-rank{font-family:var(--fd);font-size:var(--fs-3xl);font-weight:700;color:var(--text-3);width:26px;text-align:center;flex-shrink:0}
.lb-row.r1 .lb-rank{color:var(--gold-2)}.lb-row.r2 .lb-rank{color:var(--text-2)}.lb-row.r3 .lb-rank{color:#cd7f32}
.lb-info{flex:1}.lb-name{font-size:var(--fs-lg);font-weight:600;color:var(--text-1)}.lb-role{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3)}
.lb-stats{display:flex;gap:14px}.lb-stat{text-align:center}
.lb-sv{font-family:var(--fd);font-size:var(--fs-2xl);font-weight:700}.lb-sl{font-family:var(--fm);font-size:7.5px;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-3)}
.sc-badge{padding:3px 9px;border-radius:20px;font-family:var(--fm);font-size:var(--fs-md);font-weight:500}

/* FOLLOW-UP */
.fu-item{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;background:var(--ink-2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:7px;transition:border-color 0.13s;border-left-width:3px}
.fu-item:hover{border-color:var(--border-2)}.fu-urgent{border-left-color:var(--ruby)}.fu-high{border-left-color:var(--amber)}.fu-normal{border-left-color:var(--sky)}
.fu-ag{font-family:var(--fm);font-size:var(--fs-sm);padding:2px 7px;border-radius:10px;background:var(--gold-dim);color:var(--gold-2);flex-shrink:0;margin-top:1px}
.fu-body{flex:1}.fu-name{font-size:var(--fs-lg);font-weight:600;color:var(--text-1)}
.fu-contact{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);margin-top:1px}
.fu-rem{font-size:var(--fs-lg);color:var(--text-2);margin-top:3px}
.fu-action{font-family:var(--fm);font-size:var(--fs-sm);padding:3px 8px;border-radius:10px;background:var(--ruby-d);color:var(--ruby);flex-shrink:0;margin-top:1px}

/* HR */
.alloc-item{display:flex;align-items:center;gap:11px;padding:12px 14px;background:var(--ink-2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:7px;transition:all 0.13s}
.alloc-item:hover{border-color:var(--border-2)}
.alloc-info{flex:1}.alloc-name{font-size:var(--fs-lg);font-weight:600;color:var(--text-1)}.alloc-meta{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3)}
.alloc-count{font-family:var(--fd);font-size:24px;font-weight:700;color:var(--gold-2);min-width:40px;text-align:center}
.alloc-bar{width:80px}.perf-bar{height:3px;border-radius:3px;background:var(--ink-4);overflow:hidden;margin-top:4px}
.perf-fill{height:100%;border-radius:3px;transition:width 0.7s}

/* SCRIPTS */
.script-card{background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);padding:14px;margin-bottom:10px}
.script-title{font-family:var(--fd);font-size:var(--fs-xl);font-weight:600;color:var(--gold-2);margin-bottom:8px}
.script-body{font-size:var(--fs-lg);color:var(--text-2);line-height:1.75;white-space:pre-wrap}
.checklist-item{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}
.checklist-item:last-child{border:none}
.ci-check{width:14px;height:14px;border-radius:3px;border:1.5px solid var(--border-2);display:grid;place-items:center;cursor:pointer;flex-shrink:0;margin-top:1px;transition:all 0.13s}
.ci-check:hover{border-color:var(--gold)}.ci-check.checked{background:var(--sage);border-color:var(--sage)}
.ci-check.checked::after{content:'✓';font-size:var(--fs-xs);color:white}
.ci-text{font-size:var(--fs-lg);color:var(--text-2)}

/* GOLDEN RULE */
.golden-rule{background:linear-gradient(135deg,rgba(201,168,76,0.12),rgba(201,168,76,0.04));border:1px solid var(--border-2);border-radius:var(--rl);padding:18px 22px;text-align:center;margin-bottom:20px}
.gr-text{font-family:var(--fd);font-size:var(--fs-2xl);font-weight:600;color:var(--gold-2);line-height:1.5;font-style:italic}
.gr-sub{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);letter-spacing:0.18em;text-transform:uppercase;margin-top:6px}

/* ACTIVITY */
.act-item{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid var(--border)}
.act-item:last-child{border:none}
.act-dot{width:7px;height:7px;border-radius:50%;margin-top:4px;flex-shrink:0}
.act-txt{font-size:var(--fs-lg);color:var(--text-2)}.act-who{color:var(--text-1);font-weight:600}
.act-time{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);margin-top:1px}

/* UPCOMING */
.upc-item{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--border)}
.upc-item:last-child{border:none}
.upc-date{background:var(--ink-3);border:1px solid var(--border);border-radius:7px;padding:5px 8px;text-align:center;min-width:38px}
.upc-day{font-family:var(--fd);font-size:var(--fs-2xl);font-weight:700;color:var(--text-1);line-height:1}
.upc-mo{font-family:var(--fm);font-size:7.5px;color:var(--text-3);text-transform:uppercase}
.upc-ttl{font-size:var(--fs-lg);font-weight:600;color:var(--text-1)}.upc-meta{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);margin-top:1px}

/* AI DRAWER */
#ai-fab{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#9a7820,var(--gold),var(--gold-2));box-shadow:0 4px 18px rgba(201,168,76,0.42);display:grid;place-items:center;cursor:pointer;z-index:50;font-size:var(--fs-2xl);border:none;transition:all 0.2s}
#ai-fab:hover{transform:scale(1.12);box-shadow:0 6px 26px rgba(201,168,76,0.58)}
#ai-drawer{position:fixed;bottom:84px;right:24px;width:330px;max-height:450px;background:var(--ink-2);border:1px solid var(--border-2);border-radius:var(--rxl);box-shadow:var(--sh-lg);display:flex;flex-direction:column;z-index:49;transform:translateY(16px) scale(0.95);opacity:0;pointer-events:none;transition:all 0.2s ease}
#ai-drawer.open{transform:translateY(0) scale(1);opacity:1;pointer-events:all}
.aid-hd{padding:12px 15px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:7px}
.aid-title{font-family:var(--fd);font-size:var(--fs-xl);font-weight:600;color:var(--text-1);flex:1}
.aid-msgs{flex:1;overflow-y:auto;padding:12px 13px;display:flex;flex-direction:column;gap:8px;min-height:70px}
.aid-msg{padding:8px 11px;border-radius:10px;font-size:var(--fs-lg);line-height:1.55;max-width:92%}
.aid-msg.user{background:var(--gold-dim);color:var(--gold-2);align-self:flex-end;border:1px solid var(--border-2)}
.aid-msg.bot{background:var(--ink-3);color:var(--text-2);align-self:flex-start;border:1px solid var(--border)}
.aid-inp-row{padding:10px 13px;border-top:1px solid var(--border);display:flex;gap:7px}
.aid-inp{flex:1;padding:7px 10px;background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);color:var(--text-1);font-size:var(--fs-lg);font-family:var(--fu);outline:none}
.aid-inp:focus{border-color:var(--gold)}
.aid-send{width:31px;height:31px;border-radius:7px;background:linear-gradient(135deg,var(--gold),var(--gold-2));border:none;cursor:pointer;display:grid;place-items:center;font-size:var(--fs-lg);color:var(--ink);transition:all 0.13s}
.aid-send:hover{box-shadow:0 2px 9px rgba(201,168,76,0.38)}

/* TOAST */
#toast-c{position:fixed;top:16px;right:16px;z-index:200;display:flex;flex-direction:column;gap:6px}
.toast{background:var(--ink-2);border:1px solid var(--border-2);border-radius:var(--r);padding:10px 14px;min-width:260px;box-shadow:var(--sh);display:flex;align-items:flex-start;gap:8px;animation:tIn 0.22s ease}
@keyframes tIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
.toast-ico{font-size:var(--fs-xl);flex-shrink:0}.toast-t{font-weight:600;color:var(--text-1);font-size:var(--fs-lg)}.toast-m{color:var(--text-3);font-size:var(--fs-md);margin-top:1px}

/* HANDOVER BANNER */
.handover-banner{background:linear-gradient(135deg,rgba(231,76,60,0.12),rgba(201,168,76,0.08));border:1px solid rgba(231,76,60,0.3);border-radius:var(--rl);padding:14px 18px;margin-bottom:18px;display:flex;align-items:center;gap:14px}
.hb-icon{font-size:var(--fs-3xl);flex-shrink:0}
.hb-text{flex:1}
.hb-title{font-size:13.5px;font-weight:600;color:var(--text-1)}
.hb-sub{font-size:var(--fs-lg);color:var(--text-2);margin-top:2px}
.hb-actions{display:flex;gap:7px;flex-shrink:0}

/* NOTIFICATION PANEL */
.notif-item{display:flex;align-items:flex-start;gap:10px;padding:14px 8px;border-bottom:1px solid var(--border);cursor:pointer;min-height:48px;-webkit-tap-highlight-color:rgba(201,168,76,0.1);width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);text-align:left;color:inherit;font-family:inherit;outline:none}
.notif-item:active{background:rgba(201,168,76,0.08)}
.notif-item:last-child{border:none}
.notif-ico{font-size:var(--fs-2xl);flex-shrink:0;margin-top:1px}
.notif-body{flex:1}
.notif-title{font-size:var(--fs-lg);font-weight:600;color:var(--text-1)}
.notif-msg{font-size:var(--fs-lg);color:var(--text-2);margin-top:1px}
.notif-time{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);margin-top:3px}
.notif-dot-new{width:7px;height:7px;border-radius:50%;background:var(--ruby);flex-shrink:0;margin-top:5px}

/* UPDATE STATUS MODAL specific */
.status-option{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;transition:all 0.15s;margin-bottom:6px}
.status-option:hover{border-color:var(--border-2);background:var(--ink-4)}
.status-option.selected{border-color:var(--gold);background:var(--gold-dim)}
.status-option .so-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.status-option .so-name{font-size:var(--fs-lg);font-weight:600;color:var(--text-1)}
.status-option .so-desc{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3)}
.status-timeline{display:flex;flex-direction:column;gap:0;margin-top:14px;padding:12px;background:var(--ink-3);border-radius:var(--r);border:1px solid var(--border)}
.st-entry{display:flex;gap:10px;padding:6px 0;position:relative}
.st-entry::before{content:'';position:absolute;left:5px;top:18px;bottom:-6px;width:1px;background:var(--border)}
.st-entry:last-child::before{display:none}
.st-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--border-2);flex-shrink:0;margin-top:2px;background:var(--ink-2)}
.st-entry.current .st-dot{border-color:var(--gold);background:var(--gold)}
.st-text{font-size:var(--fs-md);color:var(--text-2)}.st-date{font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-3)}

/* FIELD TRACKER */
.lc-new{border:1.5px solid rgba(39,174,96,0.5)!important;box-shadow:0 0 12px rgba(39,174,96,0.15)!important;position:relative}
.lc-new::before{content:'NEW';position:absolute;top:-6px;left:14px;background:var(--sage);color:white;font-family:var(--fm);font-size:var(--fs-2xs);font-weight:700;letter-spacing:0.1em;padding:2px 8px;border-radius:10px;animation:newPulse 2s ease-in-out infinite;z-index:1}
@keyframes newPulse{0%,100%{box-shadow:0 0 0 0 rgba(39,174,96,0.4)}50%{box-shadow:0 0 0 6px rgba(39,174,96,0)}}
.lc-overdue{position:relative;border:1.5px solid rgba(231,76,60,0.5)!important;box-shadow:0 0 12px rgba(231,76,60,0.15)!important}
.lc-overdue::before{content:'⚠ OVERDUE';position:absolute;top:-6px;left:14px;background:var(--ruby);color:white;font-family:var(--fm);font-size:var(--fs-2xs);font-weight:700;letter-spacing:0.08em;padding:2px 8px;border-radius:10px;animation:urgPulse 1.5s ease-in-out infinite;z-index:1}
@keyframes urgPulse{0%,100%{box-shadow:0 0 0 0 rgba(231,76,60,0.4)}50%{box-shadow:0 0 0 6px rgba(231,76,60,0)}}
.mydash-pending-card{background:var(--ink-3);border:1px solid rgba(231,76,60,0.2);border-radius:var(--r);padding:14px 16px;margin-bottom:8px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all 0.2s;min-height:52px;-webkit-tap-highlight-color:rgba(201,168,76,0.1);width:100%;color:inherit;font-family:inherit;outline:none;text-align:left}
.mydash-pending-card:active{border-color:var(--gold);background:rgba(201,168,76,0.05)}
.mydash-pending-card:hover{border-color:var(--ruby);background:rgba(231,76,60,0.05)}
.date-group-hd{font-family:var(--fm);font-size:var(--fs-sm);color:var(--gold);letter-spacing:0.15em;text-transform:uppercase;padding:10px 0 6px;border-bottom:1px solid var(--border);margin-bottom:8px;margin-top:14px;display:flex;align-items:center;gap:8px}
.date-group-hd .dg-count{background:var(--ink-3);color:var(--text-3);padding:1px 8px;border-radius:10px;font-size:var(--fs-xs)}

/* FIELD TRACKER */position:absolute;transform:translate(-50%,-100%);cursor:pointer;transition:all 0.3s;z-index:2}
.ft-marker:hover{z-index:10;transform:translate(-50%,-100%) scale(1.15)}
.ft-pin{width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,0.3);border:2px solid rgba(255,255,255,0.3)}
.ft-pin span{transform:rotate(45deg);font-size:var(--fs-md);font-weight:700;color:white}
.ft-marker-label{position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:var(--ink-2);border:1px solid var(--border);padding:2px 8px;border-radius:10px;font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-1);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 0.2s}
.ft-marker:hover .ft-marker-label{opacity:1}
.ft-tl-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}
.ft-tl-time{font-family:var(--fm);font-size:var(--fs-base);color:var(--text-3);min-width:52px;text-align:right}
.ft-tl-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}
.ft-tl-body{flex:1}
.ft-tl-agent{font-size:var(--fs-lg);font-weight:600;color:var(--text-1)}
.ft-tl-type{font-family:var(--fm);font-size:var(--fs-sm);padding:2px 8px;border-radius:10px;display:inline-block;margin-top:3px}
.ft-tl-note{font-size:var(--fs-md);color:var(--text-3);margin-top:3px}
.ft-tl-coords{font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-4);margin-top:2px}
.ft-type-sv{background:rgba(39,174,96,0.12);color:var(--sage);border:1px solid rgba(39,174,96,0.2)}
.ft-type-client{background:rgba(93,173,226,0.12);color:var(--sky);border:1px solid rgba(93,173,226,0.2)}
.ft-type-roadshow{background:rgba(232,200,104,0.12);color:var(--gold-2);border:1px solid rgba(232,200,104,0.2)}
.ft-type-office{background:rgba(142,68,173,0.12);color:var(--violet);border:1px solid rgba(142,68,173,0.2)}
.ft-type-travel{background:rgba(243,156,18,0.12);color:var(--amber);border:1px solid rgba(243,156,18,0.2)}
.ft-type-break{background:rgba(127,140,141,0.12);color:var(--text-3);border:1px solid rgba(127,140,141,0.2)}
.ft-pulse{animation:ftPulse 2s ease-in-out infinite}
@keyframes ftPulse{0%,100%{box-shadow:0 0 0 0 rgba(39,174,96,0.4)}50%{box-shadow:0 0 0 8px rgba(39,174,96,0)}}

/* ═══════════════════════════════════════════════
   ENHANCED MOBILE UX — Priority Queues, Bottom Sheet, Pull-to-Refresh
═══════════════════════════════════════════════ */
/* Mission Card */
.mission-card{background:var(--ink-2);border-radius:var(--rl);padding:14px 16px;margin-bottom:8px;position:relative;overflow:hidden;border:1px solid var(--border);transition:transform 0.2s,opacity 0.2s;-webkit-tap-highlight-color:transparent;touch-action:pan-y}
.mission-card.mc-critical{border-left:4px solid var(--ruby);background:linear-gradient(135deg,rgba(231,76,60,0.06),var(--ink-2))}
.mission-card.mc-high{border-left:4px solid var(--amber);background:linear-gradient(135deg,rgba(230,126,34,0.04),var(--ink-2))}
.mission-card.mc-medium{border-left:4px solid var(--gold);background:linear-gradient(135deg,rgba(201,168,76,0.03),var(--ink-2))}
.mission-card.mc-low{border-left:4px solid var(--text-3)}
.mc-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.mc-urgency{font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:0.14em;padding:3px 8px;border-radius:10px;font-weight:700;flex-shrink:0}
.mc-urgency.u-critical{background:rgba(231,76,60,0.2);color:var(--ruby);animation:urgPulse 1.5s ease infinite}
.mc-urgency.u-high{background:rgba(230,126,34,0.2);color:var(--amber)}
.mc-urgency.u-medium{background:rgba(201,168,76,0.15);color:var(--gold)}
.mc-urgency.u-low{background:rgba(127,140,141,0.15);color:var(--text-3)}
.mc-name{font-size:var(--fs-xl);font-weight:700;color:var(--text-1);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-instruction{font-size:var(--fs-lg);color:var(--text-2);line-height:1.6;margin-bottom:10px;padding:8px 10px;background:var(--ink-3);border-radius:var(--r);border-left:2px solid var(--gold)}
.mc-actions{display:flex;gap:6px}
.mc-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:10px 16px;border-radius:var(--r);font-size:var(--fs-lg);font-weight:600;cursor:pointer;border:none;font-family:var(--fu);transition:all 0.15s;min-height:44px;flex:1;-webkit-tap-highlight-color:transparent;text-decoration:none;color:inherit}
.mc-btn:active{transform:scale(0.95)}
.mc-btn-call{background:var(--sage);color:white}
.mc-btn-wa{background:#25d366;color:white}
.mc-btn-open{background:var(--ink-3);color:var(--text-2);border:1px solid var(--border)}
.mc-btn-update{background:var(--gold-dim);color:var(--gold-2);border:1px solid var(--border-2)}
.mc-btn-done{background:rgba(39,174,96,0.12);color:var(--sage);border:1px solid rgba(39,174,96,0.2)}
.mc-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.mc-chip{font-family:var(--fm);font-size:var(--fs-sm);padding:2px 8px;border-radius:10px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.mc-chip-type{background:rgba(231,76,60,0.12);color:var(--ruby);border:1px solid rgba(231,76,60,0.2)}
.mc-chip-stage{background:rgba(41,128,185,0.12);color:var(--sky);border:1px solid rgba(41,128,185,0.2)}
.mc-chip-days{background:rgba(201,168,76,0.12);color:var(--gold-2);border:1px solid rgba(201,168,76,0.2)}
.mc-chip-budget{background:rgba(142,68,173,0.1);color:var(--violet);border:1px solid rgba(142,68,173,0.2)}
.mc-swipe-hint{position:absolute;right:0;top:0;bottom:0;width:60px;background:linear-gradient(90deg,transparent,rgba(39,174,96,0.15));display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xl);opacity:0;transition:opacity 0.2s;pointer-events:none}
/* Priority Queue Sections */
.pq-section{margin-bottom:14px}
.pq-header{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:6px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pq-header:active{opacity:0.7}
.pq-icon{font-size:var(--fs-2xl);flex-shrink:0}
.pq-title{font-family:var(--fd);font-size:var(--fs-2xl);font-weight:600;color:var(--text-1);flex:1}
.pq-count{font-family:var(--fm);font-size:var(--fs-md);padding:3px 10px;border-radius:12px;font-weight:600}
.pq-count-red{background:rgba(231,76,60,0.18);color:var(--ruby)}
.pq-count-amber{background:rgba(230,126,34,0.18);color:var(--amber)}
.pq-count-gold{background:rgba(201,168,76,0.15);color:var(--gold-2)}
.pq-count-green{background:rgba(39,174,96,0.15);color:var(--sage)}
.pq-arrow{font-size:var(--fs-xl);color:var(--text-3);transition:transform 0.2s}
.pq-section.collapsed .pq-arrow{transform:rotate(-90deg)}
.pq-section.collapsed .pq-body{display:none}
/* Bottom Sheet Modal */
.bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:300;transform:translateY(100%);transition:transform 0.3s cubic-bezier(0.32,0.72,0,1);pointer-events:none}
.bottom-sheet.open{transform:translateY(0);pointer-events:auto}
.bottom-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:299;backdrop-filter:blur(2px);display:none}
.bottom-sheet-overlay.open{display:block}
.bs-content{background:var(--ink-2);border-radius:20px 20px 0 0;max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(16px,env(safe-area-inset-bottom))}
.bs-handle{width:36px;height:4px;border-radius:2px;background:var(--text-4);margin:10px auto 6px}
.bs-header{padding:8px 20px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}
.bs-title{font-family:var(--fd);font-size:var(--fs-2xl);font-weight:600;color:var(--text-1);flex:1}
.bs-close{width:32px;height:32px;border-radius:50%;background:var(--ink-3);border:1px solid var(--border);display:grid;place-items:center;cursor:pointer;font-size:var(--fs-xl);color:var(--text-2);flex-shrink:0}
.bs-body{padding:16px 20px}
/* Quick-action row in lead cards (mobile) */
.qa-row{display:flex;gap:0;border-top:1px solid var(--border);margin:10px -16px -16px;overflow:hidden;border-radius:0 0 var(--rl) var(--rl)}
.qa-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;background:transparent;border:none;border-right:1px solid var(--border);cursor:pointer;font-family:var(--fu);color:var(--text-3);font-size:var(--fs-sm);min-height:48px;justify-content:center;transition:background 0.1s;-webkit-tap-highlight-color:rgba(201,168,76,0.1)}
.qa-btn:last-child{border-right:none}
.qa-btn:active{background:rgba(201,168,76,0.08)}
.qa-btn span:first-child{font-size:var(--fs-2xl)}
/* Pull-to-refresh */
@keyframes ptrSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.ptr-loading{animation:ptrSpin 0.8s linear infinite;display:inline-block}

/* POST-SV CONVERSION ENGINE — mobile-first */
.conv-card{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--rl);padding:16px;margin-bottom:10px;position:relative;overflow:hidden;transition:all 0.2s;-webkit-tap-highlight-color:rgba(201,168,76,0.1)}
.conv-card:active{transform:scale(0.98);border-color:var(--border-2)}
.conv-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px}
.conv-card.conv-hot::before{background:linear-gradient(to bottom,#e74c3c,#e67e22)}
.conv-card.conv-warm::before{background:linear-gradient(to bottom,#e67e22,#c9a84c)}
.conv-card.conv-negotiating::before{background:linear-gradient(to bottom,#c9a84c,#27ae60)}
.conv-card.conv-closing::before{background:linear-gradient(to bottom,#27ae60,#2ecc71)}
.conv-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.conv-score{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-family:var(--fm);font-size:var(--fs-xl);font-weight:700;color:white;flex-shrink:0;position:relative}
.conv-score::after{content:'';position:absolute;inset:-2px;border-radius:50%;border:2px solid transparent;animation:convPulse 3s ease infinite}
.conv-score.sc-high{background:linear-gradient(135deg,#27ae60,#2ecc71)}.conv-score.sc-high::after{border-color:rgba(39,174,96,0.3)}
.conv-score.sc-mid{background:linear-gradient(135deg,#e67e22,#f39c12)}.conv-score.sc-mid::after{border-color:rgba(230,126,34,0.3)}
.conv-score.sc-low{background:linear-gradient(135deg,#e74c3c,#c0392b)}.conv-score.sc-low::after{border-color:rgba(231,76,60,0.3)}
@keyframes convPulse{0%,100%{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 6px transparent}}
.conv-name{font-size:var(--fs-xl);font-weight:700;color:var(--text-1);line-height:1.2}
.conv-meta{font-family:var(--fm);font-size:var(--fs-base);color:var(--text-3);margin-top:2px;display:flex;gap:6px;flex-wrap:wrap}
.conv-meta span{display:inline-flex;align-items:center;gap:2px}
.conv-stage-bar{display:flex;gap:2px;margin-bottom:10px;height:6px;border-radius:3px;overflow:hidden;background:var(--ink-4)}
.conv-stage-bar div{height:100%;border-radius:3px;transition:width 0.5s ease}
.conv-nudge{background:rgba(201,168,76,0.06);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;margin-bottom:10px}
.conv-nudge-title{font-family:var(--fm);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.14em;color:var(--gold);margin-bottom:4px;display:flex;align-items:center;gap:5px}
.conv-nudge-text{font-size:var(--fs-lg);color:var(--text-2);line-height:1.6}
.conv-objection{background:rgba(231,76,60,0.06);border:1px solid rgba(231,76,60,0.15);border-radius:var(--r);padding:8px 10px;margin-bottom:8px}
.conv-obj-label{font-family:var(--fm);font-size:var(--fs-sm);color:var(--ruby);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:3px}
.conv-obj-response{font-size:var(--fs-md);color:var(--text-2);line-height:1.6;padding-left:8px;border-left:2px solid var(--gold)}
.conv-actions{display:flex;gap:6px;flex-wrap:wrap}
.conv-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;border-radius:var(--r);font-size:var(--fs-md);font-weight:600;cursor:pointer;border:none;font-family:var(--fu);letter-spacing:0.03em;transition:all 0.15s;min-height:40px;-webkit-tap-highlight-color:transparent}
.conv-btn:active{transform:scale(0.95)}
.conv-btn-gold{background:linear-gradient(135deg,#9a7820,var(--gold));color:#080600}
.conv-btn-green{background:rgba(39,174,96,0.15);color:var(--sage);border:1px solid rgba(39,174,96,0.25)}
.conv-btn-wa{background:#25d366;color:white}
.conv-btn-ghost{background:var(--ink-3);color:var(--text-2);border:1px solid var(--border)}
.conv-btn-ruby{background:rgba(231,76,60,0.12);color:var(--ruby);border:1px solid rgba(231,76,60,0.2)}
.conv-days-badge{font-family:var(--fm);font-size:var(--fs-sm);padding:2px 8px;border-radius:10px;white-space:nowrap}
.conv-days-ok{background:rgba(39,174,96,0.12);color:var(--sage);border:1px solid rgba(39,174,96,0.2)}
.conv-days-warn{background:rgba(230,126,34,0.12);color:var(--amber);border:1px solid rgba(230,126,34,0.2)}
.conv-days-danger{background:rgba(231,76,60,0.12);color:var(--ruby);border:1px solid rgba(231,76,60,0.2)}
.conv-filter-bar{display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none}
.conv-filter-bar::-webkit-scrollbar{display:none}
.conv-filter-btn{padding:8px 14px;border-radius:20px;font-size:var(--fs-md);font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--ink-3);color:var(--text-3);white-space:nowrap;font-family:var(--fu);transition:all 0.15s;min-height:44px;-webkit-tap-highlight-color:transparent}
.conv-filter-btn.active{background:var(--gold-dim);border-color:var(--gold);color:var(--gold-2)}
.conv-summary-row{display:flex;gap:10px;margin-bottom:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none}
.conv-summary-row::-webkit-scrollbar{display:none}
.conv-summary-card{min-width:130px;flex:1;background:var(--ink-2);border:1px solid var(--border);border-radius:var(--rl);padding:14px;text-align:center;flex-shrink:0}
.conv-summary-val{font-family:var(--fd);font-size:28px;font-weight:700;color:var(--text-1);line-height:1}
.conv-summary-lbl{font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:0.14em;color:var(--text-3);margin-top:4px}
/* AI Insight inline */
.conv-ai-insight{background:linear-gradient(135deg,rgba(201,168,76,0.06),rgba(142,68,173,0.04));border:1px solid var(--border-2);border-radius:var(--rl);padding:14px;margin-bottom:14px}
.conv-ai-tag{font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:0.2em;color:var(--gold);display:inline-flex;align-items:center;gap:4px;margin-bottom:6px}
.conv-ai-body{font-size:var(--fs-lg);color:var(--text-2);line-height:1.7}
@media(max-width:768px){
  .conv-summary-row{gap:8px}
  .conv-summary-card{min-width:100px;padding:10px}
  .conv-summary-val{font-size:24px}
  .conv-actions{flex-direction:column}
  .conv-btn{justify-content:center;width:100%}
}

/* SUPABASE STATUS */
.supa-status{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-family:var(--fm);font-size:var(--fs-sm);letter-spacing:0.06em}
.supa-off{background:rgba(231,76,60,0.15);color:var(--ruby);border:1px solid rgba(231,76,60,0.25)}
.supa-on{background:rgba(39,174,96,0.15);color:var(--sage);border:1px solid rgba(39,174,96,0.25)}
.supa-dot{width:5px;height:5px;border-radius:50%}
.supa-off .supa-dot{background:var(--ruby)}.supa-on .supa-dot{background:var(--sage)}

/* HAMBURGER */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:4px;z-index:20}
.hamburger span{display:block;width:20px;height:2px;background:var(--text-2);border-radius:2px;transition:all 0.25s}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:9;backdrop-filter:blur(2px)}

/* PWA INSTALL */
.pwa-prompt{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink-2);border:1px solid var(--gold);border-radius:var(--rxl);padding:14px 20px;display:none;align-items:center;gap:12px;z-index:1000;box-shadow:0 8px 40px rgba(0,0,0,0.5);max-width:90vw}
.pwa-prompt.show{display:flex}

/* MOBILE RESPONSIVE */
#bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:56px;background:var(--ink);border-top:1px solid var(--border);z-index:50;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:center;max-width:100%}
.bn-btn{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;cursor:pointer;color:var(--text-3);font-family:var(--fu);min-width:48px;min-height:44px;position:relative;flex:1;max-width:80px}
.bn-btn.active{color:var(--gold)}
.bn-ico{font-size:var(--fs-2xl)}
.bn-lbl{font-size:var(--fs-sm);font-family:var(--fm)}
.bn-badge{position:absolute;top:2px;right:4px;background:var(--ruby);color:#fff;font-size:var(--fs-xs);font-family:var(--fm);padding:1px 5px;border-radius:8px;display:none}
@media(max-width:768px){
  :root{--sw:0px;--th:52px}
  #sidebar{position:fixed;left:-280px;width:280px;min-width:280px;height:100vh;height:100dvh;z-index:100;transition:left 0.3s ease;box-shadow:none}
  #sidebar.open{left:0;box-shadow:4px 0 30px rgba(0,0,0,0.5)}
  .sidebar-overlay.open{display:block}
  .hamburger{display:flex}
  #topbar{padding:0 12px;gap:8px}
  .tb-title{font-size:var(--fs-xl);max-width:140px}
  .srch{width:100%;order:10;margin-top:4px;margin-bottom:4px;max-width:none}
  #topbar{flex-wrap:wrap}
  .sec-title{display:none}
  .sec-hd{margin-bottom:8px}
  .sec-hd .btn,.sec-hd select,.sec-hd button{margin-top:0}
  #bottom-nav{display:flex!important}
  #content{padding-bottom:70px!important}
  #content{padding:12px}
  .kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;margin-bottom:12px!important}
  .g2{grid-template-columns:1fr!important;gap:10px!important}
  .lead-grid{grid-template-columns:1fr!important;gap:8px!important}
  .pipe-board{min-height:auto!important}
  .pipe-col{min-width:220px}
  .filter-bar{flex-wrap:wrap;gap:4px!important}
  .fb{font-size:var(--fs-md)!important;padding:6px 10px!important}
  .sec-hd{flex-direction:column;gap:8px;align-items:flex-start!important}
  .sec-hd>div{flex-wrap:wrap;gap:6px}
  .modal{width:95vw!important;max-height:calc(100dvh - 20px);margin:10px auto}
  .m-body{padding:14px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0}
  .m-ft,.m-foot{position:sticky;bottom:0;background:var(--ink-2);z-index:2;border-top:1px solid var(--border);flex-shrink:0;padding:10px 14px;gap:6px;flex-wrap:wrap;max-height:35vh;overflow-y:auto}
  .m-ft .btn,.m-foot .btn{min-height:44px;font-size:var(--fs-lg);padding:8px 12px}
  .m-x{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;font-size:var(--fs-2xl)!important;border-radius:50%!important;display:grid!important;place-items:center;cursor:pointer;z-index:5;flex-shrink:0}
  .m-hd{padding:12px 16px 10px;position:sticky;top:0;background:var(--ink-2);z-index:3}
  .m-title{font-size:var(--fs-xl)!important;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .card{padding:14px}
  .card-title{font-size:var(--fs-xl)}
  #topbar .btn{padding:5px 8px;font-size:var(--fs-base)}
  #topbar [id="role-badge"]{display:none}
  .login-container{width:95vw!important}
  .fu-item{flex-direction:column;gap:6px}
  .fu-ag{width:auto}
  .lb-row{flex-wrap:wrap;gap:8px}
  #ft-map{height:280px!important}
  .tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ai-drawer{width:100%!important;max-width:100%!important}
  #content{padding-bottom:80px}
}
@media(max-width:480px){
  .kpi-grid{grid-template-columns:1fr!important}
  .kpi-val{font-size:32px!important}
  .kpi-lbl{font-size:var(--fs-md)!important}
  .kpi-delta{font-size:var(--fs-md)!important}
  #topbar .btn-royal,#topbar .btn-ghost{display:none}
  .sec-title{font-size:var(--fs-2xl)}
  .lc-name{font-size:var(--fs-xl)!important}
  .lc-sub{font-size:var(--fs-md)!important}
  .lc-row{font-size:var(--fs-lg)!important}
  .badge{font-size:var(--fs-base)!important;padding:3px 8px!important}
  .fl{font-size:var(--fs-md)!important}
  .nv-item{font-size:13.5px!important;padding:10px 12px!important}
  .notif-title{font-size:var(--fs-xl)!important}
  .notif-msg{font-size:var(--fs-lg)!important}
  .notif-item{padding:16px 10px!important;min-height:56px!important}
  .mydash-pending-card{padding:16px!important;min-height:56px!important}
  .btn{min-height:44px!important;font-size:var(--fs-lg)!important}
  .btn-sm{min-height:44px!important}
  .fi,.fs,.fta{font-size:var(--fs-xl)!important;padding:12px!important;min-height:44px}
  .fb{min-height:44px!important;padding:8px 12px!important;font-size:var(--fs-md)!important}
  .m-x{width:36px!important;height:36px!important;font-size:var(--fs-2xl)!important}
  .cal-btn{width:36px!important;height:36px!important}
  .nb{width:40px!important;height:40px!important}
  /* v6.27.11 PWA mobile polish: cap modal footer so body keeps room for the
     Recalculate / discount controls on cost sheet + similar multi-button modals. */
  .m-ft,.m-foot{max-height:28vh!important}
  .m-ft .btn,.m-foot .btn{font-size:var(--fs-md)!important;padding:6px 10px!important;min-height:40px!important}
  /* Inventory page: stack pricing tiers / KPI grid cleanly so the SVG plot map
     can scroll horizontally without the page itself overflowing. */
  #inv-pricing-tiers{flex-direction:column;gap:6px!important}
  #inv-kpis{grid-template-columns:1fr!important;gap:6px!important}
  #inv-map{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* v6.28.0 / Phase 3A — mobile sweep. Rules below kick in at the 480px
   breakpoint where the Phase 1D modal/inventory rules also live. The 768px
   block above already handles tablet collapse (sidebar, modal sizing,
   bottom-nav, kpi-grid 2-col). These are the small-phone (≤480px) gaps
   surfaced during the deep audit. */
@media(max-width:480px){
  /* CRITICAL — form-row layouts. .fr (1fr 1fr) and .fr3 (1fr 1fr 1fr) keep
     their multi-column grid on phones, squeezing inputs to ~120px wide
     and making Add Lead / Edit Lead / Settings / Booking forms unusable.
     Stack to 1 column on small screens. */
  .fr,.fr3{grid-template-columns:1fr!important;gap:8px!important}
  /* Form labels + inputs need a touch bigger hit area on phone */
  .fl{font-size:var(--fs-sm)!important}
  /* IMPORTANT — bulk action bar wraps to a tower of pieces; tighten the
     dropdowns so Apply stays reachable. */
  #bulk-bar{padding:6px 10px!important;gap:6px!important}
  #bulk-bar select,#bulk-bar input{width:100%!important;min-width:0!important}
  /* IMPORTANT — pipeline kanban: keep horizontal scroll obvious on phones.
     The board scrolls horizontally ALWAYS via overflow-x:auto, but on phone
     content tends to compress to one column visually. Force min-width so
     swipe-to-scroll is discoverable. */
  .pipe-col{min-width:78vw!important;width:78vw!important}
  /* IMPORTANT — leaderboard rows stack but the per-cell labels disappear
     when wrapping. Keep them visible. */
  .lb-row>*{flex-shrink:0}
  /* IMPORTANT — settings page <details> groups: the SG body padding is
     too tight for thumb-tapping on switches/buttons */
  .sg-body{padding:10px 8px!important}
  .sg-body .btn{min-height:40px!important}
  /* IMPORTANT — calendar (cv2) day-event chips need bigger touch targets */
  .cv2-day-evt{padding:12px 14px!important;min-height:48px!important}
  .cv2-day-hr{min-height:44px!important}
  /* IMPORTANT — booking form / cost sheet generator inline grid layouts
     used inline `style="grid-template-columns:1fr 1fr"` patterns. Cap any
     descendant grid inside .m-body to single column on phone. */
  .m-body [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  .m-body [style*="grid-template-columns:1fr 1fr 1fr"]{grid-template-columns:1fr!important}
  /* NICE-TO-HAVE — KPI icons sit further right on phone so they don't crowd
     the value text */
  .kpi-ico{right:8px!important;font-size:24px!important;opacity:0.55!important}
  /* NICE-TO-HAVE — page section title spacing tightened */
  .sec-title{margin:6px 0!important}
  /* Ensure tap targets in lead row's quick action strip are reachable */
  .lc-quick{flex-wrap:wrap!important}
  .lc-qb{flex:1 1 0!important;min-height:40px!important}
}
@media(min-width:769px){.sidebar-overlay{display:none!important}}

/* ALLOCATION WIZARD */
.alloc-step{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;background:var(--ink-3);border:1px solid var(--border);transition:all 0.2s;cursor:default}
.alloc-step.active{background:var(--gold-dim);border-color:var(--border-3)}
.alloc-step.active .as-num{background:var(--gold);color:var(--ink)}
.alloc-step.done{background:rgba(39,174,96,0.08);border-color:rgba(39,174,96,0.25)}
.alloc-step.done .as-num{background:var(--sage);color:white}
.as-num{width:20px;height:20px;border-radius:50%;background:var(--ink-4);display:grid;place-items:center;font-family:var(--fm);font-size:var(--fs-sm);font-weight:700;color:var(--text-3);flex-shrink:0}
.as-lbl{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-2);letter-spacing:0.04em;white-space:nowrap}
.alloc-step.active .as-lbl{color:var(--gold-2);font-weight:600}
.alloc-step.done .as-lbl{color:var(--sage)}
.alloc-step-line{flex:1;height:1px;background:var(--border);min-width:20px}
.alloc-agent-card{background:var(--ink-3);border:1px solid var(--border);border-radius:var(--rl);padding:14px;cursor:pointer;transition:all 0.18s;position:relative}
.alloc-agent-card:hover{border-color:var(--border-2);transform:translateY(-2px);box-shadow:var(--glow)}
.alloc-agent-card.selected{border-color:var(--gold);background:var(--gold-dim);box-shadow:0 0 18px rgba(201,168,76,0.15)}
.alloc-agent-card.recommended::after{content:'★ Best Fit';position:absolute;top:8px;right:8px;font-family:var(--fm);font-size:var(--fs-2xs);color:var(--sage);background:rgba(39,174,96,0.12);border:1px solid rgba(39,174,96,0.25);padding:2px 6px;border-radius:8px;letter-spacing:0.06em}
.al-lead-row{display:flex;align-items:center;gap:4px;padding:4px 6px;border-bottom:1px solid var(--border);font-size:var(--fs-md);transition:background 0.1s}
.al-lead-row:hover{background:var(--gold-glow)}
.al-lead-row:last-child{border:none}

/* Field Tracker Animation */
            <div style="width:8px;height:8px;border-radius:50%;background:var(--sage);animation:ftSilentPulse 2s ease infinite"></div>
      .ft-silent-pulse{animation:ftSilentPulse 2s ease infinite}@keyframes ftSilentPulse{0%,100%{opacity:1}50%{opacity:0.4}}

/* ═══ PROJECT SWITCHER ═══ */
#project-select{
  font-family:var(--fu);
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23c9a84c'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  padding-right:28px;
  cursor:pointer;
  transition:border-color 0.15s;
}
#project-select:hover{border-color:var(--border-3)}
#project-select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 2px rgba(201,168,76,0.15)}
#project-select option[disabled]{color:var(--text-4);font-style:italic}

/* ═══ SV DATE FILTER CHIPS ═══ */
#sv-date-filters{gap:6px}
#sv-date-filters .fb{font-size:var(--fs-base);padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:var(--ink-3);color:var(--text-2);cursor:pointer;transition:all 0.15s;white-space:nowrap}
#sv-date-filters .fb:hover{border-color:var(--border-2);color:var(--text-1)}
#sv-date-filters .fb.active{background:rgba(201,168,76,0.12);border-color:var(--gold);color:var(--gold-2)}
#sv-date-filters .fb[data-f="sv_overdue"].active{background:rgba(231,76,60,0.12);border-color:var(--ruby);color:var(--ruby)}

/* ═══ BRANDING SECTION ═══ */
#branding-section .sg-body{padding:14px}
/* Calendar v2 — matches cv2-* classes */

/* View toggle buttons */
.cv2-vbtn.active{background:var(--gold-dim)!important;color:var(--gold)!important;font-weight:700}

/* ─── MONTH GRID ─── */
.cv2-mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border-radius:var(--rl);overflow:hidden}
.cv2-mhd{background:var(--ink-2);padding:8px 4px;text-align:center;font-family:var(--fm);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.12em;color:var(--text-3)}
.cv2-mday{background:var(--ink-2);min-height:80px;padding:5px;cursor:pointer;transition:background 0.13s}
.cv2-mday:hover{background:var(--ink-3)}
.cv2-mday-out{opacity:0.25}
.cv2-mday-today{background:var(--gold-glow)}
.cv2-md-num{font-family:var(--fm);font-size:var(--fs-md);color:var(--text-2);width:22px;height:22px;display:grid;place-items:center;border-radius:50%;margin-bottom:2px}
.cv2-td-num{background:var(--gold);color:var(--ink);font-weight:700}
.cv2-mevt{font-size:var(--fs-sm);border-radius:3px;padding:2px 5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:opacity 0.13s}
.cv2-mevt:hover{opacity:0.75}
.cv2-mevt-more{font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-3);padding:1px 4px;cursor:pointer}
.cv2-mevt-more:hover{color:var(--gold)}

/* ─── WEEK VIEW ─── */
.cv2-week{border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;background:var(--ink-2)}
.cv2-wk-hdr{display:grid;grid-template-columns:52px repeat(7,1fr);border-bottom:1px solid var(--border)}
.cv2-wk-gut{padding:6px 4px;font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);text-align:right;border-right:1px solid var(--border)}
.cv2-wk-gut-lbl{font-size:var(--fs-xs);display:flex;align-items:center;justify-content:flex-end;padding-right:6px}
.cv2-wk-hd{padding:8px 4px;text-align:center;cursor:pointer;transition:background 0.13s}
.cv2-wk-hd:hover{background:var(--ink-3)}
.cv2-wk-hd-today{background:var(--gold-glow)}
.cv2-wk-hd-wd{font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:0.1em}
.cv2-wk-hd-dn{font-family:var(--fd);font-size:var(--fs-3xl);font-weight:600;color:var(--text-2)}
.cv2-wk-hd-today .cv2-wk-hd-dn{color:var(--ink)}
.cv2-wk-allday{display:grid;grid-template-columns:52px repeat(7,1fr);border-bottom:1px solid var(--border);min-height:32px}
.cv2-wk-adc{padding:3px;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:1px}
.cv2-wk-evt{font-size:var(--fs-xs)!important;padding:1px 4px!important}
.cv2-wk-body{max-height:480px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}
.cv2-wk-row{display:grid;grid-template-columns:52px repeat(7,1fr);min-height:40px}
.cv2-wk-time{display:flex;align-items:flex-start;justify-content:flex-end;padding:2px 6px}
.cv2-wk-cell{border-bottom:1px solid rgba(201,168,76,0.04);border-left:1px solid var(--border);cursor:pointer;transition:background 0.1s;min-height:40px}
.cv2-wk-cell:hover{background:var(--ink-3)}
.cv2-wk-cell-today{background:rgba(201,168,76,0.02)}

/* ─── DAY VIEW ─── */
.cv2-day{position:relative}
.cv2-day-evts{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.cv2-day-evt{padding:10px 14px;border-radius:var(--r);cursor:default;transition:opacity 0.13s;position:relative}
.cv2-day-evt:hover{opacity:0.9}
.cv2-day-evt-done{opacity:0.35}
.cv2-day-tl{position:relative;border-left:2px solid var(--border);margin-left:28px;margin-top:8px}
.cv2-day-hr{padding:8px 0 8px 16px;cursor:pointer;transition:background 0.1s;border-radius:0 var(--r) var(--r) 0;min-height:36px}
.cv2-day-hr:hover{background:var(--ink-3)}
.cv2-day-hr-now{background:rgba(201,168,76,0.04)}
.cv2-day-hr-lbl{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3)}
.cv2-day-hr-line{height:1px;background:var(--border);margin-top:4px}
.cv2-day-now{position:absolute;left:0;right:0;pointer-events:none;display:flex;align-items:center}
.cv2-day-now-dot{width:8px;height:8px;background:var(--ruby);border-radius:50%;margin-left:-5px;flex-shrink:0}
.cv2-day-now-line{flex:1;height:2px;background:var(--ruby)}

/* ─── DROP TARGET ─── */
.cv2-drop-target{background:rgba(201,168,76,0.08)!important;outline:1px dashed var(--gold);outline-offset:-1px}

/* ─── SIDEBAR: MINI CALENDAR ─── */
.cv2-mini{margin-bottom:16px}
.cv2-mini-hdr{font-family:var(--fm);font-size:var(--fs-base);color:var(--gold);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:6px;text-align:center}
.cv2-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center}
.cv2-mini-hd{font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-3);padding:4px 0}
.cv2-mini-d{font-family:var(--fm);font-size:var(--fs-base);color:var(--text-2);padding:3px 0;cursor:pointer;border-radius:50%;transition:all 0.13s}
.cv2-mini-d:hover{background:var(--ink-3);color:var(--text-1)}
.cv2-mini-today{font-weight:700;color:var(--gold)!important}
.cv2-mini-sel{background:var(--gold-dim)!important;color:var(--gold)!important}
.cv2-mini-has::after{content:'';display:block;width:3px;height:3px;background:var(--gold);border-radius:50%;margin:0 auto}

/* ─── SIDEBAR: UPCOMING ─── */
.cv2-sec-lbl{font-family:var(--fm);font-size:var(--fs-sm);color:var(--gold);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:6px}
.cv2-upcoming{margin-bottom:16px}
.cv2-upc{display:flex;align-items:flex-start;gap:8px;padding:6px 0;cursor:pointer;border-bottom:1px solid var(--border);transition:background 0.13s}
.cv2-upc:hover{background:var(--ink-3);margin:0 -4px;padding-left:4px;padding-right:4px;border-radius:var(--r)}
.cv2-upc-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:5px}
.cv2-stats{margin-top:8px}

/* ─── MOBILE ─── */
@media(max-width:900px){
  #page-calendar .cv2-mgrid .cv2-mday{min-height:60px;padding:3px}
  #page-calendar .cv2-md-num{font-size:var(--fs-base);width:18px;height:18px}
  #page-calendar .cv2-mevt{font-size:var(--fs-xs);padding:1px 3px}
  #page-calendar>div:last-child{grid-template-columns:1fr!important}
  #page-calendar #cal-v2-sidebar{max-height:350px;overflow-y:auto}
}

/* ═══════════════════════════════════════════════
   PALACE IVORY — Refinement Pass (42 items)
═══════════════════════════════════════════════ */

/* R1: Notification badge visible on gold topbar */
body.light .nb-dot{background:#fff;border:2px solid #8b1a1a;box-shadow:none}
body.light .nb .nb-dot{background:#8b1a1a}
body.light .noti-count,body.light [style*="background:var(--ruby)"],body.light [style*="background:#e74c3c"]{outline:2px solid #fff}

/* R2: Search bar solid ivory on gold topbar */
body.light .srch{background:#fff;border-color:#d4c5a0;box-shadow:0 1px 4px rgba(107,76,17,0.08)}
body.light .srch input{color:#4a3510}
body.light .srch input::placeholder{color:#a08c5a}
body.light .srch:focus-within{border-color:#8b6914;box-shadow:0 0 0 3px rgba(201,168,76,0.12)}

/* R3-R6: Topbar elements — solid ivory pills */
body.light .btn-royal{background:#fff;color:#6b4c11;border:1px solid #d4c5a0;box-shadow:0 1px 3px rgba(107,76,17,0.08)}
body.light .btn-royal:hover{background:#faf6ec;border-color:#c9a84c;transform:none;box-shadow:0 2px 6px rgba(201,168,76,0.15)}
body.light .nb{background:#fff;border-color:#d4c5a0;color:#6b4c11;box-shadow:0 1px 3px rgba(107,76,17,0.08)}
body.light .nb:hover{background:#faf6ec;border-color:#c9a84c;color:#4a3510}
body.light .theme-toggle{background:#fff;border-color:#d4c5a0;color:#6b4c11;box-shadow:0 1px 3px rgba(107,76,17,0.08)}
body.light .badge-bar,body.light [class*="badge"][style*="background:var(--ink-3)"]{background:#fff!important;border-color:#d4c5a0!important;color:#6b4c11!important}

/* R8: Active nav item — gold left accent */
body.light .nv-item.active{border-left:4px solid #d4af37;padding-left:9px;background:#6b4c11;color:#f0e8d0;border-radius:0 6px 6px 0}

/* R9: Section labels — gold ornament */
body.light .nv-sec{color:#c9a84c;font-size:var(--fs-xs);letter-spacing:0.18em;position:relative;padding-left:14px}
body.light .nv-sec::before{content:'\25C6';position:absolute;left:10px;font-size:5px;color:#c9a84c}

/* R10: Project selector — styled */
body.light .sp-name select,body.light .sb-proj select{background:#fff;border:1px solid #c9a84c;border-radius:6px;color:#6b4c11;font-family:Georgia,serif}

/* R12: User card — gold ring avatar */
body.light .sb-user{border-top:2px solid #c9a84c}
body.light .sb-user .su-av{border:2.5px solid #c9a84c;box-shadow:0 0 0 1px rgba(201,168,76,0.2)}
body.light .su-name{font-family:Georgia,serif}

/* R14: KPI gold underline — thicker, better positioned */
body.light .kpi-card::after{height:3px;bottom:16px;left:20px;right:30%;border-radius:2px}

/* R15: KPI watermark icons — slightly more visible */

/* R17-R18: Pulse stats row — card treatment */
body.light .pulse-stats,body.light [style*="gap:20px"][style*="margin-bottom:8px"]{background:#fff;border:1px solid #d4c5a0;border-radius:10px;padding:16px 20px;box-shadow:0 1px 6px rgba(107,76,17,0.04)}

/* R19: Warning banner — warmer styling */
body.light [style*="color:var(--amber)"],body.light [style*="color:#e67e22"]{color:#8b5a00!important}

/* R25: Lead card avatars — full circles with gold rings */
body.light .lc-av{border-radius:50%;border:2.5px solid #c9a84c;box-shadow:0 0 0 1px rgba(201,168,76,0.15)}
body.light .avatar{border:2px solid #c9a84c;border-radius:50%}

/* R26: Quick action buttons — royal ivory styling */
body.light .lc-qb{border-radius:6px!important;font-family:Georgia,serif!important}

/* R27: Filter chips — stronger active state */
body.light .fb.active{background:#6b4c11;border-color:#4a3510;color:#f0e8d0;box-shadow:0 2px 6px rgba(107,76,17,0.15);font-weight:700}
body.light .fb:hover{background:#faf6ec;border-color:#c9a84c}

/* R28: SV filter bar — parchment background */
body.light #sv-date-filters{background:#f5edd8;border:1px solid #d4c5a0;border-radius:8px;padding:6px 8px;margin-top:4px}

/* R29: Lead card hover — gold glow */
body.light .lc:hover{border-color:#c9a84c;box-shadow:0 4px 20px rgba(201,168,76,0.12);transform:translateY(-2px)}

/* R30: Modal — gold top accent bar */
body.light .modal{border:1px solid #c9a84c;overflow:visible;position:relative}
body.light .modal::before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:4px;background:linear-gradient(90deg,#8b6914,#c9a84c,#d4af37,#c9a84c,#8b6914);border-radius:14px 14px 0 0}
body.light .m-hd{background:#f5edd8;border-bottom:1px solid #c9a84c;padding-top:20px}
body.light .m-title{font-family:Georgia,serif;color:#4a3510;font-size:var(--fs-3xl)}
body.light .m-ft{background:#f5edd8;border-top:1px solid #c9a84c}

/* R31: Modal backdrop — warm sepia */
body.light .mov{background:rgba(74,53,16,0.32)}

/* R32: Form inputs — gold focus ring */
body.light .fi:focus,body.light .fs:focus,body.light .fta:focus{border-color:#c9a84c;box-shadow:0 0 0 3px rgba(201,168,76,0.12)}

/* R33: Status options — jewel-tone left borders */
body.light .status-option{border-left:3px solid transparent;border-radius:0 6px 6px 0}
body.light .status-option:hover{border-left-color:#c9a84c}
body.light .status-option.selected{border-left-color:#c9a84c;background:rgba(201,168,76,0.06)}

/* R35: Labels — serif small-caps feel */
body.light .kpi-lbl{font-family:Georgia,serif;font-variant:small-caps;font-size:var(--fs-md);letter-spacing:0.14em}

/* R36: Body line-height — more breathing room */
body.light{line-height:1.6}

/* R37: Card padding increase */
body.light .card{padding:22px}
body.light .kpi-card{padding:20px 22px}

/* R38: Toast — serif title + gold left border */
body.light .toast{background:#fff;border:1px solid #d4c5a0;border-left:4px solid #c9a84c;box-shadow:0 4px 20px rgba(107,76,17,0.1)}
body.light .toast-t{font-family:Georgia,serif;color:#4a3510}

/* R39: Scrollbar — thin gold */
body.light ::-webkit-scrollbar{width:4px;height:4px}
body.light ::-webkit-scrollbar-track{background:transparent}
body.light ::-webkit-scrollbar-thumb{background:#c9a84c;border-radius:4px}
body.light ::-webkit-scrollbar-thumb:hover{background:#8b6914}

/* R40: Pipeline — royal treatment */
body.light .pipe-col{background:#fff;border-color:#d4c5a0;border-radius:10px}
body.light .pc-hd{border-bottom-color:#ede5cc;background:#faf6ec}
body.light .pc-name{font-family:Georgia,serif;color:#4a3510}
body.light .deal-card{background:#faf6ec;border-color:#d4c5a0;border-radius:8px}
body.light .deal-card:hover{border-color:#c9a84c;box-shadow:0 4px 16px rgba(201,168,76,0.1);transform:translateY(-2px)}
body.light .dc-prop{font-family:Georgia,serif;color:#4a3510}
body.light .dc-val{font-family:Georgia,serif;color:#6b4c11}

/* R41: Progress bars — gold shimmer */
body.light .prog{background:#ede5cc}
body.light .prog-fill{background:linear-gradient(90deg,#8b6914,#c9a84c,#d4af37)}

/* R34: Cost sheet modal — gold double border */
#m-costsheet{z-index:200!important}
body.light #m-costsheet .modal{border:2px solid #c9a84c;box-shadow:0 0 0 4px rgba(201,168,76,0.1),0 8px 40px rgba(107,76,17,0.12)}

/* Settings group refinement */
body.light .settings-group{border-color:#d4c5a0;border-radius:10px}
body.light .sg-hd{font-family:Georgia,serif;font-size:var(--fs-xl);color:#4a3510}
body.light .sg-hd::before{color:#c9a84c;font-size:var(--fs-base)}
body.light .sg-hd:hover{background:#faf6ec}

/* Follow-up items */
body.light .fu-item{border-radius:8px;box-shadow:0 1px 4px rgba(107,76,17,0.04)}
body.light .fu-name{font-family:Georgia,serif}

/* Calendar refinement */
body.light .cal-mn{font-family:Georgia,serif;font-size:var(--fs-3xl)}
body.light .cdh{background:#f5edd8;color:#6b4c11;font-weight:700}
body.light .cd{background:#fff;border:0.5px solid #ede5cc}
body.light .cd.today{background:rgba(201,168,76,0.06);border-color:#c9a84c}

/* Leaderboard — serif ranks */
body.light .lb-rank{font-family:Georgia,serif;font-size:24px}
body.light .lb-name{font-family:Georgia,serif}
body.light .alloc-name{font-family:Georgia,serif}
body.light .alloc-count{font-family:Georgia,serif;font-size:26px}
body.light .lb-sv{font-family:Georgia,serif}

/* Booking cards */
body.light .conv-card{border-radius:10px;box-shadow:0 1px 6px rgba(107,76,17,0.04)}
body.light .conv-name{font-family:Georgia,serif}

/* Mission/Priority Queue cards */
body.light .mission-card{background:#fff;border-color:#d4c5a0;border-radius:10px}
body.light .mc-name{font-family:Georgia,serif}
body.light .mc-instruction{background:#faf6ec;border-color:#d4c5a0;border-left-color:#c9a84c}
body.light .pq-title{font-family:Georgia,serif}

/* Bottom sheet */
body.light .bs-content{background:#fdfaf2;border:1px solid #c9a84c}
body.light .bs-handle{background:#c9a84c}
body.light .bs-header{border-bottom-color:#c9a84c}
body.light .bs-title{font-family:Georgia,serif}

/* R18: Pulse stats container — card treatment via ID */
body.light #dash-today-pulse{background:#fff;border:1px solid #d4c5a0;border-radius:10px;padding:18px 22px;box-shadow:0 1px 6px rgba(107,76,17,0.04);margin-bottom:4px}
body.light #dash-today-pulse::before{content:'';display:block;height:1px;background:linear-gradient(90deg,transparent,#c9a84c,transparent);margin-bottom:14px;margin-top:-4px}

/* R21: Card headers — ornamental treatment */  
body.light .card-hd .card-title::before{content:'\2726 ';color:#c9a84c;font-size:var(--fs-xl)}
body.light .card-hd::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,#d4c5a0);margin-left:12px}

/* Inventory KPIs */
body.light #inv-kpis .kpi-card{box-shadow:0 2px 8px rgba(107,76,17,0.06)}

/* Reports page */
body.light .bar{border-radius:4px 4px 0 0;min-width:22px}
body.light .funnel-bar{border-radius:6px}

/* Conversion Engine */
body.light .conv-score{box-shadow:0 2px 8px rgba(107,76,17,0.1)}

/* SV Funnel */
body.light #svf-kpis .kpi-card{box-shadow:0 2px 8px rgba(107,76,17,0.06)}

/* WhatsApp Hub */
body.light #wa-kpis .kpi-card{box-shadow:0 2px 8px rgba(107,76,17,0.06)}

/* Bookings page */  
body.light #bk-kpis .kpi-card{box-shadow:0 2px 8px rgba(107,76,17,0.06)}

/* Audit Trail */
body.light .act-who{font-family:Georgia,serif}
body.light .act-item{border-bottom-color:#ede5cc}

/* R42: Empty states — royal messaging */
body.light .empty-state,body.light [style*="No leads found"],body.light [style*="No data"]{font-family:Georgia,serif!important;color:#a08c5a!important}

/* ═══════════════════════════════════════════════
   HOTFIX: 4 issues reported 12 Apr 2026
═══════════════════════════════════════════════ */

/* FIX-1: KPI emoji watermark icons more visible */

/* FIX-2: Hamburger/menu button visible on gold topbar */
body.light .hamburger span{background:#fff!important;height:2.5px}
body.light .hamburger:hover span{background:#f0e8d0!important}

/* FIX-4: Search bar — fully styled and interactive */
body.light .srch{background:#fff!important;border:1.5px solid #c9a84c!important;border-radius:8px;padding:7px 12px;position:relative;z-index:2}
body.light .srch input{color:#4a3510!important;background:transparent!important;border:none!important;outline:none!important;font-size:var(--fs-lg);width:100%;-webkit-appearance:none}
body.light .srch input::placeholder{color:#a08c5a!important}
body.light .srch span{color:#8b6914!important}

/* CRITICAL: Ensure all topbar inputs are interactive in light mode */
body.light #topbar{position:relative;z-index:10}
body.light #topbar *{position:relative}
body.light #topbar input{pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}
body.light #topbar .srch{cursor:text}
body.light #topbar .srch input{cursor:text}

/* ═══════════════════════════════════════════════
   ROYAL SPRINT — 15 Audit Fixes (12 Apr 2026)
═══════════════════════════════════════════════ */

/* UI-001/002: Fix --text-3 contrast (2.7:1 → 4.5:1) */
:root{--text-3:#8a7d65}

/* UI-003: Fix --sky contrast for small text */
:root{--sky:#3498db}

/* UI-004: Fix light theme label contrast */
body.light{--text-3:#7a6d4a}

/* UI-005: Fix light theme topbar small text */
body.light #topbar .srch input::placeholder{color:#fff9}
body.light #topbar [style*="font-size:var(--fs-xs)"],
body.light #topbar [style*="font-size:var(--fs-sm)"]{color:#fff!important}

/* UI-011: Button press feedback */
.btn:active,.fb:active,.nv-item:active,.nb:active,.theme-toggle:active{transform:scale(0.96)!important;transition:transform 0.05s!important}

/* UI-013: Danger/Success button hover states */
.btn-danger:hover{background:rgba(231,76,60,0.25);border-color:rgba(231,76,60,0.4);color:#ff6b6b}
.btn-success:hover{background:rgba(39,174,96,0.25);border-color:rgba(39,174,96,0.4);color:#2ecc71}
body.light .btn-danger:hover{background:rgba(139,26,26,0.12);border-color:rgba(139,26,26,0.25);color:#8b1a1a}
body.light .btn-success:hover{background:rgba(26,107,26,0.12);border-color:rgba(26,107,26,0.25);color:#1a6b1a}

/* UI-021: KPI value overflow on mobile */
.kpi-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* UI-024: Calendar buttons touch-friendly */
.cal-btn{min-width:36px;min-height:36px}

/* UI-026: Keyboard focus visibility */
*:focus-visible{outline:2px solid var(--gold)!important;outline-offset:2px!important;border-radius:var(--r)}
body.light *:focus-visible{outline-color:#c9a84c!important}

/* ENH-001: Respect motion sensitivity */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important}}

/* ENH-004: Gold border subtle reduction (20% of suggested) */
:root{--border:rgba(201,168,76,0.092)}
body.light{--border:rgba(107,76,17,0.11)}

/* UI-007/022: Section titles visible on mobile (truncated, not hidden) */
@media(max-width:768px){
  .sec-title,.sec-hd .sec-title{display:block!important;font-size:var(--fs-2xl)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* UI-023: Pipeline scroll indicator */
.pipe-board{position:relative}
.pipe-board::after{content:'';position:absolute;right:0;top:0;bottom:10px;width:30px;background:linear-gradient(90deg,transparent,var(--black));pointer-events:none;border-radius:0 var(--rl) var(--rl) 0;opacity:0.6}
body.light .pipe-board::after{background:linear-gradient(90deg,transparent,#faf6ec)}

/* UI-014: Inline form validation — red border + shake */
.fi.input-error,.fs.input-error,.fta.input-error{border-color:var(--ruby)!important;box-shadow:0 0 0 3px rgba(231,76,60,0.15)!important;animation:inputShake 0.4s ease}
body.light .fi.input-error,body.light .fs.input-error,body.light .fta.input-error{border-color:#8b1a1a!important;box-shadow:0 0 0 3px rgba(139,26,26,0.12)!important}
@keyframes inputShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}

/* UI-015: Required field indicator */
.fl .req,.fl-req::after{content:' *';color:var(--ruby);font-weight:700}
body.light .fl .req,body.light .fl-req::after{color:#8b1a1a}

/* ═══════════════════════════════════════════════
   AUDIT COMPLETION — Remaining 6 Items
═══════════════════════════════════════════════ */

/* UI-009: Border-radius standardization — map off-token values to tokens */
.toast,.ti,.fu-item,.alloc-item,.script-card,.deal-card,.status-option{border-radius:var(--r)!important}
.card,.kpi-card,.lc,.pipe-col,.modal,.settings-group,.conv-card,.mission-card{border-radius:var(--rl)!important}
.login-card,.bottom-sheet .bs-content{border-radius:var(--rxl)!important}
.badge,.nv-pill,.sc-badge,.fu-ag,.mc-chip,.mc-urgency,.tp,.pq-count,.ai-tag{border-radius:20px!important}
.cal-btn,.m-x{border-radius:7px!important}

/* UI-010: Shadow system — softer dark theme, warmer light theme */
:root{--sh:0 4px 24px rgba(0,0,0,0.35);--sh-lg:0 8px 48px rgba(0,0,0,0.5)}
body.light{--sh:0 2px 12px rgba(107,76,17,0.08);--sh-lg:0 6px 32px rgba(107,76,17,0.12)}

/* UI-019: Skeleton loading shimmer */
@keyframes skeletonShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.skeleton{background:linear-gradient(90deg,var(--ink-3) 25%,var(--ink-4) 50%,var(--ink-3) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:var(--r)}
body.light .skeleton{background:linear-gradient(90deg,#f0e8d0 25%,#e8dfc0 50%,#f0e8d0 75%);background-size:200% 100%}
.skeleton-kpi{height:120px;border-radius:var(--rl)}
.skeleton-card{height:180px;border-radius:var(--rl)}
.skeleton-row{height:48px;margin-bottom:6px}
.skeleton-text{height:14px;margin-bottom:8px;width:60%}
.skeleton-text.w80{width:80%}
.skeleton-text.w40{width:40%}
.skeleton-avatar{width:38px;height:38px;border-radius:50%}

/* ENH-003: Command palette overlay */
.cmd-palette{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,0.6);display:none;justify-content:center;padding-top:15vh}
.cmd-palette.open{display:flex}
body.light .cmd-palette{background:rgba(74,53,16,0.35)}
.cmd-box{width:520px;max-width:92vw;background:var(--ink-2);border:1px solid var(--border-2);border-radius:var(--rl);box-shadow:var(--sh-lg);overflow:hidden;max-height:420px;display:flex;flex-direction:column;animation:mIn 0.15s ease}
body.light .cmd-box{background:#fff;border-color:#c9a84c}
.cmd-input-row{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.cmd-input-row .cmd-icon{font-size:var(--fs-2xl);color:var(--gold);flex-shrink:0}
.cmd-input{flex:1;background:none;border:none;outline:none;color:var(--text-1);font-size:var(--fs-xl);font-family:var(--fu)}
.cmd-input::placeholder{color:var(--text-3)}
body.light .cmd-input{color:#4a3510}
body.light .cmd-input::placeholder{color:#a08c5a}
.cmd-results{flex:1;overflow-y:auto;padding:6px}
.cmd-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r);cursor:pointer;transition:background 0.1s}
.cmd-item:hover,.cmd-item.active{background:var(--gold-dim)}
body.light .cmd-item:hover,body.light .cmd-item.active{background:#faf6ec}
.cmd-item-icon{font-size:var(--fs-xl);width:20px;text-align:center;flex-shrink:0}
.cmd-item-text{flex:1}
.cmd-item-title{font-size:var(--fs-lg);font-weight:600;color:var(--text-1)}
body.light .cmd-item-title{color:#4a3510}
.cmd-item-sub{font-size:var(--fs-base);font-family:var(--fm);color:var(--text-3)}
.cmd-item-key{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);background:var(--ink-3);padding:2px 6px;border-radius:4px;flex-shrink:0}
body.light .cmd-item-key{background:#f0e8d0;color:#6b4c11}
.cmd-hint{padding:8px 16px;border-top:1px solid var(--border);font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);display:flex;gap:12px}

/* ═══════════════════════════════════════════════
   COLLAPSIBLE MOBILE FILTERS
═══════════════════════════════════════════════ */
.filter-toggle{display:none;padding:8px 14px;background:var(--ink-2);border:1px solid var(--border);border-radius:var(--r);font-family:var(--fm);font-size:var(--fs-md);color:var(--gold);cursor:pointer;margin-bottom:8px;width:100%;text-align:left;font-weight:600;letter-spacing:0.06em}
body.light .filter-toggle{background:#fff;border-color:#d4c5a0;color:#6b4c11}
.filter-toggle::after{content:'▼';float:right;font-size:var(--fs-sm);transition:transform 0.2s}
.filter-toggle.collapsed::after{transform:rotate(-90deg)}

@media(max-width:768px){
  .filter-toggle{display:block}
  .filter-section.collapsed .filter-bar,
  .filter-section.collapsed #sv-date-filters,
  .filter-section.collapsed .fr,
  .filter-section.collapsed .filter-row{display:none!important}
  .filter-section.collapsed .filter-toggle::after{transform:rotate(-90deg)}
}

/* KPI icons — full color decorative display */
.kpi-ico{opacity:0.85!important;font-size:30px!important;right:16px!important;filter:none!important}
body.light .kpi-ico{opacity:0.75!important}

/* ═══════════════════════════════════════════════
   UTILITY CLASSES — v6.23 (ENH-005)
   Replace common inline style patterns
═══════════════════════════════════════════════ */
/* Typography */
.u-mono{font-family:var(--fm)}
.u-serif{font-family:var(--fd)}
.u-sans{font-family:var(--fu)}
.u-upper{text-transform:uppercase;letter-spacing:0.16em}
.u-bold{font-weight:600}
.u-600{font-weight:600}
.u-label{font-family:var(--fm);font-size:var(--fs-sm);color:var(--text-3);text-transform:uppercase;letter-spacing:0.16em}
.u-meta{font-family:var(--fm);font-size:var(--fs-base);color:var(--text-3)}
.u-tag{font-family:var(--fm);font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase}
.u-gold-label{font-family:var(--fm);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.18em;color:var(--gold);margin:14px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
/* Layout */
.u-flex{display:flex;align-items:center}
.u-flex-between{display:flex;align-items:center;justify-content:space-between}
.u-flex-wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.u-flex-col{display:flex;flex-direction:column}
.u-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.u-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.u-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.u-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.u-gap-6{gap:6px}.u-gap-8{gap:8px}.u-gap-10{gap:10px}.u-gap-12{gap:12px}
.u-center{text-align:center}
.u-flex1{flex:1}
/* Spacing */
.u-mb-0{margin-bottom:0}.u-mb-4{margin-bottom:4px}.u-mb-8{margin-bottom:8px}.u-mb-12{margin-bottom:12px}.u-mb-14{margin-bottom:14px}.u-mb-16{margin-bottom:16px}
.u-mt-8{margin-top:8px}.u-mt-14{margin-top:14px}
.u-p-12{padding:12px}.u-p-14{padding:14px}.u-p-16{padding:16px}
/* Colors */
.u-text-1{color:var(--text-1)}.u-text-2{color:var(--text-2)}.u-text-3{color:var(--text-3)}.u-text-4{color:var(--text-4)}
.u-gold{color:var(--gold)}.u-sage{color:var(--sage)}.u-ruby{color:var(--ruby)}.u-sky{color:var(--sky)}.u-amber{color:var(--amber)}
/* Surfaces */
.u-panel{background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);padding:12px}
.u-panel-sm{background:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);padding:8px}
.u-wa-btn{background:#25d366;color:#fff;border:none}
/* Visibility */
.u-hidden{display:none}
.u-scroll{max-height:300px;overflow-y:auto}
.u-pointer{cursor:pointer}
.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
