/* =================================================================
   ARINDAM DAILY — Design System  (v2 "Atelier")
   Memorae-grade glass craft + Arindam Dream Designs brand
   Maroon primary · gold accent · serif identity · A-mark logo
   Loaded ONLY by base_v2.html (dashboard first). Old style.css
   remains for not-yet-migrated pages. Dark mode = <html data-theme="dark">.
   ================================================================= */

:root{
  /* Brand */
  --maroon:#5C1A2E; --maroon-deep:#43121F; --maroon-soft:#8A3A4F;
  --gold:#C9A961; --gold-deep:#B8954D;

  /* Ink / text */
  --ink:#241820; --ink-soft:#6a5b63; --ink-faint:#9a8a92;

  /* Glass surfaces */
  --glass:rgba(255,255,255,.55);
  --glass-2:rgba(255,255,255,.40);
  --glass-line:rgba(255,255,255,.78);

  /* Semantic */
  --green:#10B981; --red:#F2545B; --amber:#F59E0B; --blue:#5b8def; --violet:#7C6BD8;

  /* Interactive chips & buttons — theme-aware so nothing is ever
     light-ink-on-light-surface. Dark mode overrides these below. */
  --btn-bg:rgba(255,255,255,.74); --btn-bg-hover:#ffffff;
  --btn-ink:#39262f; --btn-line:rgba(120,80,95,.30);
  --chip-bg:rgba(92,26,46,.10); --chip-ink:#5C1A2E;

  /* Semantic TEXT colours (on faint tint chips) — theme-aware so status labels
     stay legible in dark mode. Templates use var(--text-{green|amber|red|…}). */
  --text-green:#0c7a5b; --text-amber:#b9770a; --text-red:#c5221f;
  --text-blue:#3257a8; --text-purple:#5e4fb0;

  /* Page background (dreamy gradient) */
  --bg:
    radial-gradient(900px 700px at 10% 6%, rgba(150,190,255,.50), transparent 60%),
    radial-gradient(820px 700px at 90% 0%, rgba(206,184,247,.52), transparent 55%),
    radial-gradient(760px 720px at 82% 100%, rgba(201,169,97,.30), transparent 55%),
    radial-gradient(680px 640px at 4% 100%, rgba(150,58,79,.28), transparent 55%),
    linear-gradient(160deg,#dde7fb 0%,#ece2f4 45%,#f8efe6 100%);

  --r:24px; --r-sm:16px;
  --sh:0 8px 24px rgba(70,40,55,.12), 0 2px 6px rgba(70,40,55,.07);
  --sh-lg:0 22px 52px rgba(70,40,55,.20);
  --fast:.22s cubic-bezier(.4,0,.2,1);
  --serif:"Hoefler Text","Garamond","Georgia","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,sans-serif;
}

/* ---------- Legacy variable aliases ----------
   Older pages (calendar, kanban, bills tables, reviews…) reference the
   previous palette's variables in their inline <style>. Map them onto the
   new brand palette so those pages adopt maroon/gold/ink automatically. */
:root{
  --navy:#241820; --navy-soft:#6a5b63;
  --grey:#6a5b63; --grey-light:#ECE7DC;
  --cream:#fbf7f5; --white:#ffffff;
  --gold-soft:#F0E7CC; --orange:#F59E0B;
  --bg:transparent;
  --shadow:0 8px 24px rgba(70,40,55,.10), 0 2px 6px rgba(70,40,55,.06);
  --shadow-lift:0 22px 52px rgba(70,40,55,.18);
}

/* ---------- Dark "luxe" mode (future flip) ---------- */
html[data-theme="dark"]{
  --ink:#f4e9ec; --ink-soft:#d8c3cb; --ink-faint:#b39aa3;
  --glass:rgba(54,20,33,.55); --glass-2:rgba(54,20,33,.40);
  --glass-line:rgba(201,169,97,.28);
  /* Interactive surfaces on dark: darker film + near-white ink → high contrast */
  --btn-bg:rgba(255,255,255,.15); --btn-bg-hover:rgba(255,255,255,.30);
  --btn-ink:#fdeef3; --btn-line:rgba(201,169,97,.42);
  --chip-bg:rgba(201,169,97,.20); --chip-ink:#f0e2c4;
  /* brighter semantic text so status labels read on dark tints */
  --text-green:#6fe0bf; --text-amber:#f4c579; --text-red:#ff9a9a;
  --text-blue:#a9c8ff; --text-purple:#c9bef5;
  --bg:
    radial-gradient(900px 700px at 12% 6%, rgba(138,58,79,.45), transparent 60%),
    radial-gradient(820px 700px at 90% 0%, rgba(124,107,216,.28), transparent 55%),
    radial-gradient(760px 720px at 84% 100%, rgba(201,169,97,.22), transparent 55%),
    linear-gradient(160deg,#2a0e18 0%,#3a1322 50%,#23121b 100%);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--sans); color:var(--ink);
  background:var(--bg); background-attachment:fixed;
  min-height:100vh; display:flex; -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}

/* ---------- Sidebar ---------- */
.side{width:256px;flex:none;margin:18px 0 18px 18px;border-radius:var(--r);
  background:var(--glass);backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);
  border:1px solid var(--glass-line);box-shadow:var(--sh);padding:22px 16px;display:flex;flex-direction:column;
  position:sticky;top:18px;height:calc(100vh - 36px);z-index:10}
.wordmark{display:flex;align-items:center;gap:12px;padding:4px 8px 6px}
.logo{width:42px;height:42px;flex:none;border-radius:12px;background:linear-gradient(150deg,var(--maroon),var(--maroon-deep));
  display:grid;place-items:center;box-shadow:0 6px 14px rgba(92,26,46,.4)}
.wm-text .t1{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.5px;line-height:1}
.wm-text .t2{font-size:9.5px;letter-spacing:2px;color:var(--ink-soft);text-transform:uppercase;margin-top:3px}
.nav{display:flex;flex-direction:column;gap:3px;margin-top:20px}
.nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:13px;color:var(--ink-soft);
  font-size:14.5px;font-weight:600;transition:var(--fast)}
