:root{
  /* HFG digital palette: dark blue #084B7B, light blue #0EA0C1, green #D7DB00 */
  --navy:#084B7B; --navy-deep:#06375A; --steel:#0EA0C1; --sky:#9ED8E6; --lime:#D7DB00;
  --on-steel:#06263D;
  --bg:#F3F7F9; --card:#FFFFFF; --ink:#13283D; --muted:#4D6375; --line:#D5E2EA; --ice:#E6F2F6;
  --link:#084B7B; --on-navy:#FFFFFF; --warn:#B3261E; --warn-bg:#FCECEA;
  /* HFG brand face (Adobe Fonts kit pon7ryr, linked in index.html). */
  --display:"dunbartext", "Helvetica Neue", "Segoe UI", system-ui, sans-serif;
  --body:"dunbartext", "Helvetica Neue", "Segoe UI", system-ui, -apple-system, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0D1B28; --card:#14283A; --ink:#E7EFF4; --muted:#A3BACB; --line:#26435C; --ice:#1A3349;
    --link:#9CCBE3; --warn:#FF8A80; --warn-bg:#3A1F22; color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0D1B28; --card:#14283A; --ink:#E7EFF4; --muted:#A3BACB; --line:#26435C; --ice:#1A3349;
  --link:#9CCBE3; --warn:#FF8A80; --warn-bg:#3A1F22; color-scheme: dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:140px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--navy-deep)}
img,svg{max-width:100%}
a{color:var(--link)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--display);line-height:1.15;letter-spacing:-.015em;margin:0}
h2{font-size:clamp(26px,4vw,34px);font-weight:700}
h3{font-size:20px;font-weight:600}
h4{font-family:var(--display);font-weight:600;margin:0}
p{margin:0 0 12px}


/* top bar */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--navy-deep);color:var(--on-navy)}
.bar-inner{max-width:1120px;margin:0 auto;padding:12px 20px 0;display:flex;flex-direction:column;gap:8px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:36px;width:auto;display:block}
.nav-logo-link{display:flex;align-items:center;border-radius:6px}
/* display:flex above outspecifies the UA [hidden] rule — restate it so
   levelup.js can hide the portal link when framed (portal embed). */
