body{font-size:14px}
 .material-symbols-outlined,.ms{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
 .ms.f{font-variation-settings:'FILL' 1,'wght' 400}
 .glass-card{background:rgba(255,255,255,0.6);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.4);border-bottom-color:rgba(0,0,0,0.05)}
 .sidebar-active-gradient{background:linear-gradient(90deg,rgba(201,168,98,0.12) 0%,rgba(201,168,98,0) 100%)}
 .av{border-radius:9999px;display:flex;align-items:center;justify-content:center;font-family:Manrope;font-weight:700;color:#fff;flex:none;position:relative;overflow:hidden}
 .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
 .badge{font-size:11px;font-weight:600;padding:2px 9px;border-radius:9999px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
 .b-fresh{background:#E3F0EA;color:#1E5C42}.b-stale{background:#F6EBDD;color:#7A4E22}.b-need{background:#FBE9E7;color:#b3261e}.b-neu{background:#EAE7E7;color:#5f6562}.b-gold{background:#FBF1DC;color:#7a5f1f}
 .st{font-size:11px;font-weight:600;padding:3px 10px;border-radius:9999px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex:none}
 .st-ok{background:#E3F0EA;color:#1E5C42}.st-mod{background:#EFEBE9;color:#434845}.st-watch{background:#F6EBDD;color:#7A4E22}.st-gap{background:#FBE9E7;color:#b3261e}.st-wait{background:#F6EBDD;color:#7A4E22}
 .chip{padding:7px 14px;border-radius:9999px;font-size:12.5px;cursor:pointer;border:1px solid #E7E3E1;background:#fff;color:#1b1c1b;white-space:nowrap}
 .chip:hover{border-color:#C9A862;background:#FBF7EF}
 .modetab{padding:5px 15px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:9999px;border:1px solid transparent;transition:.15s;line-height:1.4}
 .modetab.on{color:#1b1c1b;background:#C9A862;border-color:#C9A862;box-shadow:0 2px 8px -3px rgba(201,168,98,.85)}
 .modetab.off{color:#5f6562;background:rgba(255,255,255,.7);border-color:#E7E3E1}
 .modetab.off:hover{color:#1b1c1b;border-color:#C9A862;background:#FBF7EF}
 .btnk{padding:9px 16px;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:.15s}
 .btn-pri{background:#000;color:#fff}.btn-pri:hover{background:#222}
 .btn-sec{background:rgba(255,255,255,.7);color:#1b1c1b;border:1px solid #E7E3E1}.btn-sec:hover{border-color:#C9A862;background:#FBF7EF}
 .btn-gold{background:#fff;color:#7a5f1f;border:1px solid rgba(201,168,98,.5)}.btn-gold:hover{background:#FBF7EF}
 .evlink{font-size:12px;color:#7a5f1f;border-bottom:1px dashed #d8c79c;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
 .ws{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9a9e9b;display:inline-flex;align-items:center;gap:4px;cursor:pointer}
 .ws:hover{color:#7a5f1f}
 .ovl{position:fixed;inset:0;background:rgba(20,22,20,.5);backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:40px}
 .drawer{position:fixed;top:0;right:0;height:100%;width:430px;background:#fff;z-index:120;box-shadow:-24px 0 60px rgba(0,0,0,.16);transform:translateX(100%);transition:transform .28s ease;overflow-y:auto}
 .drawer.open{transform:none}.hide{display:none}
 .lbl{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#9a9e9b}
 .toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);background:#1b1c1b;color:#fff;padding:11px 20px;border-radius:12px;font-size:13px;z-index:200;opacity:0;transition:.25s;box-shadow:0 10px 30px rgba(0,0,0,.25);pointer-events:none}
 .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
 ::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#dcd7d3;border-radius:9px}

 /* ---- collapsible briefing cards ---- */
 .brief-toggle{flex:none;width:32px;height:32px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#5f6562;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.06);transition:.15s;padding:0}
 .brief-toggle:hover{color:#1b1c1b;background:#fff;border-color:#C9A862}
 .brief-chev{font-size:22px;line-height:1;transition:transform .28s ease}
 .brief-chev.col{transform:rotate(-90deg)}
 .brief-body{overflow:hidden;max-height:1400px;opacity:1;transition:max-height .32s ease,opacity .24s ease}
 .brief-body.col{max-height:0;opacity:0}

 /* ---- collapsible shells ---- */
 #leftbar{transition:width .26s ease,padding .26s ease}
 #mainShell{transition:margin-left .26s ease}
 .leftbar-toggle{cursor:pointer}
 #leftbar .brand-mark{display:none}
 #leftbar.collapsed{width:76px;padding-left:12px;padding-right:12px}
 #leftbar.collapsed .brand-full{display:none}
 #leftbar.collapsed .brand-mark{display:block}
 #leftbar.collapsed .left-head{flex-direction:column;gap:12px;justify-content:center}
 #leftbar.collapsed #nav a,
 #leftbar.collapsed .left-foot a,
 #leftbar.collapsed .left-foot button{justify-content:center;padding-left:0;padding-right:0;gap:0}
 #leftbar.collapsed #nav a > span:not(.material-symbols-outlined),
 #leftbar.collapsed .left-foot a > span:not(.material-symbols-outlined),
 #leftbar.collapsed .left-foot button > span:not(.material-symbols-outlined){display:none}
 #mainShell.left-collapsed{margin-left:76px}

 #rightbar{transition:width .26s ease,padding .26s ease,opacity .2s ease}
 #mainShell.right-collapsed #rightbar{width:0 !important;min-width:0;padding-left:0 !important;padding-right:0 !important;opacity:0;overflow:hidden;border-left-width:0}
 .rightbar-toggle{position:absolute;top:50%;transform:translateY(-50%);right:400px;z-index:45;width:26px;height:50px;display:flex;align-items:center;justify-content:center;background:rgba(252,249,248,.85);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6);border-right-width:0;border-radius:12px 0 0 12px;color:#434845;cursor:pointer;box-shadow:-8px 0 20px -12px rgba(0,0,0,.3);transition:right .26s ease,background .15s ease,color .15s ease}
 .rightbar-toggle:hover{background:#FBF7EF;color:#1b1c1b}
 #mainShell.right-collapsed .rightbar-toggle{right:0}

 /* ---- calendar layer ---- */
 .calev{border:1px solid #E7E3E1;border-radius:14px;padding:11px 14px;margin-bottom:8px;cursor:pointer;background:#fff;transition:.12s}
 .calev:hover{border-color:#C9A862;background:#FBF7EF}
 .caldot{width:9px;height:9px;border-radius:3px;display:inline-block;flex:none}
 .calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
 .calcell{min-height:74px;border:1px solid #eceae8;border-radius:10px;padding:5px 6px;font-size:11px;background:#fff;cursor:default}
 .calcell:hover{border-color:#E7E3E1}
 .evcard{border:1px solid #E7E3E1;border-radius:18px;padding:18px;background:#fff}
 .tierb{font-size:10px;font-weight:600;padding:2px 9px;border-radius:9999px}
 .calvbtn{padding:6px 13px;border-radius:9999px;font-size:12px;font-weight:600;cursor:pointer}
 .calvbtn.on{background:#000;color:#fff}.calvbtn.off{color:#5f6562;border:1px solid #E7E3E1}

/* ---- page-specific styles (merged) ---- */
 .b-fresh{background:#E3F0EA;color:#1E5C42}.b-stale{background:#F6EBDD;color:#7A4E22}.b-est{background:#F6EBDD;color:#7A4E22}.b-need{background:#FBE9E7;color:#b3261e}.b-neu{background:#EAE7E7;color:#5f6562}
 .st-ok{background:#E3F0EA;color:#1E5C42}.st-mod{background:#EFEBE9;color:#434845}.st-watch{background:#F6EBDD;color:#7A4E22}.st-need{background:#F6EBDD;color:#7A4E22}.st-gap{background:#FBE9E7;color:#b3261e}.st-wait{background:#F6EBDD;color:#7A4E22}
 .finna-tabbar{background:linear-gradient(to bottom,#f6f3f2 70%,rgba(246,243,242,0))}
 .tab{padding:7px 15px;border-radius:9999px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:.15s}
 .tab.on{background:#000;color:#fff}.tab.off{background:transparent;color:#5f6562;border:1px solid #E7E3E1}.tab.off:hover{background:#F0F2F2}
 .drawer{position:fixed;top:0;right:0;height:100%;width:420px;background:#fff;z-index:120;box-shadow:-24px 0 60px rgba(0,0,0,.16);transform:translateX(100%);transition:transform .28s ease;overflow-y:auto}
 .barv{height:6px;border-radius:999px;background:#ECE9E7;overflow:hidden}.barv>i{display:block;height:100%;border-radius:999px}
 .opp{border:1px solid #E7E3E1;border-radius:18px;padding:18px;background:#fff;position:relative}
 .opp.locked{background:#FAF9F8;border-style:dashed}
 .opp.locked .opp-body{opacity:.55}
 .b-fresh{background:#E3F0EA;color:#1E5C42}.b-stale{background:#F6EBDD;color:#7A4E22}.b-need{background:#FBE9E7;color:#b3261e}.b-neu{background:#EAE7E7;color:#5f6562}
 .edu{border:1px solid #E7E3E1;border-radius:16px;padding:16px;background:#fff}
 .vrow{cursor:pointer}.vrow:hover{background:#FBF7EF}
 .step{flex:1;text-align:center;padding:10px 6px;border-radius:12px;border:1px solid #E7E3E1;background:#fff;font-size:11px;color:#5f6562}
 .memcard{border:1px solid #E7E3E1;border-radius:18px;padding:18px;background:#fff;cursor:pointer;transition:.15s;width:280px}
 .memcard:hover{border-color:#C9A862;box-shadow:0 8px 24px -12px rgba(0,0,0,.15)}
 .conn{width:1px;height:26px;background:#d8d3cf;margin:0 auto}.connh{height:1px;background:#d8d3cf}
 .badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:9999px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
 .b-neu{background:#EAE7E7;color:#5f6562}.b-prog{background:#F6EBDD;color:#7A4E22}.b-draft{background:#E1E7F2;color:#26375E}.b-ok{background:#E3F0EA;color:#1E5C42}.b-lock{background:#EFEBE9;color:#9a9e9b}
 .chip{padding:7px 13px;border-radius:9999px;font-size:12.5px;cursor:pointer;border:1px solid #E7E3E1;background:#fff;color:#1b1c1b;white-space:nowrap;transition:.12s}
 .chip.sel{background:#1F2A24;color:#fff;border-color:#1F2A24}
 .hide{display:none}
 .seclink{padding:9px 11px;border-radius:11px;cursor:pointer;transition:.12s;border:1px solid transparent}
 .seclink:hover{background:#FBF7EF}.seclink.on{background:#fff;border-color:#E7E3E1;box-shadow:0 4px 14px -8px rgba(0,0,0,.12)}
 .crest{width:96px;height:120px;border-radius:14px 14px 48px 48px;display:flex;align-items:center;justify-content:center;font-family:Manrope;font-weight:800;font-size:34px;cursor:pointer;transition:.15s}
 .crest:hover{transform:translateY(-3px)}
.memcard{width:340px}
.gtag{font-size:10px;font-weight:600;padding:3px 10px;border-radius:9999px;background:#E3F0EA;color:#1E5C42;display:inline-flex;align-items:center;gap:4px}

:root{
  --gold:#C9A862; --john:#2E4A73; --carrie:#1F4D3D; --econ:#B0743A; --gc:#6b2d5c; --prot:#3A7D88;
  --ink:#181D1A; --muted:#6b6f6c; --faint:#9a9e9b; --line:#e7e3e1; --paper:#ffffff; --bg:#e9e6e3;
  --pos:#1E5C42; --posbg:#E3F0EA; --warn:#7A4E22; --warnbg:#F6EBDD; --neut:#5f6562; --neutbg:#ECE9E7;
}#reportBody *{box-sizing:border-box}#reportBody{margin:0;background:var(--bg);font-family:Inter,system-ui,sans-serif;color:var(--ink);
  font-size:12.5px;line-height:1.55;-webkit-font-smoothing:antialiased;padding:34px 0}#reportBody h1,#reportBody h2,#reportBody h3,#reportBody h4{font-family:Manrope,sans-serif;margin:0;letter-spacing:-.01em}#reportBody .ms{font-family:'Material Symbols Outlined';font-variation-settings:'FILL' 0,'wght' 400,'opsz' 24;font-style:normal}#reportBody .ms.f{font-variation-settings:'FILL' 1,'wght' 400}#reportBody /* ---- page ---- */
.page{width:820px;min-height:1110px;background:var(--paper);margin:0 auto 30px;padding:54px 58px 46px;
  position:relative;box-shadow:0 18px 50px -24px rgba(0,0,0,.28);display:flex;flex-direction:column}#reportBody .page::after{content:attr(data-pg);position:absolute;bottom:30px;right:58px;font-size:10px;color:var(--faint);letter-spacing:.04em}#reportBody .foot{position:absolute;bottom:28px;left:58px;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}#reportBody /* ---- brand ---- */
.logo{height:44px;width:auto;display:block}#reportBody .brandmark{position:absolute;top:46px;right:56px;width:32px;height:32px}#reportBody .eyebrow{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}#reportBody .cover .eyebrow{color:var(--gold);font-size:12.5px;font-weight:700;letter-spacing:.16em}#reportBody /* ---- advisor header ---- */
.av{border-radius:50%;background-size:cover;background-position:center top;flex:none;background-color:#ddd;
  box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--c, var(--gold))}#reportBody .adv{display:flex;align-items:center;gap:14px;margin-bottom:4px}#reportBody .adv .meta .nm{font-family:Manrope;font-weight:700;font-size:13px;line-height:1.2}#reportBody .adv .meta .rl{font-size:10.5px;letter-spacing:.04em;color:var(--muted)}#reportBody .sectitle{font-size:23px;font-weight:700;margin:14px 0 0;letter-spacing:-.02em}#reportBody .secsub{color:var(--muted);font-size:12px;margin-top:3px}#reportBody .divider{height:1px;background:var(--line);margin:16px 0 18px}#reportBody /* ---- voice bubble ---- */
.voice{border-radius:14px;padding:13px 16px;margin:14px 0 4px;font-size:12.5px;line-height:1.6;
  border-left:3px solid var(--c,var(--gold))}#reportBody /* ---- cards / grids ---- */
.card{border:1px solid var(--line);border-radius:15px;padding:16px 17px;background:#fff}#reportBody .card .lbl{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}#reportBody .grid{display:grid;gap:13px}#reportBody .g2{grid-template-columns:1fr 1fr}#reportBody .g3{grid-template-columns:1fr 1fr 1fr}#reportBody .g4{grid-template-columns:repeat(4,1fr)}#reportBody .kpi .v{font-family:Manrope;font-weight:700;font-size:21px;line-height:1.05;margin-top:2px}#reportBody .kpi .s{font-size:10.5px;color:var(--muted);margin-top:4px}#reportBody .up{color:var(--pos);font-weight:600}#reportBody .dn{color:#b3261e;font-weight:600}#reportBody /* ---- tags ---- */
.tag{font-size:9.5px;font-weight:600;padding:2px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;line-height:1.5}#reportBody .t-ok{background:var(--posbg);color:var(--pos)}#reportBody .t-due{background:var(--warnbg);color:var(--warn)}#reportBody .t-gap{background:#FBE9E7;color:#b3261e}#reportBody .t-neu{background:var(--neutbg);color:var(--neut)}#reportBody /* ---- rows ---- */
.row{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:12px}#reportBody .row:first-child{border-top:0}#reportBody .row .nm{flex:1}#reportBody .row .rt{color:var(--muted);font-variant-numeric:tabular-nums}#reportBody .dotmark{width:18px;text-align:center;font-size:17px;line-height:1}#reportBody /* ---- bars ---- */
.bar{height:7px;border-radius:999px;background:#eceae8;overflow:hidden}#reportBody .bar>i{display:block;height:100%;border-radius:999px}#reportBody .barrow{margin:9px 0}#reportBody .barrow .top{display:flex;justify-content:space-between;font-size:11px;margin-bottom:5px}#reportBody .barrow .top b{font-family:Manrope;font-weight:600}#reportBody /* ---- donut ---- */
.donut{width:142px;height:142px;border-radius:50%;flex:none;position:relative}#reportBody .donut::after{content:'';position:absolute;inset:26px;background:#fff;border-radius:50%}#reportBody .donut .ctr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}#reportBody .donut .ctr b{font-family:Manrope;font-weight:700;font-size:17px}#reportBody .donut .ctr span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}#reportBody .leg{font-size:11px}#reportBody .leg div{display:flex;align-items:center;gap:8px;padding:4px 0}#reportBody .leg .sw{width:9px;height:9px;border-radius:3px;flex:none}#reportBody .leg .pc{margin-left:auto;font-family:Manrope;font-weight:600;color:var(--muted)}#reportBody /* ---- callout ---- */
.note{border-radius:13px;padding:12px 15px;font-size:11.5px;line-height:1.55;display:flex;gap:10px;align-items:flex-start}#reportBody .note .ms{font-size:18px;flex:none;margin-top:1px}#reportBody .note.warn{background:var(--warnbg);color:#5d3c1a}#reportBody .note.ok{background:var(--posbg);color:#1c4d39}#reportBody /* ---- action list ---- */
.act{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--line)}#reportBody .act:first-child{border-top:0}#reportBody .act .pri{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:6px;white-space:nowrap;margin-top:1px}#reportBody .p-hi{background:#FBE9E7;color:#b3261e}#reportBody .p-md{background:var(--warnbg);color:var(--warn)}#reportBody .p-lo{background:var(--neutbg);color:var(--neut)}#reportBody .act .body .t{font-weight:600;font-size:12.5px}#reportBody .act .body .d{color:var(--muted);font-size:11px;margin-top:2px}#reportBody .act .who{display:flex;align-items:center;gap:7px;margin-left:auto;white-space:nowrap;font-size:10.5px;color:var(--muted)}

/* ============================================================
   RESPONSIVE LAYER — mobile & tablet (added for responsiveness)
   Desktop (>=1024px) is intentionally unaffected.
   ============================================================ */
#mobileTopbar{display:none}
#navBackdrop{display:none}

@media (max-width:1023px){
  html,body{overflow:auto !important;height:auto !important}
  body.nav-open{overflow:hidden !important}

  /* ---- mobile top bar ---- */
  #mobileTopbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:40;
    padding:10px 16px;background:rgba(252,249,248,.92);backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(0,0,0,.06)}
  #mobileTopbar img{margin-right:auto}
  #mobileTopbar button{flex:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#1b1c1b;background:transparent}
  #mobileTopbar button:active{background:rgba(0,0,0,.06)}

  /* ---- left nav becomes off-canvas drawer ---- */
  #leftbar{transform:translateX(-100%);transition:transform .26s ease;z-index:70;
    width:272px !important;padding-left:20px !important;padding-right:20px !important;
    box-shadow:8px 0 40px rgba(0,0,0,.18)}
  #leftbar.mobile-open{transform:none}
  /* neutralise desktop icon-only collapse inside the mobile drawer */
  #leftbar.collapsed{width:272px !important;padding-left:20px !important;padding-right:20px !important}
  #leftbar.collapsed .brand-full{display:block}
  #leftbar.collapsed .brand-mark{display:none}
  #leftbar.collapsed .left-head{flex-direction:row;gap:8px;justify-content:space-between}
  #leftbar.collapsed #nav a,
  #leftbar.collapsed .left-foot a,
  #leftbar.collapsed .left-foot button{justify-content:flex-start;padding-left:16px;padding-right:16px;gap:16px}
  #leftbar.collapsed #nav a > span:not(.material-symbols-outlined),
  #leftbar.collapsed .left-foot a > span:not(.material-symbols-outlined),
  #leftbar.collapsed .left-foot button > span:not(.material-symbols-outlined){display:inline}

  #navBackdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:60;opacity:0;pointer-events:none;transition:opacity .2s ease}
  #navBackdrop.show{opacity:1;pointer-events:auto}

  /* ---- main shell flows vertically, full width ---- */
  #mainShell{margin-left:0 !important;flex-direction:column;height:auto !important;min-height:100vh;overflow:visible !important;padding-bottom:196px}
  #mainShell.left-collapsed{margin-left:0 !important}
  #mainShell > section{overflow:visible !important;height:auto}
  #pageBody{overflow:visible !important;height:auto;flex:none;
    padding-left:18px !important;padding-right:18px !important;padding-top:18px !important;
    padding-bottom:18px !important}

  /* right rail stacks below the main content */
  #rightbar{width:100% !important;min-width:0;border-left:0;border-top:1px solid var(--line,#e7e3e1);
    padding:20px 18px !important;opacity:1 !important;overflow:visible !important}
  #mainShell.right-collapsed #rightbar{width:100% !important;opacity:1 !important;padding:20px 18px !important;border-left-width:0;overflow:visible !important}
  /* desktop rail toggle hidden on mobile */
  .rightbar-toggle{display:none !important}

  /* ---- Ask Freya bar pinned to bottom ---- */
  #askbar{position:fixed !important;left:0;right:0;bottom:0;z-index:50;
    padding-left:14px !important;padding-right:14px !important;padding-top:24px !important;padding-bottom:12px !important}
  #askprompts{flex-wrap:nowrap !important;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:2px}
  #askprompts::-webkit-scrollbar{display:none}
  #askprompts .chip{flex:none}
  #askmodes{gap:18px !important}
}

/* ---- modals & drawers on small screens ---- */
@media (max-width:640px){
  .ovl{padding:12px !important;align-items:flex-start}
  .ovl > div{max-height:92vh;overflow-y:auto;margin-top:8px}
  .ovl .p-7{padding:18px !important}
  .ovl .p-6{padding:16px !important}
  .drawer{width:90vw !important;max-width:360px}
}

/* ---- calendar modal: stack grid + day detail ---- */
@media (max-width:768px){
  #calmodal > div{max-height:92vh}
  #cal-split{flex-direction:column;overflow-y:auto !important;overflow-x:hidden}
  #cal-main{flex:none;padding:16px !important}
  #cal-detail{width:100% !important;border-left:0 !important;border-top:1px solid var(--line,#e7e3e1);padding:16px !important}
  #calmodal .calgrid{gap:3px}
  #calmodal .calcell{min-height:52px;padding:3px 4px}
}

/* ---- family charter overlay: stacked panels w/ mobile tabs ---- */
#charterMobileTabs{display:none}
@media (max-width:1023px){
  #charterOverlay{overflow-y:auto;-webkit-overflow-scrolling:touch}
  #charterOverlay > button{position:fixed !important}
  #charterMain{flex-direction:column;height:auto !important;min-height:100vh;overflow:visible !important;padding-top:52px}
  #charterMobileTabs{display:flex;position:fixed;top:0;left:0;right:0;z-index:155;
    background:rgba(252,249,248,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06);padding:8px 56px 8px 12px;gap:6px}
  #charterMobileTabs button{flex:1;padding:8px 4px;border-radius:10px;font-size:12px;font-weight:600;color:#5f6562;background:transparent;border:1px solid transparent}
  #charterMobileTabs button.on{background:#000;color:#fff}
  .chpanel{width:100% !important;border-left:0 !important;border-right:0 !important;overflow:visible !important;height:auto}
  #ch_progress{border-bottom:1px solid var(--line,#e7e3e1)}
  #ch_section{display:none}
  #ch_convo{overflow:visible !important;height:auto}
  #ch_section .px-margin-desktop{padding-left:18px !important;padding-right:18px !important}
  /* mobile tab visibility */
  #charterOverlay.ct-sections #ch_progress{display:block}
  #charterOverlay.ct-sections #ch_section,#charterOverlay.ct-sections #ch_draft{display:none}
  #charterOverlay.ct-convo #ch_section{display:flex}
  #charterOverlay.ct-convo #ch_progress,#charterOverlay.ct-convo #ch_draft{display:none}
  #charterOverlay.ct-draft #ch_draft{display:block}
  #charterOverlay.ct-draft #ch_progress,#charterOverlay.ct-draft #ch_section{display:none}
}

/* ---- monthly report: fit-to-width instead of fixed 820px ---- */
@media (max-width:900px){
  #reportBody{padding:12px 0 !important}
  #reportBody .page{width:auto !important;max-width:680px;min-height:0 !important;
    margin:0 12px 16px !important;padding:26px 22px 34px !important}
  #reportBody .brandmark{top:22px;right:18px}
  #reportBody .page::after{right:18px;bottom:14px}
  #reportBody .foot{left:18px;bottom:14px}

  /* cover: switch from fixed-height space-between to natural flow so the
     absolutely/negative-margin positioned blocks stop overlapping */
  #reportBody .cover{justify-content:flex-start !important;gap:26px}
  #reportBody .cover .covmid{margin:0 !important}
  #reportBody .cover h1{font-size:38px !important}
  #reportBody .cover .covstats{flex-wrap:wrap;gap:20px 30px !important;margin-top:26px !important;padding-top:22px !important}
  #reportBody .cover .covstats>div{align-self:auto !important}
  #reportBody .cover .covteam{flex-wrap:wrap;row-gap:10px}
  #reportBody .cover .covnames{margin-left:0 !important;flex-basis:100%}
  #reportBody .cover .foot{position:static !important;margin-top:6px}
}
@media (max-width:560px){
  #reportBody .g3,#reportBody .g4{grid-template-columns:1fr 1fr}
  #reportBody .g2{grid-template-columns:1fr}
}
@media (max-width:430px){
  #reportBody .page{padding:22px 18px 24px !important}
  #reportBody .cover h1{font-size:32px !important}
  #reportBody .cover .covstats p[style*="font-size:38px"]{font-size:30px !important}
  #reportBody .cover .covstats{gap:18px 24px !important}
}