.nav a .i{width:20px;text-align:center}
.nav a:hover{background:rgba(255,255,255,.55);color:var(--ink)}
.nav a.active{background:linear-gradient(135deg,var(--maroon),var(--maroon-soft));color:#fff;
  box-shadow:0 6px 14px rgba(92,26,46,.32)}
.side .spacer{flex:1}
.me{display:flex;align-items:center;gap:11px;padding:10px;border-radius:14px;background:rgba(255,255,255,.5)}
.me .av{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;
  background:linear-gradient(140deg,var(--maroon),var(--maroon-soft))}
.me .nm{font-size:13.5px;font-weight:700}
.me .ph{font-size:11.5px;color:var(--ink-soft)}
.theme-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;margin-bottom:8px;border-radius:13px;
  border:1px solid var(--glass-line);background:rgba(255,255,255,.4);color:var(--ink-soft);font-size:13px;font-weight:600;cursor:pointer;
  font-family:var(--sans);transition:var(--fast)}
.theme-toggle:hover{background:rgba(255,255,255,.65);color:var(--ink)}
html[data-theme="dark"] .theme-toggle{background:rgba(201,169,97,.14)}
html[data-theme="dark"] .theme-toggle:hover{background:rgba(201,169,97,.26)}
/* dark headline accent — lighter gold→rose so it pops on dark maroon */
html[data-theme="dark"] .display b{background:linear-gradient(110deg,var(--gold) 0%,#e792a8 50%,#f6ecef 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ---------- Main ---------- */
.main{flex:1;min-width:0;padding:26px 30px 120px;max-width:1180px}
.topline{display:flex;align-items:center;justify-content:space-between;gap:14px}
.hello-pill{display:inline-flex;align-items:center;gap:8px;background:var(--glass);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-line);padding:7px 14px;border-radius:999px;
  font-size:13px;font-weight:600;color:var(--ink-soft);box-shadow:var(--sh)}
.topactions{display:flex;gap:10px}
.iconbtn{width:42px;height:42px;border-radius:50%;background:var(--glass);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-line);box-shadow:var(--sh);display:grid;place-items:center;
  font-size:18px;cursor:pointer;transition:var(--fast)}
.iconbtn:hover{transform:translateY(-2px)}