.nav-logo-link[hidden]{display:none}
.brand .prog .pt{display:block;color:#fff;font-size:17px;font-weight:700;letter-spacing:0}
.hero-copy .prog-name{font-family:var(--display);font-weight:700;font-size:clamp(20px,3vw,28px);color:var(--lime);margin:8px 0 0;position:relative;z-index:1}
.brand .prog{font-family:var(--display);font-weight:600;font-size:13px;color:var(--sky);letter-spacing:.04em;padding-left:12px;border-left:1px solid rgba(255,255,255,.3);line-height:1.2}
.tabs{display:flex;gap:4px}
.tabs a{display:flex;align-items:center;gap:8px;color:#CFE2EC;text-decoration:none;font-weight:600;font-size:15px;padding:10px 12px 12px;border-bottom:3px solid transparent}
.tabs a svg{width:20px;height:20px;display:none}
.tabs a:hover{color:#fff}
.tabs a[aria-current="page"]{color:#fff;border-bottom-color:var(--lime)}

/* layout */
main{max-width:1120px;margin:0 auto;padding:26px 20px 40px}
.view{display:none}
.view.on{display:block}
.lede{font-size:18px;color:var(--muted);max-width:68ch;margin-top:8px}
.section-head{margin-bottom:20px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
.panel > h3 + *{margin-top:10px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.stack{display:grid;gap:16px;align-content:start}
.note{font-size:14px;color:var(--muted)}
.pill{display:inline-block;font-size:13px;font-weight:600;padding:3px 10px;border-radius:99px;background:var(--ice);color:var(--ink)}
.chip{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--ice);color:var(--ink);white-space:nowrap}
.chip.held{background:var(--lime);color:#13283D}
.chip.warn{background:var(--warn-bg);color:var(--warn)}
.chip.pro{background:var(--steel);color:var(--on-steel)}
.mt{margin-top:16px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;border-radius:10px;padding:10px 16px;font-weight:700;background:var(--lime);color:#13283D;text-decoration:none;font-size:16px}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn.navy{background:var(--navy);color:#fff}
.btn.small{padding:6px 12px;font-size:14px}
.btn:hover{filter:brightness(.96)}
.linkbtn{background:none;border:0;padding:0;color:var(--link);font-weight:600;cursor:pointer;text-decoration:underline}

/* sub nav */
.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.subnav a{text-decoration:none;font-weight:600;font-size:15px;padding:8px 14px;border-radius:99px;border:1.5px solid var(--line);color:var(--ink);background:var(--card);display:inline-flex;align-items:center;gap:6px}
.subnav a[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff}
.subnav a.is-locked{color:var(--muted)}
.lk{display:inline-block;width:10px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 12'%3E%3Cpath d='M2 5V3.5a3 3 0 0 1 6 0V5h1v7H1V5h1Zm1.5 0h3V3.5a1.5 1.5 0 0 0-3 0V5Z'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 12'%3E%3Cpath d='M2 5V3.5a3 3 0 0 1 6 0V5h1v7H1V5h1Zm1.5 0h3V3.5a1.5 1.5 0 0 0-3 0V5Z'/%3E%3C/svg%3E") no-repeat center/contain}
.sub{display:none}
.sub.on{display:block}

/* lock card */
.lockcard{max-width:640px;margin:20px auto;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:34px 26px}
.lockcard .ic{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--ice);display:grid;place-items:center;color:var(--link)}
.lockcard h2{font-size:clamp(22px,3.5vw,28px)}
.lockcard .when{display:inline-block;margin:14px 0 10px;padding:6px 14px;border-radius:99px;background:var(--lime);color:#13283D;font-weight:700}
.inline-lock{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:var(--ice);font-weight:600;font-size:15px}

/* this week */
.wk-hero{background:var(--navy);color:#fff;border-radius:16px;padding:16px 22px;margin-bottom:16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center}
.wk-hero .kicker{color:var(--sky);font-weight:600;font-size:14px;font-family:var(--display)}
.wk-hero h2{color:#fff;margin-top:2px;font-size:clamp(22px,3vw,28px)}
.wk-hero .focus{color:#D6E7F0;margin:4px 0 0;max-width:70ch;font-size:16px}
.wk-hero .tag{display:inline-block;flex:none;background:var(--lime);color:#13283D;font-size:13px;font-weight:700;padding:3px 10px;border-radius:6px}
.wk-pts{text-align:right}
.wk-pts b{display:block;font-family:var(--display);font-size:44px;line-height:1;color:var(--lime)}
.wk-pts span{font-size:14px;color:#D6E7F0}
.layout{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start}
.checks{list-style:none;margin:0;padding:0}
.checks li{margin-bottom:8px}
.checks label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.checks input{width:20px;height:20px;margin-top:3px;accent-color:var(--navy);flex:none}
.checks input:checked + span{text-decoration:line-through;color:var(--muted)}
.track-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.track-list li{padding:5px 10px;background:var(--ice);border-radius:8px;font-size:14px}
.win{margin-top:14px;padding:12px 14px;border-radius:10px;border:1.5px dashed var(--steel);font-size:15px}
.win b{color:var(--link)}
.win textarea{width:100%;margin-top:8px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);min-height:64px;resize:vertical}
.wk-progress{height:6px;border-radius:6px;background:var(--ice);margin-top:14px;overflow:hidden}
.wk-progress div{height:100%;background:var(--lime);width:0;transition:width .3s}
.counters{display:grid;gap:10px}
.counter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.counter:last-child{border-bottom:0}
.counter b{font-family:var(--display);font-size:28px;line-height:1;margin-right:8px}
.counter .lbl{font-weight:600}
.counter .lbl small{display:block;font-size:13px;color:var(--muted);font-weight:500}
.counter .ctl{display:flex;gap:6px;flex:none}
.counter .ctl button{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);cursor:pointer;font-weight:700;font-size:20px}
.act-row{display:grid;grid-template-columns:1fr auto 54px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.act-row .lbl{font-weight:700}
.act-row .lbl small{display:block;font-size:13px;color:var(--muted);font-weight:500;line-height:1.35;margin-top:2px}
.act-row .ctl{display:flex;gap:6px;align-items:center}
.act-row .ctl b{font-family:var(--display);font-size:22px;min-width:28px;text-align:center}
.act-row .ctl .sq{width:38px;height:38px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);cursor:pointer;font-weight:700;font-size:20px}
.act-row .ap{font-family:var(--display);font-weight:700;color:var(--link);text-align:right}
.act-row .ap.zero{color:var(--muted);opacity:.6}
.ptotal{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 4px;font-family:var(--display);font-weight:700}
.ptotal b{font-size:28px;color:var(--ink)}
.ptable{width:100%;border-collapse:collapse;font-size:15px}
.ptable th{text-align:left;font-family:var(--display);font-weight:600;color:var(--muted);font-size:13px;padding:6px 8px;border-bottom:1px solid var(--line)}
.ptable td{padding:9px 8px;border-bottom:1px solid var(--line)}
.ptable td.n,.ptable th.n{text-align:right;white-space:nowrap}
.ptable tfoot td{font-family:var(--display);font-weight:700;border-bottom:0}
.ref-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.ref-row:last-child{border-bottom:0}
.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:16px}
.seg button{border:1.5px solid var(--line);background:var(--bg);border-radius:10px;padding:9px 4px;font-weight:700;font-size:14px;cursor:pointer;color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.fgrid label.checkline{flex-direction:row;align-items:center;gap:10px;color:var(--ink);font-size:15px}
.fgrid label.checkline input{width:20px;height:20px;accent-color:var(--navy);flex:none}
.kind{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--link)}
.feedline{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.feedline:last-of-type{border-bottom:0}
.agentfilter{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;font-weight:600;color:var(--muted)}
.agentfilter select{padding:7px 10px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}
.agent-row .nm button{font-weight:700;font-size:inherit;color:var(--ink);text-decoration:none;text-align:left}
.agent-row .nm button:hover{text-decoration:underline}
.actwrap{margin-bottom:16px}
.acthead{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap;margin-bottom:10px}
.actstrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,1.15fr);gap:10px}
#activity{display:contents}
.acttile{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.acttile .k{font-size:13px;font-weight:700;color:var(--muted)}
.acttile b{font-family:var(--display);font-size:34px;line-height:1.05}
.acttile .s{font-size:12px;color:var(--muted);line-height:1.3}
.acttile .f{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding-top:10px}
.acttile .ap{font-family:var(--display);font-weight:700;font-size:14px;color:var(--link);white-space:nowrap}
.acttile .ap.zero{color:var(--muted);opacity:.6}
.acttile.total{background:var(--lime);border-color:var(--lime);color:#13283D}
.acttile.total .k,.acttile.total .s{color:#2E4A2F}
.acttile.total b{font-size:40px}
.acttile.total .btn{margin-top:auto;border-color:#13283D;color:#13283D;align-self:flex-start}
.wk-hero .hl{flex:1 1 380px;min-width:0}
.wk-hero .tag{margin-top:8px}
.hcard{flex:0 1 330px;display:block;text-decoration:none;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:12px 14px}
.hcard:hover{background:rgba(255,255,255,.13)}
.hcard .k{display:block;font-family:var(--display);font-weight:600;font-size:15px}
.hcard #miniCount{display:block;font-size:13px;color:#D6E7F0}
.hcard .cups.mini{margin:8px 0 0}
.wk-hero .cup.cur{border-color:var(--sky)}
.wk-hero .cup.pro{border-color:var(--steel)}
.wk-hero .cup svg{opacity:.6}
.wk-hero .cup svg path{stroke:#fff}
.wk-hero .cup.filled.cur{background:#fff}
.wk-hero .cup.filled.cur svg path{stroke:var(--navy)}
.wk-hero .next-up{background:rgba(255,255,255,.1);color:#fff;padding:8px 12px;margin-top:10px;font-size:14px;border-radius:10px}
.wk-hero .next-up svg{color:var(--lime);width:20px;height:20px}
.refbar{display:flex;justify-content:space-between;align-items:center;gap:10px 18px;flex-wrap:wrap;margin-top:10px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:12px;font-size:15px}
.refnums{display:flex;align-items:center;gap:16px;color:var(--muted);font-weight:600;font-size:14px}
.refnums b{font-family:var(--display);font-size:20px;color:var(--ink);margin-left:4px}
.mnav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mlabel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;text-align:center}
.mbtn{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);font-size:22px;line-height:1;cursor:pointer;color:var(--ink);flex:none}
.mbtn:disabled{opacity:.35;cursor:default}
.wk-hero .next-up a{color:var(--lime);font-weight:700}
.wk-hero .next-up + .next-up{margin-top:6px}
.rowhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bignum{font-family:var(--display);font-size:28px;line-height:1}
.attn{list-style:none;margin:0;padding:0}
.attn li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.attn li:last-child{border-bottom:0}
.attn .what b{display:block}
.next-up{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:12px;background:var(--ice);font-size:15px}
.next-up svg{flex:none;color:var(--link)}

/* coffee card */
.cups{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0 10px}
.cups.mini{grid-template-columns:repeat(12,1fr);gap:5px;margin:10px 0 6px}
.cupwrap{text-align:center;min-width:0}
.cup{aspect-ratio:1;border-radius:50%;border:2px dashed var(--sky);display:grid;place-items:center}
.cups.mini .cup{border-width:1.5px}
.cup svg{width:55%;height:55%;opacity:.35}
.cup.cur{border-color:var(--navy)}
.cup.pro{border-color:var(--steel)}
.cup.filled.cur{background:var(--navy);border-style:solid}
.cup.filled.pro{background:var(--steel);border-style:solid}
.cup.filled svg{opacity:1}
.cup.filled svg path{stroke:#fff}
.cup.filled.pro svg path{stroke:var(--on-steel)}
.cupname{font-size:12px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px}

/* meetings */
.agent-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.agent-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.agent-row:last-child{border-bottom:0}
.agent-row .nm{font-weight:700}
.agent-row .rs{font-size:13px;color:var(--muted)}
.agent-row .act{display:flex;gap:6px;align-items:center;flex:none;flex-wrap:wrap;justify-content:flex-end;max-width:58%}
.agent-empty{padding:10px 0;color:var(--muted);font-size:14px;border-bottom:1px dashed var(--line)}
.addagent{display:grid;grid-template-columns:1.2fr .9fr 1.6fr auto;gap:8px;margin-top:14px}
.addagent > *{min-width:0}
.addagent input,.addagent select{padding:9px 11px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.filters button{border:1.5px solid var(--line);background:var(--card);border-radius:99px;padding:6px 14px;font-weight:600;font-size:14px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.mcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}
.mcard .top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.mcard .top h4{font-size:18px}
.mcard .chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.mcard dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:15px}
.mcard dt{color:var(--muted);font-weight:600}
.mcard dd{margin:0}
.mcard .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.over{color:var(--warn);font-weight:700}
.empty{padding:26px;text-align:center;color:var(--muted);border:1.5px dashed var(--line);border-radius:14px}

/* dialog */
dialog{border:0;border-radius:18px;padding:0;width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);background:var(--card);color:var(--ink)}
dialog::backdrop{background:rgba(6,30,48,.55)}
.dlg-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:1}
.dlg-body{padding:18px 20px}
.dlg-foot{display:flex;gap:10px;flex-wrap:wrap;padding:14px 20px 20px}
.xbtn{background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--muted)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fgrid label,.fill label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600;color:var(--muted)}
.fgrid input,.fgrid select,.fill input,.fill textarea{padding:9px 11px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);font-weight:400;color:var(--ink);width:100%}
.fgrid .full{grid-column:1/-1}
fieldset{border:0;padding:0;margin:18px 0 0}
legend{font-family:var(--display);font-weight:600;font-size:17px;margin-bottom:4px;padding:0}
.steplabel{font-size:13px;font-weight:700;color:var(--link);letter-spacing:.04em;text-transform:uppercase}
.fill{display:grid;gap:10px;margin-top:10px}
.fill textarea{min-height:64px;resize:vertical}

/* scorecard */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.tile b{font-family:var(--display);font-size:30px;display:block;line-height:1.1}
.tile span{font-size:14px;color:var(--muted)}
.tile.navy{background:var(--navy);border-color:var(--navy);color:#fff}
.tile.navy span{color:#D6E7F0}
.tile.lime{background:var(--lime);border-color:var(--lime);color:#13283D}
.tile.lime span{color:#2E4A2F}
.tile.alert b{color:var(--warn)}
.bars{display:grid;gap:8px}
.barrow{display:grid;grid-template-columns:64px 1fr 40px;gap:10px;align-items:center;font-size:14px}
.barrow .track{height:14px;border-radius:7px;background:var(--ice);overflow:hidden}
.barrow .track div{height:100%;background:var(--navy);border-radius:7px}
.barrow.now .track div{background:var(--lime)}
.barrow .v{font-family:var(--display);font-weight:700;text-align:right}
.split{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--ice);margin:8px 0}
.split .a{background:var(--navy)}
.split .b{background:var(--steel)}
.score-list{list-style:none;padding:0;margin:0}
.score-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.score-list li:last-child{border-bottom:0}
.pts{font-family:var(--display);font-weight:700;color:var(--link);white-space:nowrap}
.badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.badge{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--card)}
.badge .medal{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:800;background:var(--ice);color:var(--muted);font-size:15px}
.badge.earned .medal{background:var(--lime);color:#13283D}
.badge b{display:block;font-size:15px}
.badge span{font-size:13px;color:var(--muted)}
.coachq{display:flex;flex-wrap:wrap;gap:10px}
.coachq span{background:var(--card);border:1.5px solid var(--steel);border-radius:99px;padding:8px 14px;font-weight:600;font-size:15px}

/* playbook */
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:stretch;margin-bottom:30px}
.hero-copy{background:var(--navy);color:#fff;border-radius:18px;padding:32px 30px;position:relative;overflow:hidden}
.hero-copy::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:var(--steel);opacity:.35}
.hero-copy h1{font-size:clamp(36px,6vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1}
.hero-copy .hsub{color:#D6E7F0;font-size:18px;margin-top:14px;max-width:44ch;position:relative;z-index:1}
.hero-copy .by{margin-top:20px;font-weight:600;color:var(--lime);position:relative;z-index:1}
.howto{list-style:none;padding:0;margin:0}
.howto li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}
.howto li:last-child{border-bottom:0}
.howto svg{width:22px;height:22px;color:var(--link)}
.targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:16px 0 28px}
.target{border-left:5px solid var(--steel);background:var(--card);border-radius:10px;padding:14px 16px;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.target b{font-family:var(--display);font-size:28px;display:block}
.target span{color:var(--muted);font-size:15px}
.target:first-child{border-left-color:var(--navy)}
.target:nth-child(3){border-left-color:var(--lime)}
.month-label{font-family:var(--display);font-weight:700;font-size:22px;margin:28px 0 12px}
.month-label:first-child{margin-top:0}
.week{display:grid;grid-template-columns:140px 1fr;margin-bottom:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.week-date{background:var(--navy);color:#fff;padding:18px 16px;font-family:var(--display)}
.week-date .num{font-size:13px;color:var(--sky);font-weight:500}
.week-date .d{font-size:18px;font-weight:700;line-height:1.2;margin-top:4px}
.week-date .tag{display:inline-block;margin-top:10px;background:var(--lime);color:#13283D;font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;font-family:var(--body)}
.week.pro .week-date{background:var(--steel);color:var(--on-steel)}
.week.pro .week-date .num{color:var(--on-steel);opacity:.8}
.week.review .week-date{background:var(--navy-deep)}
.week.current{border-color:var(--lime);box-shadow:0 0 0 2px var(--lime)}
.week-body{padding:18px 20px}
.week-body h3{margin-bottom:4px}
.week-body .focus{color:var(--muted);margin-bottom:14px;max-width:70ch}
.wk-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
.wk-cols h4{font-size:14px;color:var(--muted);margin:0 0 8px}
.agenda{list-style:none;padding:0;margin:0}
.agenda li{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.agenda li:last-child{border-bottom:0}
.agenda .min{font-family:var(--display);font-weight:700;color:var(--link)}
.outcome{background:var(--ice);border-radius:12px;padding:16px 18px;margin:16px 0 20px;font-weight:500}
.compare{width:100%;border-collapse:collapse;font-size:16px}
.compare th{font-family:var(--display);text-align:left;padding:12px;font-weight:600}
.compare th:first-child{background:var(--ice)}
.compare th:last-child{background:var(--navy);color:#fff}
.compare td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
.scroll{overflow-x:auto}
.rounds{counter-reset:r;list-style:none;padding:0;margin:0}
.rounds li{counter-increment:r;position:relative;padding:10px 0 10px 46px}
.rounds li::before{content:counter(r);position:absolute;left:0;top:8px;width:32px;height:32px;border-radius:50%;background:var(--steel);color:var(--on-steel);font-family:var(--display);font-weight:700;display:grid;place-items:center}
.observer{list-style:none;padding:0;margin:0}
.observer li{padding:7px 0 7px 28px;position:relative}
.observer li::before{content:"";position:absolute;left:0;top:13px;width:16px;height:16px;border-radius:4px;border:2px solid var(--steel)}
blockquote.say{margin:10px 0;padding:12px 14px;border-left:4px solid var(--lime);background:var(--ice);border-radius:0 10px 10px 0}

/* toolkit */
.script-group{margin-bottom:28px}
.script-group > h3{margin-bottom:12px}
.scripts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
.script{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column}
.script h4{font-size:16px;margin:0 0 10px}
.script blockquote{margin:0 0 12px;padding:12px 14px;border-left:4px solid var(--lime);background:var(--ice);border-radius:0 10px 10px 0;font-size:16px}
.script .tip{font-size:14px;color:var(--muted);margin-bottom:12px}
.script .btn{margin-top:auto;align-self:flex-start}
.script-locked{padding:18px;border:1.5px dashed var(--line);border-radius:14px;color:var(--muted);font-weight:600}
.qs{display:grid;gap:12px}
.q{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.q .ask{font-family:var(--display);font-weight:600;font-size:17px}
.q .fu{font-size:15px}
.q .fu b{color:var(--link)}
.meeting-bar{display:flex;border-radius:12px;overflow:hidden;margin:14px 0 8px;font-size:14px;font-weight:600}
.meeting-bar div{padding:12px 10px;color:#fff}
.meeting-bar .lbl{display:block;font-weight:500;opacity:.9}
.mb1{background:var(--steel);color:var(--on-steel) !important;flex:5}.mb2{background:var(--navy);flex:12}.mb3{background:var(--navy-deep);flex:5}.mb4{background:var(--lime);color:#13283D !important;flex:3}

/* fab + toast */
.fab{display:none;position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:25;box-shadow:0 6px 18px rgba(6,30,48,.25);border-radius:99px;padding:13px 20px}
.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);background:var(--navy-deep);color:#fff;padding:10px 18px;border-radius:10px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:60}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

footer{max-width:1120px;margin:0 auto;padding:22px 20px 34px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}

@media (max-width:1000px){
  .actstrip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .layout,.hero{grid-template-columns:1fr}
  .wk-cols{grid-template-columns:1fr}
  .q{grid-template-columns:1fr;gap:6px}
  .agent-cols{grid-template-columns:1fr}
  .addagent{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  body{font-size:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .bar-inner{padding-bottom:10px}
  .tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--navy-deep);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));justify-content:space-around;gap:0;border-top:1px solid rgba(255,255,255,.12)}
  .tabs a{flex-direction:column;gap:2px;font-size:11px;padding:6px 4px;border-bottom:0;border-radius:10px;flex:1;text-align:center}
  .tabs a svg{display:block}
  .tabs a[aria-current="page"]{background:rgba(255,255,255,.1);color:var(--lime)}
  .fab{display:inline-flex;bottom:calc(84px + env(safe-area-inset-bottom,0px));right:14px}
  .week{grid-template-columns:1fr}
  .week-date{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 16px}
  .week-date .tag{margin-top:0}
  .agenda li{grid-template-columns:1fr;gap:2px}
  .meeting-bar{flex-direction:column}
  .fgrid{grid-template-columns:1fr}
  .actstrip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .addagent{grid-template-columns:1fr}
  .agent-row{flex-wrap:wrap}
  .agent-row .act{max-width:none;justify-content:flex-start}
  .mcards{grid-template-columns:1fr}
  .wk-pts{text-align:left}
  .cups.mini{gap:3px}
  .act-row{grid-template-columns:1fr 46px;row-gap:8px}
  .act-row .ctl{grid-column:1;grid-row:2}
  .act-row .ap{grid-column:2;grid-row:1 / span 2;align-self:center}
}
@media (prefers-reduced-motion: reduce){*{transition:none !important}}

/* portal save status banner */
.lv-banner{background:var(--ice);color:var(--ink);font-weight:600;font-size:14px}
.lv-banner.err{background:var(--warn-bg);color:var(--warn)}
.lv-banner .in{max-width:1120px;margin:0 auto;padding:10px 20px}

/* ── utilities ──
   Strict CSP (no 'unsafe-inline') blocks style="" attributes, so the spacing
   tweaks the original markup carried inline live here. !important reproduces
   the precedence an inline style had over component rules. */
.u-mt4{margin-top:4px!important}.u-mt6{margin-top:6px!important}.u-mt8{margin-top:8px!important}
.u-mt10{margin-top:10px!important}.u-mt12{margin-top:12px!important}.u-mt14{margin-top:14px!important}
.u-mt28{margin-top:28px!important}.u-mt32{margin-top:32px!important}
.u-mb0{margin-bottom:0!important}.u-mb8{margin-bottom:8px!important}.u-mb10{margin-bottom:10px!important}
.u-mb12{margin-bottom:12px!important}.u-mb18{margin-bottom:18px!important}
.u-row8{display:flex;gap:8px;flex-wrap:wrap}
.u-between-base{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px}
.u-between-center{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.u-colhead{font-size:15px;color:var(--muted)}
.u-fs17{font-size:17px}.u-fs20{font-size:20px}
.u-minw0{min-width:0}
.legend i.dot-navy{background:var(--navy)}
.legend i.dot-steel{background:var(--steel)}
blockquote.say[hidden]{display:none}
