  /* ===================================================================
     CONSOLE PALETTE — "the hive after dark", matched to reveal-flow.html.
     Decision 2026-08-17 (Don): all three surfaces share one design system,
     because logging in should not feel like arriving somewhere new.

     TOKEN NAMES ARE DELIBERATELY UNCHANGED. console.js is 102KB and sets
     inline styles that reference var(--brass), var(--cream) and friends —
     renaming a token would break those silently. Only the VALUES moved.

     What actually changed: the ground went from blue-black to the warm
     near-black derived from hive --ink, and --cream went from the cool
     blue-white #efedf9 to the warm #f7ecd8. That temperature shift is the
     whole point; cool grey beside warm cream reads as two companies.
     --brass #8b7bff and --warm #ff9e80 already matched the hive exactly and
     were left alone. --honey and --gold are NEW here — the console had no
     equivalent of the colour that carries the brand on the other surfaces.

     NOTE ON --sans: "Instrument Sans" is listed first to match reveal-flow,
     but console.html does not load that face yet, so it currently falls back
     to Inter and nothing breaks. Adding the font link to console.html is what
     switches it on.
     =================================================================== */
  :root{
    --espresso:#0d0a16;
    --espresso-2:#171226;
    --void2:#070510;
    --raise:#1e1834;
    --leather:#2a2150;
    --leather-2:#201a3a;
    --brass:#8b7bff;
    --brass-lt:#b9a6ff;
    --cream:#f7ecd8;
    --cream-2:#fbf1dc;
    --muted:#c3b7a4;
    --line:rgba(247,236,216,0.10);
    --ok:#4fd39f;
    --warm:#ff9e80;
    --warm-soft:#ffb499;
    --ink:#2a2150;
    --accent-glow:#6a4bd6;
    --honey:#f0a92a;
    --gold:#ffce74;
    --serif:"Bricolage Grotesque",ui-serif,Georgia,"Times New Roman",serif;
    --sans:"Instrument Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  }
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  html,body{margin:0;height:100%;}
  body{
    background:
      radial-gradient(105% 60% at 50% 0%, rgba(106,75,214,.26) 0%, rgba(42,33,80,.08) 46%, transparent 72%),
      radial-gradient(90% 60% at 82% 104%, rgba(240,169,42,.10) 0%, transparent 55%),
      linear-gradient(180deg, rgba(13,10,22,0) 0%, var(--espresso) 58%, var(--void2) 100%),
      var(--espresso);
    color:var(--cream);
    font-family:var(--sans);
    overflow:hidden;
  }
  @media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important;}}

  .screen{position:fixed;inset:0;display:none;flex-direction:column;}
  .screen.active{display:flex;}
  /* ===== CRM pipeline board (Jun 23 2026) ===== */
  .pp-summary{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
  .pp-chip{display:flex;flex-direction:column;background:var(--espresso-2);border:1px solid var(--line);border-radius:12px;padding:6px 12px;min-width:84px;}
  .pp-chip-n{font-weight:700;font-size:18px;color:var(--cream);}
  .pp-chip-l{font-size:11px;color:var(--brass-lt);}
  .pp-chip.pp-won{border-color:rgba(79,211,159,.5);}
  .pp-chip.pp-won .pp-chip-n{color:var(--ok);}
  .pp-chip.pp-lost .pp-chip-n{color:var(--warm-soft);}
  .pp-scrollwrap{padding:0;}
  .pp-board{display:flex;gap:12px;overflow-x:auto;padding:14px;height:100%;align-items:flex-start;-webkit-overflow-scrolling:touch;}
  .pp-col{flex:0 0 230px;background:var(--espresso-2);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;max-height:100%;}
  .pp-col-head{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line);}
  .pp-col-name{font-weight:700;font-size:13px;color:var(--cream);}
  .pp-col-meta{font-size:11px;color:var(--brass-lt);white-space:nowrap;}
  .pp-col-body{padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:9px;}
  .pp-empty{color:var(--brass-lt);opacity:.5;text-align:center;font-size:12px;padding:6px 0;}
  .pp-deal{background:var(--leather-2);border:1px solid var(--line);border-radius:12px;padding:10px 11px;cursor:pointer;transition:transform .12s,border-color .12s;}
  .pp-deal:active{transform:scale(.98);}
  .pp-deal:hover{border-color:var(--brass);}
  .pp-deal-t{font-weight:600;font-size:13px;color:var(--cream);margin-bottom:2px;}
  .pp-deal-c{font-size:11.5px;color:var(--brass-lt);margin-bottom:6px;}
  .pp-deal-f{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);}
  .pp-open-btn{margin-top:12px;width:100%;background:var(--brass);color:#fff;border:0;border-radius:12px;padding:11px;font-weight:700;font-size:13px;cursor:pointer;}
  .pp-scrim{position:fixed;inset:0;background:rgba(7,5,16,.6);opacity:0;pointer-events:none;transition:opacity .2s;z-index:40;}
  .pp-scrim.on{opacity:1;pointer-events:auto;}
  .pp-sheet{position:fixed;left:0;right:0;bottom:0;max-height:86%;overflow-y:auto;background:var(--espresso);border-top-left-radius:22px;border-top-right-radius:22px;border:1px solid var(--line);padding:14px 16px 26px;transform:translateY(102%);transition:transform .26s ease;z-index:41;}
  .pp-sheet.on{transform:translateY(0);}
  .pp-sheet-grip{width:42px;height:4px;border-radius:3px;background:var(--line);margin:2px auto 12px;}
  .pp-sheet-h{display:flex;justify-content:space-between;align-items:center;gap:10px;}
  .pp-sheet-title{font-weight:700;font-size:18px;color:var(--cream);}
  .pp-sheet-sub{color:var(--brass-lt);font-size:13px;margin:2px 0 12px;}
  .pp-badge{font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--cream);}
  .pp-badge.pp-won{color:var(--ok);border-color:rgba(79,211,159,.5);}
  .pp-badge.pp-lost{color:var(--warm-soft);border-color:rgba(255,158,128,.5);}
  .pp-kv{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);}
  .pp-kv b{color:var(--cream);font-weight:600;}
  .pp-sel,.pp-in{background:var(--espresso-2);color:var(--cream);border:1px solid var(--line);border-radius:10px;padding:9px 10px;font-size:14px;font-family:var(--sans);width:100%;}
  .pp-sel{width:auto;min-width:130px;}
  .pp-sheet-acts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;}
  .pp-btn{flex:1;min-width:96px;background:var(--leather-2);color:var(--cream);border:1px solid var(--line);border-radius:11px;padding:11px;font-weight:600;font-size:13px;cursor:pointer;}
  .pp-btn-ok{background:var(--ok);color:#08231a;border-color:transparent;}
  .pp-btn-warn{background:var(--warm);color:#3a1505;border-color:transparent;}
  .pp-btn-danger{background:transparent;color:var(--warm-soft);border-color:rgba(255,158,128,.4);}
  .pp-ev-h{font-weight:700;font-size:13px;color:var(--cream);margin:10px 0 6px;}
  .pp-ev{display:flex;flex-direction:column;gap:6px;}
  .pp-ev-row{display:flex;gap:10px;font-size:12.5px;}
  .pp-ev-t{color:var(--brass-lt);text-transform:capitalize;min-width:84px;}
  .pp-ev-n{color:var(--muted);}
  .pp-lbl{display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--brass-lt);margin:11px 0 4px;}
  .pp-clist{display:flex;flex-direction:column;gap:4px;margin-top:6px;}
  .pp-crow{padding:9px 10px;border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--cream);cursor:pointer;}
  .pp-crow:hover{border-color:var(--brass);}
  .pp-corg{color:var(--brass-lt);font-size:11.5px;}
  .pp-cnew{padding:9px 10px;border:1px dashed var(--line);border-radius:10px;font-size:12.5px;color:var(--brass-lt);cursor:pointer;}
  .pp-chosen{padding:9px 10px;background:var(--espresso-2);border-radius:10px;font-size:13px;color:var(--cream);margin-top:6px;}
  .pp-clear{color:var(--brass-lt);cursor:pointer;text-decoration:underline;margin-left:6px;font-size:12px;}


  /* ---------- SPLASH ----------
     The mark drawn here USED to be a briefcase (.case-body was the shell,
     .case-lid the hinged top, .case-handle the grip, .case-latch the clasp).
     The July rename changed the wrapper class from "briefcase" to "workspace"
     but never changed the drawing, so a dead brand kept rendering on the first
     screen after login. It is now a FACETED SPHERE — the orb identity.

     The class names are kept and repurposed rather than removed, because the
     markup lives in console.html and this file cannot change it:
       .case-body   -> the sphere itself (facets via repeating-conic-gradient)
       .case-glow   -> the halo behind it
       .case-handle -> an orbit ring
       .case-lid    -> hidden
       .case-latch  -> hidden
     .lid-open still drives the reveal, so console.js needs no change either. */
  #splash{
    align-items:center;justify-content:center;
    background:radial-gradient(120% 90% at 50% 30%, #1c1533 0%, #070510 75%);
    text-align:center;
  }
  .workspace{
    width:208px;height:176px;margin:0 auto 30px;position:relative;
    filter:drop-shadow(0 18px 30px rgba(0,0,0,.55));
    transition:transform .6s cubic-bezier(.2,.7,.2,1);
  }
  .workspace.lid-open{transform:translateY(-6px) scale(1.05);}
  .case-body{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:134px;height:134px;border-radius:50%;z-index:2;
    background:
      repeating-conic-gradient(from 0deg at 50% 50%, rgba(247,236,216,.075) 0deg 11deg, rgba(247,236,216,0) 11deg 22deg),
      repeating-linear-gradient(0deg, rgba(13,10,22,.20) 0 1px, rgba(13,10,22,0) 1px 17px),
      radial-gradient(circle at 34% 28%, var(--brass-lt) 0%, var(--brass) 36%, var(--accent-glow) 70%, var(--ink) 100%);
    border:1px solid rgba(185,166,255,.34);
    box-shadow:
      0 0 62px -8px rgba(139,123,255,.75),
      inset 0 3px 16px rgba(255,255,255,.26),
      inset 0 -14px 28px rgba(13,10,22,.55);
  }
  .case-glow{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.68);
    width:206px;height:206px;border-radius:50%;z-index:1;pointer-events:none;
    background:radial-gradient(circle, rgba(139,123,255,.46) 0%, rgba(240,169,42,.12) 46%, transparent 70%);
    opacity:0;filter:blur(2px);
    transition:opacity .5s ease .12s, transform .6s cubic-bezier(.2,.7,.2,1) .12s;
  }
  .lid-open .case-glow{opacity:1;transform:translate(-50%,-50%) scale(1);}
  .case-spark{
    position:absolute;left:50%;top:50%;transform:translate(-50%,6px) scale(.6);
    z-index:4;color:#fff;font-size:28px;line-height:1;opacity:0;pointer-events:none;
    text-shadow:0 0 18px rgba(240,169,42,.95),0 0 6px rgba(255,255,255,.85);
    transition:opacity .45s ease .2s, transform .55s cubic-bezier(.2,.7,.2,1) .2s;
  }
  .lid-open .case-spark{opacity:1;transform:translate(-50%,-52px) scale(1);}
  .case-lid{display:none;}
  .case-handle{
    position:absolute;left:50%;top:50%;
    transform:translate(-50%,-50%) rotate(-18deg) scaleY(.30);
    width:190px;height:190px;border-radius:50%;z-index:3;background:transparent;
    border:1.5px solid rgba(255,206,116,.40);
    box-shadow:0 0 22px -6px rgba(240,169,42,.55);
    transition:transform .7s cubic-bezier(.2,.7,.2,1);
  }
  .lid-open .case-handle{transform:translate(-50%,-50%) rotate(14deg) scaleY(.30);}
  .case-latch{display:none;}
  #splash h1{font-family:var(--serif);font-weight:600;font-size:30px;letter-spacing:.3px;margin:0 0 6px;color:var(--cream);}
  #splash p{color:var(--muted);font-size:14px;margin:0 0 34px;letter-spacing:.4px;}
  .btn-brass{
    appearance:none;border:none;cursor:pointer;font-family:var(--sans);
    background:linear-gradient(165deg,var(--brass),var(--accent-glow));
    color:#fff;font-weight:600;font-size:16px;letter-spacing:.3px;
    padding:14px 30px;border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.35);
  }
  .btn-brass:active{transform:translateY(1px);}

  /* ---------- SHARED CHROME ---------- */
  .topbar{
    padding:calc(18px + env(safe-area-inset-top)) 20px 14px;border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,var(--espresso-2),var(--espresso));
  }
  .eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--brass);font-weight:600;}
  .greeting{font-family:var(--serif);font-size:24px;margin:4px 0 2px;color:var(--cream);}
  .subline{font-size:13px;color:var(--muted);}
  .scroll{flex:1;overflow-y:auto;padding:16px 16px 168px;}
  .card{
    background:var(--espresso-2);border:1px solid var(--line);border-radius:14px;
    padding:14px 14px 12px;margin-bottom:14px;
  }
  .card-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;}
  .card-title{font-family:var(--serif);font-size:17px;color:var(--cream);}
  .pill{font-size:11px;font-weight:700;color:#fff;background:rgba(139,123,255,.22);border:1px solid rgba(139,123,255,.5);border-radius:999px;padding:3px 9px;}

  /* energetic daily-briefing accents */
  #console .topbar{background:linear-gradient(135deg,#1e1738 0%,#100c1e 72%);border-bottom-color:rgba(139,123,255,.30);}
  .card.lift{position:relative;overflow:hidden;background:linear-gradient(180deg,#1c1531,#151022);}
  .card.lift::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;}
  .card.c-lav::before{background:linear-gradient(180deg,var(--brass-lt),var(--accent-glow));}
  .card.c-mint::before{background:linear-gradient(180deg,#8ee9c4,var(--ok));}
  .card.c-coral::before{background:linear-gradient(180deg,var(--warm-soft),var(--warm));}
  .c-mint .pill{background:rgba(79,211,159,.22);border-color:rgba(79,211,159,.55);}
  .c-coral .pill{background:rgba(255,158,128,.22);border-color:rgba(255,158,128,.55);}
  .lit{background:linear-gradient(100deg,var(--brass-lt),var(--warm));-webkit-background-clip:text;background-clip:text;color:transparent;}
  .card.c-multi::before{background:linear-gradient(180deg,var(--brass-lt),var(--warm));}
  .card.c-inv::before{background:linear-gradient(180deg,var(--ok),var(--brass-lt));}
  .inv-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
  .inv-row:last-child{border-bottom:none;}
  .inv-name{font-size:14px;color:var(--cream);}
  .inv-sub{font-size:11.5px;color:var(--muted);margin-top:1px;}
  .inv-qty{font-weight:700;font-variant-numeric:tabular-nums;color:var(--brass-lt);font-size:15px;}
  .inv-val{font-size:11.5px;color:var(--muted);}
  .snaprow{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:none;border-top:1px solid var(--line);padding:11px 2px;cursor:pointer;font-family:var(--sans);}
  #snapList .snaprow:first-child{border-top:none;}
  .snaprow.flat{cursor:default;}
  .snap-mono{flex:0 0 auto;width:38px;height:38px;border-radius:9px;background:linear-gradient(150deg,var(--gold),var(--honey));color:var(--ink);font-weight:700;font-family:var(--serif);font-size:11px;display:flex;align-items:center;justify-content:center;text-align:center;padding:2px;line-height:1;}
  .snap-dot{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--brass-lt);margin:0 14px 0 5px;}
  .snap-main{flex:1;min-width:0;}
  .snap-name{font-size:14.5px;color:var(--cream);display:block;}
  .snap-sub{font-size:12px;color:var(--muted);display:block;margin-top:1px;}
  .snap-net{flex:0 0 auto;font-weight:700;font-variant-numeric:tabular-nums;font-size:14px;}
  .snap-flag{display:inline-block;font-size:10px;font-weight:700;color:#fff;background:rgba(255,158,128,.92);border-radius:6px;padding:2px 6px;margin-left:7px;vertical-align:middle;}
  .snap-chev{flex:0 0 auto;color:var(--brass);font-size:16px;opacity:.7;margin-left:4px;}

  /* ---------- CHECKLIST ---------- */
  .checklist{max-height:min(320px,42vh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px 2px;scrollbar-width:thin;scrollbar-color:rgba(139,123,255,.55) transparent;}
  .checklist::-webkit-scrollbar{width:6px;}
  .checklist::-webkit-scrollbar-thumb{background:rgba(139,123,255,.55);border-radius:3px;}
  .checklist::-webkit-scrollbar-track{background:transparent;}
  .task{
    overflow:hidden;border-radius:11px;background:var(--raise);border:1px solid var(--line);
    margin-bottom:9px;transition:height .32s cubic-bezier(.4,0,.2,1),opacity .28s,margin .32s;
  }
  .task-row{display:flex;align-items:flex-start;gap:11px;padding:12px;}
  .checkbox{
    flex:0 0 auto;width:26px;height:26px;border-radius:50%;
    border:2px solid var(--brass);background:transparent;cursor:pointer;margin-top:1px;
    display:flex;align-items:center;justify-content:center;
  }
  .checkbox:active{transform:scale(.92);}
  .checkbox svg{width:13px;height:13px;opacity:0;}
  .task-main{flex:1;min-width:0;}
  .task-text{font-size:14.5px;line-height:1.35;color:var(--cream);}
  .task-meta{font-size:12px;color:var(--muted);margin-top:2px;}
  .task-actions{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap;}
  .chip{
    font-size:12px;font-weight:600;border-radius:8px;padding:6px 11px;cursor:pointer;
    background:transparent;border:1px solid var(--brass);color:var(--brass-lt);font-family:var(--sans);
  }
  .chip.solid{background:rgba(139,123,255,.18);}
  .chip:active{transform:translateY(1px);}
  .tag{
    display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--cream-2);
    background:rgba(79,211,159,.14);border:1px solid rgba(79,211,159,.42);border-radius:8px;padding:4px 9px;
  }
  .tag .x{color:var(--muted);font-weight:700;padding-left:2px;cursor:pointer;}

  /* attach panel */
  .attach{overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1);height:0;}
  .attach-inner{padding:2px 12px 14px;border-top:1px dashed var(--line);margin-top:2px;}
  .field{margin-top:11px;}
  .field label{display:block;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
  .upload{
    display:flex;align-items:center;gap:9px;border:1px dashed var(--brass);border-radius:10px;
    padding:11px;color:var(--brass-lt);font-size:13.5px;font-weight:600;cursor:pointer;background:rgba(139,123,255,.08);
  }
  select,input[type=text],input[type=number],input[type=datetime-local],textarea{
    width:100%;font-family:var(--sans);font-size:14px;color:var(--cream);
    background:#120e20;border:1px solid rgba(139,123,255,.34);border-radius:10px;padding:11px;
  }
  select:focus,input[type=text]:focus,input[type=number]:focus,input[type=datetime-local]:focus,textarea:focus{
    outline:none;border-color:var(--brass-lt);box-shadow:0 0 0 3px rgba(139,123,255,.22);
  }
  input::placeholder,textarea::placeholder{color:rgba(247,236,216,.50);}
  textarea{resize:none;line-height:1.4;}
  .row2{display:flex;gap:10px;}
  .row2 .field{flex:1;margin-top:11px;}
  .hidden{display:none !important;}

  /* ---------- NOTES SHEET (the window) ---------- */
  .sheet-scrim{
    position:fixed;inset:0;background:rgba(7,5,16,.66);opacity:0;pointer-events:none;
    transition:opacity .28s;z-index:40;
  }
  .sheet-scrim.show{opacity:1;pointer-events:auto;}
  .sheet{
    position:fixed;left:0;right:0;bottom:0;z-index:41;
    background:var(--espresso-2);border:1px solid var(--line);border-bottom:none;
    border-radius:20px 20px 0 0;transform:translateY(102%);transition:transform .32s cubic-bezier(.32,.72,0,1);
    max-height:86vh;display:flex;flex-direction:column;box-shadow:0 -16px 40px rgba(0,0,0,.5);
  }
  .sheet.show{transform:translateY(0);}
  .sheet-grip{width:42px;height:5px;border-radius:3px;background:var(--brass);opacity:.6;margin:10px auto 4px;}
  .sheet-head{padding:6px 20px 12px;border-bottom:1px solid var(--line);}
  .sheet-head .eyebrow{margin-bottom:3px;}
  .sheet-head h2{font-family:var(--serif);font-size:20px;margin:0;color:var(--cream);}
  .sheet-head .ctx{font-size:12.5px;color:var(--muted);margin-top:3px;}
  .sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 20px 4px;}
  .outcomes{display:flex;gap:8px;flex-wrap:wrap;}
  .seg{
    font-size:13px;font-weight:600;border:1px solid var(--brass);color:var(--brass-lt);
    background:transparent;border-radius:9px;padding:9px 12px;cursor:pointer;font-family:var(--sans);
  }
  .seg.on{background:linear-gradient(180deg,var(--brass-lt),var(--brass));color:var(--ink);border-color:transparent;}
  .toggle-row{display:flex;align-items:center;justify-content:space-between;margin-top:14px;}
  .toggle-row .lab{font-size:14px;color:var(--cream);}
  .switch{width:50px;height:30px;border-radius:999px;background:var(--leather);border:1px solid var(--line);position:relative;cursor:pointer;transition:background .2s;}
  .switch .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--cream-2);transition:left .2s;}
  .switch.on{background:rgba(79,211,159,.5);}
  .switch.on .knob{left:25px;background:#e8f7ee;}
  .recep-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;margin-bottom:11px;background:var(--raise);border:1px solid var(--line);border-radius:11px;}
  .recep-copy{min-width:0;}
  .recep-title{display:block;font-size:14px;font-weight:600;color:var(--cream);}
  .recep-note{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.35;}
  .recep-note.recep-msg{color:var(--warm-soft);}
  .recep-switch{flex:0 0 auto;position:relative;width:50px;height:30px;border-radius:999px;background:var(--leather);border:1px solid var(--line);cursor:pointer;padding:0;transition:background .2s,border-color .2s;}
  .recep-switch .recep-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--cream-2);transition:left .2s,background .2s;}
  .recep-switch.on{background:rgba(79,211,159,.5);border-color:rgba(79,211,159,.55);}
  .recep-switch.on .recep-knob{left:25px;background:#e8f7ee;}
  .recep-switch:focus-visible{outline:2px solid var(--brass-lt);outline-offset:2px;}
  .recep-switch.busy{opacity:.6;cursor:progress;}
  .helper{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.4;}
  .helper b{color:var(--brass-lt);font-weight:600;}
  .sheet-foot{padding:12px 20px calc(14px + env(safe-area-inset-bottom));display:flex;gap:10px;border-top:1px solid var(--line);}
  .btn-ghost{flex:0 0 auto;background:transparent;border:1px solid var(--line);color:var(--cream-2);border-radius:11px;padding:13px 18px;font-weight:600;font-size:15px;font-family:var(--sans);cursor:pointer;}
  .btn-save{flex:1;}

  /* ---------- BOOKS / REIMB ---------- */
  .stat{display:flex;justify-content:space-between;padding:7px 0;font-size:14px;}
  .stat .v{font-variant-numeric:tabular-nums;font-weight:600;}
  .stat.net{border-top:1px solid var(--line);margin-top:4px;padding-top:10px;}
  .net .v{color:var(--ok);}
  .reimb{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
  .reimb:last-child{border-bottom:none;}
  .reimb .amt{color:var(--warm-soft);font-weight:700;font-variant-numeric:tabular-nums;}

  /* ---------- ASK CLARA + HOME BTN ---------- */
  .dock{
    position:fixed;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(13,10,22,0),var(--espresso) 55%);
    display:flex;flex-direction:column;gap:8px;align-items:stretch;z-index:20;
  }
  .ask{flex:1;display:flex;align-items:center;gap:9px;background:var(--espresso-2);border:1px solid var(--brass);border-radius:13px;padding:11px 13px;}
  .ask input{background:transparent;border:none;flex:1;color:#ffffff;font-size:14px;padding:0;}
  .ask input::placeholder{color:rgba(255,255,255,.72);}
  .ask .send{color:var(--brass-lt);font-weight:700;font-size:18px;}
  .home-btn{
    flex:0 0 auto;width:52px;height:48px;border-radius:13px;border:1px solid var(--line);
    background:var(--espresso-2);color:var(--brass-lt);font-size:22px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
  }
  .home-btn:active{transform:translateY(1px);}

  /* top-right controls: per-user language + Clara voice */
  .topctl{position:absolute;top:14px;right:16px;display:flex;align-items:center;gap:8px;z-index:5;}
  .lang-seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
  .lang-seg button{appearance:none;border:none;background:transparent;color:var(--muted);font-family:var(--sans);font-weight:700;font-size:12px;padding:6px 9px;cursor:pointer;}
  .lang-seg button.on{background:linear-gradient(165deg,var(--brass),var(--accent-glow));color:#fff;}
  .icbtn{width:40px;height:40px;border-radius:11px;border:1.5px solid var(--brass-lt);background:var(--espresso-2);color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 0 3px rgba(139,123,255,.20);}
  .icbtn:active{transform:translateY(1px);}
  .icbtn.on{background:linear-gradient(165deg,var(--brass),var(--accent-glow));border-color:transparent;animation:vpulse 1.6s ease-in-out infinite;}
  @keyframes vpulse{0%,100%{box-shadow:0 0 0 3px rgba(139,123,255,.22);}50%{box-shadow:0 0 0 7px rgba(139,123,255,.06);}}
  .ask-note{font-size:11px;color:rgba(255,255,255,.72);text-align:center;letter-spacing:.2px;}
  .dock-row{display:flex;gap:10px;align-items:center;}
  .nav-btn{flex:0 0 auto;height:48px;padding:0 14px;border-radius:13px;border:1px solid var(--brass);background:var(--espresso-2);color:#fff;font-weight:600;font-size:13px;font-family:var(--sans);display:flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;}
  .nav-btn:active{transform:translateY(1px);}
  .nav-ico{font-size:15px;color:var(--brass-lt);}

  /* ---------- HOME / CLIENT SELECT ---------- */
  .home-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 16px calc(22px + env(safe-area-inset-bottom));}
  .lead{font-size:14px;color:var(--cream-2);margin:6px 2px 16px;}
  .client{
    display:flex;align-items:center;gap:14px;width:100%;text-align:left;
    background:var(--espresso-2);border:1px solid var(--line);border-radius:16px;
    padding:16px;margin-bottom:14px;cursor:pointer;font-family:var(--sans);
    box-shadow:0 6px 16px rgba(0,0,0,.22);
  }
  .client:active{transform:translateY(1px);}
  .mono{
    flex:0 0 auto;width:60px;height:60px;border-radius:14px;
    background:linear-gradient(150deg,var(--gold),var(--honey));
    color:var(--ink);font-weight:700;font-family:var(--serif);
    display:flex;align-items:center;justify-content:center;text-align:center;
    font-size:16px;line-height:1.05;letter-spacing:.2px;padding:4px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
  }
  .client-main{flex:1;min-width:0;}
  .client-name{font-family:var(--serif);font-size:20px;color:var(--cream);line-height:1.15;display:block;}
  .client-sub{font-size:13px;color:var(--muted);margin-top:3px;display:block;}
  .chev{flex:0 0 auto;color:var(--brass);font-size:22px;opacity:.85;}

  .add-card{
    display:flex;align-items:center;gap:16px;width:100%;text-align:left;
    background:transparent;border:1.5px dashed var(--brass);border-radius:16px;
    padding:18px 16px;margin-bottom:14px;cursor:pointer;font-family:var(--sans);
  }
  .add-card:active{transform:translateY(1px);}
  .add-card .plus{
    flex:0 0 auto;width:58px;height:58px;border-radius:13px;border:1.5px dashed var(--brass);
    display:flex;align-items:center;justify-content:center;color:var(--brass-lt);font-size:28px;
  }
  .add-card .lab{font-family:var(--serif);font-size:19px;color:var(--brass-lt);}
  .ghost-card{
    display:block;width:100%;text-align:center;background:transparent;
    border:1px dashed var(--line);border-radius:14px;padding:16px;margin-bottom:18px;
    color:var(--muted);font-size:14px;font-family:var(--sans);cursor:pointer;
  }
  .ghost-card:active{transform:translateY(1px);}
  .foot-note{font-size:12px;color:var(--muted);text-align:center;line-height:1.5;padding:2px 10px 6px;}

  /* inline add form */
  .addform{background:var(--espresso-2);border:1px solid var(--brass);border-radius:14px;padding:14px;margin-bottom:14px;}
  .addform .field:first-child{margin-top:0;}
  .addform-actions{display:flex;gap:10px;margin-top:13px;}

  /* ---------- BUSINESS DETAIL (firewalled workspace) ---------- */
  .back-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--brass-lt);font-size:14px;font-weight:600;font-family:var(--sans);cursor:pointer;padding:0;margin-bottom:12px;}
  .detail-head{display:flex;align-items:center;gap:14px;}
  .iso-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--brass-lt);border:1px solid var(--line);border-radius:999px;padding:5px 11px;margin-top:12px;}
  .sec-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--brass);font-weight:600;margin:18px 2px 11px;}
  .loc{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--espresso-2);border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-bottom:10px;}
  .loc-name{font-size:15px;color:var(--cream-2);}
  .loc-mgr{font-size:12px;color:var(--muted);margin-top:2px;}
  .badge{flex:0 0 auto;font-size:10.5px;font-weight:600;color:var(--brass);border:1px solid var(--line);border-radius:6px;padding:2px 7px;}
  .add-loc{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:1.5px dashed var(--brass);border-radius:12px;padding:14px 15px;color:var(--brass-lt);font-size:14px;font-weight:600;cursor:pointer;font-family:var(--sans);}
  .add-loc:active{transform:translateY(1px);}
  .open-clara{margin-top:20px;width:100%;}
  /* ---- auth (login + signup) + plan configurator ---- */
  #login.active,#signup.active{display:block;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .auth{min-height:100%;display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top)) 16px calc(30px + env(safe-area-inset-bottom));max-width:560px;margin:0 auto;width:100%;box-sizing:border-box;}
  .auth-card{background:var(--espresso-2);border:1px solid var(--line);border-radius:16px;padding:20px 17px 18px;}
  .auth-brandrow{display:flex;align-items:center;gap:9px;margin-bottom:14px;}
  .auth-logo{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brass),var(--brass-lt));color:#1b1430;font-weight:800;font-size:15px;}
  .auth-brand{font-family:var(--serif);font-size:16px;color:var(--cream);}
  .auth-h{font-family:var(--serif);font-weight:600;font-size:23px;color:var(--cream);margin:2px 0 5px;}
  .auth-sub{font-size:13px;color:var(--cream-2);margin:0;line-height:1.5;}
  .auth-sec{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--brass);font-weight:700;margin:21px 0 4px;}
  .auth-go{width:100%;margin-top:18px;}
  .auth-alt{text-align:center;font-size:13px;color:var(--muted);margin-top:14px;}
  .auth-link{background:none;border:none;color:var(--brass-lt);font-weight:700;font-size:13px;font-family:var(--sans);cursor:pointer;padding:0;}
  .proto-note{text-align:center;font-size:10.5px;color:var(--muted);margin-top:10px;line-height:1.45;letter-spacing:.02em;}
  .auth-err{color:var(--warm-soft);font-size:12.5px;margin-top:9px;min-height:1px;}
  .consent{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:12px;color:var(--cream-2);line-height:1.5;cursor:pointer;}
  .consent input{margin-top:1px;width:17px;height:17px;flex:0 0 auto;accent-color:var(--brass);}
  .cfg{background:var(--raise);border:1px solid var(--line);border-radius:13px;padding:2px 14px;margin-top:8px;}
  .cfg-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);}
  .cfg-row:last-child{border-bottom:none;}
  .cfg-label{font-size:14px;color:var(--cream);font-weight:600;}
  .cfg-sub{font-size:11.5px;color:var(--muted);margin-top:3px;max-width:210px;}
  .stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex:0 0 auto;}
  .stepper button{width:38px;height:38px;background:var(--leather);border:none;color:var(--brass-lt);font-size:19px;font-weight:700;cursor:pointer;font-family:var(--sans);}
  .stepper button:active{background:#372c66;}
  .stepper .num{min-width:32px;text-align:center;font-weight:800;color:var(--cream);font-size:15px;}
  .swt{width:46px;height:28px;border-radius:999px;background:var(--leather);border:1px solid var(--line);position:relative;cursor:pointer;flex:0 0 auto;}
  .swt .knob{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:var(--muted);transition:left .18s,background .18s;}
  .swt.on{background:var(--brass);border-color:var(--brass);}
  .swt.on .knob{left:21px;background:#120e20;}
  .cfg-inc{font-size:12px;color:var(--ok);font-weight:700;}
  .cfg-total{display:flex;align-items:baseline;justify-content:space-between;margin-top:15px;padding-top:13px;border-top:1.5px solid rgba(139,123,255,.4);}
  .cfg-total .tl{font-family:var(--serif);font-size:15px;color:var(--cream);}
  .cfg-total .tv{font-family:var(--serif);font-size:25px;color:var(--brass-lt);}
  .cfg-total .tv small{font-size:13px;color:var(--muted);font-weight:400;}
  .auth-notice{display:flex;gap:8px;align-items:flex-start;background:rgba(255,158,128,.12);border:1px solid rgba(255,158,128,.45);color:var(--warm-soft);border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.45;margin-bottom:14px;}
  .auth-notice::before{content:"\23F1";font-size:14px;line-height:1.2;}
  /* ---- bigger auth inputs + plan dropdown ---- */
  #login input:not([type=checkbox]), #signup input:not([type=checkbox]){
    width:100%;box-sizing:border-box;font-family:var(--sans);font-size:16px;color:var(--cream);
    background:var(--leather);border:1px solid var(--line);border-radius:11px;padding:15px 14px;
  }
  #login input::placeholder,#signup input::placeholder{color:var(--muted);}
  #login .field label,#signup .field label{font-size:11.5px;}
  .cfg-pick{padding:12px 0 2px;}
  .cfg-pl{display:block;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:7px;}
  .cfg-selwrap{position:relative;}
  .cfg-sel{width:100%;box-sizing:border-box;font-family:var(--sans);font-size:16px;font-weight:700;color:var(--cream);background:var(--leather);border:1.5px solid var(--brass-lt);box-shadow:0 0 0 2px rgba(139,123,255,.16);border-radius:11px;padding:15px 42px 15px 14px;-webkit-appearance:none;appearance:none;cursor:pointer;}
  .cfg-cv{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--brass-lt);pointer-events:none;font-size:18px;font-weight:700;}
  .cfg-note{font-size:12px;color:var(--muted);line-height:1.5;padding:11px 0;border-bottom:1px solid var(--line);}
  /* ---- account dashboard + document viewer ---- */
  .menu-btn{background:transparent;border:1px solid var(--brass-lt);color:var(--brass-lt);border-radius:9px;width:36px;height:32px;font-size:16px;cursor:pointer;line-height:1;flex:0 0 auto;}
  .top-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
  .acct-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 16px calc(42px + env(safe-area-inset-bottom));}
  .acct-card{background:var(--espresso-2);border:1px solid var(--line);border-radius:13px;margin-bottom:12px;overflow:hidden;}
  .acct-secbtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:transparent;border:none;color:var(--cream);font-family:var(--serif);font-size:16px;padding:15px;cursor:pointer;text-align:left;}
  .acct-cv{color:var(--brass-lt);font-size:13px;flex:0 0 auto;}
  .acct-body{padding:0 15px 15px;}
  .acct-save{width:100%;margin-top:12px;}
  .acct-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--cream-2);}
  .acct-line:last-child{border-bottom:none;}
  .acct-biz{background:var(--raise);border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-bottom:10px;}
  .acct-bizname{font-family:var(--serif);font-size:15px;color:var(--cream);}
  .acct-loc{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:13px;color:var(--cream-2);border-top:1px dashed var(--line);margin-top:7px;}
  .acct-x{background:transparent;border:none;color:var(--warm-soft);font-size:12.5px;font-weight:600;cursor:pointer;font-family:var(--sans);}
  .acct-bizacts{display:flex;gap:9px;margin-top:11px;}
  .acct-act{flex:1;background:var(--leather);border:1px solid var(--line);color:var(--brass-lt);border-radius:9px;padding:11px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--sans);}
  .acct-act.danger{color:var(--warm-soft);border-color:rgba(255,158,128,.4);}
  .danger-card{border-color:rgba(255,158,128,.35);}
  .acct-dz{font-size:12.5px;color:var(--muted);line-height:1.5;margin:0 0 12px;}
  .acct-doc{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--raise);border:1px solid var(--line);border-radius:10px;color:var(--cream);font-size:14px;padding:13px;margin-bottom:9px;cursor:pointer;font-family:var(--sans);}
  .doc{color:var(--cream-2);font-size:13.5px;line-height:1.6;}
  .doc .doc-head{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line);}
  .doc h2{font-family:var(--serif);font-size:21px;color:var(--cream);margin:0 0 6px;}
  .doc h3{font-family:var(--serif);font-size:16px;color:var(--brass-lt);margin:18px 0 6px;}
  .doc p{margin:0 0 9px;} .doc ul{margin:0 0 9px;padding-left:18px;} .doc li{margin-bottom:5px;}
  .doc strong{color:var(--cream);}
  .doc-meta{font-size:11.5px;color:var(--muted);margin:2px 0;}
  .doc-foot{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);}
  .auth-legal{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:13px;text-align:center;}
  .agree-scroll{max-height:240px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:11px;background:#120e20;padding:12px 14px;margin-bottom:8px;}
  .agree-scroll .doc{font-size:12.5px;} .agree-scroll .doc h2{font-size:17px;} .agree-scroll .doc h3{font-size:14px;}
  .agree-hint{font-size:11.5px;color:var(--muted);margin:0 0 11px;}
  .sign-row{display:flex;gap:10px;margin-top:11px;align-items:flex-end;}
  .sign-name{flex:1;margin-top:0;}
  .sign-date-f{flex:0 0 120px;margin-top:0;}
  .sign-date-v{font-size:15px;color:var(--cream);background:var(--raise);border:1px solid var(--line);border-radius:10px;padding:14px 12px;}
  .agree-wrap{position:relative;}
  .agree-wrap::after{content:"";position:absolute;left:1px;right:1px;bottom:1px;height:42px;border-radius:0 0 11px 11px;background:linear-gradient(to bottom,rgba(18,14,32,0),#120e20);pointer-events:none;transition:opacity .25s;}
  .agree-wrap.read::after{opacity:0;}
  .agree-scroll::-webkit-scrollbar{width:9px;}
  .agree-scroll::-webkit-scrollbar-thumb{background:var(--brass-lt);border-radius:8px;}
  .agree-scroll::-webkit-scrollbar-track{background:rgba(247,236,216,.06);border-radius:8px;}
  #suUla:disabled{opacity:.45;}
  .agree-hint{font-weight:600;}
  #signup input.invalid{border-color:#ff8a80 !important;box-shadow:0 0 0 2px rgba(255,138,128,.32) !important;}
  .live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(79,211,159,.25);vertical-align:middle;margin-right:5px;}
  .clara-log{max-height:34vh;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0 0 12px;display:flex;flex-direction:column;gap:7px;}
  .cbub{max-width:86%;padding:9px 12px;border-radius:13px;font-size:13.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;}
  .cbub.you{align-self:flex-end;background:var(--brass-lt);color:var(--ink);border-bottom-right-radius:4px;}
  .cbub.clara{align-self:flex-start;background:var(--raise);color:var(--cream);border:1px solid var(--line);border-bottom-left-radius:4px;}
  .send{cursor:pointer;}