.display{margin:26px 0 6px;font-family:var(--serif);font-size:52px;line-height:1.05;font-weight:500;letter-spacing:-.5px}
.display b{font-weight:600;background:linear-gradient(110deg,var(--maroon) 0%,#9c4f6a 40%,var(--gold-deep) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.subline{color:var(--ink-soft);font-size:15px;margin-top:8px}

.assist{display:flex;align-items:flex-start;gap:14px;margin:22px 0 6px;max-width:820px}
.assist .mk{width:46px;height:46px;border-radius:13px;flex:none;background:linear-gradient(150deg,var(--maroon),var(--maroon-deep));
  display:grid;place-items:center;box-shadow:0 6px 16px rgba(92,26,46,.4)}
.bubble{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-line);
  border-radius:6px 20px 20px 20px;padding:15px 18px;font-size:14.5px;line-height:1.55;box-shadow:var(--sh)}
.bubble b{color:var(--maroon)}
html[data-theme="dark"] .bubble b{color:var(--gold)}
.bubble .tag{font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--gold-deep);text-transform:uppercase;display:block;margin-bottom:4px}

.sec{margin:34px 2px 14px;font-size:13px;text-transform:uppercase;letter-spacing:1.6px;color:var(--ink-soft);font-weight:700;
  display:flex;align-items:center;justify-content:space-between}
.sec a{font-size:12px;color:var(--gold-deep);letter-spacing:.3px;text-transform:none;font-weight:600}

/* ---------- Metric tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{background:var(--glass);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid var(--glass-line);border-radius:var(--r);padding:18px;box-shadow:var(--sh);transition:var(--fast);
  cursor:pointer;display:block}
.tile:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.tile .chip{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:19px;margin-bottom:13px;color:#fff}
.g-green{background:linear-gradient(140deg,#34d399,#10b981)}
.g-maroon{background:linear-gradient(140deg,var(--maroon-soft),var(--maroon))}
.g-red{background:linear-gradient(140deg,#ff8a8f,#f2545b)}
.g-blue{background:linear-gradient(140deg,#7db4ff,#5b8def)}
.g-violet{background:linear-gradient(140deg,#a99af0,#7c6bd8)}
.g-gold{background:linear-gradient(140deg,#e6c879,#b8954d)}
.tile .val{font-size:30px;font-weight:700;letter-spacing:-1px;line-height:1}
.tile .lbl{margin-top:5px;color:var(--ink-soft);font-size:13px;font-weight:500}
.tile .sub{margin-top:9px;font-size:12px;font-weight:600;color:var(--ink-soft);display:inline-flex;align-items:center;gap:5px;
  background:var(--chip-bg);padding:3px 9px;border-radius:999px}
html[data-theme="dark"] .tile .sub{color:var(--ink)}
.tile .sub.up{color:var(--green)} .tile .sub.warn{color:var(--red)}

/* ---------- Columns + panels ---------- */
.cols{display:grid;grid-template-columns:1.55fr 1fr;gap:18px;align-items:start;margin-top:8px}
.panel{background:var(--glass);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid var(--glass-line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;margin-bottom:18px}
.panel .ph{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.5)}
.panel .ph h3{font-size:15px;font-weight:700}
.panel .ph .c{font-size:12px;font-weight:600;color:var(--ink-soft);background:var(--chip-bg);padding:3px 10px;border-radius:999px}
html[data-theme="dark"] .panel .ph .c{color:var(--ink)}
.panel.alert{border-color:rgba(242,84,91,.4)}
.panel.alert .ph{background:rgba(242,84,91,.10)}

/* ---------- Task rows ---------- */
.task{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.45);transition:var(--fast)}
.task:last-child{border-bottom:none}
.task:hover{background:rgba(255,255,255,.42)}
html[data-theme="dark"] .task:hover{background:rgba(255,255,255,.06)}
.task .grow{flex:1;min-width:0}
.task .ttl{font-weight:600;font-size:14.5px}
.task .mt{margin-top:4px;font-size:12.5px;color:var(--ink-soft);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.task .actions{display:flex;gap:6px;flex:none}
.btn-i{border:1px solid var(--btn-line);background:var(--btn-bg);border-radius:10px;padding:7px 11px;font-size:13px;
  font-weight:700;color:var(--btn-ink);cursor:pointer;transition:var(--fast)}
.btn-i:hover{background:var(--btn-bg-hover);color:var(--btn-ink)}
.btn-done:hover{background:var(--green);border-color:var(--green);color:#fff}
.btn-cancel:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn-timer{white-space:nowrap}
.btn-timer:hover{background:var(--gold-soft);border-color:var(--gold-deep);color:var(--ink)}
.btn-timer.on{background:var(--gold);border-color:var(--gold-deep);color:#3a2a10;font-variant-numeric:tabular-nums;
  animation:timerpulse 2s ease-in-out infinite}
html[data-theme="dark"] .btn-timer.on{color:#1a1206}
@keyframes timerpulse{0%,100%{box-shadow:0 0 0 0 rgba(201,169,97,.45)}50%{box-shadow:0 0 0 4px rgba(201,169,97,0)}}
@media (prefers-reduced-motion:reduce){.btn-timer.on{animation:none}}

.pill{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.3px;color:#fff}
.p-urgent{background:linear-gradient(140deg,#ff8a8f,#f2545b)}
.p-high{background:linear-gradient(140deg,#fbc46b,#f59e0b)}
.p-normal{background:var(--chip-bg);color:var(--chip-ink)}
.p-low{background:var(--chip-bg);color:var(--chip-ink);opacity:.85}
.proj{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:rgba(92,26,46,.12);color:var(--maroon)}
html[data-theme="dark"] .proj{background:rgba(201,169,97,.18);color:var(--gold)}
.time{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-soft);font-size:12.5px}

/* week-ahead event rows */
.ev{display:flex;gap:14px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.45)}
.ev:last-child{border-bottom:none}
.ev .dt{width:54px;flex:none;text-align:center}
.ev .dt .d{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1;color:var(--maroon)}
html[data-theme="dark"] .ev .dt .d{color:var(--gold)}
.ev .dt .m{font-size:10px;text-transform:uppercase;color:var(--ink-soft);font-weight:700;letter-spacing:.5px}
.ev .grow{min-width:0}
.ev .wt{font-size:13.5px;font-weight:600}
.ev .wr{font-size:12px;color:var(--ink-soft);margin-top:2px}

.empty{padding:26px 20px;text-align:center;color:var(--ink-faint);font-size:14px}

/* ---------- FAB + modal ---------- */
.fab{position:fixed;right:30px;bottom:30px;width:62px;height:62px;border-radius:22px;border:none;cursor:pointer;
  background:linear-gradient(140deg,var(--maroon-soft),var(--maroon));color:#fff;font-size:30px;font-weight:300;
  box-shadow:0 14px 30px rgba(92,26,46,.5);transition:var(--fast);z-index:30}
.fab:hover{transform:translateY(-3px) rotate(90deg)}

.modal{position:fixed;inset:0;background:rgba(36,24,32,.45);backdrop-filter:blur(4px);display:none;
  align-items:center;justify-content:center;z-index:40;padding:20px}
.modal.open{display:flex}
.modal-card{width:100%;max-width:440px;background:var(--glass);backdrop-filter:blur(26px) saturate(1.6);
  -webkit-backdrop-filter:blur(26px) saturate(1.6);border:1px solid var(--glass-line);border-radius:var(--r);
  box-shadow:var(--sh-lg);padding:24px}
.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.modal-head h2{font-family:var(--serif);font-size:22px;font-weight:600}
.modal .x{border:none;background:rgba(255,255,255,.6);width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer;color:var(--ink-soft)}
.modal label{display:block;font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.6px;margin:14px 0 6px}
.modal input,.modal select,.modal textarea{width:100%;padding:11px 13px;border:1px solid var(--glass-line);
  background:rgba(255,255,255,.7);border-radius:12px;font-size:14px;font-family:var(--sans);color:var(--navy)}
/* Dark mode: translucent-dark field + light text (was light-on-light → invisible). */
html[data-theme="dark"] .modal input,html[data-theme="dark"] .modal select,html[data-theme="dark"] .modal textarea{background:rgba(255,255,255,.10);color:var(--ink)}
.modal input::placeholder,.modal textarea::placeholder{color:var(--ink-faint)}
.modal textarea{resize:vertical}
.modal .primary{margin-top:18px;width:100%;padding:13px;border:none;border-radius:14px;cursor:pointer;font-size:15px;font-weight:700;
  color:#fff;background:linear-gradient(140deg,var(--maroon-soft),var(--maroon));box-shadow:0 10px 22px rgba(92,26,46,.4)}
.modal .primary:hover{filter:brightness(1.06)}

/* ---------- Standalone form card (e.g. Add Bill) ---------- */
.formcard{max-width:620px;background:var(--glass);backdrop-filter:blur(20px) saturate(1.5);
  -webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--glass-line);border-radius:var(--r);
  box-shadow:var(--sh);padding:26px}
.formcard label{display:block;font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;
  letter-spacing:.6px;margin:16px 0 6px}
.formcard input,.formcard select,.formcard textarea{width:100%;padding:11px 13px;border:1px solid var(--glass-line);
  background:rgba(255,255,255,.7);border-radius:12px;font-size:14px;font-family:var(--sans);color:var(--ink)}
html[data-theme="dark"] .formcard input,html[data-theme="dark"] .formcard select,html[data-theme="dark"] .formcard textarea{background:rgba(255,255,255,.10)}
.formcard textarea{resize:vertical}
.formcard .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.formcard .actions-row{display:flex;gap:12px;margin-top:22px}
.formcard .primary{flex:1;padding:13px;border:none;border-radius:14px;cursor:pointer;font-size:15px;font-weight:700;
  color:#fff;background:linear-gradient(140deg,var(--maroon-soft),var(--maroon));box-shadow:0 10px 22px rgba(92,26,46,.4)}
.formcard .primary:hover{filter:brightness(1.06)}
.formcard .ghost{padding:13px 20px;border:1px solid var(--glass-line);background:rgba(255,255,255,.55);border-radius:14px;
  cursor:pointer;font-size:15px;font-weight:600;color:var(--ink-soft)}
.formerror{background:var(--red-soft,rgba(242,84,91,.12));border:1px solid rgba(242,84,91,.4);color:#a3242b;
  padding:11px 14px;border-radius:12px;font-size:13.5px;font-weight:600;margin-bottom:6px}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  body{flex-direction:column}
  .side{flex-direction:row;width:auto;height:auto;margin:12px;padding:12px 14px;position:sticky;top:12px;align-items:center;
    overflow-x:auto}
  .side .spacer,.wm-text .t2{display:none}
  /* Keep sign-out reachable on mobile (it used to be display:none) — compact it. */
  .me{display:flex;flex-shrink:0;padding:6px 10px;gap:8px}
  .me .nm{display:none}
  .theme-toggle{width:auto;flex-shrink:0;white-space:nowrap}
  .nav{flex-direction:row;margin-top:0;gap:2px}
  .nav a{padding:9px 11px;white-space:nowrap}
  .main{padding:18px 16px 110px;max-width:100%}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .cols{grid-template-columns:1fr}
  .display{font-size:36px}
  /* 16px inputs stop iOS Safari from auto-zooming on focus. */
  input,textarea,select{font-size:16px}
}

/* ---------- Accessibility floor ---------- */
/* Visible keyboard focus on every interactive element (was missing entirely). */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--gold, #C9A961);
  outline-offset:2px;
  border-radius:4px;
}

/* Honour the OS "reduce motion" setting — stops the pulsing LIVE dot and any
   transition for users who opt out (vestibular safety). */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* ---------- Command palette / Ask bar ---------- */
.cmdk-trigger{display:flex;align-items:center;gap:8px;width:100%;margin:10px 0 6px;padding:9px 12px;
  border:1px solid var(--glass-line);background:rgba(255,255,255,.06);border-radius:12px;cursor:pointer;
  color:var(--ink-soft);font-size:13px;font-family:var(--sans);font-weight:600}
.cmdk-trigger:hover{border-color:var(--maroon-soft);color:var(--ink)}
.cmdk-trigger kbd,.cmdk-foot kbd{margin-left:auto;font-size:10px;font-weight:700;background:rgba(0,0,0,.18);
  border:1px solid var(--glass-line);border-radius:5px;padding:1px 5px;color:var(--ink-soft)}
.cmdk-foot kbd{margin-left:0}
.cmdk{position:fixed;inset:0;z-index:2000;display:none;align-items:flex-start;justify-content:center}
.cmdk.open{display:flex}
.cmdk-backdrop{position:absolute;inset:0;background:rgba(8,4,8,.55);backdrop-filter:blur(3px)}
.cmdk-box{position:relative;margin-top:11vh;width:min(620px,92vw);background:var(--glass,#1c1116);
  background-color:rgba(28,17,22,.96);border:1px solid var(--glass-line);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.5);
  overflow:hidden}
html[data-theme="light"] .cmdk-box{background-color:rgba(255,255,255,.98)}
#cmdk-input{width:100%;border:none;outline:none;background:transparent;padding:18px 20px;font-size:16px;
  font-family:var(--sans);color:var(--ink);border-bottom:1px solid var(--glass-line)}
.cmdk-list{max-height:50vh;overflow:auto;padding:6px}
.cmdk-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;cursor:pointer;color:var(--ink);font-size:14px}
.cmdk-row .ci{width:20px;text-align:center}
.cmdk-row.sel{background:linear-gradient(140deg,var(--maroon-soft),var(--maroon));color:#fff}
.cmdk-row.ask{font-style:italic}
.cmdk-empty{padding:16px;color:var(--ink-soft);font-size:13px;text-align:center}
.cmdk-answer{padding:14px 18px;color:var(--ink);font-size:14px;line-height:1.6;white-space:normal}
.cmdk-foot{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--glass-line);
  color:var(--ink-soft);font-size:11px}

/* ---------- Toasts (undo) ---------- */
.toasts{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:2500;display:flex;flex-direction:column;gap:8px;align-items:center}
.toast{display:flex;align-items:center;gap:12px;background:rgba(20,12,16,.96);color:#fff;border:1px solid var(--glass-line);
  border-radius:12px;padding:11px 16px;font-size:13.5px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.4);
  opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.toast.show{opacity:1;transform:translateY(0)}
.toast-undo{background:var(--gold,#C9A961);color:#2a1620;border:none;border-radius:8px;padding:4px 11px;font-weight:800;font-size:12.5px;cursor:pointer}

/* row removal animation for optimistic actions */
.task.removing,.ev.removing{opacity:0;transform:translateX(10px);transition:opacity .25s,transform .25s}

/* ---------- Mobile bottom tab bar ---------- */
.botnav{display:none}
@media(max-width:900px){
  /* Replace the squeezed sidebar with a real bottom tab bar. Everything else
     (Reminders, Capture, Settings, theme, sign-out) lives behind "More" → ⌘K. */
  .side{display:none}
  .main{padding-bottom:84px}
  .botnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1500;
    background:rgba(20,12,16,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border-top:1px solid var(--glass-line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));justify-content:space-around}
  html[data-theme="light"] .botnav{background:rgba(255,255,255,.92)}
  .botnav a,.botnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;
    cursor:pointer;color:var(--ink-soft);font-size:10.5px;font-weight:600;font-family:var(--sans);padding:6px 2px;border-radius:10px;text-decoration:none}
  .botnav .bi{font-size:19px;line-height:1}
  .botnav a.active{color:var(--ink)}
  .botnav a.active .bi{filter:drop-shadow(0 0 6px var(--maroon-soft))}
  .fab{bottom:78px}
  .cmdk-trigger .ct-text{display:inline}
}

/* ---------- Mission control home ---------- */
.mc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.mc-h1{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:-.4px;color:var(--ink);margin:0}
.mc-h1 b{font-weight:700}
.mc-sub{color:var(--ink-soft);font-size:13.5px;margin-top:4px}
.mc-live{display:flex;align-items:center;gap:7px;flex-shrink:0;padding:7px 13px;border-radius:999px;text-decoration:none;
  font-size:12px;font-weight:700;border:1px solid var(--glass-line);background:rgba(255,255,255,.05)}
.mc-live .dot{width:8px;height:8px;border-radius:50%}
.mc-live.is-live{color:#10b981}.mc-live.is-live .dot{background:#10b981;animation:mcpulse 2s infinite}
.mc-live.is-down{color:#ef4444}.mc-live.is-down .dot{background:#ef4444}
@keyframes mcpulse{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}50%{box-shadow:0 0 0 5px rgba(16,185,129,0)}}

.mc-brief{position:relative;background:var(--glass);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid var(--glass-line);border-left:3px solid var(--maroon);border-radius:var(--r);box-shadow:var(--sh);
  padding:18px 22px;margin-bottom:18px}
.mc-brief-tag{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--gold);margin-bottom:9px}
.mc-brief-body{font-size:18px;line-height:1.55;color:var(--ink)}
.mc-brief-body b{font-weight:700}
.mc-brief-actions{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap}
.mc-brief-actions button{padding:8px 15px;border:1px solid var(--glass-line);background:rgba(255,255,255,.06);color:var(--ink);
  border-radius:11px;cursor:pointer;font-size:13px;font-weight:700;font-family:var(--sans)}
.mc-brief-actions button:first-child{background:linear-gradient(140deg,var(--maroon-soft),var(--maroon));color:#fff;border-color:transparent}
.mc-brief-actions button:hover{border-color:var(--maroon-soft)}

.mc-pulse{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.mc-stat{background:var(--glass);border:1px solid var(--glass-line);border-radius:16px;padding:14px 16px;text-decoration:none;
  box-shadow:var(--sh);transition:transform .12s,border-color .12s;display:block}
.mc-stat:hover{transform:translateY(-2px);border-color:var(--maroon-soft)}
.mc-stat .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft)}
.mc-stat .v{font-size:28px;font-weight:800;color:var(--ink);line-height:1.25;margin-top:2px}
.mc-stat .s{font-size:11.5px;color:var(--ink-soft)}
.mc-stat.warn .v{color:#ef4444}.mc-stat.warn .s{color:#ef4444;font-weight:700}

.mc-cols{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-bottom:18px}
.mc-panel{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--r);box-shadow:var(--sh);padding:14px 16px}
.mc-ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.mc-ph h3{font-size:14px;font-weight:700;color:var(--ink);margin:0}
.mc-ph .c{font-size:11px;font-weight:800;color:var(--ink-soft)}
.mc-ph .c.warn{color:#ef4444}
.mc-more{margin-top:8px}.mc-more a{font-size:12.5px;color:var(--maroon-soft);text-decoration:none;font-weight:600}
.mc-feed{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--glass-line)}
.mc-feed:last-of-type{border-bottom:none}
.mc-feed .fi{font-size:15px;line-height:1.3}
.mc-feed .ft{font-size:13.5px;color:var(--ink);font-weight:600}
.mc-feed .fd{font-size:11px;color:var(--ink-soft)}
.mc-next{margin-top:10px;font-size:12.5px;color:var(--ink-soft)}

.mc-week{margin-bottom:18px}
.mc-weekrow{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr);gap:10px;overflow-x:auto;padding-bottom:4px}
.mc-wk{background:var(--glass);border:1px solid var(--glass-line);border-radius:13px;padding:11px 13px;text-decoration:none;display:block}
.mc-wk:hover{border-color:var(--maroon-soft)}
.mc-wk .d{font-size:19px;font-weight:800;color:var(--ink);line-height:1}
.mc-wk .m{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--gold)}
.mc-wk .wt{font-size:12px;color:var(--ink-soft);margin-top:6px}

.mc-cmd{display:flex;align-items:center;gap:10px;width:100%;padding:13px 18px;border:1px solid var(--glass-line);
  background:rgba(255,255,255,.05);border-radius:14px;cursor:pointer;color:var(--ink-soft);font-size:13.5px;
  font-family:var(--sans);text-align:left}
.mc-cmd:hover{border-color:var(--maroon-soft)}
.mc-cmd .ci{font-weight:800;color:var(--maroon-soft)}
.mc-cmd kbd{margin-left:auto;font-size:10px;font-weight:700;background:rgba(0,0,0,.18);border:1px solid var(--glass-line);border-radius:5px;padding:1px 6px}

@media(max-width:900px){
  .mc-pulse{grid-template-columns:repeat(2,1fr)}
  .mc-cols{grid-template-columns:1fr}
  .mc-h1{font-size:25px}
}

/* =================================================================
   DARK-MODE CONTRAST PASS — sidebar profile/sign-out, theme toggle,
   modal close, ghost buttons, and dividers. Every hardcoded light
   rgba(255,255,255,.x) surface here gets a dark film in dark mode so
   nothing is light-on-light. (Founder uses dark mode.)
   ================================================================= */
html[data-theme="dark"] .me{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .theme-toggle{background:rgba(255,255,255,.10);color:var(--ink)}
html[data-theme="dark"] .theme-toggle:hover{background:rgba(255,255,255,.18);color:var(--ink)}
html[data-theme="dark"] .nav a:hover{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .modal .x{background:rgba(255,255,255,.12);color:var(--ink)}
html[data-theme="dark"] .formcard .ghost{background:rgba(255,255,255,.12);color:var(--ink)}
html[data-theme="dark"] .panel .ph,
html[data-theme="dark"] .task,
html[data-theme="dark"] .ev{border-bottom-color:rgba(255,255,255,.10)}
