
  /* Self-hosted display face for headings (no third party; font-src 'self' already allows it). */
  @font-face{font-family:'Bricolage Grotesque';src:url(/fonts/bricolage-grotesque.woff2) format('woff2');font-weight:400 800;font-stretch:100%;font-display:swap;font-style:normal}
  :root{
    --bg:#f7f6f3; --panel:#ffffff; --ink:#1c1a17; --muted:#6f6a62;
    --line:#e7e3db; --line-soft:#efece6; --accent:#e8622c; --accent-soft:#fbe9e0; --accent-ink:#b04418;
    --good:#1f9d55; --good-soft:#e7f6ec; --bad:#d64545; --bad-soft:#fbeaea;
    /* Audit 2 (2026-09-30): WCAG-AA text companions. --accent/--good/--bad stay for fills, bars, borders and dots;
       TEXT uses the -ink versions (≥4.5:1 on white and on their -soft tints); white text on an orange fill uses --accent-strong. */
    --accent-strong:#c24f1f; --good-ink:#157a41; --bad-ink:#b83232;
    /* Status tints for chips (support/SOP/review states): soft background, line, ink text — all AA */
    --info-soft:#e3eefc; --info-line:#b9d2f5; --info-ink:#1d4f91;
    --warn-soft:#fff4e0; --warn-line:#f0cf8f; --warn-ink:#7a5200;
    --violet-soft:#f1ecfb; --violet-line:#d6c9f2; --violet-ink:#5a3d99;
    --slate-soft:#eef0f6; --slate-line:#d9deea; --slate-ink:#394260;
    --focus:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent);
    --fs-page:30px;   /* page title (h1) on every hero/admin page; 26px on phones */
    --radius:12px; --r-sm:9px; --r-lg:16px; --maxw:1180px;
    --shadow-sm:0 1px 2px rgba(28,26,23,.04),0 1px 3px rgba(28,26,23,.05);
    --shadow:0 6px 18px rgba(28,26,23,.06),0 1px 3px rgba(28,26,23,.05);
    --shadow-lg:0 18px 50px rgba(28,26,23,.14);
    --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    --display:'Bricolage Grotesque',var(--sans);
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  h1,h2,h3,h4,.brand{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.15}
  h1{text-wrap:balance} h2,h3{text-wrap:balance;letter-spacing:-.015em}
  a{color:inherit}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
  /* Top bar */
  header.top{position:sticky;top:0;z-index:20;background:rgba(247,246,243,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  /* Demo ("act as role") banner — sits above the header on every screen */
  #demobar{position:sticky;top:0;z-index:60;background:var(--ink);color:#fff;display:flex;align-items:center;gap:10px;font-size:13.5px;padding:9px 20px}
  #demobar .dot{width:9px;height:9px;border-radius:50%;background:#e8622c;flex:0 0 auto;box-shadow:0 0 0 4px rgba(232,98,44,.25)}
  #demobar b{font-weight:700}
  #demobar .tt{color:rgba(255,255,255,.6);border-left:1px solid rgba(255,255,255,.25);padding-left:10px}
  #demobar button{margin-left:auto;background:#fff;color:var(--ink);border:0;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;cursor:pointer}
  #demobar button:hover{background:#f0ede8}
  #demobar .vafind{margin-left:auto;flex:0 1 340px;min-width:160px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px}
  #demobar .vafind::placeholder{color:rgba(255,255,255,.6)}
  #demobar .vafind+button{margin-left:0}
  #demobar .va-only{color:#fff;font-weight:600}
  @media (max-width:720px){ #demobar{flex-wrap:wrap;padding:8px 16px;row-gap:6px} #demobar .va-rest{display:none} #demobar .tt{order:3;flex:1 1 100%;border-left:0;padding-left:0} #demobar .vafind{flex:1 1 140px;min-width:0} }
  #vapanel{position:fixed;top:44px;right:20px;z-index:70;width:min(520px,calc(100vw - 32px));max-height:70vh;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px}
  #vapanel .var{display:block;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:13.5px} #vapanel .var:hover{background:var(--bg)}
  #vapanel .var b{font-size:14px} #vapanel .st{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:1px}
  #vapanel .st.open{background:var(--good-soft);color:var(--good-ink)} #vapanel .st.locked{background:var(--accent-soft);color:var(--accent-ink)}
  .va-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;z-index:9999;box-shadow:0 8px 24px rgba(0,0,0,.2)}
  @media(max-width:720px){ .va-toast{bottom:calc(132px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px)} }
  #vapanel .st.later{background:var(--slate-soft);color:var(--slate-ink)} #vapanel .st.not_assigned,#vapanel .st.unpublished{background:var(--bad-soft);color:var(--bad-ink)}
  #vapanel .why{color:var(--muted);font-size:12.5px;margin-top:3px;line-height:1.45}
  body.demo-on header.top{top:38px}
  body.demo-on .toc{top:126px}
  .top .wrap{display:flex;align-items:center;gap:18px;height:64px}
  .brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.02em;font-size:19px;cursor:pointer}
  .brand .mark{width:34px;height:34px;display:block;object-fit:contain}
  .search{margin-left:auto;flex:0 1 340px;display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
  .search input{border:0;outline:0;background:transparent;font-size:14px;width:100%;color:var(--ink)}
  .userchip{display:flex;align-items:center;gap:10px;font-size:13px}
  .userchip .who{display:flex;flex-direction:column;line-height:1.15;text-align:right}
  .userchip .who b{font-weight:600}
  .userchip .who small{color:var(--muted);font-size:11px;text-transform:capitalize;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .userchip .av{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
  .userchip a{color:var(--muted);text-decoration:none;font-size:12px;border:1px solid var(--line);padding:5px 10px;border-radius:7px}
  .userchip a:hover{background:var(--bg)}
  .userchip a.admin{color:var(--accent-ink);border-color:var(--accent-soft)}
  /* Notification bell */
  .bellbtn{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;flex:none}
  .bellbtn:hover{background:var(--bg)}
  .bellbadge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--accent-strong);color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;border:2px solid var(--panel)}
  .bellbadge[hidden]{display:none}
  #bellpanel{position:fixed;inset:0;z-index:70;display:none}
  #bellpanel.show{display:block}
  #bellpanel .scrim{position:absolute;inset:0;background:transparent}
  #bellpanel .panel{position:absolute;top:60px;right:16px;width:min(400px,calc(100vw - 24px));max-height:min(75vh,640px);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:bellin .16s ease}
  @keyframes bellin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  .bell-tabs{display:flex;gap:2px;padding:8px 8px 0;border-bottom:1px solid var(--line)}
  .bell-code a{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--bg);color:var(--ink);text-decoration:none;cursor:pointer;font-size:12.5px}
  .bell-code .bc-l{color:var(--muted)} .bell-code .bc-c{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;letter-spacing:2px;color:var(--accent-ink)}
  .bell-code .bc-p{color:var(--muted);font-size:11.5px} .bell-code .bc-i{margin-left:auto;color:var(--accent-ink);font-size:12px}
  .bell-tabs button{flex:1;border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);padding:9px 6px;border-radius:8px 8px 0 0;cursor:pointer;position:relative}
  .bell-tabs button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}
  .bell-tabs .dot{position:absolute;top:6px;right:14px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
  .bell-body{overflow-y:auto;padding:6px}
  /* Activity list — modeled on The Daily Drop's: pinned tiles, quiet section labels, tinted icon badges, unread dot */
  .bell-pins{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 4px 10px}
  .bell-tile{position:relative;text-align:left;font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:11px 12px 10px;border-radius:14px;
    background:color-mix(in srgb,var(--accent) 7%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}
  .bell-tile.alt{background:color-mix(in srgb,#5b6cff 7%,transparent);border-color:color-mix(in srgb,#5b6cff 22%,transparent)}
  .bell-tile:hover{filter:brightness(.98)} .bell-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .bell-tile .t-ic{font-size:19px;line-height:1} .bell-tile b{font-size:13.5px;margin-top:3px} .bell-tile small{font-size:11.5px;color:var(--muted);line-height:1.35}
  .bell-tile .t-new{position:absolute;top:8px;right:8px;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--accent-strong);border-radius:999px;padding:2px 7px}
  .bell-sec{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:10px 8px 2px}
  .bell-row{display:flex;gap:12px;align-items:center;padding:11px 8px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;cursor:pointer;border-radius:0}
  .bell-row:last-child{border-bottom:0} .bell-row:hover{background:var(--bg)}
  .bell-row .ic{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:17px;line-height:1;background:var(--bg);border:1px solid var(--line)}
  .bell-row .ic.k-assigned,.bell-row .ic.k-pin{background:color-mix(in srgb,#5b6cff 12%,transparent);border-color:color-mix(in srgb,#5b6cff 25%,transparent)}
  .bell-row .ic.k-cert,.bell-row .ic.k-completed,.bell-row .ic.k-report{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 25%,transparent)}
  .bell-row .ic.k-overdue{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 25%,transparent)}
  .bell-row .ic.k-due,.bell-row .ic.k-team,.bell-row .ic.k-announcement{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}
  .bell-row .ic.k-esign{background:color-mix(in srgb,#5b6cff 12%,transparent);border-color:color-mix(in srgb,#5b6cff 25%,transparent)}
  .bell-row .ic.k-esign_done{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 25%,transparent)}
  .bell-row .ic.k-esign_wait{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}
  #livetoasts{position:fixed;right:16px;bottom:16px;z-index:95;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}
  .livetoast{pointer-events:auto;display:flex;gap:11px;align-items:center;width:min(340px,calc(100vw - 32px));padding:11px 13px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);
    box-shadow:var(--shadow-lg);color:var(--ink);text-decoration:none;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}
  .livetoast.in{opacity:1;transform:none}
  .livetoast .ic{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:var(--bg);border:1px solid var(--line)}
  .livetoast .ic.k-esign{background:color-mix(in srgb,#5b6cff 12%,transparent)} .livetoast .ic.k-esign_done{background:var(--good-soft)} .livetoast .ic.k-esign_wait{background:var(--accent-soft)}
  .livetoast .btx{min-width:0} .livetoast b{display:block;font-size:13.5px} .livetoast .btx span{display:block;font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  @media(max-width:600px){ #livetoasts{right:8px;left:8px;bottom:calc(128px + env(safe-area-inset-bottom));align-items:stretch} .livetoast{width:auto} }
  .bell-row .at{flex:none;align-self:flex-start;margin-top:2px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
  .bell-row .go{flex:none;color:var(--muted);font-size:18px;line-height:1;opacity:.6}
  .bell-row.unread .btx b::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:6px;vertical-align:middle}
  .bell-row .btx{min-width:0;flex:1;display:block} .bell-row .btx b{display:block;font-weight:600;font-size:13.5px;line-height:1.3} .bell-row .btx .bd{color:var(--muted);font-size:12.5px;margin-top:1px;overflow-wrap:anywhere}
  .bell-empty{color:var(--muted);text-align:center;padding:34px 16px;font-size:13px}
  .wn-item{padding:12px 12px 14px;border-bottom:1px solid var(--line)} .wn-item:last-child{border-bottom:0}
  .wn-item h4{margin:0 0 4px;font-size:14.5px} .wn-item .wn-dt{color:var(--muted);font-size:11px;margin-bottom:6px} .wn-item .prose{font-size:13.5px}
  .howto{padding:6px} .howto a{display:flex;gap:11px;align-items:center;padding:11px 10px;border-radius:10px;text-decoration:none;color:inherit} .howto a:hover{background:var(--bg)}
  .howto .ic{font-size:18px;width:24px;text-align:center} .howto b{font-weight:600;font-size:13.5px} .howto small{display:block;color:var(--muted);font-size:12px}
  .howto .tourcta{margin:8px 6px 4px;width:calc(100% - 12px)}
  /* First-run tour (spotlight) */
  #tour{position:fixed;inset:0;z-index:90;display:none}
  #tour.show{display:block}
  #tour .veil{position:absolute;inset:0;background:rgba(15,18,24,.55)}
  #tour .spot{position:absolute;border-radius:12px;box-shadow:0 0 0 4px var(--accent),0 0 0 9999px rgba(15,18,24,.55);transition:all .2s ease;pointer-events:none}
  #tour .card{position:absolute;width:min(320px,calc(100vw - 32px));background:var(--panel);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.28);padding:16px 16px 14px;animation:bellin .18s ease}
  #tour .card .ey{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}
  #tour .card h3{margin:4px 0 6px;font-size:17px;letter-spacing:-.01em}
  #tour .card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.5}
  #tour .foot{display:flex;align-items:center;gap:10px;margin-top:14px}
  #tour .dots{display:flex;gap:5px;flex:1} #tour .dots i{width:6px;height:6px;border-radius:50%;background:var(--line)} #tour .dots i.on{background:var(--accent)}
  #tour .skip{position:absolute;top:12px;right:14px;border:0;background:none;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}
  #tour .tour-n{font-size:12px;color:var(--muted);white-space:nowrap} #tour .tour-link{margin-top:10px}
  .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  /* Page tours (docs/page-tours.md): the "?" in a page title and the one-time "New here?" pill */
  .pt-q{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:24px;height:24px;margin:0 0 0 10px;padding:0;border-radius:50%;border:1.5px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;font:700 13px/1 system-ui,-apple-system,sans-serif;position:relative;top:-2px;flex:none}
  .pt-q::before{content:"?"} .pt-q:hover,.pt-q:focus-visible{border-color:var(--accent);color:var(--accent-ink)}
  #ptpill{position:fixed;left:20px;bottom:20px;z-index:46;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:min(470px,calc(100vw - 200px));background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:8px 10px 8px 14px;font-size:13.5px;animation:bellin .18s ease}
  #ptpill span{flex:1 1 200px}
  @media(max-width:720px){ #ptpill{left:8px;right:8px;bottom:auto;top:calc(64px + env(safe-area-inset-top));max-width:none} }
  @media (prefers-reduced-motion:reduce){ #tour .spot{transition:none} #tour .card,#ptpill{animation:none} }
  @media(max-width:600px){ #bellpanel .panel{top:56px;right:8px;left:8px;width:auto} }
  .profile{position:relative;display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
  .profile .menu{position:absolute;top:calc(100% + 10px);right:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:180px;padding:6px;z-index:40}
  .profile .menu a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:14px;border:0}
  .profile .menu a:hover{background:var(--bg)}
  .profile .menu .sep{height:1px;background:var(--line);margin:6px 4px}
  /* admin panel */
  .admin-wrap{padding:34px 0 80px;max-width:820px}
  .admin-wrap h1{font-size:var(--fs-page);letter-spacing:-.025em;margin:0 0 4px}
  .admin-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px;margin-top:18px;box-shadow:var(--shadow-sm)}
  .admin-card[data-nav]{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
  .admin-card[data-nav]:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--line-soft)}
  .admin-card h2{font-size:15px;margin:0 0 14px}
  .rule-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
  .rule-row .tp{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);width:56px}
  .rule-row .role{margin-left:auto;font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:2px 9px;text-transform:capitalize}
  .rule-row button{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:4px 9px;cursor:pointer;color:var(--bad-ink)}
  .addrule{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
  .addrule select,.addrule input{border:1.5px solid var(--line);border-radius:8px;padding:9px 11px;font:inherit;font-size:14px}
  .addrule input{flex:1;min-width:180px}
  /* Catalog */
  .hero{padding:40px 0 18px}
  .hero h1{font-size:var(--fs-page);letter-spacing:-.025em;margin:0 0 6px}
  .hero p{color:var(--muted);margin:0;font-size:15px;max-width:62ch}
  .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;padding:14px 0 60px}
  .card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
  .card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-soft)}
  .card .cover{aspect-ratio:16/9;background:radial-gradient(120% 120% at 28% 18%,#3b3330,#211d1c);position:relative;overflow:hidden}
  .card .cover img{width:100%;height:100%;object-fit:cover}
  .card .cover .ph{position:absolute;inset:0;display:grid;place-items:center;color:#fff;opacity:.35;font-size:34px;font-weight:800}
  .card .body{padding:14px 15px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
  .card h3{margin:0;font-size:15.5px;letter-spacing:-.01em;line-height:1.3}
  .card .desc{color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .card .meta{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--muted);font-size:12px;padding-top:6px}
  .card .meta .onbchip{margin-left:0;white-space:normal;max-width:100%}
  .chip{display:inline-flex;align-items:center;gap:4px}
  .perf-t{width:100%;border-collapse:collapse;font-size:13.5px}.perf-t th,.perf-t td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right}.perf-t th{font-size:12px;color:var(--muted);font-weight:600}
  /* Player */
  .player{display:grid;grid-template-columns:300px 1fr;gap:26px;padding:24px 0 80px;align-items:start}
  .toc{position:sticky;top:88px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;max-height:calc(100vh - 120px);overflow:auto}
  .toc .back{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;padding:8px 10px;cursor:pointer;border-radius:8px}
  .toc .back:hover{background:var(--bg)}
  .toc h2{font-size:14px;margin:6px 10px 10px;letter-spacing:-.01em}
  .pvbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0 -8px;padding:10px 14px;border-radius:10px;background:var(--bg);border:1.5px dashed var(--line);font-size:13.5px}
  .pvbar b{font-weight:700} .pvbar .grow{flex:1;min-width:200px;color:var(--muted)}
  .pvpick{width:100%;margin-top:4px} .pvpick input{width:100%;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;font:inherit}
  .pvpick .rule-row{padding:6px 0} .pvlist{max-height:240px;overflow:auto;margin-top:6px}
  .catmode{display:inline-flex;gap:4px;margin-top:10px;padding:3px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}
  .catmode button{border:0;background:none;padding:6px 12px;border-radius:8px;font:inherit;font-size:13px;cursor:pointer;color:var(--muted)}
  .catmode button.on{background:var(--panel);color:inherit;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.08)}
  .kbh-intro{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 16px}
  .kbh-intro>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow-sm)}
  .kbh-intro h3{margin:0 0 4px;font-size:15px} .kbh-intro p{margin:0 0 10px;color:var(--muted);font-size:13.5px;line-height:1.45}
  .kbh-intro .row{display:flex;gap:8px;flex-wrap:wrap} .kbh-intro a.btn{text-decoration:none} .kbh-intro p:last-child{margin-bottom:0}
  @media (max-width:700px){ .kbh-intro{grid-template-columns:1fr} }
  .ask-rate{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12.5px;color:var(--muted)}
  .ask-rate button{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:4px 10px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--ink)}
  .ask-rate button:hover{border-color:var(--accent)} .ask-rate.done{color:var(--good-ink)}
  /* 🤖 AI actions (lib/supportactions.js, 0189): a proposal card in the 💬 panel / on a ticket, the agent list, #/approvals */
  .act-card{border:1px solid var(--line);border-left:3px solid var(--good-ink);background:var(--panel);border-radius:12px;padding:10px 12px;margin-top:8px;font-size:14px}
  .act-card .act-h{font-weight:700;margin-bottom:4px} .act-card .act-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
  .act-card .act-res{margin-top:6px;color:var(--muted);font-size:13px} .act-card.done{border-left-color:var(--muted)}
  .act-row{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px} .act-row:first-of-type{border-top:0}
  .act-st{flex:none;font-size:12px;border-radius:10px;padding:1px 8px;background:var(--bg);border:1px solid var(--line)}
  .uact-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 14px}
  .uact-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
  .uact-tile b{font-size:22px} .uact-tile span{font-size:12px;color:var(--muted)}
  .uact-bar{display:grid;grid-template-columns:200px 1fr 70px;gap:10px;align-items:center;font-size:13.5px;margin:5px 0}
  .uact-bar .b{background:var(--bg);border-radius:6px;height:10px;overflow:hidden} .uact-bar .b i{display:block;height:100%;background:var(--accent)}
  .uact-bar .v{text-align:right;color:var(--muted)}
  .uact-days{display:flex;gap:3px;flex-wrap:wrap} .uact-day{width:14px;height:14px;border-radius:3px;background:var(--bg);border:1px solid var(--line)}
  .uact-day.l1{background:#fbe3d6}.uact-day.l2{background:#f4b896}.uact-day.l3{background:#ec8a57}.uact-day.l4{background:#e8622c}
  .uact-t{width:100%;border-collapse:collapse;font-size:13.5px} .uact-t th{text-align:left;color:var(--muted);font-weight:600;font-size:12px;padding:6px 8px;border-bottom:1px solid var(--line)}
  .uact-t td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top} .uact-t a,.uact-li a{color:var(--accent-ink)}
  .uact-2{display:grid;grid-template-columns:1fr 1fr;gap:18px} .uact-2 h3{font-size:14px;margin:0 0 6px}
  .uact-li{font-size:13.5px;padding:5px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
  .uact-filter{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px} .uact-filter button{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:4px 11px;font:inherit;font-size:12.5px;cursor:pointer}
  .uact-filter button.on{background:var(--ink);color:var(--panel);border-color:var(--ink)}
  @media(max-width:700px){.uact-tiles{grid-template-columns:1fr 1fr}.uact-bar{grid-template-columns:1fr 60px}.uact-bar .b{grid-column:1/-1;order:3}.uact-2{grid-template-columns:1fr}.uact-t{display:block;overflow-x:auto}}
  .pl-scopebadge{margin:0 10px 8px;font-size:11.5px;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:5px 8px}
  .pl-scope{margin:2px 10px 8px;padding:8px;border:1px dashed var(--line);border-radius:8px;background:var(--bg)}
  .pl-scope label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}
  .pl-scope select{width:100%;padding:6px 7px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;font-size:12.5px}
  .pl-scope-msg{font-size:11.5px;margin-top:5px;min-height:1px}
  .toc ol{list-style:none;margin:0;padding:0;counter-reset:step}
  .toc li{counter-increment:step;display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:#333}
  .toc li:hover{background:var(--bg)}
  .toc li.active{background:var(--accent-soft);color:#000;font-weight:600}
  .toc li .ix{flex:0 0 20px;height:20px;border-radius:6px;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;font-size:11px;color:var(--muted)}
  .toc li.done .ix{background:var(--good);border-color:var(--good);color:#fff}
  .toc li .tp{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
  .tk{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.03em;padding:1px 6px;border-radius:999px;white-space:nowrap;vertical-align:1px}
  .tk-les{background:#e8f0fe;color:#1d4ed8} .tk-int{background:#fdebe1;color:#b3471a} .tk-quiz{background:#e5f5ea;color:#1e7a3c}
  .toc-legend{font-size:11.5px;color:var(--muted);margin:2px 10px 8px;line-height:1.9} .toc-legend b{color:var(--ink);margin-right:4px}
  .toc li.toc-sec{align-items:center;font-size:13px;margin-top:2px;border:1px solid var(--line);background:var(--panel)}
  .toc li.toc-sec.cur{border-color:var(--accent)} .toc li.toc-sec .sn{flex:0 0 22px;height:22px;border-radius:7px;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:700}
  .toc li.toc-sec.sdone .sn{background:var(--good);border-color:var(--good);color:#fff}
  .toc li.toc-sec .st{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px} .toc li.toc-sec .sc{font-size:11px;color:var(--muted);font-weight:400}
  .toc li.toc-sec .sv{color:var(--muted);font-size:12px}
  .toc li.toc-secitems{display:block;padding:2px 0 6px 12px;cursor:default} .toc li.toc-secitems:hover{background:none}
  .sec-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);padding:8px 12px;margin:0 0 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
  .sec-crumb b{color:var(--ink)} .sec-crumb .grow{flex:1}
  .fc-wrap{max-width:640px;margin:0 auto} .fc-row{cursor:pointer} .fc-row.locked{cursor:default;opacity:.7}
  .fc-meta{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin:10px 0 6px}
  .fc-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin:0 0 14px} .fc-bar i{display:block;height:100%;background:var(--accent)}
  .fc-card{min-height:260px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 10px 30px rgba(0,0,0,.07);padding:26px 24px;display:flex;flex-direction:column;justify-content:center;gap:12px;cursor:pointer;text-align:center;transition:transform .15s}
  .fc-card:hover{transform:translateY(-2px)} .fc-card.flipped{background:var(--accent-soft);border-color:var(--accent)}
  .fc-lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
  .fc-q{font-size:19px;line-height:1.45;font-weight:600} .fc-ans{font-size:18px;line-height:1.45;font-weight:700}
  .fc-why{font-size:14px;line-height:1.5;color:var(--muted);text-align:left} .fc-hint{font-size:12.5px;color:var(--muted)}
  .fc-btns{display:flex;gap:10px;justify-content:center;margin:16px 0} .fc-btns .btn{min-width:150px}
  .fc-done{text-align:center;padding:30px 10px}
  .sup-find{margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--bg)} .sup-find summary{cursor:pointer;font-weight:600;font-size:13.5px}
  .sup-find-res{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:360px;overflow:auto}
  .sup-fitem{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--panel)}
  .sup-fmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere} .sup-fbtns{display:flex;flex-direction:column;gap:4px;flex:0 0 auto}
  .sup-fbadge{align-self:flex-start;font-size:11px;font-weight:700;padding:1px 7px;border-radius:99px;background:var(--line);color:var(--muted)}
  .sup-fbadge.ok{background:#e5f5ea;color:#1e7a3c} .sup-fbadge.no{background:#fbeaea;color:#b42318}
  .sup-find-res .linkish{border:0;background:none;padding:0;font:inherit;color:var(--accent-ink);cursor:pointer;text-decoration:underline}
  .gap-sop{display:inline-block;margin:4px 8px 0 0;font-size:13px}
  .sup-chip.sup-tier{background:#efe9fb;color:#5b3fa6;font-weight:700} .sup-chip.sup-tier.t3{background:#fbeaea;color:#b42318}
  .sup-compose{position:sticky;bottom:10px;z-index:6;max-height:62vh;overflow:auto;box-shadow:0 -6px 26px rgba(0,0,0,.12);border-color:var(--accent)}
  .sup-compose-h{display:flex;align-items:center;gap:8px;margin:-2px 0 6px;font-size:13.5px}
  .sup-aisum{margin:0 0 12px;padding:12px 14px;border-left:4px solid var(--line)} .sup-aisum-h{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:6px}
  .sup-aisum-b{font-size:14px;line-height:1.5;white-space:pre-line} .sup-aisum-f{margin-top:6px;font-size:13px;font-weight:600;color:#b42318}
  .sup-mood{font-size:13px} .sup-aisum.mood-frustrated{border-left-color:#e8a23a} .sup-aisum.mood-upset,.sup-aisum.mood-angry{border-left-color:#d64545} .sup-aisum.mood-happy,.sup-aisum.mood-calm{border-left-color:#3aa36a}
  .sup-compose.min > :not(.sup-compose-h):not(#sup-body):not(.sup-rtewrap){display:none} .sup-compose.min #sup-body{min-height:0;height:44px;overflow:hidden} .sup-compose.min .sup-rtebar{display:none}
  .sup-msg.unread{box-shadow:0 0 0 2px var(--accent);} .sup-newpill{background:var(--accent);color:#fff;font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:99px;margin-left:6px;letter-spacing:.03em}
  .sup-newbar{background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;padding:8px 12px;margin:0 0 10px;font-size:13.5px}
  .sup-ordbar{text-align:right;margin:0 0 6px;font-size:12.5px} .sup-seen{font-size:11.5px;color:var(--muted);margin-top:6px;text-align:right}
  .sup-unread{background:var(--accent);color:#fff;font-weight:800}
  .sup-qa{margin-top:6px;font-size:12.5px} .sup-qa summary{cursor:pointer;color:var(--muted);list-style:none;display:inline-flex;gap:6px;align-items:center;max-width:100%}
  .sup-qa summary::-webkit-details-marker{display:none} .sup-qa summary b{color:var(--ink);white-space:nowrap} .sup-qa summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sup-qa-b{margin-top:6px;padding:8px 10px;border:1px dashed var(--line);border-radius:10px;background:var(--panel);line-height:1.5}
  .qa-tbl{width:100%;border-collapse:collapse;font-size:13.5px} .qa-tbl th,.qa-tbl td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left} .qa-tbl td.n,.qa-tbl th.n{text-align:right}
  .qa-tbl .lo{color:var(--bad-ink);font-weight:700} .qa-wrap{overflow-x:auto}
  .kbd-ed{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px} .kbd-ed .sup-in,.kbd-ed textarea{width:100%;box-sizing:border-box}
  .kbd-prev{border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--panel);font-size:14px;overflow-wrap:anywhere} .kbd-prev h4{margin:10px 0 4px}
  @media (max-width:820px){ .kbd-ed{grid-template-columns:1fr} } .kbd-note{color:var(--muted);font-size:12.5px}
  @media (max-width:720px){ .gap-row{flex-direction:column} .gap-row > span:last-child{min-width:0;width:100%} }
  .stage{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:34px 40px;min-height:60vh}
  .stage .kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);font-weight:700;margin-bottom:10px}
  .prose{font-size:15.5px;line-height:1.65}
  .prose h1{font-size:26px;letter-spacing:-.02em}
  .prose img{max-width:100%;height:auto;border-radius:10px;margin:12px 0}
  .prose a{color:var(--accent-ink)}
  .prose iframe{max-width:100%;border-radius:10px;border:1px solid var(--line)}
  video{width:100%;border-radius:10px;background:#000}
  .embed-wrap{position:relative;width:100%;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
  .embed-wrap iframe{width:100%;min-height:520px;border:0;display:block}
  /* Questions */
  .q .qname{font-size:19px;letter-spacing:-.02em;margin:2px 0 6px;font-weight:650}
  .q .qdesc{color:#333}
  .opts{display:flex;flex-direction:column;gap:10px;margin:18px 0}
  .opt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:10px;padding:13px 15px;cursor:pointer;background:var(--panel);transition:border-color .1s,background .1s;font-size:14.5px}
  .opt:hover{border-color:#cfcabf}
  .opt.sel{border-color:var(--accent);background:var(--accent-soft)}
  .opt.correct{border-color:var(--good);background:var(--good-soft)}
  .opt.wrong{border-color:var(--bad);background:var(--bad-soft)}
  .opt .box{flex:0 0 20px;height:20px;border:2px solid #c7c2b7;border-radius:6px;display:grid;place-items:center}
  .opt.radio .box{border-radius:50%}
  .opt.sel .box{border-color:var(--accent);background:var(--accent);color:#fff}
  .gap-input{border:1.5px solid var(--line);border-radius:8px;padding:6px 10px;font-size:14px;min-width:120px;margin:0 4px}
  .order-item{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:10px;padding:11px 14px;margin:8px 0;background:var(--panel)}
  .order-item .handle{cursor:grab;color:var(--muted)}
  .order-item button{margin-left:auto;border:1px solid var(--line);background:var(--bg);border-radius:6px;width:28px;height:28px;cursor:pointer}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:#fff;border:0;border-radius:10px;padding:11px 20px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
  .btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
  .btn.ghost{background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:none}
  .btn.ghost:hover{background:var(--bg);transform:none;box-shadow:none}
  .btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
  .feedback{margin-top:18px;border-radius:10px;padding:14px 16px;font-size:14px}
  .feedback.ok{background:var(--good-soft);border:1px solid #bfe6cd}
  .feedback.no{background:var(--bad-soft);border:1px solid #f0c9c9}
  .feedback .correction{margin-top:8px;color:#333}
  .navbar{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
  .tag{display:inline-block;font-size:11px;background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:2px 8px}
  .note{color:var(--muted);font-size:13px;background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:14px 16px;margin-top:14px}
  .loading{padding:60px;text-align:center;color:var(--muted)}
  /* ---- Phone layout (and the installed iPhone app): compact top bar + bottom tab bar ---- */
  .tabbar{display:none} .tabbar[hidden]{display:none!important}
  /* ---- "Outdated or wrong?" reports + heads-up flags ---- */
  .rep-link{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer;padding:4px 0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
  .rep-link:hover{color:var(--bad-ink)} .rep-row{margin:14px 0 0;text-align:right}
  .flag-note{margin:0 0 14px;padding:10px 13px;border-radius:10px;background:var(--warn-soft);border:1px solid var(--warn-line);font-size:13.5px;line-height:1.45}
  .flag-note a{font-weight:600;cursor:pointer;text-decoration:underline}
  #repmodal{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;padding:16px}
  #repmodal[hidden]{display:none}
  .dlg{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;padding:16px}
  .dlg[hidden]{display:none}
  .dlg .box{background:var(--panel);border-radius:var(--r-lg);max-width:620px;width:100%;padding:18px;box-shadow:var(--shadow-lg);max-height:calc(100vh - 32px);overflow:auto}
  #repmodal .box{background:var(--panel);border-radius:var(--r-lg);max-width:520px;width:100%;padding:18px 18px 14px;box-shadow:var(--shadow-lg);max-height:calc(100vh - 32px);overflow:auto}
  #repmodal h2{margin:0 0 4px;font-size:18px} #repmodal .what{color:var(--muted);font-size:13px;margin:0 0 12px}
  #repmodal label{display:block;font-weight:600;font-size:13.5px;margin:10px 0 4px}
  #repmodal textarea{width:100%;min-height:88px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit;font-size:14.5px;resize:vertical}
  #repmodal .acts{display:flex;gap:8px;justify-content:flex-end;margin-top:12px} #repmodal .msg{font-size:13.5px;margin-top:8px}
  .cr-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;border-radius:5px;padding:2px 7px;vertical-align:1px}
  .cr-badge.urgent{background:var(--bad-soft);color:var(--bad-ink)} .cr-badge.fyi{background:var(--slate-soft);color:var(--slate-ink)} .cr-badge.done{background:var(--good-soft);color:var(--good-ink)}
  .cr-box{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;white-space:pre-wrap;font-size:14px;max-height:260px;overflow:auto}
  .cr-sug{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px} .cr-sug .sn{color:var(--muted);font-size:12.5px}
  @media (max-width:720px){ #repmodal textarea{font-size:16px} }
  /* ---- Ask (learning-center assistant) ---- */
  #askbtn{position:fixed;right:20px;bottom:20px;z-index:45;display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:12px 18px;font:inherit;font-size:14.5px;font-weight:600;box-shadow:0 10px 28px rgba(0,0,0,.22);cursor:pointer}
  #askbtn[hidden]{display:none} #askbtn .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--ink)} #askbtn .dot[hidden]{display:none}
  body.has-askbtn main#app{padding-bottom:84px} body.has-walkbar #askbtn{bottom:104px}
  #askpanel{position:fixed;right:20px;bottom:20px;z-index:80;width:min(420px,calc(100vw - 32px));height:min(640px,calc(100vh - 110px));background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}
  #askpanel[hidden]{display:none}
  #askpanel .ah{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)} #askpanel .ah .tt{flex:1;min-width:0;display:flex;flex-direction:column} #askpanel .ah b{font-size:15px}
  #askpanel .ah .st{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #askpanel form[hidden]{display:none}
  #askpanel .ask-foot{padding:0 10px 10px;display:flex} #askpanel .ask-human{flex:1;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:8px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--ink)}
  #askpanel .ask-human:hover{border-color:var(--accent);color:var(--accent-ink)} #askpanel .ask-human[hidden]{display:none} #askpanel .ask-human:disabled{opacity:.5;cursor:wait}
  #askpanel .ask-resume{display:flex;gap:8px;align-items:center;background:var(--accent-soft);border-radius:12px;padding:8px 10px;font-size:13.5px} #askpanel .ask-resume span{flex:1}
  #askpanel .ask-resume button{border:0;background:var(--accent-strong);color:#fff;border-radius:8px;padding:5px 10px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
  #askpanel .sm-sys{align-self:center;font-size:12.5px;color:var(--muted);text-align:center;max-width:92%} #askpanel .sm-who{font-size:12px;font-weight:700;color:var(--accent-ink);margin-bottom:2px}
  #askpanel .sm-agent{border-left:3px solid var(--accent)} #askpanel .linkish{border:0;background:none;padding:0;font:inherit;color:var(--accent-ink);cursor:pointer;text-decoration:underline}
  #askpanel .ah button{border:0;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:var(--muted);padding:4px}
  #askpanel .am{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px;font-size:14.5px;line-height:1.55}
  .ask-u{align-self:flex-end;background:var(--ink);color:#fff;border-radius:14px 14px 4px 14px;padding:9px 13px;max-width:85%;white-space:pre-wrap}
  .tdots{display:inline-flex;gap:4px;align-items:center;height:1em;vertical-align:middle}
  .tdots i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35;animation:tdot 1.2s infinite ease-in-out}
  .tdots i:nth-child(2){animation-delay:.15s} .tdots i:nth-child(3){animation-delay:.3s}
  @keyframes tdot{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:.9;transform:translateY(-3px)}}
  @media (prefers-reduced-motion:reduce){.tdots i{animation:none;opacity:.6}}
  .ask-typing{color:var(--muted);padding:10px 14px}
  .ask-a{align-self:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:10px 13px;max-width:92%}
  .ask-a p{margin:0 0 6px} .ask-a ul{margin:4px 0 6px;padding-left:18px}
  .ask-cite{border:0;background:var(--accent-soft);color:var(--accent-ink);border-radius:5px;padding:0 5px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;vertical-align:1px;margin:0 1px}
  .ask-src{display:flex;flex-direction:column;gap:5px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
  .ask-src a{display:flex;gap:7px;align-items:flex-start;font-size:13px;color:var(--ink);text-decoration:none;cursor:pointer;line-height:1.35}
  .ask-src a:hover{color:var(--accent-ink)} .ask-src .n{flex:0 0 auto;font-weight:700;color:var(--accent-ink)}
  .ask-sugg{display:flex;flex-wrap:wrap;gap:6px} .ask-sugg button{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 11px;font:inherit;font-size:13px;cursor:pointer}
  #askpanel form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}
  #askpanel .ask-att{padding:8px 10px 0;border-top:1px solid var(--line)} #askpanel .ask-att[hidden]{display:none} #askpanel .ask-att+form{border-top:0}
  #askpanel .att-btn{padding:4px 8px;font-size:12.5px} #askpanel .att-prev video{max-height:180px} #askpanel .sup-vid{max-width:100%}
  #askpanel .ask-u .sup-file{color:inherit;border-color:rgba(255,255,255,.4)}
  #askpanel textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:12px;padding:9px 11px;font:inherit;font-size:15px;max-height:120px}
  #askpanel form button{border:0;background:var(--accent-strong);color:#fff;border-radius:12px;padding:0 14px;font:inherit;font-weight:700;cursor:pointer}
  .ask-dots{color:var(--muted);font-size:13px}
  #askpanel form button:disabled,#askpanel textarea:disabled{opacity:.45;cursor:not-allowed}
  .ask-quota{padding:6px 12px 0;font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:center}
  .ask-quota b{color:var(--ink)} .ask-quota.low b{color:var(--accent-ink)} .ask-quota.out{color:var(--bad-ink);font-weight:600}
  .ask-quota .ov{margin-left:auto;border:1px dashed var(--line);background:transparent;border-radius:999px;padding:2px 9px;font:inherit;font-size:11.5px;color:var(--muted);cursor:pointer}
  .ask-quota .ov.on{border-style:solid;border-color:#7a5af8;color:#5b3fd6;background:#f1edff}
  .ask-quota.testing{color:#5b3fd6;font-weight:600}
  .ask-kb{margin-top:8px;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:7px 11px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--ink)}
  .ask-kb:hover{border-color:var(--accent);color:var(--accent-ink)} .ask-src .sn{display:block;color:var(--muted);font-size:12px;margin-top:1px}
  .ask-quota .bar{flex:0 0 64px;height:5px;border-radius:3px;background:var(--line);overflow:hidden} .ask-quota .bar i{display:block;height:100%;background:var(--accent)}
  @media (max-width:720px){
    #askbtn{right:14px;bottom:calc(74px + env(safe-area-inset-bottom));padding:11px 15px}
    body.has-askbtn main#app{padding-bottom:calc(136px + env(safe-area-inset-bottom))}
    #askpanel{right:0;left:0;bottom:0;top:0;width:auto;height:auto;border-radius:0;border:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
    #askpanel textarea{font-size:16px}
  }
  #pushbanner{position:fixed;left:12px;right:12px;top:calc(10px + env(safe-area-inset-top));z-index:90;max-width:520px;margin:0 auto;background:var(--ink);color:#fff;border-radius:14px;
    padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;gap:10px;align-items:flex-start;cursor:pointer}
  #pushbanner b{display:block;font-size:14.5px} #pushbanner span{font-size:13.5px;opacity:.85}
  #pushbanner button{margin-left:auto;background:transparent;border:0;color:#fff;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}
  @media (max-width:720px){
    html{-webkit-text-size-adjust:100%}
    body{-webkit-tap-highlight-color:transparent}
    header.top{padding-top:env(safe-area-inset-top)}
    .wrap{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}
    .top .wrap{gap:10px;height:56px}
    .brand{font-size:0;gap:0} .brand .mark{width:30px;height:30px}
    .search{flex:1 1 auto;min-width:0;margin-left:2px;padding:7px 12px}
    input,select,textarea,.search input{font-size:16px}   /* <16px makes iOS zoom the page on focus */
    .userchip>a{display:none}                             /* Courses / Knowledge move to the tab bar */
    .userchip .who{display:none}
    .userchip .av{width:34px;height:34px}
    .profile .menu a{padding:12px 14px;font-size:15px}
    .catnav{top:57px} body.demo-on .catnav{top:95px}
    main#app{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
    .hero{padding:22px 0 12px} .hero h1,.admin-wrap h1{font-size:26px}
    .card .cover{aspect-ratio:21/9}
    .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(252,252,251,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
      border-top:1px solid var(--line);padding:6px max(8px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom))}
    .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:600;padding:4px 0;border-radius:10px}
    .tabbar a svg{width:24px;height:24px}
    .tabbar a.on{color:var(--accent-ink)}
    #gate{padding-bottom:env(safe-area-inset-bottom)}
  }
  .progress-bar{height:5px;background:var(--line);border-radius:99px;overflow:hidden;margin:14px 0 0}
  .progress-bar i{display:block;height:100%;background:var(--accent);width:0;transition:width .3s}
  .toc-toggle{display:none}
  @media(max-width:820px){.player{grid-template-columns:1fr}.toc{position:static;max-height:none}.stage{padding:22px}
    /* Phone: the outline folds into one "Step 3 of 11" bar so the lesson is on screen right away */
    .toc-toggle{display:flex;align-items:center;gap:8px;width:100%;margin:4px 0 2px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font:inherit;font-size:14px;color:var(--ink);cursor:pointer;text-align:left}
    .toc-toggle .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .toc-toggle .c{color:var(--muted);transition:transform .15s}
    .toc.open .toc-toggle .c{transform:rotate(180deg)}
    .toc:not(.open) ol{display:none}
    .toc h2{margin:4px 10px 8px}
  }
  @media(max-width:720px){.stage{padding:18px 16px}}
  /* auth screens */
  #gate{min-height:100vh;display:grid;place-items:center;padding:24px}
  #gate .box{width:100%;max-width:420px;text-align:center}
  #gate .mark{width:46px;height:46px;background:var(--ink);color:#fff;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:20px;margin:0 auto 18px}
  #gate .mark span{color:var(--accent)}
  #gate h1{font-size:24px;letter-spacing:-.02em;margin:0 0 6px}
  #gate p{color:var(--muted);margin:0 0 20px}
  #clerk-signin{display:flex;justify-content:center}
  /* Cyber Awareness: policy sign-off, required paths, certification state */
  .muted{color:var(--muted)}
  /* Layout utilities (design-pass cleanup): retire one-off inline styles across Documents, profiles, the player */
  .grow{flex:1;min-width:0}
  .empty{color:var(--muted);margin:0}
  [data-nav]{cursor:pointer}
  .me-grid>.admin-card,.catsec>.admin-card{margin:0}
  a.back{color:var(--muted);cursor:pointer;font-size:14px}
  /* ---- Audit 2 (2026-09-30): shared fixes for the pages added since the first design pass ---- */
  /* Meta text: new pages use class="role" for small secondary text (timestamps, "none", field labels). Outside a
     .rule-row it's muted 13px; inside a .rule-row it stays the little chip (rule below keeps its ink color). */
  .role{color:var(--muted);font-size:13px}
  .rule-row .role{color:var(--ink)}
  /* Link-styled buttons never underline (a.btn in page headers looked like plain links) */
  a.btn{text-decoration:none}
  /* One keyboard focus ring everywhere (mouse clicks don't show it) */
  :focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
  input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;border-color:var(--accent);box-shadow:var(--focus)}
  .search:focus-within{border-color:var(--accent);box-shadow:var(--focus)} .search input:focus-visible{box-shadow:none}
  /* The whole search pill is the input's hit area (was a 20px-tall input inside a 36px pill) */
  .search{padding-top:0;padding-bottom:0} .search input{padding:8px 0}
  /* Invisible hit-area extenders for small round controls (visual size unchanged) */
  .pt-q::after,.pinbtn::after{content:"";position:absolute;inset:-6px}
  .pinbtn{position:relative}
  /* Status chips share tokens (support queue/tickets, e-sign, review states) */
  .chip-info{background:var(--info-soft);border-color:var(--info-line);color:var(--info-ink)}
  .chip-warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn-ink)}
  @media (max-width:720px){
    /* Phone tap targets: ≥24px everywhere (WCAG 2.5.8), ~36px+ for the common controls */
    .btn{min-height:40px} .btn.sm,.btn.ghost.sm{min-height:34px}
    a.back{display:inline-flex;align-items:center;min-height:36px}
    .linkbtn{min-height:32px;min-width:32px}
    .rule-row button,.catsec>header .tools button,.catnav .orgbtn{min-height:34px}
    input[type=checkbox],input[type=radio]{width:18px;height:18px}
    .search input{padding:9px 0}
    .pinbtn{width:34px;height:34px}
  }
  .policy-box{max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:14px 18px;background:var(--bg);margin:10px 0 16px}
  .attest-row{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;cursor:pointer;margin-bottom:12px}
  .attest-row input{margin-top:3px;width:17px;height:17px;accent-color:var(--accent);flex:0 0 auto}
  /* Training queue (home): sections + locked "up next" cards */
  .qsec{margin:26px 0 0} .qsec>h2{font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:700}
  .qsec .grid{padding:12px 0 8px}
  /* My training as a plan (Kyle, 2026-10-03): steps in curriculum order, parallel paths grouped, later steps as names */
  .qstep>h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap} .qnum{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--line);color:var(--ink);font-size:13px;letter-spacing:0}
  .qstep.cur .qnum{background:var(--accent);color:#fff} .qnow{font-size:11.5px;letter-spacing:.04em;background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;padding:2px 10px}
  .qlock{font-size:12px;letter-spacing:0;text-transform:none;font-weight:600;color:var(--muted)} .qparp{margin:6px 0 0;font-size:13.5px;color:var(--muted)}
  .qlater{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 6px} .qlchip{border:1px dashed var(--line);border-radius:12px;padding:8px 12px;font-size:13.5px;color:var(--muted);background:var(--panel)}
  .qstep{border-left:3px solid var(--line);padding-left:16px;margin-left:12px} .qstep.cur{border-left-color:var(--accent)}
  details.qstep>summary{margin:22px 0 0} details.qstep{border-left:3px solid var(--good,#1f9d55);padding-left:16px;margin-left:12px}
  .tx-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:16px 18px;margin:14px 0 0;position:relative;box-shadow:var(--shadow)}
  .tx-card h3{margin:0 0 6px;font-size:16px} .tx-card ul{margin:6px 0 0;padding-left:20px} .tx-card li{margin:4px 0;font-size:14.5px}
  .tx-card .tx-x{position:absolute;right:10px;top:8px} .tx-why{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--ink);font-size:14px}
  /* My training hero: "ⓘ How this page works" sits on the right of "Your training" (Kyle, 2026-10-03); compact on phones. */
  .tx-hero-row{display:flex;align-items:flex-start;gap:12px} .tx-hero-row .tx-hero-txt{flex:1;min-width:0}
  .tx-hero-row .tx-help{flex:none;font-size:13px;padding:6px 12px;margin-top:6px;white-space:nowrap}
  @media (max-width:560px){ .tx-hero-row .tx-help{padding:6px 9px;margin-top:2px} .tx-hero-row .tx-help .tx-help-l{display:none} }
  .tx-ask{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 0}
  /* Ask your manager (docs/manager-messages.md): the 💬 Manager/Messages tab inside the Ask panel — same bubbles as the
     support chat (.ask-u / .ask-a.sm-agent / .tdots), the onboarding chat's "Seen" (.onb-seen). */
  #askpanel .ask-tabs{display:flex;gap:2px;padding:0 8px;border-bottom:1px solid var(--line)} #askpanel .ask-tabs[hidden]{display:none}
  #askpanel .ask-tabs button{flex:1;border:0;background:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--muted);padding:9px 6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}
  #askpanel .ask-tabs button[aria-selected="true"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}
  #askpanel .ask-tabs .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block} #askpanel .ask-tabs .dot[hidden]{display:none}
  #askpanel .ask-tabs .dot.n{width:auto;height:auto;min-width:18px;border-radius:9px;color:#fff;font-size:11px;font-weight:700;padding:1px 5px;line-height:16px}
  #askpanel.mm-on #askmsgs,#askpanel.mm-on #askquota,#askpanel.mm-on #askatt,#askpanel.mm-on #askform,#askpanel.mm-on .ask-foot,#askpanel.mm-on .ah [data-act="askReset"]{display:none!important}
  #askpanel .mm-pane{display:none;flex:1;min-height:0;flex-direction:column} #askpanel.mm-on .mm-pane{display:flex}
  #askpanel .mm-scroll{flex:1;min-height:0;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;font-size:14.5px;line-height:1.5}
  #askpanel .mm-bar{display:flex;align-items:center;gap:10px;padding:10px 14px 4px} #askpanel .mm-bar b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px}
  #askpanel .mm-sub{padding:0 14px 6px;font-size:12.5px;border-bottom:1px solid var(--line)} #askpanel .mm-sub:empty{display:none}
  #askpanel .mm-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:6px 0 0}
  #askpanel .mm-none{font-size:13.5px;margin:0} #askpanel .mm-newbtn{align-self:flex-start}
  #askpanel .mm-new label{display:block;font-size:13px;color:var(--muted);margin:2px 0 -4px} #askpanel .mm-new select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;font-size:15px;background:var(--bg);color:var(--ink)}
  #askpanel .mm-err{padding:0 14px} #askpanel .onb-seen{margin-top:-6px}
  .mm-err{color:var(--bad-ink);font-size:13px} .mm-err:empty{display:none}
  .mm-list{display:flex;flex-direction:column;gap:8px} .mm-row{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel);cursor:pointer;color:var(--ink);text-decoration:none}
  .mm-row:hover{border-color:var(--accent)} .mm-row .grow{flex:1;min-width:0} .mm-row .grow b,.mm-row .grow small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mm-row small{color:var(--muted);font-size:12.5px} .mm-dot{min-width:20px;height:20px;border-radius:10px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
  .mm-private{font-size:12.5px;color:var(--muted);margin:4px 0 0}
  .pin-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;padding:12px 0 6px}
  .pin-it{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px 14px;cursor:pointer;text-align:left}
  .pin-it.off{cursor:default;opacity:.75} .pin-it .ic{font-size:20px;line-height:1.2} .pin-it b{display:block;font-size:14.5px} .pin-it small{color:var(--muted);font-size:12.5px;display:block;margin-top:2px}
  .card.locked{background:#fbfaf8;border-style:dashed}
  .card.locked .cover{filter:grayscale(.75) brightness(.92)}
  .card.locked .cover::after{content:"🔒";position:absolute;right:10px;top:8px;font-size:18px;filter:none}
  .lockline{font-size:12.5px;color:var(--muted)} .lockline b{color:var(--ink);font-weight:600}
  .qmore{color:var(--muted);font-size:13px;margin:18px 0 60px}
  details.qdone>summary{cursor:pointer;color:var(--muted);font-size:14px;font-weight:600;margin:26px 0 0;list-style:revert}
  .peek-out{list-style:none;padding:0;margin:8px 0 0} .peek-out li{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
  .peek-out .tp{flex:0 0 74px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}
  .reqlink{font-weight:600;color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px;cursor:pointer} .reqlink:hover{color:var(--ink)}
  .lockbar{background:var(--accent-soft);border-radius:10px;padding:12px 14px;margin:10px 0 14px;font-size:14px}
  /* Courses page: category sections + Organize mode */
  /* Category navigator: a sticky sidebar list beside the courses (never covers them); on narrow
     screens it collapses to one compact "Jump to" dropdown pinned under the header. */
  .catlayout{display:grid;grid-template-columns:212px minmax(0,1fr);gap:28px;align-items:start}
  .catnav{position:sticky;top:81px;max-height:calc(100vh - 97px);overflow-y:auto;padding:4px 2px 12px}
  body.demo-on .catnav{top:119px;max-height:calc(100vh - 135px)}
  .catnav-h{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 10px 6px}
  #catlist button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:none;padding:7px 10px;border-radius:8px;font:inherit;font-size:14px;line-height:1.3;cursor:pointer;color:var(--ink)}
  #catlist button:hover{background:var(--panel)} #catlist .n{margin-left:auto;color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}
  #catlist button.on{background:var(--ink);color:#fff} #catlist button.on .n{color:rgba(255,255,255,.7)}
  .catnav .orgbtn{margin:12px 10px 0;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;color:var(--ink)}
  .catnav .orgbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .catnav .catsel{display:none}
  .catsec{scroll-margin-top:81px}
  @media (max-width:900px){
    .catlayout{grid-template-columns:minmax(0,1fr);gap:0}
    .catnav{top:65px;z-index:15;max-height:none;overflow:visible;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 0;display:flex;gap:8px;align-items:center}
    body.demo-on .catnav{top:103px;max-height:none}
    .catnav-h,#catlist{display:none}
    .catnav .catsel{display:block;flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font:inherit;font-size:14px}
    .catnav .orgbtn{margin:0;flex:0 0 auto}
    .catsec{scroll-margin-top:130px}
  }
  .catsec{margin:22px 0 0;border-radius:14px}
  .catsec>header{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px}
  .catsec>header h2{font-size:19px;margin:0;letter-spacing:-.01em} .catsec>header .n{color:var(--muted);font-size:13px}
  .catsec>header .tools{margin-left:auto;display:flex;gap:6px}
  .catsec>header .tools button{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:3px 8px;cursor:pointer;font-size:12.5px}
  .catsec .grid{padding:14px 0 6px;min-height:40px}
  .organizing .catsec{outline:2px dashed transparent;outline-offset:6px;padding:4px}
  .organizing .catsec.over{outline-color:var(--accent);background:var(--accent-soft)}
  .organizing .card{cursor:grab} .organizing .card.dragging{opacity:.4}
  .card select.catpick{width:100%;margin-top:6px;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel);font-size:12.5px}
  .card select.scopepick{border-style:dashed}
  .scopebadge{position:absolute;right:8px;top:8px;z-index:2;background:rgba(20,20,20,.72);color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;backdrop-filter:blur(2px);box-shadow:0 1px 4px rgba(0,0,0,.22)}
  .roster-tbl{width:100%;border-collapse:collapse;font-size:14px}
  .roster-tbl th{font-size:12px;color:var(--muted);font-weight:600;text-align:right;padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
  .roster-tbl td{text-align:right;padding:9px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
  .roster-tbl tbody tr:last-child td{border-bottom:none}
  .orgbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0 4px}
  .orgbar input{flex:1;min-width:180px;padding:7px 10px;border:1px solid var(--line);border-radius:8px}
  /* Pins + collapsible KB entries */
  .pinbtn{border:1px solid var(--line);background:var(--panel);border-radius:999px;width:30px;height:30px;display:inline-grid;place-items:center;cursor:pointer;font-size:14px;line-height:1;filter:grayscale(1);opacity:.55;flex:0 0 auto}
  .pinbtn:hover{opacity:1;filter:none} .pinbtn.on{filter:none;opacity:1;border-color:var(--accent);background:var(--accent-soft)}
  .card .cover .pinbtn{position:absolute;left:8px;top:8px;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.18)}
  .pinbtn.wide{width:auto;height:auto;padding:5px 12px;font-size:13px;gap:6px;display:inline-flex;align-items:center;filter:none;opacity:1;margin:0 10px 8px}
  .kbe{margin:0;padding:0;overflow:hidden;scroll-margin-top:140px}
  .kbe-h{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer}
  .kbe-h h2{margin:0;font-size:16px;flex:1} .kbe-h .chev{color:var(--muted);transition:transform .15s ease}
  .kbe.open .kbe-h .chev{transform:rotate(90deg)}
  .kbe-b{padding:0 16px 16px;border-top:1px solid var(--line)} .kbe-b .prose{padding-top:12px}
  /* Quick-study cards: one-line summary visible without opening; "Keep going" links; sources */
  .kbe-h .kt{flex:1;min-width:0} .kbe-h .kt h2{flex:none}
  .kbe-h .sum{display:block;color:var(--muted);font-size:13.5px;line-height:1.45;margin-top:3px}
  .kbe.open .kbe-h .sum{display:none}
  .kbe .prose h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);margin:16px 0 6px}
  .kbe .prose h4:first-child{margin-top:4px}
  .kbe .prose blockquote{margin:6px 0;padding:9px 13px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0}
  .kbe .prose ul,.kbe .prose ol{padding-left:20px;margin:6px 0} .kbe .prose li{margin:3px 0}
  #shelfsecs .kbe:not(.open) .kbe-h .sum{display:none} #shelfsecs .kbe-h{padding:11px 16px} #shelfsecs .kbe-h h2{font-size:15px}
  .kb-keep{margin-top:16px;padding-top:12px;border-top:1px dashed var(--line)}
  .kb-keep .lbl{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
  .pb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:10px}
  .pb-card{display:flex;flex-direction:column;gap:8px;margin:0;cursor:pointer;color:var(--ink);text-decoration:none}
  .pb-card h2{margin:0;font-size:17px} .pb-card span{color:var(--muted);font-size:13px;line-height:1.45} .pb-card b{font-size:13px;color:var(--accent-ink)}
  .pb-sec{padding-bottom:6px} .pb-sec header h2.sub{font-size:16px}
  .pb-sec.pb-hit .pb-body{outline:2px solid var(--accent);outline-offset:6px;border-radius:6px}
  .pb-body{font-size:14.5px} .pb-body h4{margin:16px 0 6px}
  .pb-table{overflow-x:auto;margin:12px 0} .pb-table table{border-collapse:collapse;font-size:13.5px;min-width:100%}
  .pb-table th,.pb-table td{border:1px solid var(--line);padding:7px 9px;vertical-align:top;text-align:left} .pb-table th{background:var(--panel);font-weight:600}
  #catlist button.pb-sub{padding-left:22px;font-size:12.5px}
  .pb-editor label{display:block;font-weight:600;font-size:13px;margin:0 0 10px} .pb-editor input,.pb-editor textarea{display:block;width:100%;margin-top:4px;font:inherit;font-size:14px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
  .pb-editor textarea{font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.5}
  .av-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px} .av-tabs button{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:7px 13px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--ink)} .av-tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .av-in{width:100%;font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);box-sizing:border-box;min-width:0}
  .av-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center} .av-row .av-in{flex:1 1 220px} .av-row select{max-width:100%}
  .av-res{display:flex;flex-direction:column;gap:4px;margin-top:8px} .av-pick{text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:8px 10px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--ink);overflow-wrap:anywhere}
  .av-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:14px 0 8px} .av-head>div{min-width:0;overflow-wrap:anywhere}
  .pdir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px} .pdir-card{margin:0;min-width:0} .pdir-card a{overflow-wrap:anywhere}
  .pd-form{display:flex;flex-direction:column;gap:4px} .pd-form textarea{resize:vertical}
  .av-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px} .av-sec{margin:0} .av-sec h2{font-size:16px;margin:0 0 8px}
  .av .rule-row{flex-wrap:wrap} .av .rule-row .grow{min-width:0;overflow-wrap:anywhere} .av-chips{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}
  .av .chip{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--ink);white-space:nowrap}
  .av-warn,.av-note{background:var(--accent-soft);border-radius:10px;padding:10px 12px;margin:8px 0;font-size:13.5px} .av-grp{border-top:1px solid var(--line);padding:6px 0} .av-grp summary{cursor:pointer;padding:4px 0}
  @media (max-width:720px){ .av-grid{grid-template-columns:1fr} }
  .ga{margin:12px 0 0;scroll-margin-top:90px} .ga header{display:flex;align-items:baseline;gap:10px} .ga header h3{margin:0 0 6px;font-size:17px;flex:1;min-width:0;overflow-wrap:anywhere}
  .ga.pb-hit{outline:2px solid var(--accent);outline-offset:3px}
  .ga-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px} .ga-acts .btn{max-width:100%;white-space:normal;text-align:left}
  .ga-tags{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px} .ga-tags .chip{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--ink)}
  .ga-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px} .ga-as{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--muted)} .ga-as select{max-width:220px}
  .ga-auds{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:10px} .ga-aud{display:inline-flex!important;align-items:center;gap:5px;font-weight:400!important;margin:0!important} .ga-aud input{width:auto!important;display:inline!important;margin:0!important}
  .me-hero{display:flex;align-items:center;gap:16px;margin:8px 0 16px}
  .me-hero>div:last-child{min-width:0} .me-hero h1,.me-hero .muted{overflow-wrap:anywhere}   /* a long email/name wraps instead of widening the page on phones */
  @media (max-width:600px){ .me-hero{flex-wrap:wrap;align-items:flex-start} .me-hero>div:last-child{flex:1 1 100%} .me-hero h1{font-size:26px;line-height:1.15} }
  .av.has-photo,.me-av.has-photo,.row-av.has-photo{padding:0;overflow:hidden;background:var(--line)} .has-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
  .row-av{width:34px;height:34px;border-radius:50%;background:var(--bg);border:1px solid var(--line);color:var(--muted);display:grid;place-items:center;font-weight:700;font-size:12px;flex:none;margin-right:10px}
  .oc-pn{display:inline-flex;align-items:center;gap:6px} .oc-av{width:20px;height:20px;border-radius:50%;object-fit:cover;flex:none}
  .ph-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;flex:none} .ph-ctl{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:220px}
  .me-av{width:64px;height:64px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:24px;flex:none}
  .me-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:14px 0}
  .lbl-sm{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
  .ocs-wrap{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:10px}
  .ocs-tray,.ocs-dept{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px}
  .ocs-depts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
  .ocs-h{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
  .ocs-role{border:1.5px dashed var(--line);border-radius:8px;padding:6px;margin-bottom:6px;min-height:44px;cursor:pointer}
  .ocs-role.target{border-color:var(--accent)} .ocs-rn{font-weight:700;font-size:13px;margin-bottom:4px}
  .ocs-chip{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 8px;margin:0 0 6px;cursor:grab;font-size:13px;line-height:1.3}
  .ocs-chip small{display:block;color:var(--muted);font-size:11.5px} .ocs-chip em{display:block;font-style:normal;color:var(--bad-ink);font-size:11.5px;margin-top:2px}
  .ocs-chip.sel{outline:2px solid var(--accent)} .ocs-chip.ok{border-color:var(--good)} .ocs-chip.no{border-color:var(--bad)}
  @media (max-width:720px){ .ocs-wrap{grid-template-columns:1fr} }
  .of-field{margin:0 0 14px} .of-field label{display:block;font-weight:600;font-size:14px;margin-bottom:5px}
  .of-field input,.of-field textarea{width:100%;font:inherit;font-size:15px;padding:9px 11px;border:1.5px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
  .of-field.missing input,.of-field.missing textarea,.of-field.missing .of-scale{outline:2px solid var(--bad);outline-offset:2px;border-radius:8px}
  .of-scale{display:flex;flex-wrap:wrap;gap:6px} .of-scale button{border:1.5px solid var(--line);background:var(--panel);border-radius:8px;padding:7px 12px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}
  .of-scale button.on{background:var(--ink);color:#fff;border-color:var(--ink)} .of-req{color:var(--bad-ink)} .of-shared{font-weight:400;font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:1px 7px;margin-left:4px}
  @media (max-width:720px){ .of-field input,.of-field textarea{font-size:16px} }
  .onb-grip{cursor:grab;color:var(--muted);font-size:13px;letter-spacing:-2px;padding:0 2px;user-select:none}
  .onb-item[draggable="true"]{cursor:default} .onb-item.onb-dragging{opacity:.4}
  .onb-item.onb-over-top{box-shadow:inset 0 3px 0 var(--accent)} .onb-item.onb-over-bot{box-shadow:inset 0 -3px 0 var(--accent)}
  .onb-dropend{height:10px} .onb-dropend.onb-over-top{box-shadow:inset 0 3px 0 var(--accent)}
  .of-lbl{display:block;font-weight:600;font-size:13.5px;margin:0 0 10px} .of-lbl input,.of-lbl select,.of-lbl textarea{margin-top:4px}
  .of-mini{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);min-width:140px;flex:1} .of-mini select{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font:inherit;font-size:13.5px;color:var(--ink)}
  .doc-body{font-size:15px;line-height:1.6} .doc-math{margin-top:8px}
  .rp-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:12px 14px;margin:0 0 12px}
  .rp-scene{font-size:14px;color:var(--muted,#555);background:var(--panel);border:1px dashed var(--line);border-radius:10px;padding:8px 12px;margin:0 0 10px}
  .rp-top{display:flex;gap:10px;align-items:center;margin-bottom:8px} .rp-ic{font-size:26px}
  .rp-chat{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto;padding:4px 2px}
  .rp-msg{max-width:86%} .rp-msg.me{align-self:flex-end;text-align:right}
  .rp-who{font-size:11.5px;color:var(--muted);margin:0 6px 2px}
  .rp-bubble{display:inline-block;text-align:left;padding:8px 12px;border-radius:14px;background:var(--bg);border:1px solid var(--line);font-size:14px;line-height:1.45}
  .rp-msg.me .rp-bubble{background:var(--accent-soft);border-color:transparent}
  /* Voice AI-roleplay (questionSim mode:roleplay) */
  .rp2{margin-top:4px}
  .rp2-scene{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 12px}
  .rp2-goals{margin-top:8px} .rp2-goals ul,.rp2-rubric ul{margin:4px 0 0;padding-left:20px} .rp2-goals li,.rp2-rubric li{margin:2px 0}
  .rp2-rubric{margin-top:8px;font-size:13px} .rp2-rubric summary{cursor:pointer;color:var(--accent-ink)}
  .rp2-chat{display:flex;flex-direction:column;gap:8px;min-height:60px;max-height:420px;overflow:auto;padding:8px 2px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
  .rp2-msg{max-width:88%} .rp2-msg.me{align-self:flex-end;text-align:right}
  .rp2-who{font-size:11.5px;color:var(--muted);margin:0 6px 2px}
  .rp2-bubble{display:inline-block;text-align:left;padding:9px 13px;border-radius:15px;background:var(--bg);border:1px solid var(--line);font-size:14.5px;line-height:1.45}
  .rp2-msg.me .rp2-bubble{background:var(--accent-soft);border-color:transparent}
  .rp2-status{min-height:18px;color:var(--muted);font-size:13px;margin:8px 2px}
  .rp2-controls{display:flex;flex-direction:column;gap:10px;margin-top:4px}
  .rp2-mic{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;font-size:15px;padding:11px 20px}
  .rp2-mic.on{background:var(--bad);border-color:transparent}
  .rp2-dot{width:10px;height:10px;border-radius:50%;background:currentColor;opacity:.55}
  .rp2-mic.on .rp2-dot{opacity:1;animation:rp2pulse 1s ease-in-out infinite}
  @keyframes rp2pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.4}}
  .rp2-hint{font-size:12px;color:var(--muted);line-height:1.4;max-width:46ch}
  .rp2-type{font-size:13px} .rp2-type summary{cursor:pointer;color:var(--accent-ink)}
  .rp2-typerow{display:flex;gap:8px;margin-top:8px} .rp2-typerow input{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;font:inherit}
  .rp2-finish{margin-top:16px}
  .rp2-card{border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-top:14px;background:var(--panel)}
  .rp2-card.ok{border-color:var(--good);background:var(--good-soft)} .rp2-card.no{border-color:var(--accent)}
  .rp2-overall{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
  .rp2-big{font-size:34px;font-weight:800;line-height:1} .rp2-big small{font-size:16px;font-weight:600;color:var(--muted)}
  .rp2-verdict{font-weight:700} .rp2-fb{margin:10px 0;line-height:1.5}
  .rp2-line{margin:4px 0;font-size:14px} .rp2-crit{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:13.5px;line-height:1.4}
  .rp2-critscore{color:var(--accent-ink);letter-spacing:1px;white-space:nowrap}
  .rp2-subh{font-weight:700;font-size:13px;margin:14px 0 2px;display:flex;align-items:center;gap:8px}
  .rp2-delivery{margin-top:8px;padding-top:10px;border-top:1px dashed var(--line)}
  .rp2-tag{font-weight:600;font-size:11px;padding:1px 8px;border-radius:999px;background:var(--good-soft);color:var(--good-ink)}
  .rp2-tag.est{background:var(--bg);color:var(--muted);border:1px solid var(--line)}
  .coach-rec{padding:10px 0;border-top:1px solid var(--line)} .coach-rec:first-of-type{border-top:0}
  .coach-rec-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14.5px}
  .coach-score{display:inline-block;min-width:38px;text-align:center;font-weight:700;font-size:12.5px;border-radius:999px;padding:1px 8px}
  .coach-score.low{background:var(--bad-soft);color:var(--bad-ink)} .coach-score.mid{background:var(--accent-soft);color:var(--accent-ink)} .coach-score.ok{background:var(--good-soft);color:var(--good-ink)}
  .coach-says{font-size:13px;margin:5px 0 7px;line-height:1.45}
  .coach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 14px;margin:6px 0 10px}
  .coach-assign{display:flex;flex-direction:column;gap:4px;margin-top:4px}
  .coach-arow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13.5px;padding:3px 0}
  .coach-arow .grow{flex:1;min-width:0;overflow-wrap:anywhere} .coach-arow a.grow[data-nav]{cursor:pointer;color:var(--ink)}
  .coach-btn{padding:4px 11px;font-size:12.5px} .coach-state{font-size:12.5px;font-weight:600} .coach-state.ok{color:var(--good-ink)}
  .coach-page .coach-filter{display:inline-flex;gap:8px;align-items:center;margin:0 0 12px;font-size:13.5px}
  .coach-example-banner{background:var(--accent-soft);color:var(--ink);border:1px dashed var(--accent);border-radius:12px;padding:10px 14px;margin:0 0 12px;font-size:14px}
  .coach-rep{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);margin:0 0 10px;box-shadow:var(--shadow-sm)}
  .coach-rep-h{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:12px 14px}
  .coach-rep-h[data-act]{cursor:pointer}
  .coach-rep-who{display:flex;flex-direction:column;flex:1;min-width:160px} .coach-rep-who small{font-size:12.5px}
  .coach-rep-stats{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
  .coach-rep-weak{display:flex;gap:6px;flex-wrap:wrap;width:100%}
  .coach-weak{display:inline-flex;gap:5px;align-items:center;font-size:12.5px;border:1px solid var(--line);border-radius:999px;padding:2px 4px 2px 10px;background:var(--bg)}
  .coach-rep-b{padding:0 14px} .coach-rep.open .coach-rep-b{padding:0 14px 12px;border-top:1px solid var(--line)}
  .coach-grid .row{display:flex;justify-content:space-between;gap:8px;font-size:13.5px;padding:3px 0;border-bottom:1px dashed var(--line)}
  .doc-who-link{color:var(--accent-ink);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
  .dw-group{padding:9px 0;border-top:1px solid var(--line)} .dw-group:first-of-type{border-top:0}
  .dw-h{font-size:13.5px;margin-bottom:6px} .dw-people{display:flex;flex-wrap:wrap;gap:6px}
  .dw-p{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:13px}
  .dw-x{border:0;background:none;color:var(--muted);cursor:pointer;font-size:12px;padding:0 2px} .dw-x:hover{color:var(--bad-ink)}
  .dw-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
  /* Inputs inside a bold label inherited its weight through font:inherit — that made every editor look bolded */
  .of-lbl input,.of-lbl select,.of-lbl textarea,.te-in{font-weight:400!important}
  .doc-ph{display:inline;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:1px 6px;border-radius:6px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);color:var(--ink);font-size:.92em;line-height:1.45}
  .doc-ph.unknown{background:var(--bad-soft);border-color:var(--bad)}
  .te-in{width:100%;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:14px;background:var(--bg);color:var(--ink)}
  .te-row2{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:12px}
  .te-tabs{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden} .te-tabs button{border:0;background:none;font:inherit;font-size:12.5px;padding:6px 10px;cursor:pointer;color:var(--muted)} .te-tabs button.on{background:var(--ink);color:var(--panel)}
  .te-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start} .te-split>*{min-width:0} .te-split.edit{grid-template-columns:minmax(0,1fr)} .te-split.edit .te-prev{display:none} .te-split.preview{grid-template-columns:minmax(0,1fr)} .te-split.preview .te-edit{display:none}
  .te-bar{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin-bottom:6px} .te-bar .btn{padding:4px 10px;font-size:13px} .te-bar select{width:auto;max-width:220px;padding:5px 8px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:13px;background:var(--panel);color:var(--ink)}
  .te-body{min-height:560px;font-size:14.5px;line-height:1.6;resize:vertical;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
  .te-prev{position:sticky;top:12px} .te-prev-h{font-weight:600;font-size:13.5px;margin-bottom:6px}
  .te-paper{background:#fff;color:#1d1d1f;border:1px solid var(--line);border-radius:var(--radius);padding:26px 30px;max-height:640px;overflow:auto;box-shadow:var(--shadow-sm)}
  .te-split.preview .te-paper{max-height:none}
  .te-paper h4{font-size:19px;margin:0 0 12px} .te-paper h5{font-size:15.5px;margin:18px 0 8px}
  .te-field{display:grid;grid-template-columns:minmax(160px,1.6fr) auto 150px auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
  .te-field .te-opts{grid-column:1/-1} .te-id{font-size:12px;color:var(--muted);background:var(--bg);padding:3px 6px;border-radius:6px;white-space:nowrap}
  .te-req{display:flex;gap:5px;align-items:center;font-size:13px;white-space:nowrap}
  .te-signer{display:flex;gap:8px;align-items:center;margin-bottom:6px} .te-n{width:22px;height:22px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;font-size:12px;flex:none}
  @media(max-width:900px){ .te-split{grid-template-columns:1fr} .te-prev{position:static} .te-row2{grid-template-columns:1fr} .te-field{grid-template-columns:1fr auto} .te-field .te-id{grid-column:1/-1;justify-self:start} }
  @media print{ header.top,#tabbar,#askbtn,#askpanel,.no-print,#onbdock,.onbtasktab{display:none!important} .doc-page .admin-card{box-shadow:none;border:0;padding:0} }
  .cf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
  #bellpanel .bell-gear{margin-left:auto;background:none;border:0;font-size:16px;cursor:pointer;color:var(--muted);padding:4px 8px}
  .sup-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
  .sup-row:last-child{border-bottom:0} .sup-row:hover{background:var(--bg)}
  .sup-ref{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12.5px;min-width:64px}
  .sup-subj{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis} .sup-subj small{display:block;color:var(--muted);font-size:12px}
  .sup-asg{min-width:84px;text-align:right}
  /* Agent queue table (renderSupportQueue): header buttons sort; ≤ 1100px drops Company (it's under the subject too); ≤ 720px = stacked cards + the Sort menu. */
  .sup-qtable{padding:0;overflow:hidden;--sq-cols:110px minmax(0,1fr) 96px 72px 36px 92px 84px 70px}
  .sup-qhead,.sup-row.q{display:grid;grid-template-columns:var(--sq-cols);gap:6px;align-items:center;padding:8px 12px}
  .sup-qhead{background:var(--bg);border-bottom:1px solid var(--line);padding-top:4px;padding-bottom:4px}
  .sq-h{background:none;border:0;font:inherit;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;padding:5px 2px;display:inline-flex;align-items:center;gap:4px;max-width:100%;white-space:nowrap;border-radius:6px}
  .sq-h:hover,.sq-h.on{color:var(--ink)} .sq-h:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
  .sq-ind{font-size:9.5px;min-width:9px}
  .sup-row.q{cursor:pointer} .sup-row.q:focus-within{background:var(--bg);box-shadow:inset 3px 0 0 var(--accent)}
  .sq-c{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
  .sq-num{font-variant-numeric:tabular-nums;color:var(--muted);font-size:11.5px}
  .sq-link{display:block;color:var(--ink);text-decoration:none;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sq-link:focus-visible{outline:none;text-decoration:underline}
  .sq-subject small{display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
  .sq-subject small .sup-chip{font-size:10.5px;padding:0 6px;margin-right:5px;vertical-align:1px}
  .sq-status .sup-chip,.sq-tier .sup-chip{font-size:11px;padding:1px 7px} .sq-updated{color:var(--muted);font-size:12px}
  .sq-company.empty{color:var(--muted)}
  @media (max-width:1100px){ .sup-qtable{--sq-cols:110px minmax(0,1fr) 72px 36px 90px 82px 68px} .sup-qtable .sq-company{display:none} }
  @media (max-width:720px){ .sup-qhead{display:none} .sup-row.q{display:flex;flex-wrap:wrap;gap:4px 10px;padding:10px 14px}
    .sq-num{flex-basis:100%} .sq-subject{flex:1 1 100%} .sq-link,.sq-subject small{white-space:normal;overflow-wrap:anywhere}
    .sup-qtable .sq-assignee,.sup-qtable .sq-updated,.sq-tier.t1,.sq-todo.empty{display:none}
    .sq-todo{flex-basis:100%;font-size:12px;color:var(--muted)} .sq-todo::before{content:"To Do: "} }
  .sup-chip{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--bg);border:1px solid var(--line);white-space:nowrap}
  .sup-new{background:var(--accent-soft);border-color:#f3c89a;color:var(--accent-ink)} .sup-open{background:var(--info-soft);border-color:var(--info-line);color:var(--info-ink)}
  .sup-pend{background:var(--violet-soft);border-color:var(--violet-line);color:var(--violet-ink)} .sup-solved{background:var(--good-soft);border-color:#b8dfc5;color:var(--good-ink)}
  .sup-warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn-ink)}
  .sup-thread{display:flex;flex-direction:column;gap:10px}
  /* Text-message style (Kyle, 2026-09-29): "me" on the right, the other party on the left; the customer's bubbles are blue. */
  .sup-msg{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:10px 14px;max-width:min(82%,640px)}
  .sup-msg.me{align-self:flex-end;border-bottom-right-radius:4px} .sup-msg.them{align-self:flex-start;border-bottom-left-radius:4px}
  .sup-msg.requester{background:color-mix(in srgb,#2f7de1 13%,var(--panel));border-color:color-mix(in srgb,#2f7de1 30%,var(--line))}
  .sup-msg.agent{background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
  .sup-msg.note{background:var(--warn-soft);border-color:var(--warn-line);border-style:dashed}
  .sup-msg.system{align-self:center;max-width:90%;background:none;border:0;padding:2px 8px;font-size:12.5px;color:var(--muted);text-align:center}
  .sup-msg.system .sup-mh{justify-content:center;margin-bottom:0} .sup-msg.me .sup-mh{justify-content:flex-end}
  .sup-mh{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px} .sup-mb{line-height:1.55;overflow-wrap:anywhere}
  .sup-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:flex-start}
  .sup-vid{margin:0;width:100%;max-width:420px} .sup-vid video{display:block;width:100%;max-height:320px;border-radius:8px;background:#000} .sup-vid figcaption{font-size:12.5px;margin-top:4px;overflow-wrap:anywhere}
  .att-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
  .att-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;padding:6px 10px;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
  .att-btn:hover{border-color:var(--accent);color:var(--accent-ink)}
  .att-tray{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px} .att-tray:empty{display:none}
  .att-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:3px;font-size:12.5px;max-width:100%;background:var(--bg);min-width:0}
  .att-chip img,.att-chip video{width:40px;height:40px;object-fit:cover;border-radius:6px;background:#000;flex:none} .att-chip .att-ic{width:40px;text-align:center;font-size:20px}
  .att-chip .att-nm{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0} .att-chip .att-sz{color:var(--muted);white-space:nowrap}
  .att-chip button{border:0;background:none;cursor:pointer;color:var(--muted);font-size:14px;padding:2px 6px} .att-chip button:hover{color:var(--bad-ink)}
  .att-note{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.45} .att-note.bad{color:var(--bad-ink)} .att-note[hidden],.att-prev[hidden]{display:none}
  .att-note-acts{display:inline-flex;gap:6px;margin-left:4px;vertical-align:middle}
  .att-prev{border:1px solid var(--line);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:6px;margin-top:6px;font-size:12.5px}
  .att-prev video{width:100%;max-height:240px;background:#000;border-radius:8px} .att-prev-acts{display:flex;gap:6px;justify-content:flex-end}
  .att-over{outline:2px dashed var(--accent)!important;outline-offset:2px}
  .sup-attwrap{margin:8px 0}
  #att-recbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9100;display:flex;gap:10px;align-items:center;background:var(--ink);color:#fff;padding:8px 12px;border-radius:14px;box-shadow:var(--shadow-lg);max-width:calc(100vw - 24px);box-sizing:border-box;font-size:13px}
  #att-recbar .rec{color:var(--bad);font-weight:700;animation:soprec 1.2s steps(2) infinite} #att-recbar .att-rbar{width:80px;height:5px;border-radius:3px;background:rgba(255,255,255,.25);overflow:hidden} #att-recbar .att-rbar i{display:block;height:100%;width:0;background:#ff5a5a}
  .sup-file{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-size:12.5px;color:var(--ink);text-decoration:none;max-width:260px}
  .sup-file img{width:48px;height:48px;object-fit:cover;border-radius:6px}
  /* Ticket details on the LEFT, conversation on the right (Kyle, 2026-09-29). Phones keep the thread first. */
  .sup-grid{display:grid;grid-template-columns:270px minmax(0,1fr) 270px;gap:16px;align-items:start} .sup-mid{min-width:0}
  /* ⚠️ Known issues (queue group cards, ticket side card) + 📈 weekly card + the status banner (migration 0187) */
  .sup-ki-wrap{margin:0 0 12px} .sup-ki-h{display:flex;align-items:center;gap:8px;margin:0 0 6px;flex-wrap:wrap}
  .sup-ki{padding:0;margin:0 0 8px;border-left:4px solid var(--warn-line)} .sup-ki.confirmed{border-left-color:var(--accent)} .sup-ki.resolved{border-left-color:var(--good);opacity:.85} .sup-ki.dismissed{border-left-color:var(--line);opacity:.7}
  .sup-ki>summary{cursor:pointer;padding:10px 14px;list-style:revert;overflow-wrap:anywhere} .sup-ki-l{font-size:13px;font-weight:600;color:var(--warn-ink)} .sup-ki.confirmed .sup-ki-l{color:var(--accent-ink)}
  .sup-ki-b{padding:0 14px 12px} .sup-ki-t{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line-soft);flex-wrap:wrap} .sup-ki-ts{flex:1;min-width:160px;overflow-wrap:anywhere} .sup-ki-ts small{display:block;color:var(--muted)}
  .sup-ki-act{margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft)} .sup-ki-act textarea{width:100%;margin:6px 0} .sup-ki-confirm{margin:8px 0;padding:8px 10px;background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:var(--r-sm);font-size:14px}
  .sup-ki-msg{font-size:13px;margin-top:6px} .sup-ki-side{border-left:4px solid var(--warn-line)}
  .sup-why{margin:0 0 14px} .sup-why-topics{display:grid;gap:8px;margin-top:10px} .sup-why-t{padding:8px 0;border-top:1px solid var(--line-soft)} .sup-why-n{font-weight:700}
  .sup-why-tr{font-size:12.5px;color:var(--muted)} .sup-why-tr.up{color:var(--bad-ink)} .sup-why-tr.down{color:var(--good-ink)} .sup-why-s{font-size:14px;margin-top:3px}
  .ki-banner{background:var(--warn-soft);border-bottom:1px solid var(--warn-line);color:var(--warn-ink);font-size:14px}
  .ki-banner .ki-b{max-width:var(--maxw);margin:0 auto;padding:8px 16px;display:flex;gap:10px;align-items:flex-start} .ki-banner .ki-b span{flex:1;overflow-wrap:anywhere}
  .ki-banner button{background:none;border:0;font-size:18px;line-height:1;cursor:pointer;color:inherit;padding:0 4px}
  @media (max-width:1180px){ .sup-grid{grid-template-columns:250px minmax(0,1fr)} .sup-side-r{grid-column:2} }
  .sup-ccrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px} .sup-ccrow>label[for]{font-size:13px;font-weight:600;color:var(--muted)}
  .sup-ccrow .sup-in{flex:1;min-width:200px} .sup-cckeep{font-size:12.5px;display:flex;gap:4px;align-items:center}
  .sup-ccintro{flex-basis:100%;display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--accent-soft,#faf3ee);border:1px solid var(--line-soft);border-radius:10px;min-width:0}
  .sup-ccintro[hidden]{display:none} .sup-ccintro-h{font-size:13.5px;font-weight:600;display:flex;gap:6px;align-items:center;overflow-wrap:anywhere} .sup-ccintro .sup-in{width:100%;min-width:0}
  .sup-cc-line{font-size:12px;color:var(--muted);margin:-2px 0 4px;overflow-wrap:anywhere}
  .sup-rcpt{font-size:13px;line-height:1.45;color:var(--ink);margin:0 0 6px;padding:0 0 6px;border-bottom:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:2px 14px;overflow-wrap:anywhere;min-width:0}
  .sup-rcpt b{font-weight:600;color:var(--ink)} .sup-rs{min-width:0;max-width:100%} .sup-rp{white-space:normal} .sup-rvia{color:var(--muted)} .sup-rbad{color:var(--bad-ink)}
  .sup-rmore{display:inline} .sup-rmore summary{display:inline;cursor:pointer;color:var(--accent-ink);list-style:none} .sup-rmore summary::-webkit-details-marker{display:none} .sup-rmore[open] summary{display:none}
  .sup-rreview{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px;color:var(--ink)}
  /* 🗓 Events — training events (#/events/<id>, editor, lodging board) */
  .ev-page label.f,#ev-ed label.f{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin:8px 0 3px} .ev-page .ev-form .sup-in,#ev-ed .sup-in{width:100%;box-sizing:border-box}
  .ev-page .rt-g2,#ev-ed .rt-g2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px} #ev-ed .admin-card{margin:0 0 14px} #ev-ed .rt-erow{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 10px;background:var(--bg)}
  @media (max-width:760px){ .ev-page .rt-g2,#ev-ed .rt-g2{grid-template-columns:1fr} .ev-dl{grid-template-columns:1fr} }
  .ev-hero{min-height:220px;background:linear-gradient(160deg,#10243f 0%,#1f4a6e 45%,#d17d0d 100%)}
  .ev-card{background:linear-gradient(160deg,#10243f,#1f4a6e 55%,#d17d0d)}
  .ev-edbar{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin:6px 0}
  .ev-g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:16px} .ev-g2 .admin-card{margin:0}
  .ev-dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 12px;margin:0;font-size:14.5px} .ev-dl dt{color:var(--muted)} .ev-dl dd{margin:0;overflow-wrap:anywhere}
  .ev-cost{width:100%;border-collapse:collapse;font-size:14.5px} .ev-cost td{padding:4px 0;border-top:1px solid var(--line-soft)} .ev-cost td:last-child{text-align:right;font-variant-numeric:tabular-nums} .ev-cost .tot td{font-weight:700}
  .ev-dayh{padding:10px 18px 4px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg)}
  .rt-row .t small{display:block;font-weight:500}
  .ev-pill{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;background:var(--accent-soft);color:var(--accent-ink);vertical-align:2px}
  .ev-flags{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14.5px}
  .ev-det{margin-top:14px} .ev-det>summary{cursor:pointer;font-weight:650}
  .ev-form h4{margin:16px 0 6px;font-size:14.5px} .ev-radio{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:4px 0}
  .ev-chk{display:inline-flex;gap:6px;align-items:center;font-size:14px;margin:2px 12px 2px 0} .ev-nights{display:flex;flex-wrap:wrap;margin:4px 0}
  .ev-pick{margin:8px 0;padding:8px 12px;border:1px solid var(--line);border-radius:10px} .ev-pick .ev-chk{display:flex}
  .ev-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 8px}
  .ev-tablewrap{overflow-x:auto} .ev-table{width:100%;border-collapse:collapse;font-size:14px} .ev-table th{text-align:left;font-size:12px;color:var(--muted);font-weight:700;padding:6px 8px;border-bottom:1px solid var(--line)}
  .ev-table td{padding:8px;border-top:1px solid var(--line-soft);vertical-align:top} .ev-gone{opacity:.55} .ev-miss{color:var(--bad-ink);font-weight:650}
  .ev-sess{border:1px solid var(--line);border-radius:12px;padding:10px;margin:0 0 8px} .ev-sess-g{display:grid;grid-template-columns:130px 100px 100px minmax(160px,2fr) minmax(90px,1fr) minmax(110px,1fr) minmax(130px,1fr) 80px minmax(110px,1fr) minmax(110px,1fr);gap:6px}
  @media (max-width:900px){ .ev-sess-g{grid-template-columns:1fr 1fr} }
  .ev-pub{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--accent-soft)} .ev-diff ul{margin:4px 0;padding-left:20px;font-size:14px}
  .ev-addroom{display:flex;gap:8px;align-items:center;flex-wrap:wrap} .ev-addroom .sup-in{flex:1;min-width:200px}
  .ev-board{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:14px;align-items:start} @media (max-width:820px){ .ev-board{grid-template-columns:1fr} }
  .ev-col,.ev-room{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px} .ev-col h3{margin:0 0 8px;font-size:15px}
  .ev-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px} .ev-room.warn{border-color:var(--bad-ink)} .ev-drop.over{outline:2px dashed var(--accent);outline-offset:2px}
  .ev-roomh{display:flex;gap:6px;align-items:center;margin-bottom:6px} .ev-roomh b{flex:1} .ev-roomh .btn{padding:2px 8px}
  .ev-person{border:1px solid var(--line-soft);border-radius:10px;padding:8px;margin:6px 0;background:var(--bg);cursor:grab;font-size:13.5px} .ev-person .sup-in{margin-top:6px;padding:4px 6px;font-size:13px}
  .ev-flag{display:inline-block;font-size:11.5px;border-radius:999px;padding:1px 8px;margin:4px 4px 0 0;background:var(--accent-soft);color:var(--accent-ink)} .ev-f-over,.ev-f-unassigned,.ev-f-own_room,.ev-f-roommate_unmatched{background:var(--bad-soft,#fdecea);color:var(--bad-ink)} .ev-f-roommate_matched{background:var(--good-soft,#e8f5ee);color:var(--good-ink)}
  @media print{ .ev-page .ev-edbar,.ev-page details{display:none!important} }
  /* 🗓 Simple events (kickoffs, staff bonding, Christmas parties — #/events/<id>, #/events/new) */
  .evg-hero{min-height:240px} .rt-hero.evg-kickoff,.rt-card.evg-kickoff{background:linear-gradient(160deg,#10243f,#2f5d8a 55%,#e8622c)} .rt-hero.evg-bonding,.rt-card.evg-bonding{background:linear-gradient(160deg,#1d3b2a,#3f7a55 55%,#d9a441)}
  .rt-hero.evg-christmas,.rt-card.evg-christmas{background:linear-gradient(160deg,#3b0d12,#8c1c24 50%,#1f5a3a)} .rt-hero.evg-other,.rt-card.evg-other{background:linear-gradient(160deg,#24163f,#4a3a7a 55%,#d17d0d)}
  .rt-hero.evg-hero.has-img,.rt-card.ev-card[style*="background-image"]{background-size:cover;background-position:center}
  .evg-host{background:#fff!important;color:#111!important;border-color:#fff!important}
  .evg-rsvp{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px} .evg-rsvp button[aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
  .evg-cal{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
  .evg-cancel{background:var(--bad-soft,#fdecea);color:var(--bad-ink);border:1px solid var(--bad-ink);border-radius:12px;padding:10px 14px;margin:8px 0 12px;font-size:14px}
  .evg-inv{margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--accent-soft)} .evg-inv p{margin:4px 0}
  .evg-counts{display:flex;gap:16px;flex-wrap:wrap;font-size:14.5px;margin:4px 0 8px} .evg-list{font-size:14px;margin:6px 0 0;padding-left:18px}
  #evg-ed .admin-card{margin:0 0 14px} #evg-ed label.f{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin:8px 0 3px} #evg-ed .sup-in{width:100%;box-sizing:border-box}
  #evg-ed .rt-g2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px} @media (max-width:760px){ #evg-ed .rt-g2{grid-template-columns:1fr} }
  .evg-quick{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px} .evg-allp{display:flex;flex-wrap:wrap;margin:0 0 8px} .evg-orgq{margin:0 0 6px;max-width:320px}
  .evg-orgs{display:flex;flex-wrap:wrap;gap:4px 4px;max-height:220px;overflow:auto;border:1px solid var(--line-soft);border-radius:10px;padding:6px 8px}
  .evg-thumb{max-width:220px;max-height:140px;border-radius:10px;display:block;margin:6px 0}
  /* 🌵 Retreats (#/retreats) */
  .rt-hero{position:relative;border-radius:20px;overflow:hidden;color:#fff;min-height:340px;display:flex;align-items:flex-end;background:linear-gradient(165deg,#24163f 0%,#5a2a5e 30%,#b4475a 58%,#f28c38 82%,#ffcf8a 100%);box-shadow:var(--shadow-lg)}
  .rt-hero.has-img{background-size:cover;background-position:center}
  .rt-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,8,25,.05) 0%,rgba(15,8,25,.25) 45%,rgba(15,8,25,.78) 100%)}
  .rt-hero svg.rt-hills{position:absolute;left:0;right:0;bottom:0;width:100%;height:120px;opacity:.55}
  .rt-hero .rt-in{position:relative;z-index:1;padding:30px 28px;width:100%}
  .rt-hero h1{margin:6px 0 6px;font-size:clamp(30px,6vw,52px);line-height:1.02;letter-spacing:-.025em;text-shadow:0 2px 18px rgba(0,0,0,.25)}
  .rt-hero .rt-sub{font-size:17px;opacity:.95;max-width:680px;margin:0}
  .rt-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px} .rt-chip{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);border-radius:999px;padding:5px 13px;font-size:13.5px;font-weight:600}
  .rt-chip.cd{background:#fff;color:#3a1d3f;border-color:#fff}
  .rt-presented{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;opacity:.95}
  .rt-presented img{height:22px;width:auto;background:#fff;border-radius:4px;padding:2px 6px}
  .rt-nav{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 6px;position:sticky;top:64px;z-index:5;background:var(--bg);padding:8px 0}
  .rt-nav a{font-size:13.5px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);text-decoration:none}
  .rt-sec{margin:34px 0 14px;scroll-margin-top:120px} .rt-sec h2{margin:0;font-size:24px;letter-spacing:-.015em} .rt-sec p{margin:4px 0 0;color:var(--muted)}
  .rt-intro{font-size:16.5px;max-width:760px} .rt-intro p{margin:0 0 10px}
  .rt-thanks{margin:18px 0 0;padding:14px 18px;border-radius:14px;border:1px solid var(--line);background:var(--panel);display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
  .rt-thanks .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
  .rt-word{font-weight:800;font-size:17px;letter-spacing:-.01em} .rt-thanks img{height:30px;width:auto}
  .rt-hotel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
  .rt-ph{min-height:260px;background:linear-gradient(150deg,#f6d6a8,#e98a5a 55%,#7b3a63);display:flex;align-items:center;justify-content:center;font-size:64px;position:relative}
  .rt-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover} .rt-ph .cr{position:absolute;right:8px;bottom:6px;font-size:11px;color:#fff;text-shadow:0 1px 3px #000;z-index:1}
  .rt-vin{padding:22px 24px} .rt-role{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}
  .rt-vin h3{margin:4px 0 8px;font-size:22px;letter-spacing:-.01em} .rt-vin p{margin:0 0 10px}
  .rt-hl{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:6px} .rt-hl li{padding-left:22px;position:relative;font-size:14.5px} .rt-hl li::before{content:"✦";position:absolute;left:2px;color:var(--accent)}
  .rt-links{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px} .rt-links a{color:var(--accent-ink)}
  .rt-venues{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:14px}
  .rt-venues .rt-hotel{grid-template-columns:1fr} .rt-venues .rt-ph{min-height:180px;font-size:48px}
  .rt-acts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
  .rt-act{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px} .rt-act b{display:block;margin:2px 0 4px} .rt-act p{margin:0;font-size:13.5px;color:var(--muted)}
  .rt-days{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 12px} .rt-days button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:12px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;text-align:left;line-height:1.2}
  .rt-days button small{display:block;font-weight:500;color:var(--muted);font-size:12px} .rt-days button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)} .rt-days button[aria-pressed="true"] small{color:inherit;opacity:.8}
  .rt-ag{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}
  .rt-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:13px 18px;border-top:1px solid var(--line-soft)} .rt-row:first-child{border-top:0}
  .rt-row .t{font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px} .rt-row .w{font-weight:650} .rt-row .m{font-size:13px;color:var(--muted)}
  .rt-row.sp{background:linear-gradient(90deg,color-mix(in srgb,var(--spc,var(--accent)) 12%,transparent),transparent 70%);border-left:4px solid var(--spc,var(--accent))}
  .rt-spb{display:inline-flex;align-items:center;gap:6px;margin-top:5px;font-size:12px;font-weight:700;color:var(--spc,var(--accent-ink));letter-spacing:.02em} .rt-spb img{height:18px;width:auto;border-radius:3px}
  .rt-sps{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:14px}
  .rt-sp{background:var(--panel);border:1px solid var(--line);border-top:5px solid var(--spc,var(--accent));border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}
  .rt-sp.presenting{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:18px;padding:26px}
  .rt-sp .lg{min-height:54px;display:flex;align-items:center} .rt-sp .lg img{max-height:54px;max-width:220px;object-fit:contain} .rt-sp .lg .rt-word{font-size:26px;color:var(--spc,var(--ink))}
  .rt-sp .tier{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)} .rt-sp .what{font-weight:650} .rt-sp p{margin:0;font-size:14px}
  .rt-sp .btn{align-self:flex-start;margin-top:auto}
  .rt-faq details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 8px} .rt-faq summary{font-weight:650;cursor:pointer} .rt-faq details p{margin:8px 0 0}
  .rt-foot{margin:34px 0 10px;padding:22px;border-radius:18px;background:linear-gradient(120deg,#2b1a4a,#8a3b5c 60%,#f28c38);color:#fff;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
  .rt-foot .btn{background:#fff;color:#2b1a4a;border-color:#fff}
  .rt-draft{background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent);border-radius:12px;padding:10px 14px;margin:0 0 12px;font-size:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
  .rt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
  .rt-card{border-radius:18px;overflow:hidden;color:#fff;min-height:190px;display:flex;align-items:flex-end;position:relative;cursor:pointer;background:linear-gradient(165deg,#24163f,#b4475a 60%,#f28c38);background-size:cover;background-position:center}
  .rt-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(15,8,25,.75))} .rt-card .in{position:relative;z-index:1;padding:18px} .rt-card h3{margin:0 0 4px;font-size:20px}
  .rt-home{display:flex;gap:14px;align-items:center;border-radius:16px;padding:14px 18px;margin:0 0 10px;color:#fff;background:linear-gradient(120deg,#2b1a4a,#8a3b5c 55%,#f28c38);box-shadow:var(--shadow);cursor:pointer;flex-wrap:wrap}
  .rt-home .ic{font-size:30px} .rt-home b{font-size:16px} .rt-home small{opacity:.92} .rt-home .btn{margin-left:auto;background:#fff;color:#2b1a4a;border-color:#fff}
  /* Home layout: ✅ To do + plan | 📈 progress + 🗓 coming up (homeLayout) */
  .hm-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"todo side" "main side";column-gap:24px;align-items:start;margin-top:14px}
  .hm-grid.hm-noside{grid-template-columns:minmax(0,1fr);grid-template-areas:"todo" "main"}
  .hm-todo{grid-area:todo} .hm-main{grid-area:main;min-width:0} .hm-side{grid-area:side;position:sticky;top:84px}
  .hm-grid.hm-noside .hm-side{display:none}
  .hm-main>.qsec:first-child,.hm-main>.qstep:first-child{margin-top:0}
  .hm-todo,.hm-box{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 16px 8px;margin:0 0 18px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
  .hm-todo h2,.hm-box h2{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:2px 0 6px;font-weight:700}
  .hm-n{font-weight:600;letter-spacing:0}
  .hm-row{display:flex;align-items:center;gap:12px;padding:10px 6px;margin:0 -6px;border-top:1px solid var(--line);cursor:pointer;border-radius:8px}
  .hm-list .hm-row:first-child{border-top:0} .hm-row:hover{background:var(--bg)} .hm-row.off{cursor:default;opacity:.75} .hm-row.off:hover{background:none}
  .hm-row:focus-visible,.hm-tile:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
  .hm-ic{flex:0 0 28px;font-size:20px;text-align:center;line-height:1}
  .hm-tx{flex:1;min-width:0;line-height:1.35} .hm-tx b{display:block;font-size:14.5px;overflow-wrap:anywhere} .hm-tx small{display:block;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}
  .hm-row.bad .hm-tx small{color:var(--bad-ink)} .hm-row.warn{background:#fdf4f1} .hm-row.warn:hover{background:#fbe9e3}
  .hm-row .btn{flex:0 0 auto;white-space:nowrap}
  .hm-more{margin:4px 0 6px;font-size:13px}
  /* 📱 Phone tip (mobTipHome / #/app / one-time banner) */
  .hm-row.mt-tip{cursor:default;align-items:flex-start;background:var(--accent-soft)} .hm-row.mt-tip:hover{background:var(--accent-soft)}
  .mt-tip .hm-ic{padding-top:2px}
  .hm-tx .mt-steps b,.hm-tx .mt-note b,.hm-tx small b{display:inline;font-size:inherit;overflow-wrap:normal}
  .mt-steps{margin:6px 0 4px;padding-left:20px;font-size:13.5px;line-height:1.5} .mt-steps li{margin:2px 0}
  .mt-k{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 4px;border:1px solid var(--line);border-radius:6px;background:var(--panel);vertical-align:-5px;font-weight:700;line-height:1}
  .mt-ico{width:16px;height:16px}
  .mt-note{display:block;color:var(--muted);font-size:12.5px;margin:4px 0 0}
  .mt-acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 2px} .mt-acts .linkbtn{font-size:13px}
  .hm-row.mt-tip .mt-acts .btn{margin-left:0}
  .mt-url{width:100%;margin:6px 0 0;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:8px}
  .mt-msg{margin:4px 0 0;font-size:13px;min-height:0} .mt-msg:empty{display:none}
  #mtbanner{position:fixed;left:12px;right:12px;bottom:calc(132px + env(safe-area-inset-bottom));z-index:85;max-width:520px;margin:0 auto;background:var(--ink);color:#fff;border-radius:14px;
    padding:10px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;box-shadow:0 8px 30px rgba(0,0,0,.25);font-size:14px}
  #mtbanner>span:first-child{font-size:22px} #mtbanner .mt-bt{flex:1 1 160px;min-width:0;line-height:1.3} #mtbanner .mt-bt b{display:block} #mtbanner .mt-bt small{opacity:.85}
  #mtbanner .linkbtn{color:#fff;font-size:13px;text-decoration:underline} #mtbanner .btn{background:#fff;color:var(--ink);border-color:#fff}
  #mtbanner .mt-x{background:transparent;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;min-width:32px;min-height:32px;align-self:flex-start;margin:-4px -6px 0 0}
  #mtbanner .mt-bacts{flex:1 0 100%;display:flex;align-items:center;gap:12px;padding-left:32px}
  .hm-boxbody{display:flex;flex-direction:column;gap:10px;padding-bottom:8px}
  .hm-tile{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg);line-height:1.35}
  .hm-tile[data-nav]{cursor:pointer} .hm-tile[data-nav]:hover{border-color:var(--accent)}
  .hm-tile b{display:block;font-size:14px} .hm-tile small{display:block;color:var(--muted);font-size:12.5px} .hm-tile small b{display:inline;font-size:inherit}
  .hm-event{display:flex;gap:10px;align-items:flex-start} .hm-evic{font-size:26px;line-height:1} .hm-cd{color:var(--accent-ink)!important;font-weight:600}
  #rt-home{background:linear-gradient(135deg,#fff4ec,#fbe7f0);border-color:#f1d2c6}
  /* Phone/tablet: To do → one swipeable strip of progress + coming-up tiles → the plan */
  @media (max-width:900px){ .hm-grid,.hm-grid.hm-noside{grid-template-columns:minmax(0,1fr);grid-template-areas:"todo" "side" "main"}
    .hm-side{position:static;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 0 18px;padding-bottom:4px}
    .hm-box,.hm-boxbody{display:contents} .hm-box h2{display:none}
    .hm-tile{flex:0 0 78%;max-width:340px;scroll-snap-align:start;background:var(--panel)} .hm-side>.hm-box:only-child .hm-tile:only-child{flex-basis:100%;max-width:none} }
  @media (max-width:520px){ .hm-row{flex-wrap:wrap;row-gap:8px} .hm-tx{flex:1 1 calc(100% - 44px)} .hm-row .btn{margin-left:40px} }
  #rt-ed .admin-card{margin:0 0 14px} #rt-ed label.f{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin:8px 0 3px} #rt-ed .sup-in{width:100%}
  #rt-ed .rt-erow{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 10px;background:var(--bg)} #rt-ed .rt-g2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
  #rt-ed .rt-ag-e{display:grid;grid-template-columns:130px 90px minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) 130px auto;gap:6px;align-items:center;margin:0 0 6px}
  .rt-imgs{display:flex;flex-wrap:wrap;gap:8px} .rt-imgs figure{margin:0;width:110px;font-size:11.5px} .rt-imgs img{width:110px;height:74px;object-fit:cover;border-radius:6px;border:1px solid var(--line);display:block}
  @media (max-width:760px){ .rt-hotel{grid-template-columns:1fr} .rt-ph{min-height:200px} .rt-sp.presenting{flex-direction:column;align-items:flex-start} #rt-ed .rt-g2{grid-template-columns:1fr} #rt-ed .rt-ag-e{grid-template-columns:1fr 1fr} .rt-hero .rt-in{padding:22px 18px} .rt-row{grid-template-columns:76px minmax(0,1fr);padding:12px 14px} .rt-nav{top:56px} }
  /* 🎓 Certifications */
  .cert-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin:0 0 16px;box-shadow:var(--shadow)} .cert-card.yes{border-color:var(--good,#1f9d55)}
  .cert-card h2{margin:0;font-size:20px} .cert-head{display:flex;gap:14px;align-items:center} .cert-badge{font-size:40px} .cert-status{margin-top:2px;font-size:14.5px}
  .cert-items{margin-top:10px} .cert-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line-soft);flex-wrap:wrap} .cert-item .grow{flex:1;min-width:200px}
  .cert-ok{color:var(--good-ink);font-weight:800;font-size:18px;width:22px} .cert-no{color:var(--muted);font-size:18px;width:22px} .cert-act{display:flex;gap:6px;flex-wrap:wrap}
  /* Coordinator capstone: simulated Monday morning (#/certify/<cert>/monday) */
  .cm-steps{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px} .cm-step{font-size:12.5px;border-radius:999px;padding:3px 10px;background:var(--line-soft);color:var(--muted)}
  .cm-step.on{background:var(--accent);color:#fff} .cm-step.done{background:var(--good-soft);color:var(--good-ink)}
  .cm-parts{display:grid;gap:8px;margin:10px 0} .cm-part{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
  .cert-sub{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px} .cert-chip{font-size:12px;border-radius:999px;padding:2px 9px;background:var(--line-soft);color:var(--ink);white-space:nowrap} .cert-chip.ok{background:var(--good-soft);color:var(--good-ink)}
  .cert-h3{margin:14px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)} .cert-row{text-decoration:none;color:inherit;gap:8px;flex-wrap:wrap}
  .cert-dots{display:inline-flex;gap:3px;margin:0 8px} .cert-dots i{width:10px;height:10px;border-radius:50%;background:var(--line)} .cert-dots i.on{background:var(--good,#1f9d55)}
  .cert-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:12px 16px;margin:10px 0;font-size:14px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
  .cert-banner .cert-bi{font-size:26px} .cert-banner small{color:var(--muted)}
  .cert-banner.slim{display:block;margin:8px 10px;padding:10px 12px;font-size:12.5px;line-height:1.35} .cert-banner.slim .cert-bi{display:none} .cert-banner.slim .btn{padding:5px 10px;font-size:12px;margin-top:6px}
  .cert-next{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:color-mix(in srgb,var(--accent) 9%,var(--panel));border-radius:12px;padding:10px 14px;margin:12px 0 4px;font-size:14px}
  .cert-nudge{display:flex;gap:10px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 12px;font-size:14px;cursor:pointer} .cert-nudge input{margin-top:3px}
  .acert-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0 0 10px} .acert-bar .chip{border:1px solid var(--line);background:var(--panel);border-radius:99px;padding:5px 11px;font-size:13px;cursor:pointer} .acert-bar .chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}
  .acert-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
  table.acert{width:100%;border-collapse:collapse;font-size:13px} .acert th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
  .acert td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:top} .acert td.acert-ok{color:var(--good,#1f9d55);white-space:nowrap} .acert td.acert-no{white-space:nowrap}
  .cert-crits{display:grid;gap:8px;margin-top:10px} .cert-crit{display:flex;gap:10px;align-items:flex-start} .cert-score{display:inline-block;min-width:38px;text-align:center;font-weight:800;border-radius:8px;padding:2px 6px;background:var(--bad-soft);color:var(--bad-ink)} .cert-score.ok{background:var(--good-soft);color:var(--good-ink)}
  .cr-steps{display:flex;flex-wrap:wrap;gap:6px 22px;padding:0;margin:6px 0 14px;color:var(--muted);font-size:14px;list-style:none;counter-reset:crs} .cr-steps li{counter-increment:crs} .cr-steps li::before{content:counter(crs) " · ";font-weight:700;color:var(--accent-ink)} .cr-h{margin:0 0 8px;font-size:17px}
  .cr-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px} .cr-photos figure{margin:0} .cr-photos figcaption{font-size:12px;color:var(--muted);margin-top:3px}
  .cr-th{all:unset;cursor:zoom-in;display:block} .cr-th img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
  .cr-line{border-top:1px solid var(--line-soft);padding:12px 0} .cr-line-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between} .cr-line-ph{display:flex;gap:6px} .cr-line-ph .cr-th img{width:64px;height:48px}
  .cr-notes{margin:6px 0;padding-left:18px;font-size:14px} .cr-fields{display:flex;flex-wrap:wrap;gap:8px 14px} .cr-f{display:flex;flex-direction:column;font-size:12.5px;color:var(--muted);gap:3px;min-width:200px;flex:1} .cr-f .sup-in{color:var(--ink)}
  .cr-recgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px} .cr-video{width:100%;max-height:420px;background:#111;border-radius:12px;display:block}
  .cr-ctrl{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px} .cr-time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--bad-ink)}
  .cr-guide{font-size:14px;background:var(--line-soft);border-radius:12px;padding:12px 14px} .cr-guide ol,.cr-guide ul{margin:4px 0 10px;padding-left:18px} .cr-cues li{margin:4px 0}
  .cr-ans{font-size:14px;margin:4px 0 0} .cr-ans.ok{color:var(--good-ink)} .cr-ans.no{color:var(--bad-ink)}
  @media (max-width:760px){ .cr-recgrid{grid-template-columns:1fr} }
  .fr-views{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0 0 12px} .fr-views button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:99px;padding:5px 12px;font-size:13px;cursor:pointer}
  .fr-views button[aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
  .fr-new{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:99px;background:var(--accent-soft);color:var(--ink);vertical-align:2px}
  .fr-item{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 10px;background:var(--panel)}
  .fr-item h4{margin:0 0 4px;font-size:15px;overflow-wrap:anywhere} .fr-item .fr-meta{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
  .fr-item .fr-snip{font-size:13.5px;margin:6px 0 0;overflow-wrap:anywhere} .fr-item .fr-note{font-size:13px;margin:6px 0 0;padding:6px 8px;border-radius:6px;background:var(--line-soft)}
  .fr-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px} .fr-acts .btn{padding:4px 9px;font-size:12.5px} .fr-acts .btn.on{outline:2px solid var(--accent)}
  .fr-rank{display:inline-flex;gap:2px;margin-right:6px} .fr-rank .btn{padding:2px 7px}
  .fr-pub{margin-top:10px;padding:10px 12px;border:1px dashed var(--accent);border-radius:10px;background:var(--accent-soft)} .fr-pub .sup-in{width:100%;margin:0 0 6px}
  .fr-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0} .fr-thumbs figure{margin:0;width:120px;font-size:12px} .fr-thumbs img{width:120px;height:80px;object-fit:cover;border-radius:6px;border:1px solid var(--line);display:block}
  .rm-hero{border-radius:18px;padding:34px 28px;color:#fff;background:radial-gradient(120% 140% at 0% 0%,#ff8a4c 0%,#e8622c 38%,#7a2a0e 100%);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
  .rm-hero h1{margin:0 0 6px;font-size:clamp(26px,5vw,40px);line-height:1.1;letter-spacing:-.02em} .rm-hero p{margin:0;max-width:640px;font-size:16px;opacity:.95}
  .rm-hero .rm-pill{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:3px 12px;font-size:12.5px;font-weight:600;margin-bottom:12px;letter-spacing:.04em;text-transform:uppercase}
  .rm-hero .rm-stats{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px} .rm-hero .rm-stats b{font-size:26px;display:block;line-height:1}
  .rm-sec{margin:30px 0 12px;display:flex;align-items:center;gap:10px} .rm-sec h2{margin:0;font-size:21px}
  .rm-pulse{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 60%,transparent);animation:rmpulse 1.8s infinite}
  @keyframes rmpulse{70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}} @media (prefers-reduced-motion:reduce){.rm-pulse{animation:none}}
  .rm-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin:0 0 16px;overflow:hidden;box-shadow:var(--shadow)}
  .rm-card .rm-in{padding:20px 22px} .rm-card h3{margin:0 0 4px;font-size:20px;letter-spacing:-.01em;overflow-wrap:anywhere} .rm-card .rm-sum{font-size:16px;color:var(--ink);margin:0 0 10px}
  .rm-card .rm-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px} .rm-tag{font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px;background:var(--accent-soft);color:var(--accent-ink)} .rm-tag.ship{background:var(--good-soft);color:var(--good-ink)}
  .rm-body{font-size:15px;overflow-wrap:anywhere} .rm-body p{margin:0 0 10px} .rm-body ul{margin:0 0 10px;padding-left:20px}
  .rm-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:0 22px 20px} .rm-shots button{all:unset;cursor:zoom-in;display:block}
  .rm-shots img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block} .rm-shots figcaption{font-size:12.5px;color:var(--muted);margin-top:4px}
  .rm-ship{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px} .rm-ship .rm-card{margin:0} .rm-ship h3{font-size:17px}
  .rm-cta{margin:30px 0 10px;padding:20px 22px;border-radius:16px;border:1px solid var(--line);background:var(--panel);display:flex;gap:14px;align-items:center;flex-wrap:wrap}
  #rm-zoom{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:16px;cursor:zoom-out} #rm-zoom img{max-width:100%;max-height:100%;border-radius:8px}
  @media (max-width:600px){ .rm-hero{padding:24px 18px} .rm-card .rm-in{padding:16px} .rm-shots{padding:0 16px 16px} }
  .sup-side{display:flex;flex-direction:column;gap:10px;position:sticky;top:76px} .sup-side .of-mini select{width:100%}
  .sup-field{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:12px}
  .sup-field input,.sup-field select,.sup-field textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-weight:400;color:var(--ink);background:var(--panel)}
  .sup-tabs{display:flex;gap:16px;margin-bottom:8px;font-size:13.5px} .sup-notebox{background:var(--warn-soft)}
  #sup-body{width:100%;box-sizing:border-box;font:inherit;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}
  .sup-side{position:static;gap:12px} .sup-card{display:flex;flex-direction:column;gap:8px;margin:0}
  .sup-late{background:var(--bad-soft);border-color:#f0c2c2;color:var(--bad-ink)}
  .sup-combo{position:relative} .sup-ta{margin-top:4px} .sup-pickrow.on{border-color:var(--accent);background:var(--accent-soft)} .sup-ta-s{min-width:0;overflow-wrap:anywhere}
  .sup-mfind{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap} .sup-mfind .sup-in{width:170px;padding:4px 7px;font-size:12.5px} .sup-mention-hits{display:inline-flex;gap:6px;flex-wrap:wrap}
  .sup-rtewrap{display:flex;flex-direction:column;gap:4px} .sup-rtebar{display:flex;flex-wrap:wrap;gap:2px;align-items:center}
  .sup-rtebar button,.sup-rtebar select{font:inherit;font-size:12.5px;min-width:30px;height:30px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);cursor:pointer}
  .sup-rtebar button[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent)} .sup-rtebar .sep{width:1px;height:20px;background:var(--line);margin:0 3px}
  #sup-body.sup-rte{min-height:96px;max-height:50vh;overflow:auto;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;outline:none} #sup-body.sup-rte:focus{border-color:var(--accent)}
  #sup-body.sup-rte:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}
  .sup-rte p,.sup-rich p{margin:0 0 6px} .sup-rte ul,.sup-rte ol,.sup-rich ul,.sup-rich ol{margin:4px 0;padding-left:22px} .sup-rte blockquote,.sup-rich blockquote{margin:6px 0;padding:2px 0 2px 10px;border-left:3px solid var(--line);color:var(--muted)}
  .sup-rte code,.sup-rich code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em;background:var(--bg);padding:1px 4px;border-radius:4px} .sup-rte h3,.sup-rich h3{font-size:1.15em;margin:6px 0 4px}
  .sz-sm{font-size:.85em} .sz-lg{font-size:1.2em} .sup-rich{white-space:normal}
  .sup-hdrrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap} .sup-hdrrow .sup-presence{flex:1;min-width:0} .sup-systg{display:flex;gap:5px;align-items:center;font-size:12.5px;margin-left:auto}
  .sup-sysrun{text-align:center;margin:2px 0} .sup-sysbtn{font-size:12px;color:var(--muted)} .sup-sysbody{text-align:left}
  .sup-fwd{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin:0 0 12px;border-color:var(--accent);background:var(--accent-soft)} .sup-fwd-b{display:flex;gap:6px}
  .sup-reqsheet{position:fixed;inset:0;z-index:92;display:flex;align-items:center;justify-content:center;padding:16px}
  .sup-reqscrim{position:absolute;inset:0;background:rgba(0,0,0,.38)}
  .sup-reqbox{position:relative;width:min(560px,100%);max-height:min(86vh,760px);overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}
  .sup-reqtop{position:sticky;top:-14px;background:var(--panel);padding:2px 0 6px;z-index:1;font-size:15px}
  .sup-reqbody{display:flex;flex-direction:column;gap:8px} .sup-reqbody>.linkbtn{align-self:flex-start} .sup-reqsec{margin:6px 0 0;font-size:13.5px} .sup-reqq{width:100%}
  .sup-reqrow{flex-direction:column;align-items:stretch;gap:2px} .sup-reqrow-n{min-width:0} .sup-reqrow-o{font-size:12.5px;color:var(--ink)} .sup-reqrow-o.ext{color:var(--muted);font-style:italic} .sup-reqrow-w{font-size:12px;color:var(--muted)}
  .sup-reqask{margin:4px 0 0;font-size:15px;line-height:1.45} .sup-reqkeepnote{margin:-2px 0 2px 22px;font-size:12.5px} .sup-reqbtns{margin-top:4px} .sup-req-seen summary{cursor:pointer;font-size:13px}
  @media (max-width:640px){ .sup-reqsheet{align-items:flex-end;padding:0} .sup-reqbox{width:100%;max-height:92vh;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:12px 14px calc(16px + env(safe-area-inset-bottom))} .sup-reqrow{padding:10px 11px} .sup-reqbtns .btn{min-height:44px} }
  .sup-reqopt{display:block;font-size:13.5px;line-height:1.45} .sup-reqopt input{margin:0 6px 0 0;vertical-align:-2px}
  .sup-req-hits,.sup-pick{display:flex;flex-direction:column;gap:4px} .sup-pickrow{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;text-align:left;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;min-width:0;overflow-wrap:anywhere} .sup-pickrow:hover{border-color:var(--accent)}
  .sup-req-prev{display:flex;flex-direction:column;gap:4px} .sup-req-vis{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow:auto;border:1px solid var(--line-soft);border-radius:10px;padding:8px;background:var(--bg)} .sup-req-vm{border-bottom:1px dashed var(--line-soft);padding-bottom:6px} .sup-req-vm:last-child{border:0}
  .sup-privline{font-size:12.5px;color:var(--muted);margin:0 0 6px} .sup-reqhist{font-size:12px} .sup-ccview{margin:0 0 12px}
  .sup-in{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font:inherit;font-size:13.5px;color:var(--ink);min-width:0;box-sizing:border-box}
  .sup-addrow{display:flex;gap:6px;align-items:flex-end;flex-wrap:wrap} .sup-addrow .sup-in{flex:1 1 120px} .sup-addrow .of-mini{flex:1 1 120px;min-width:0}
  .sup-rowline{display:flex;gap:8px;align-items:center;font-size:13px;min-width:0} .sup-rowline a{color:var(--ink)}
  .linkbtn{background:none;border:0;padding:2px 4px;color:var(--accent-ink);font:inherit;font-size:12.5px;cursor:pointer} .linkbtn:disabled{opacity:.35;cursor:default}
  .btn.sm{padding:5px 10px;font-size:12.5px}
  .sup-tags{display:flex;flex-wrap:wrap;gap:5px} .sup-tag{display:inline-flex;align-items:center;gap:2px;font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:1px 4px 1px 9px}
  .sup-tag button{background:none;border:0;cursor:pointer;color:var(--muted);font-size:14px;line-height:1;padding:0 4px}
  .sup-ctx{display:flex;flex-direction:column;gap:4px;font-size:13px;border-top:1px solid var(--line-soft);padding-top:8px}
  /* 🧭 What they were doing + 🐞 developer bug reports (0186) */
  .sup-wtd summary{cursor:pointer;font-weight:700;font-size:14px} .sup-wtd[open] summary{margin-bottom:6px}
  .sup-org{display:flex;flex-direction:column;gap:4px;padding:8px 0;margin-bottom:4px;border-bottom:1px solid var(--line)} .sup-org-h{display:flex;flex-direction:column;gap:1px}
  .sup-org-co{padding-left:8px;border-left:2px solid var(--line)}
  .sup-del summary{color:var(--bad-ink)} .sup-del-r{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px} .sup-del .sup-in{width:100%;box-sizing:border-box}
  .sup-del-go{background:var(--bad);color:#fff;border-color:var(--bad);align-self:flex-start} .sup-del-go:hover{filter:brightness(.92)}
  .sup-dellog{width:100%;border-collapse:collapse;font-size:14px} .sup-dellog th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:6px 10px;border-bottom:1px solid var(--line)}
  .sup-dellog td{vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--line)} .sup-dellog .t{overflow-wrap:anywhere;min-width:200px}
  .sup-wtd dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:13px} .sup-wtd dt{color:var(--muted)} .sup-wtd dd{margin:0;overflow-wrap:anywhere}
  .sup-errs{margin:8px 0 0;padding:0;list-style:none;font-size:12.5px;display:flex;flex-direction:column;gap:4px}
  .sup-errs li{border-left:3px solid #f0c2bd;padding:2px 0 2px 8px;overflow-wrap:anywhere} .sup-errs code{font-size:12px}
  .sup-bugs{margin-top:8px;border-top:1px solid var(--line-soft);padding-top:8px;font-size:13px;display:flex;flex-direction:column;gap:4px}
  .bug-form label{display:block;font-size:13px;font-weight:600;margin:8px 0 2px} .bug-form textarea,.bug-form input.sup-in,.bug-form select{width:100%;box-sizing:border-box}
  .bug-form .bug-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
  .bug-sev{font-size:11px;font-weight:700;padding:1px 7px;border-radius:99px;background:var(--line);color:var(--muted);white-space:nowrap}
  .bug-sev.critical{background:#fbeaea;color:#b42318} .bug-sev.high{background:#fdf0e2;color:#a3520c} .bug-sev.low{background:#eef3f8;color:#3c5a78}
  .bug-row-l{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line-soft);color:inherit;text-decoration:none}
  .bug-row-l:hover{background:var(--line-soft)} .bug-row-l .t{flex:1 1 240px;min-width:0;overflow-wrap:anywhere}
  .bug-field{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;margin:2px 0 10px}
  .bug-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:14px;align-items:start} @media(max-width:820px){.bug-grid{grid-template-columns:1fr}}
  .sup-chip.sup-ok{background:#e5f5ea;color:#1e7a3c}
  .bug-note{border-left:3px solid var(--line);padding:4px 0 4px 10px;margin:0 0 8px;font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere} .bug-note.system{color:var(--muted);font-size:12.5px}
  .sup-presence{font-size:13px;color:var(--accent-ink);background:var(--accent-soft);border-radius:8px;padding:6px 10px;margin:0 0 10px}
  .sup-mention{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:-2px 0 6px}
  .sup-tabs{flex-wrap:wrap;align-items:center}
  .sup-csat{margin-top:12px;display:flex;flex-direction:column;gap:8px} .sup-rate{display:flex;gap:8px;flex-wrap:wrap}
  .sup-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 10px}
  .sup-ck{display:inline-flex;align-items:center;gap:5px;font-size:13px;margin:0 12px 6px 0}
  .sup-prefs{display:flex;flex-direction:column;gap:12px} .sup-pref{display:flex;gap:10px;align-items:flex-start;cursor:pointer} .sup-pref input{margin-top:3px;flex:none}
  .sup-pref>span{display:flex;flex-direction:column;gap:2px;min-width:0} .sup-pref-sub{margin:-6px 0 0 26px} .sup-cks{display:flex;flex-wrap:wrap;margin:4px 0 10px}
  .sup-rule,.sup-fld,.sup-mac{margin-bottom:12px} .sup-field select[multiple]{padding:4px}
  .sup-tgrid{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:center;font-size:13.5px}
  .sup-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:14px} .sup-kpi{margin:0} .sup-kpi .v{font-family:var(--display);font-size:30px;font-weight:700;line-height:1.1} .sup-kpi .l{font-size:13px;color:var(--muted)}
  .sup-repgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:12px} .sup-repgrid .admin-card{margin:0}
  .sup-bar{display:grid;grid-template-columns:minmax(0,40%) 1fr 34px;gap:8px;align-items:center;font-size:13px;margin:5px 0} .sup-bar .k{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sup-bar .b{height:10px;background:var(--line-soft);border-radius:5px;overflow:hidden} .sup-bar .b i{display:block;height:100%;background:var(--accent);border-radius:5px} .sup-bar .n{text-align:right;font-variant-numeric:tabular-nums}
  .sup-sugg{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;background:var(--bg);padding:10px 14px;margin:0 0 12px} .sup-sugg-h{font-weight:700;margin-bottom:4px}
  .sup-triage{font-size:12.5px;background:var(--slate-soft);border:1px solid var(--slate-line);border-radius:8px;padding:6px 9px;color:var(--slate-ink)}
  .sup-draft-src{font-size:12.5px;margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline} .sup-draft-src a{cursor:pointer;color:var(--accent-ink)} .sup-draft-src a.cited{font-weight:600}
  .sup-cols{display:flex;align-items:flex-end;gap:2px;height:110px}
  .sup-live{background:var(--good-soft);border-color:#bfe3cc;color:var(--good-ink)}
  .sup-cols i{flex:1;background:var(--accent);border-radius:3px 3px 0 0;min-height:1px;opacity:.85}
  /* Support reports range page (#/admin/support/reports?…) */
  .sr-controls{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:10px 0 6px} .sr-f{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--muted);font-weight:600}
  .sr-f .sup-in{color:var(--ink);font-weight:400} .sr-dates{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end} .sr-dates[hidden]{display:none}
  .sr-chk{display:flex;gap:6px;align-items:center;font-size:13.5px;padding-bottom:6px} .sr-basis{display:flex;gap:6px;margin-left:auto}
  .sr-scope{margin:0 0 14px;font-size:13px;line-height:1.5} .sr-h{font-size:19px;margin:22px 0 10px;display:flex;align-items:center;gap:6px} .sr-h-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap} .sr-h-row .sr-h{flex:1}
  .sr-i{display:inline-block;position:relative;font-size:13px;font-weight:400;vertical-align:middle} .sr-i>summary{list-style:none;cursor:pointer;color:var(--info-ink);border-radius:50%;padding:0 3px} .sr-i>summary::-webkit-details-marker{display:none}
  .sr-i>summary:focus-visible{outline:none;box-shadow:var(--focus)} .sr-ipop{position:fixed;z-index:60;left:12px;top:0;width:min(340px,80vw);background:var(--panel);border:1px solid var(--info-line);border-radius:10px;box-shadow:var(--shadow);padding:9px 11px;font-size:12.5px;line-height:1.45;color:var(--ink);text-align:left;white-space:normal;font-weight:400}
  .sr-tbl{min-width:640px} .sr-tbl td,.sr-tbl th{vertical-align:middle} .sr-tbl tbody th{font-weight:600;text-align:left}
  .sr-tbl .sr-tot td,.sr-tbl tr.sr-e2e th,.sr-tbl tr.sr-e2e td{border-top:2px solid var(--line);background:var(--bg)} .sr-subj{max-width:320px;overflow-wrap:anywhere}
  .sr-th{background:none;border:0;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;text-align:inherit} .sr-th:focus-visible{outline:none;box-shadow:var(--focus);border-radius:4px}
  .sr-split{display:inline-block;width:60px;height:8px;border-radius:4px;background:var(--warn-line);overflow:hidden;vertical-align:middle} .sr-split i{display:block;height:100%;background:var(--good)}
  .sr-pager{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:10px}
  .sr-trend-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px} .sr-leg{font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:center} .sr-leg i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-left:6px}
  .sr-leg i.cr{background:var(--slate-ink)} .sr-leg i.sv{background:var(--accent)}
  .sr-trend{display:block} .sr-trend .g{stroke:var(--line-soft)} .sr-trend .ax{fill:var(--muted);font-size:11px} .sr-trend path{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
  .sr-trend path.cr{stroke:var(--slate-ink)} .sr-trend path.sv{stroke:var(--accent)} .sr-trend g.cr{fill:var(--slate-ink)} .sr-trend g.sv{fill:var(--accent)} .sr-trend .hit{fill:transparent} .sr-trend .hit:hover{fill:color-mix(in srgb,var(--ink) 5%,transparent)}
  @media (max-width:720px){ .sr-page .sup-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} .sr-page .sup-kpi .v{font-size:24px} .sr-controls{gap:8px} .sr-f,.sr-dates{flex:1 1 140px} .sr-f .sup-in{width:100%} .sr-basis{margin-left:0;width:100%} .sr-basis .btn{flex:1} }
  @media (max-width:820px){ .sup-grid{grid-template-columns:1fr} .sup-side-r{grid-column:auto} .sup-side{position:static} .sup-asg,.sup-when{display:none} .sup-row{flex-wrap:wrap} .sup-subj{flex-basis:60%} }
  .cf-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
  .cf-thumb{display:grid;place-items:center;height:130px;background:var(--bg);text-decoration:none;font-size:44px} .cf-thumb img{max-width:100%;max-height:130px;object-fit:contain}
  .cf-meta{padding:8px 10px 4px;min-width:0} .cf-meta b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .cf-meta small{display:block;color:var(--muted);font-size:11.5px}
  .cf-acts{display:flex;gap:4px;flex-wrap:wrap;padding:6px 8px 10px;align-items:center} .cf-acts .btn{padding:3px 8px;font-size:13px} .cf-acts select{font:inherit;font-size:12px;padding:3px 4px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);max-width:110px}
  .cf-drop.over{outline:2px dashed var(--accent);outline-offset:3px}
  .calc-in{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:16px}
  .calc-in input{width:150px;font:inherit;font-size:16px;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
  .kb-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:7px 12px;margin:4px 6px 0 0;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;text-align:left}
  .kb-chip:hover{border-color:var(--accent);color:var(--accent-ink)}
  .kb-src{margin-top:12px;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 14px}
  .kb-src a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;cursor:pointer}
  .kb-courses{margin-top:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
  .kb-courses summary{padding:12px 16px;cursor:pointer;font-size:14px;color:var(--muted);font-weight:600}
  .kb-courses a{display:flex;gap:8px;padding:9px 16px;border-top:1px solid var(--line);font-size:14px;text-decoration:none;color:var(--ink)}
  .kb-courses a:hover{background:var(--bg)} .kb-courses a span{margin-left:auto;color:var(--muted);font-size:12.5px;white-space:nowrap}
  .tx{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
  .tx summary{padding:12px 16px;cursor:pointer;font-weight:600;font-size:14.5px} .tx summary span{color:var(--muted);font-weight:400;font-size:13px}
  .tx-q{display:block;width:calc(100% - 32px);margin:0 16px 8px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px}
  .tx-body{max-height:420px;overflow:auto;padding:0 16px 12px;font-size:14.5px;line-height:1.6}
  .tx-body p{margin:0 0 10px} .tx-t{border:0;background:var(--accent-soft);color:var(--accent-ink);border-radius:6px;padding:1px 6px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;margin-right:4px}
  .kb-lesson{margin-top:22px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
  .kb-lesson .lbl{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
  #gsearch a .gs2{display:block;font-size:12.5px;color:var(--muted);line-height:1.35;margin-top:2px;white-space:normal}
  /* Compact tiles for the Pinned / Recent rows on Courses: same card look, a fraction of the height */
  .minigrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding:12px 0 4px}
  .mini{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;cursor:pointer;transition:box-shadow .12s ease,transform .12s ease;min-width:0}
  .mini:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
  .mini .th{flex:0 0 64px;height:40px;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,#2a2a2a,#4a4a4a);position:relative;display:grid;place-items:center}
  .mini .th img{width:100%;height:100%;object-fit:cover} .mini .th .ph{color:#fff;opacity:.4;font-weight:800;font-size:16px}
  .mini.locked .th{filter:grayscale(.75)}
  .mini .t{flex:1;min-width:0;font-size:13.5px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .mini .t small{display:block;font-weight:400;color:var(--muted);font-size:12px}
  .mini .pinbtn{width:26px;height:26px;font-size:12px}
  .mini .th{flex-basis:52px;height:36px}
  @media (hover:hover){ .mini .pinbtn{display:none} .mini:hover .pinbtn,.mini .pinbtn:focus-visible{display:inline-grid} }
  /* Step-level progress */
  .steps{font-size:12px;color:var(--muted);white-space:nowrap} .steps b{color:var(--ink);font-weight:600}
  .actline{display:flex;align-items:center;gap:8px;padding:3px 0 3px 14px;font-size:12.5px;color:var(--muted)}
  .actline .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
  .actline .mb{width:70px;height:5px;border-radius:4px;background:var(--line);overflow:hidden;flex:0 0 auto} .actline .mb i{display:block;height:100%;background:var(--accent)}
  .stall{color:var(--bad-ink);font-weight:600}
  .attn{border:1px solid #f1c9c0;background:#fdf4f1}
  .attn .rule-row{align-items:center}
  .mgrbanner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fdf4f1;border:1px solid #f1c9c0;border-radius:12px;padding:12px 14px;margin:18px 0 0;font-size:14px}
  /* Global search (header) */
  #af-body[hidden],.af-res[hidden]{display:none!important}
  .af-res{margin:10px 0 18px;max-width:760px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px}
  .af-res a,#gsearch a.af{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--ink);text-decoration:none}
  .af-res a:hover,.af-res a.sel{background:var(--bg)} .af-res .gs2{display:block;font-size:12.5px;color:var(--muted);line-height:1.35;margin-top:2px}
  .af-ic{font-size:18px;width:24px;text-align:center;flex:none}
  .af-hit{animation:afhit 2.4s ease-out;border-radius:10px}
  @keyframes afhit{0%,35%{box-shadow:0 0 0 4px rgba(232,98,44,.6);background-color:rgba(232,98,44,.08)}100%{box-shadow:0 0 0 4px rgba(232,98,44,0)}}
  #gsearch{position:fixed;z-index:40;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,.14);padding:6px;max-height:70vh;overflow:auto;width:min(460px,calc(100vw - 24px))}
  #gsearch .gh{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px}
  #gsearch a{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--ink);text-decoration:none}
  #gsearch a:hover,#gsearch a.sel{background:var(--bg)} #gsearch .lk{margin-left:auto;font-size:12px;color:var(--muted)}
  #gsearch .gsp{border-radius:8px} #gsearch .gsp a{align-items:flex-start;padding-bottom:4px} #gsearch .gsp b{font-weight:600;margin-right:6px;overflow-wrap:anywhere}
  #gsearch .gsp .gs2{overflow-wrap:anywhere} #gsearch .gsp .ni-tag,#gsearch .gsp .inv-tag,#gsearch .gsp .due{font-size:11px;margin-left:0;vertical-align:1px}
  .gsp-av{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12.5px;flex:none;margin-top:1px}
  .gsp-av.has-photo{padding:0;overflow:hidden;background:var(--line)}
  #gsearch .gsp-acts{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 8px 50px}
  #gsearch .gsp-acts button{font:inherit;font-size:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:3px 10px;cursor:pointer}
  #gsearch .gsp-acts button:hover,#gsearch .gsp-acts button:focus-visible{background:var(--bg);border-color:var(--muted)}
  @media (max-width:480px){ #gsearch .gsp-acts{padding-left:10px} }
  .due{display:inline-block;font-size:11.5px;font-weight:600;border-radius:4px;padding:1px 7px;background:#eef0f6;color:#4a5578;margin-left:6px}
  .due.over{background:var(--bad-soft);color:var(--bad-ink)}
  /* Curriculum builder */
  .cstep{border:1.5px dashed transparent;border-radius:14px;padding:10px 12px 12px;margin:10px 0;background:var(--panel);border-color:var(--line)}
  .cstep.over{border-color:var(--accent);background:var(--accent-soft)}
  .cstep>header{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
  .cstep>header h3{margin:0;font-size:16px} .cstep>header .sub{color:var(--muted);font-size:12.5px}
  .cstep.newstep{border-style:dashed;background:transparent;color:var(--muted);text-align:center;font-size:13.5px;padding:18px}
  .cpath{border:1px solid var(--line);border-radius:10px;background:var(--bg);margin:8px 0;cursor:grab}
  .cpath.dragging{opacity:.4}
  .cpath .row{display:flex;align-items:center;gap:10px;padding:10px 12px;flex-wrap:wrap}
  .cpath .row b{font-size:14.5px} .cpath .meta{color:var(--muted);font-size:12.5px}
  .cpath .row select{font-size:12.5px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}
  .cpath .row button{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:4px 9px;cursor:pointer;font-size:12.5px}
  .cpath .courses{border-top:1px solid var(--line);padding:6px 12px 10px;background:var(--panel);border-radius:0 0 10px 10px}
  .cpath .courses .rule-row{padding:5px 0}
  .creq{background:var(--bg);border-radius:10px;padding:10px 12px;margin:6px 0;font-size:14px}
  .shelfhint{color:var(--muted);font-size:13px;margin:6px 0 0}
  .badge-req{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:1px 7px;border-radius:4px;background:var(--accent-soft);color:var(--accent-ink);vertical-align:1px;margin-left:6px}
  .cert{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;font-weight:600;margin-top:8px;padding:4px 9px;border-radius:6px;width:fit-content}
  .cert.ok{background:var(--good-soft);color:var(--good-ink)}
  .cert.warn{background:#fdf3e1;color:#9a6408}
  .cert.due{background:var(--bad-soft);color:var(--bad-ink)}
  .cert.due .btn{padding:5px 11px;font-size:12.5px}
  /* Curriculum "preview the progression" fast-forward */
  .cprev-ov{position:fixed;inset:0;background:rgba(20,18,16,.55);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow:auto}
  .cprev-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg,0 20px 50px rgba(0,0,0,.25));max-width:640px;width:100%;padding:20px 22px 22px;margin:auto}
  .cprev-card h2{margin:0 0 2px;font-size:20px}
  .cprev-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
  .cprev-head .sub{color:var(--muted);font-size:13px;margin-right:auto}
  .cprev-track{position:absolute;left:15px;top:6px;bottom:6px;width:2px;background:var(--line)}
  .cprev-list{position:relative;margin:16px 0 6px}
  .cprev-wave{position:relative;padding:0 0 14px 40px;opacity:.4;transition:opacity .4s ease}
  .cprev-wave:last-child{padding-bottom:0}
  .cprev-wave.on{opacity:1}
  .cprev-dot{position:absolute;left:8px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--panel);border:2px solid var(--line);z-index:1;transition:all .35s ease}
  .cprev-wave.avail .cprev-dot{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
  .cprev-wave.done .cprev-dot{border-color:var(--good);background:var(--good)}
  .cprev-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
  .cprev-wave.avail .cprev-label{color:var(--accent-ink)}
  .cprev-wave.done .cprev-label{color:var(--good-ink)}
  .cprev-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
  .cprev-chip{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:5px 10px;font-size:13px;display:inline-flex;align-items:center;gap:6px;transition:all .35s ease}
  .cprev-wave.avail .cprev-chip{border-color:var(--accent);background:var(--accent-soft)}
  .cprev-wave.done .cprev-chip{border-color:var(--good-soft);background:var(--good-soft)}
  .cprev-chip .pmeta{color:var(--muted);font-size:11.5px}
  .cprev-chip.par{border-style:dashed}
  .cprev-chip.done{border-color:var(--good-soft);background:var(--good-soft);color:var(--good-ink)}  /* already completed — green regardless of wave state */
  .cprev-bar{height:6px;border-radius:4px;background:var(--line);overflow:hidden;margin:14px 0 4px}
  .cprev-bar>i{display:block;height:100%;width:0;background:var(--accent);border-radius:4px;transition:width .5s ease}
  .cprev-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
  .cprev-foot .status{margin-right:auto;font-size:13.5px;color:var(--muted)}
  .cprev-foot .status.done{color:var(--good-ink);font-weight:600}
  /* Walk-through: auto-play a path's courses in the real player, with a control bar */
  .pp-walk{margin-left:8px;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent);border-radius:7px;padding:3px 9px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
  body.has-walkbar{padding-bottom:92px}
  .walkbar{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--ink);color:#fff;box-shadow:0 -6px 24px rgba(0,0,0,.28)}
  .walkbar .wb-info{display:flex;flex-direction:column;gap:1px;min-width:0;margin-right:auto}
  .walkbar .wb-info b{font-size:14px} .walkbar .wb-info span{font-size:12.5px;opacity:.85}
  .walkbar .wb-ctl{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .walkbar .wb-ctl button{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:6px 10px;font-size:14px;line-height:1;cursor:pointer;min-width:38px}
  .walkbar .wb-ctl button:disabled{opacity:.35;cursor:default}
  .walkbar .wb-ctl .wb-play{background:var(--accent);border-color:var(--accent);font-weight:700}
  .walkbar .wb-ctl .wb-exit{background:transparent;min-width:auto}
  /* Phishing simulation admin */
  .ph-pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:1px 9px;vertical-align:1px}
  .ph-scrim{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:60}
  .ph-dialog{position:fixed;z-index:61;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-lg)}
  .ph-l{display:block;font-size:12.5px;font-weight:600;margin:14px 0 5px}
  .ph-in{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:9px 11px;font:inherit;font-size:14px;background:var(--bg)}
.ph-tplgroups{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:4px} .ph-tplg+.ph-tplg{margin-top:6px;border-top:1px solid var(--line-soft);padding-top:6px} .ph-tplg-h{display:flex;align-items:center;gap:8px;padding:3px 6px;font-size:12.5px} .ph-tplg .ph-chk{padding-left:10px}
    .ph-checks{max-height:150px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--bg);display:flex;flex-direction:column;gap:5px}
  .ph-chk{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}
  .ph-chk input{accent-color:var(--accent)}
  .ph-mini{border:1px solid var(--line);background:var(--panel);border-radius:5px;font-size:11px;padding:1px 7px;margin-left:6px;cursor:pointer;color:var(--muted)}
  .ph-dialog.ph-wide{width:min(1000px,94vw)}
  .ph-edit{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}
  .ph-edit-form{min-width:0}
  .ph-edit-prev{min-width:0;display:flex;flex-direction:column}
  .ph-theme{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0} .ph-sw{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;padding:3px 7px;background:var(--panel);cursor:pointer;font-size:12px} .ph-sw input{width:26px;height:22px;border:0;padding:0;background:none;cursor:pointer}
  .ph-code{font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);font-size:12.5px;line-height:1.5;resize:vertical}
  .ph-prev-head{border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:var(--bg);padding:8px 11px;font-size:13px;overflow:hidden}
  .ph-prev-frame{width:100%;height:340px;border:1px solid var(--line);border-radius:0 0 8px 8px;background:#fff}
  @media(max-width:720px){ .ph-edit{grid-template-columns:1fr} .ph-prev-frame{height:260px} }
  /* Red flags anchored to the email + lesson preview (docs/cyber-awareness-and-phishing.md "Annotated lesson") */
  .ph-flag{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:6px 8px;margin:0 0 5px;background:var(--bg);font-size:13px}
  .ph-flag.on{border-color:var(--accent)} .ph-flag-t{flex:1;min-width:0;overflow-wrap:anywhere} .ph-flag-b{flex:none;white-space:nowrap} .ph-flag-b .ph-mini{margin-left:3px}
  #pt-flagform + #pt-flags, [data-act="phFlagAdd"]{white-space:nowrap}
  .ph-flag-n{flex:none;width:22px;height:22px;border-radius:50%;background:#e5484d;color:#fff;font:700 12px/22px system-ui,-apple-system,sans-serif;text-align:center} .ph-flag-n.off{background:#8a8f98}
  .ph-flagform{border:1.5px solid var(--accent);border-radius:10px;padding:4px 10px 10px;margin:6px 0 8px;background:var(--panel)}
  .ph-mini.primary{background:var(--accent);border-color:var(--accent);color:#fff}
  .ph-mini[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
  .ph-mark-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:6px 0} .ph-mark-bar .ph-mini{margin-left:0}
  @media (max-width:640px){ .ph-mini{min-height:34px;padding:4px 10px;font-size:12px} }
  #pt-mark .phl-mail{max-height:none}
  .ph-lp{position:fixed;inset:0;z-index:70} .ph-lp .ph-scrim{position:absolute;inset:0;background:rgba(0,0,0,.45)}
  .ph-lp-box{position:absolute;z-index:61;inset:3vh 3vw;background:#f3f4f6;border-radius:14px;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35)}
  .ph-lp-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);font-size:13.5px}
  .ph-lp-page{padding:24px 16px 32px}
  /* Spot-the-scam inbox (mock mail client) */
  .inbox-intro{color:var(--muted);font-size:14px;margin:4px 0 14px}
  .inbox{display:grid;grid-template-columns:minmax(210px,300px) 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);min-height:420px}
  .mail-list{border-right:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column}
  .mail-row{display:flex;align-items:flex-start;gap:10px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 12px;cursor:pointer;font:inherit;color:inherit;width:100%}
  .mail-row:hover{background:var(--panel)}
  .mail-row.on{background:var(--panel);box-shadow:inset 3px 0 0 var(--accent)}
  .mail-row.sorted .mr-from,.mail-row.sorted .mr-subj{color:var(--muted)}
  .mr-main{flex:1;min-width:0;display:flex;flex-direction:column}
  .mr-from{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mr-subj{font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mr-time{font-size:11px;color:var(--muted);white-space:nowrap;padding-top:2px}
  .mv{flex:0 0 22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:12px;border:1.5px dashed #cfc9bd}
  .mv.phish{border:0;background:var(--bad-soft)} .mv.legit{border:0;background:var(--good-soft);color:var(--good);font-weight:700}
  .mv.ok{border:0;background:var(--good);color:#fff;font-weight:700} .mv.bad{border:0;background:var(--bad);color:#fff;font-weight:700}
  .mail-pane{padding:20px 24px;min-width:0;display:flex;flex-direction:column;gap:6px}
  .mail-subject{font-size:18px;font-weight:700;letter-spacing:-.01em;text-wrap:balance}
  .mail-from{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}
  .mail-name{font-weight:600}
  .mail-addr-btn{border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:2px 8px;font-size:11.5px;cursor:pointer;color:var(--muted)}
  .mail-addr,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow-wrap:anywhere}
  .mail-meta{font-size:12px;color:var(--muted)}
  .mail-body{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-size:14.5px;line-height:1.6;overflow-wrap:anywhere}
  .mail-body p{margin:0 0 10px}
  .mock-link{color:#1a5fd0;text-decoration:underline;cursor:pointer}
  .mock-btn{display:inline-block;background:#1a5fd0;color:#fff;border-radius:6px;padding:8px 16px;font-weight:600;text-decoration:none;cursor:pointer;margin:4px 0}
  .mail-atts{display:flex;flex-wrap:wrap;gap:8px}
  .mail-att{font-size:12.5px;border:1px solid var(--line);border-radius:7px;padding:4px 10px;background:var(--bg)}
  .mail-status{font-size:12px;color:var(--muted);background:var(--bg);border-radius:7px;padding:7px 10px;margin-top:6px;overflow-wrap:anywhere}
  .mail-verdict{border-radius:10px;padding:12px 14px;font-size:13.5px;margin-top:6px}
  .mail-verdict.ok{background:var(--good-soft)} .mail-verdict.no{background:var(--bad-soft)}
  .mail-verdict ul{margin:6px 0 4px;padding-left:18px} .mail-verdict p{margin:4px 0 0}
  .mail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
  .btn.verdict.chosen{outline:3px solid var(--accent);outline-offset:2px}
  .inbox-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:13px;color:var(--muted)}
  .inbox-score{font-size:14px;margin:12px 0 0}
  /* ---- Simulations of our own tools: Gmail + Aleph add-on, Email security review, Filter activity ---- */
  .gsim{display:grid;grid-template-columns:132px minmax(190px,260px) 1fr auto;min-height:460px;background:#fff;font-family:Roboto,Arial,var(--sans)}
  .gsim-nav{background:#f6f8fc;padding:12px 8px;border-right:1px solid #e3e6ea;display:flex;flex-direction:column;gap:2px}
  .gsim-folder{display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;background:none;font:inherit;font-size:13.5px;color:#202124;padding:7px 12px;border-radius:0 16px 16px 0;cursor:pointer;text-align:left}
  .gsim-folder.on{background:#d3e3fd;font-weight:700}
  .gsim-list{border-right:1px solid #e3e6ea;overflow:auto;max-height:560px}
  .gsim-row{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #eef0f2;background:#fff;padding:10px 12px;font:inherit;cursor:pointer;color:#202124}
  .gsim-row:hover{background:#f2f6fc}.gsim-row.on{background:#e8f0fe}
  .gsim-row .f{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .gsim-row .s{font-size:12.5px;color:#5f6368;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .gsim-row .t{float:right;font-size:11.5px;color:#5f6368;font-weight:400;margin-left:6px}
  .gsim-pane{padding:18px 22px;min-width:0;display:flex;flex-direction:column;gap:6px}
  .gsim-empty{color:#5f6368;font-size:14px;margin:auto;text-align:center;padding:30px}
  .gsim-toast{background:#323232;color:#fff;border-radius:6px;padding:9px 14px;font-size:13.5px;align-self:flex-start}
  .gsim-spambar{background:#fef7e0;border:1px solid #f9e3a8;border-radius:6px;padding:10px 12px;font-size:13.5px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
  .gsim-rail{border-left:1px solid #e3e6ea;background:#f6f8fc;display:flex}
  .gsim-railbtns{width:46px;display:flex;flex-direction:column;align-items:center;padding-top:12px;gap:10px}
  .gsim-railbtn{width:34px;height:34px;border-radius:50%;border:0;padding:0;background:none;cursor:pointer;display:grid;place-items:center}
  .gsim-railbtn img{width:28px;height:28px;border-radius:5px}
  .gsim-railbtn.on{background:#d3e3fd;box-shadow:0 0 0 2px #d3e3fd}
  .gsim-card{width:280px;background:#fff;border-left:1px solid #e3e6ea;font-size:14px;color:#202124}
  .gsim-cardhead{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #e8eaed}
  .gsim-cardhead img{width:40px;height:40px;border-radius:5px}
  .gsim-cardhead .t{font-size:16px}.gsim-cardhead .st{font-size:12.5px;color:#5f6368}
  .gsim-sec{padding:12px 16px;border-bottom:1px solid #e8eaed;line-height:1.45}.gsim-sec p{margin:8px 0}
  .gsim-row2{display:flex;gap:10px;margin:8px 0}.gsim-row2 .ic{color:#5f6368;width:18px;text-align:center}.gsim-row2 .lb{font-size:12px;color:#5f6368}
  .gsim-report{background:#d17d0d;color:#fff;border:0;border-radius:18px;padding:9px 18px;font:inherit;font-weight:500;cursor:pointer;margin:6px 0}
  .gsim-report:hover{background:#b4650a}
  .gsim-hint{font-size:13px;color:#5f6368}
  @media(max-width:860px){.gsim{grid-template-columns:1fr}.gsim-nav{flex-direction:row;border-right:0;border-bottom:1px solid #e3e6ea}.gsim-list{border-right:0;border-bottom:1px solid #e3e6ea;max-height:220px}.gsim-rail{border-left:0;border-top:1px solid #e3e6ea;flex-direction:column}.gsim-railbtns{flex-direction:row;width:auto;padding:8px 12px}.gsim-card{width:auto;border-left:0}}
  /* "Verify a message" practice (questionSim mode:"verify_code"): inbox + reader + the Academy code panel */
  .vsim{display:grid;grid-template-columns:minmax(170px,220px) 1fr 220px;min-height:460px;background:#fff;font-family:Roboto,Arial,var(--sans)}
  .vsim-code{border-left:1px solid #e3e6ea;background:#faf8f5;padding:14px 16px;font-size:13.5px;color:#202124}
  .vsim-code h4{margin:0 0 4px;font-size:15px} .vsim-code .muted{color:#5f6368;font-size:12.5px}
  .vsim-big{font:700 26px/1.2 ui-monospace,Menlo,monospace;letter-spacing:2px;margin:8px 0 2px;color:#1a1a1a}
  .vsim-prev{font:600 15px ui-monospace,Menlo,monospace;letter-spacing:1px;color:#5f6368}
  .vsim-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
  .vsim-acts .btn.on{outline:2px solid var(--accent);outline-offset:1px}
  @media(max-width:860px){.vsim{grid-template-columns:1fr}.vsim-code{border-left:0;border-top:1px solid #e3e6ea;order:-1}}
  /* Gmail Settings → Signature practice (questionSim mode:"gmail_signature") */
  .ssim{background:#fff;font-family:Roboto,Arial,var(--sans);color:#202124;font-size:14px}
  .ssim-tabs{display:flex;gap:18px;padding:10px 18px 0;border-bottom:1px solid #e3e6ea;overflow-x:auto;white-space:nowrap}
  .ssim-tabs span{padding:8px 2px;color:#5f6368;font-size:13.5px}.ssim-tabs span.on{color:#0b57d0;border-bottom:3px solid #0b57d0;font-weight:500}
  .ssim-row{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:18px;border-bottom:1px solid #eef0f2}
  .ssim-row>.lb{font-weight:500}
  .ssim-box{display:grid;grid-template-columns:180px 1fr;border:1px solid #dadce0;border-radius:8px;min-height:190px}
  .ssim-list{border-right:1px solid #dadce0;padding:6px 0}
  .ssim-list button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 12px;font:inherit;cursor:pointer;color:#202124}
  .ssim-list button.on{background:#e8f0fe;font-weight:500}
  .ssim-prev{padding:12px 14px;overflow:auto;max-height:260px;font-size:13px}
  .ssim-defs{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;align-items:center;margin-top:14px;max-width:520px}
  .ssim-defs select{padding:7px 9px;border:1px solid #dadce0;border-radius:6px;font:inherit;background:#fff;min-width:0}
  .ssim-foot{display:flex;gap:10px;justify-content:center;padding:16px}
  .ssim-foot .save{background:#0b57d0;color:#fff;border:0;border-radius:18px;padding:9px 22px;font:inherit;font-weight:500;cursor:pointer}
  .ssim-foot .cancel{background:#fff;color:#0b57d0;border:1px solid #dadce0;border-radius:18px;padding:9px 22px;font:inherit;cursor:pointer}
  @media(max-width:700px){.ssim-row{grid-template-columns:1fr}.ssim-box{grid-template-columns:1fr}.ssim-list{border-right:0;border-bottom:1px solid #dadce0}}
  .rsim{display:grid;grid-template-columns:minmax(200px,280px) 1fr;min-height:480px;background:var(--bg)}
  .rsim-list{border-right:1px solid var(--line);padding:12px;overflow:auto;max-height:640px}
  .rsim-list h3{font-size:13px;margin:6px 4px 6px;color:var(--muted);font-weight:600}
  .rsim-item{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:10px 12px;margin:0 0 8px;font:inherit;cursor:pointer;color:inherit}
  .rsim-item.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
  .rsim-item .s{font-weight:700;font-size:13.5px;display:block;overflow-wrap:anywhere}.rsim-item .f{font-size:12px;color:var(--muted);display:block;overflow-wrap:anywhere}
  .rsim-detail{padding:14px 16px;min-width:0}
  .rsim-detail .admin-card{margin:10px 0}
  .rsim-kv{display:flex;gap:12px;font-size:13.5px;padding:2px 0}.rsim-kv .k{color:var(--muted);min-width:92px}.rsim-kv .v{min-width:0;overflow-wrap:anywhere}
  .fsim{background:var(--bg);padding:14px}
  .fsim-row{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:flex-start}
  .fsim-row .m{flex:1 1 260px;min-width:0;overflow-wrap:anywhere;font-size:13.5px}
  .fsim-call{border:1px solid var(--line);background:var(--panel);border-radius:6px;font:inherit;font-size:12px;padding:3px 9px;cursor:pointer;color:var(--muted)}
  .fsim-call.on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .sim-res{margin-top:6px;padding:8px 10px;border-radius:8px;font-size:13px}.sim-res.ok{background:var(--good-soft)}.sim-res.no{background:var(--bad-soft)}
  /* Coordinator sims (triage / approval / ping / details_email) */
  .isim{background:#f6f7f9;padding:12px;font-size:13.5px;min-width:0}
  .isim-jh{background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:10px 12px;margin:0 0 10px;overflow-wrap:anywhere}
  .isim-chip{display:inline-block;font-size:11.5px;border:1px solid #d0d5dc;border-radius:999px;padding:1px 8px;margin:6px 4px 0 0;color:#444}
  .isim-chip.pend{background:#fdecea;border-color:#f3b4ad;color:#a3261a}.isim-chip.ok{background:#e7f6ec;border-color:#a8dcb9;color:#1d6b37}
  .isim-est{background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:8px 10px;margin:0 0 10px;overflow-x:auto}.isim-est summary{cursor:pointer;font-weight:600}
  .isim-sec{margin:12px 2px 6px;font-size:13px;color:#555;text-transform:uppercase;letter-spacing:.04em}
  .isim-item{background:#fff;border:1px solid #e3e6ea;border-left:4px solid #e3e6ea;border-radius:10px;padding:8px 10px;margin:0 0 8px;min-width:0}
  .isim-item.today{border-left-color:#2f6fde}.isim-item.over{border-left-color:#d93025}
  .isim-head{display:flex;gap:10px;align-items:flex-start;width:100%;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
  .isim-src{font-size:18px;line-height:1.2}.isim-m{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.isim-time{font-size:12px;color:#666;white-space:nowrap}
  .isim-subj{font-weight:500}.isim-job{font-size:11.5px;background:#eef1f5;border-radius:6px;padding:1px 6px;color:#3b4552;white-space:nowrap}
  .isim-body{white-space:pre-line;background:#fafbfc;border:1px solid #eef0f2;border-radius:8px;padding:8px 10px;margin:8px 0 0;font-size:13px}
  .isim-note{font-size:12.5px;color:#7a5a00}
  .isim-dec{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}
  .isim-f{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#555;min-width:0;flex:1 1 200px;max-width:340px}
  .isim-f select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid #cfd4da;border-radius:6px;background:#fff;color:#1f2328;width:100%;max-width:100%;min-width:0}
  .isim-f.ok select{border-color:#3a9a5b}.isim-f.no select{border-color:#d93025}
  .isim-form .isim-f{max-width:none}
  .isim-step{display:flex;gap:12px}.isim-day{flex:0 0 74px;font-weight:600;font-size:12.5px;color:#3b4552}
  .dsim{display:grid;grid-template-columns:minmax(220px,340px) 1fr;min-height:460px;background:#fff;font-size:13.5px}
  .dsim-job{border-right:1px solid #e3e6ea;background:#f6f7f9;padding:12px;overflow:auto;max-height:640px;min-width:0}
  .dsim-h{font-weight:600;margin:10px 0 4px;font-size:12.5px;color:#555;text-transform:uppercase;letter-spacing:.03em}
  .dsim-note{background:#fff;border:1px solid #eef0f2;border-radius:8px;padding:6px 8px;margin:0 0 6px;font-size:13px;overflow-wrap:anywhere}.dsim-ul{margin:0;padding-left:18px}
  .dsim-mail{display:flex;flex-direction:column;min-width:0;font-family:Roboto,Arial,var(--sans)}
  .dsim-mh{background:#f2f6fc;padding:9px 14px;font-weight:500;font-size:14px}
  .dsim-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eef0f2;padding:4px 14px}.dsim-row span{color:#5f6368;font-size:13px;min-width:56px}
  .dsim-row[hidden]{display:none}   /* chrome.to/subject === false (CX review replies, PM change order): the flex rule above beat [hidden] */
  .dsim-row input{flex:1;border:0;padding:7px 0;font:inherit;outline:none;min-width:0;background:transparent;color:#202124}
  .dsim-body{flex:1;min-height:300px;border:0;padding:12px 14px;font:inherit;font-size:13.5px;line-height:1.5;resize:vertical;outline:none;color:#202124;background:#fff}
  .dsim-att{padding:8px 14px;border-top:1px solid #eef0f2}
  .dsim-foot{display:flex;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid #eef0f2;flex-wrap:wrap}
  .dsim-ai{background:var(--accent-soft,#faf3ee);border-left:3px solid var(--accent,#e8622c);border-radius:8px;padding:10px 12px;margin-top:10px;font-size:13.5px}
  @media(max-width:760px){.dsim{grid-template-columns:1fr}.dsim-job{border-right:0;border-bottom:1px solid #e3e6ea;max-height:320px}.isim-step{flex-direction:column;gap:4px}.isim-day{flex:none}.isim-f{max-width:none}}
  @media(max-width:720px){.rsim{grid-template-columns:1fr}.rsim-list{border-right:0;border-bottom:1px solid var(--line);max-height:260px}}
  @media(max-width:720px){.inbox{grid-template-columns:1fr}.mail-list{border-right:0;border-bottom:1px solid var(--line);max-height:260px;overflow:auto}.mail-pane{padding:16px}}
  /* App simulation (Wallogy bid capture) */
  .sim-intro{color:var(--muted);font-size:14px;margin:4px 0 14px}
  .wsim-frame{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 20px;box-shadow:0 6px 20px rgba(0,0,0,.06);background:#fff}
  .wsim-chrome{display:flex;align-items:center;gap:6px;background:#edeef1;border-bottom:1px solid var(--line);padding:8px 12px}
  .wsim-dot{width:10px;height:10px;border-radius:50%;background:#c9ccd1}
  .wsim-url{margin-left:10px;background:#fff;border:1px solid #dcdee3;border-radius:6px;padding:2px 12px;font-size:12px;color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
  .wsim-screen{padding:0;overflow-x:auto;background:#fff;color:#1f2328}
  .wsim-screen *{box-sizing:border-box}
  .wsim{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:13.5px;color:#1f2328;padding:16px 20px;min-width:620px}
  .wsim table{border-collapse:collapse;width:100%}
  .wsim .flag-y{background:#fff7e0}  .wsim .flag-r{background:#fdecec;color:#c0392b;font-weight:700}
  .sim-fields{display:flex;flex-direction:column;gap:18px}
  .sim-field{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--panel)}
  .sim-q{font-weight:650;font-size:14.5px;margin-bottom:2px}
  .sim-help{color:var(--muted);font-size:13px;margin-bottom:8px}
  .sim-field .opts{margin-top:8px}
  .sim-why{margin-top:8px;font-size:13.5px;border-radius:8px;padding:9px 12px}
  .sim-why.ok{background:var(--good-soft)} .sim-why.no{background:var(--bad-soft)}
  /* Estimate-builder grid */
  .egrid{padding:14px 16px;min-width:660px}
  .egrid-sec{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:16px}
  .egrid-head{display:flex;justify-content:space-between;align-items:center;background:#eaf1fb;color:#1e3a8a;font-weight:700;padding:9px 14px;font-size:14px}
  .egrid table{width:100%;border-collapse:collapse;font-size:13px}
  .egrid thead th{text-align:left;color:#6b7280;font-weight:600;font-size:11px;padding:6px 10px;border-bottom:1px solid #e5e7eb;background:#fafafa}
  .egrid-row{cursor:pointer;border-bottom:1px solid #f0f1f3}
  .egrid-row:hover{background:#f6f9ff}
  .egrid-row td{padding:9px 10px;vertical-align:top}
  .egrid-chk{width:26px} .egrid-chk .chk{display:inline-block;width:16px;height:16px;border:2px solid #c7ccd3;border-radius:4px}
  .egrid-row.on .chk{background:#2563eb;border-color:#2563eb;position:relative}
  .egrid-row.on .chk:after{content:"✓";color:#fff;font-size:11px;position:absolute;top:-3px;left:2px}
  .egrid-desc{font-weight:600;min-width:180px} .egrid-total{white-space:nowrap;font-variant-numeric:tabular-nums}
  .egrid-notes{color:#6b7280;max-width:280px} .egrid-fb{width:24px;text-align:center}
  .egrid-row.gcorrect{background:var(--good-soft)} .egrid-row.gwrong{background:var(--bad-soft)}
  .gmark.ok{color:var(--good);font-weight:700} .gmark.bad{color:var(--bad);font-weight:700}
  .egrid-foot{background:#fafafa;border-top:1px solid #e5e7eb;padding:8px 14px;font-size:12.5px;color:#374151}
  .egrid-lowm{color:var(--bad);font-weight:700}
  .grid-why{margin:8px 0 0;padding-left:18px;font-size:13.5px} .grid-why li{margin:4px 0}
  /* Estimate builder (questionSim mode:"estimate") — Wallogy line-item editor */
  .est-proj{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}
  .est-projhead{display:flex;justify-content:space-between;align-items:center;background:#1f2937;color:#fff;font-weight:700;padding:9px 14px;font-size:13.5px}
  .est-roomhead{display:flex;justify-content:space-between;align-items:center;background:#eaf1fb;color:#1e3a8a;font-weight:700;padding:8px 14px;font-size:13px;border-bottom:1px solid #e5e7eb}
  .est-roomdims{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:#3b5ba5}
  .est-dots{border:1px solid #c7d6f0;background:#fff;color:#1e3a8a;border-radius:6px;width:28px;height:24px;line-height:1;font-size:16px;font-weight:700;cursor:pointer;padding:0}
  .est-dots:hover{background:#dbe7fb}
  .edlg-area{background:#f0f6ff;border:1px solid #d6e4fb;border-radius:8px;padding:8px 12px;font-size:13px;color:#1e3a8a;margin-bottom:14px}
  .edlg-area.warn{background:#fff7e8;border-color:#f4dca0;color:#8a6d1f}
  .est-table{width:100%;border-collapse:collapse;font-size:13px}
  .est-table thead th{text-align:left;color:#6b7280;font-weight:600;font-size:11px;padding:6px 12px;border-bottom:1px solid #e5e7eb;background:#fafafa}
  .est-row td{padding:10px 12px;border-bottom:1px solid #f0f1f3;vertical-align:middle}
  .est-row.ctx{color:#6b7280;background:#fcfcfd}
  .est-row.tgt{cursor:pointer} .est-row.tgt:hover{background:#f6f9ff}
  .est-desc{font-weight:600;color:#1f2328;min-width:150px} .est-row.ctx .est-desc{font-weight:500}
  .est-cfg{color:#2563eb;font-weight:600} .est-cfg .arrow{font-weight:700}
  .est-total{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;min-width:82px}
  .est-open{color:#9aa0a8;font-size:11px;text-align:right}
  .est-row.efb-ok{background:var(--good-soft)} .est-row.efb-no{background:var(--bad-soft)}
  .est-mark.ok{color:var(--good);font-weight:700} .est-mark.bad{color:var(--bad);font-weight:700}
  .est-results{margin-top:8px}
  .est-why{margin:8px 0 0;padding:0;list-style:none;font-size:13.5px;display:flex;flex-direction:column;gap:6px}
  .est-why li{display:flex;gap:8px;align-items:flex-start} .est-why .wm{flex:0 0 auto;font-weight:700}
  .est-why .wm.ok{color:var(--good)} .est-why .wm.no{color:var(--bad)}
  .est-why b{color:var(--ink,#1f2328)}
  /* EDIT ITEM dialog */
  .edlg{position:fixed;z-index:61;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,94vw);max-height:88vh;overflow:auto;background:#fff;color:#1f2328;border:1px solid #d7dae0;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.34);padding:0}
  .edlg-top{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #ececf0}
  .edlg-top h3{margin:0;font-size:15px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#374151}
  .edlg-x{border:0;background:transparent;font-size:20px;line-height:1;color:#9aa0a8;cursor:pointer;padding:0 2px}
  .edlg-hdr{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 14px;background:#f7f8fa;border-bottom:1px solid #ececf0;padding:10px 20px;font-size:11.5px;color:#6b7280}
  .edlg-hdr b{color:#374151;font-weight:600}
  .edlg-body{padding:16px 20px}
  .edlg-f{margin-bottom:13px}
  .edlg-l{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:600;color:#374151;margin-bottom:4px}
  .edlg-help{font-size:11.5px;color:#9aa0a8;font-weight:400}
  .edlg-in,.edlg-sel{width:100%;border:1.5px solid #d7dae0;border-radius:7px;padding:9px 11px;font:inherit;font-size:14px;background:#fff;color:#1f2328}
  .edlg-sel{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
  .edlg-in:focus,.edlg-sel:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.13)}
  .edlg-foot{margin:6px 20px 0;background:#f7f8fa;border:1px solid #ececf0;border-radius:8px;padding:10px 14px;font-size:12.5px;color:#374151;text-align:center;line-height:1.9}
  .edlg-foot b{color:#1f2328} .edlg-foot .tot{font-size:14px} .edlg-foot .lowm{color:var(--bad);font-weight:700}
  .edlg-btns{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px}
  .edlg-cancel{border:1px solid #d7dae0;background:#fff;color:#374151;border-radius:8px;padding:9px 18px;font:inherit;font-weight:600;cursor:pointer}
  .edlg-apply{border:0;background:#16a34a;color:#fff;border-radius:8px;padding:9px 20px;font:inherit;font-weight:700;cursor:pointer}
  /* Wall scheduling board (questionSim mode:"schedule") — drag & drop + the Wall key */
  .wkey{background:linear-gradient(180deg,#fbfcfe,#f3f6fb);border:1px solid #e5e7eb;border-radius:12px;padding:15px 18px;margin:0 0 14px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  .wkey-h{font-weight:800;font-size:14px;color:#1f2937;margin-bottom:12px;letter-spacing:.01em}
  .wkey-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  @media(max-width:720px){.wkey-cols{grid-template-columns:1fr;gap:14px}}
  .wkey-sub{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:8px}
  .wkey-i{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;margin-bottom:7px;line-height:1.3}
  .wsw{width:30px;height:18px;border-radius:4px;flex:0 0 auto;border:1px solid rgba(0,0,0,.12)}
  .wdot{width:12px;height:12px;border-radius:50%;flex:0 0 auto;display:inline-block;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
  .wdot.o{background:#f5911e} .wdot.b{background:#2aa4e0} .wdot.p{background:#5b2e91}
  .wk-L{color:#d21f3c;font-weight:800;margin-right:2px}
  .wk-wk{font-size:11px;padding:1px 6px;border-radius:4px;white-space:nowrap} .wk-wk.grey{background:#e6e6e6;color:#5f6672}
  /* status = the card's bottom bar color (matches production) */
  .st-normal{background:#e6ebf1;color:#3b4a5a} .st-pink{background:#f6b3cb;color:#7a1f3d} .st-green{background:#b7e0a5;color:#1f5220}
  .st-purple{background:#cbb6ef;color:#432075} .st-taupe{background:#d8c8ab;color:#5c4a24} .st-yellow{background:#f6df85;color:#6b530a}
  .wb-scroll{overflow-x:auto;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
  .wb-head{display:flex;position:sticky;top:0;background:#f7f8fa;border-bottom:1px solid #e5e7eb;z-index:3}
  .wb-corner{flex:0 0 var(--clw);padding:8px 10px;font-weight:600;color:#374151;border-right:1px solid #e5e7eb}
  .wb-days{display:flex}
  .wb-day{flex:0 0 auto;padding:8px 6px;text-align:center;font-weight:600;color:#374151;border-right:1px solid #eef0f2;font-size:12.5px;white-space:nowrap}
  .wb-row{display:flex;border-bottom:1px solid #eef0f2}
  .wb-crew{flex:0 0 var(--clw);padding:8px 10px;background:#fafbfc;border-right:1px solid #e5e7eb}
  .wb-crew-n{font-weight:700;color:#1f2328}
  .wb-crew-h{font-size:11px;color:#e8622c;font-weight:600;margin-top:1px}
  .wb-crew-s{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}
  .wsvc{font-size:10px;background:#eef2f7;color:#3b4a5a;border-radius:4px;padding:1px 6px}
  .wb-cells{position:relative;flex:0 0 auto;display:flex}
  .wb-cell{flex:0 0 auto;border-right:1px solid #f2f3f5;box-sizing:border-box}
  .wb-cell.wb-hot{background:#eaf3ff}
  .wb-place{position:absolute;box-sizing:border-box}
  .wcard{border:1px solid rgba(0,0,0,.14);border-radius:6px;background:#fff;font-size:11.5px;line-height:1.3;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.06)}
  .wcard-body{padding:5px 8px 3px}
  .wcard-t{font-weight:700;color:#1f2328} .wcard-v{color:#166534;font-weight:700}
  .wcard-m{color:#4b5563;font-variant-numeric:tabular-nums;font-size:11px}
  .wcard-bar{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:2px 8px;font-size:10.5px;font-weight:600}
  .wcard-svc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .wdots{display:flex;gap:5px;flex:0 0 auto}
  .wb-place .wcard{cursor:grab;touch-action:none;height:100%} .wb-place .wcard:active{cursor:grabbing}
  .wcard.wctx{opacity:.92;box-shadow:none}
  .wb-place.wctx .wcard{cursor:default}
  .wcard.wok{outline:2px solid var(--good);outline-offset:1px} .wcard.wbad{outline:2px solid var(--bad);outline-offset:1px}
  .wresize{position:absolute;top:0;right:0;width:10px;height:100%;cursor:ew-resize;background:linear-gradient(90deg,transparent,rgba(37,99,235,.10));border-right:2px solid rgba(37,99,235,.35);border-radius:0 6px 6px 0}
  .wghost{position:fixed;pointer-events:none;z-index:9999;opacity:.92;box-shadow:0 8px 24px rgba(16,24,40,.24);border-radius:6px}
  .whi{position:fixed;pointer-events:none;z-index:9998;border:2px solid #2563eb;border-radius:6px;background:rgba(37,99,235,.10)}
  .wzones{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:14px}
  @media(max-width:720px){.wzones{grid-template-columns:1fr}}
  .wtray,.whold{border:1.5px dashed #cdd3db;border-radius:10px;padding:12px;background:#fbfcfd;min-height:96px}
  .whold{border-color:#e3b7b7;background:#fdf6f6}
  .wtray.wb-hot,.whold.wb-hot{border-color:#2563eb;background:#eef4ff}
  .wtray-h,.whold-h{font-weight:700;color:#1f2328;margin-bottom:9px;font-size:13.5px}
  .wtray-n{background:#1f9d55;color:#fff;border-radius:999px;padding:1px 9px;font-size:12px;margin-left:2px}
  .whold-h .wtray-n{background:#c0392b}
  .wtray-cards,.whold-cards{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-start}
  .wtrayjob{width:206px;cursor:grab;touch-action:none;border-radius:6px}
  .wtrayjob:active{cursor:grabbing} .wtrayjob.wok .wcard{outline:2px solid var(--good)} .wtrayjob.wbad .wcard{outline:2px solid var(--bad)}
  .whint{font-size:12px;color:#9aa0a8;font-weight:400}
  /* Vishing: phone call / voicemail card */
  .call-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#23201c,#171513);color:#f3efe8;padding:20px 22px;margin-bottom:22px;display:flex;flex-direction:column;gap:14px}
  .call-top{display:flex;align-items:center;gap:14px}
  .call-avatar{flex:0 0 52px;height:52px;border-radius:50%;background:#3a352f;display:grid;place-items:center;font-size:22px}
  .call-kind{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#e8a27f;font-weight:700}
  .call-name{font-size:17px;font-weight:700}
  .call-num{font-size:13px;color:#bdb5a8;font-variant-numeric:tabular-nums}
  .call-audio{width:100%}
  .call-transcript{font-size:13.5px;color:#d9d2c6}
  .call-transcript summary{cursor:pointer;color:#bdb5a8;font-size:12.5px}
  .call-transcript p{margin:8px 0 0;line-height:1.55}

  /* Company org chart: company → department columns → roles (left spine) → people */
  .ochart{overflow:auto;padding:10px 2px 14px;margin:0 -4px;cursor:grab}
  .ochart.grab{cursor:grabbing;user-select:none}
  .oc-zoom{display:flex;align-items:center;gap:4px}
  .oc-zoom button{border:1.5px solid var(--line);background:var(--panel);border-radius:8px;padding:5px 10px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink)}
  .oc-zoom button:hover{border-color:var(--ink)}
  .oc-zoom span{font-size:12.5px;color:var(--muted);min-width:42px;text-align:center;font-variant-numeric:tabular-nums}
  .oc-card.oc-full{position:fixed;inset:0;z-index:300;border-radius:0;display:flex;flex-direction:column;padding:16px 20px;background:var(--bg)}
  .oc-card.oc-full .ochart{flex:1;min-height:0}
  .oc-tree{display:flex;flex-direction:column;align-items:center;width:max-content;min-width:100%}
  .oc-node{background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:10px 12px}
  .oc-top{min-width:240px;text-align:center;border-color:var(--ink)}
  .oc-stem{width:2px;height:20px;background:var(--line)}
  .oc-kids{display:flex;gap:16px;align-items:flex-start}
  .oc-kid{position:relative;padding-top:20px;width:200px;flex:none}
  .oc-kid::before{content:"";position:absolute;top:0;left:calc(50% - 1px);width:2px;height:20px;background:var(--line)}
  .oc-kid::after{content:"";position:absolute;top:0;left:-8px;right:-8px;height:2px;background:var(--line)}
  .oc-kid:first-child::after{left:50%} .oc-kid:last-child::after{right:50%} .oc-kid:only-child::after{display:none}
  .oc-dept.warn{border-style:dashed;border-color:var(--accent);background:var(--accent-soft)}
  .oc-deptname{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14.5px}
  .oc-deptname .n,.oc-rolename .n{font-weight:500;font-size:12px;color:var(--muted);background:var(--bg);border-radius:99px;padding:1px 7px}
  .oc-leads{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
  .oc-lead{display:inline-flex;flex-direction:column;font-size:12.5px;font-weight:600;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:3px 8px;line-height:1.25;cursor:pointer}
  .oc-lead[data-ocopen]:hover{border-color:var(--accent);color:var(--accent-ink)}
  .oc-lead small,.oc-person small{font-weight:400;color:var(--muted);font-size:11px}
  .oc-flag{font-size:12px;font-weight:600;color:var(--accent-ink)}
  .oc-roles{margin:0 0 0 14px;border-left:2px solid var(--line);padding:10px 0 0 12px}
  .oc-role{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:10px}
  .oc-role::before{content:"";position:absolute;left:-13px;top:16px;width:12px;height:2px;background:var(--line)}
  .oc-rolename{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13.5px;margin-bottom:4px}
  .oc-rolename a{cursor:pointer;color:var(--ink)} .oc-rolename a:hover{color:var(--accent-ink)}
  .oc-person{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:3px 4px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;line-height:1.3}
  .oc-person:hover{background:var(--bg);color:var(--accent-ink)}
  .oc-empty{color:var(--muted);font-size:12.5px;margin:0}

  .oc-pool{border:1.5px dashed var(--line);border-radius:12px;padding:10px 12px;margin:8px 0 4px;background:var(--bg);position:sticky;top:calc(76px + env(safe-area-inset-top,0px));z-index:5}
  .oc-full .oc-pool{position:static}
  .oc-pool .n{font-weight:500;font-size:12px;color:var(--muted);background:var(--panel);border-radius:99px;padding:1px 7px}
  .oc-poolchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;max-height:132px;overflow:auto}
  .oc-chip{display:inline-flex;flex-direction:column;background:var(--panel);border:1.5px solid var(--line);border-radius:8px;padding:5px 10px;font-size:13px;font-weight:600;cursor:grab;line-height:1.25;position:relative}
  /* Hover a person chip/node to confirm the exact email (names alone can be ambiguous). */
  .oc-chip:hover::after,.oc-person:hover::after{content:attr(data-email);position:absolute;left:0;top:100%;margin-top:4px;z-index:60;background:var(--ink);color:#fff;font-size:11px;font-weight:500;letter-spacing:.01em;padding:3px 8px;border-radius:6px;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.24);pointer-events:none}
  .oc-chip small{font-weight:400;color:var(--muted);font-size:11px}
  .oc-chip:hover{border-color:var(--accent)}
  .oc-person[draggable]{cursor:grab}
  .dragging{opacity:.45}
  .oc-dragging [data-drop="role"],.oc-dragging [data-drop="dept"],.oc-dragging [data-drop="company"],.oc-dragging [data-drop="norole"],.oc-dragging [data-drop="coadmin"],.oc-dragging [data-drop="deptadmin"]{outline:1.5px dashed var(--line);outline-offset:2px}
  .oc-over{outline:2px solid var(--accent)!important;outline-offset:2px;background:var(--accent-soft)!important}
  #oc-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:400;background:var(--ink);color:var(--panel);border-radius:10px;padding:10px 14px;display:flex;gap:14px;align-items:center;font-size:13.5px;box-shadow:0 6px 24px rgba(0,0,0,.2);max-width:calc(100vw - 32px)}
  #oc-toast button{background:none;border:1.5px solid currentColor;color:inherit;border-radius:7px;padding:3px 10px;font:inherit;font-weight:600;cursor:pointer}
  #oc-menu{position:fixed;z-index:400;background:var(--panel);border:1.5px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.16);padding:6px;min-width:220px;display:flex;flex-direction:column}
  #oc-menu .oc-menu-h{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:4px 8px}
  #oc-menu button{text-align:left;background:none;border:0;border-radius:7px;padding:7px 8px;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer}
  #oc-menu button:hover{background:var(--accent-soft)}

  .oc-person{position:relative;padding-right:22px!important}
  .oc-viewbar{background:var(--accent-soft);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin:0 0 10px;font-size:13.5px}
  .oc-x{border:0;background:none;color:var(--muted);font-size:12px;line-height:1;padding:4px;border-radius:6px;cursor:pointer}
  .oc-person .oc-x{position:absolute;right:2px;top:50%;transform:translateY(-50%);opacity:0}
  .oc-person:hover .oc-x,.oc-person:focus-within .oc-x{opacity:1}
  .oc-x:hover{color:var(--bad-ink);background:var(--bad-soft)}
  @media (hover:none){ .oc-person .oc-x{opacity:1} }
  #oc-picker{position:fixed;inset:0;z-index:450;background:rgba(0,0,0,.28);display:flex;align-items:center;justify-content:center;padding:16px}
  .oc-pick-card{background:var(--panel);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.25);padding:16px;width:min(420px,100%);max-height:min(560px,90vh);display:flex;flex-direction:column}
  .oc-pick-card input{width:100%;box-sizing:border-box;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:14px;background:var(--panel);color:var(--ink)}
  #oc-picklist{overflow:auto;margin-top:8px;flex:1;min-height:0}
  #oc-picklist button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:7px;padding:7px 8px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
  #oc-picklist button:hover{background:var(--accent-soft)}
  #oc-picklist .oc-menu-h{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:8px 8px 2px}
  #oc-picker[hidden],#oc-menu[hidden],#oc-toast[hidden],.oc-pick-g[hidden],#oc-picklist button[hidden]{display:none!important}

  .oc-role.oc-ph{background:transparent;border:1.5px dashed var(--line);opacity:.7}
  .oc-role.oc-ph .oc-rolename,.oc-role.oc-ph .oc-rolename a{color:var(--muted);font-weight:500}
  .oc-role.oc-ph:hover,.oc-role.oc-ph.oc-over{opacity:1}
  .oc-node.oc-dept.oc-ph{border-style:dashed;opacity:.75}
  .oc-headnote{font-size:11px;color:var(--accent-ink);font-weight:600;margin:-2px 0 4px}

  .ni-tag,.inv-tag{font-style:normal;font-size:10.5px;font-weight:600;border-radius:5px;padding:0 5px;margin-left:3px;white-space:nowrap}
  .ni-tag{color:var(--muted);border:1px dashed var(--muted)}
  .inv-tag{color:var(--muted);background:var(--bg);border:1px solid var(--line)}
  #bi-modal{position:fixed;inset:0;z-index:460;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;padding:16px}
  #bi-modal[hidden]{display:none!important}

  .catnav.oc-nav{display:flex;flex-direction:column;height:calc(100vh - 97px);overflow:hidden}
  .catnav.oc-nav #catlist{flex:none}
  .oc-side{flex:1;min-height:0;display:flex;flex-direction:column;margin:14px 0 0;padding:10px;position:static!important}
  .oc-side .oc-poolchips{flex:1;min-height:60px;max-height:none;flex-direction:column;flex-wrap:nowrap;align-items:stretch}
  .oc-poolq,.oc-side textarea{width:100%;box-sizing:border-box;padding:7px 9px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:13px;background:var(--panel);color:var(--ink)}
  .oc-pool-strip{display:none}
  .oc-full .oc-pool-strip{display:block}
  .oc-pool-strip .oc-poolq{width:auto;min-width:220px;margin-left:auto}
  @media (max-width:900px){ .catnav.oc-nav{height:auto;overflow:visible} .oc-side{display:none} .oc-pool-strip{display:block} }

  .oc-side .oc-poolchips{gap:3px;margin-top:6px}
  .oc-side .oc-chip{padding:2px 8px;font-size:12px;font-weight:500;border-width:1px;border-radius:6px;line-height:1.35;flex-direction:row;align-items:baseline;gap:6px;min-width:0}
  .oc-side .oc-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .oc-side .oc-chip small{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;flex:0 1 auto;min-width:0}

  .role-warn{font-size:12.5px;line-height:1.45;background:var(--accent-soft);color:var(--ink);border-radius:8px;padding:8px 10px;margin:0 0 8px}
  .role-warn b{color:var(--accent-ink)}
  #oc-newrolehits .oc-hit{display:block;width:100%;text-align:left;background:none;border:0;border-radius:7px;padding:6px 8px;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer}
  #oc-newrolehits .oc-hit:hover{background:var(--good-soft)}

  .team-sum{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}
  .team-sum a{cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--ink)}
  .team-sum a:hover{border-color:var(--ink)}
  /* Collapsible My-team sections (same disclosure language as onboarding) */
  .team-sec .team-sech{display:flex;align-items:center;gap:9px;cursor:pointer;user-select:none;margin:-4px -4px 2px;padding:4px 4px 8px;border-radius:8px}
  .team-sec .team-sech:hover{background:var(--accent-soft)} .team-sec .team-sech:hover b{color:var(--accent-ink)}
  .team-sec .team-sech b{flex:1;font-size:16px;margin:0} .team-sec .team-sech .team-hint{color:var(--muted);font-size:12px}
  .team-sec.collapsed .team-secbody{display:none}
  .team-sec .onb-caret{transform:rotate(90deg)} .team-sec.collapsed .onb-caret{transform:rotate(0deg)}
  /* My team triage: alert tiles + filterable table */
  .tmtiles{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
  .tmtile{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 13px;cursor:pointer;font:inherit;min-width:92px;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
  .tmtile:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow)} .tmtile.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:none}
  .tmtile .tmn{font-size:20px;font-weight:800;line-height:1} .tmtile .tml{font-size:11.5px;color:var(--muted);white-space:nowrap}
  .tmfilters{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 2px 10px;font-size:13px;color:var(--muted)}
  .tmfilters label{display:inline-flex;align-items:center;gap:6px}
  .tm-tbl{width:100%;border-collapse:collapse;font-size:13.5px}
  .tm-tbl th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:10px 10px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--bg)}
  .tm-tbl td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top;text-align:right;font-variant-numeric:tabular-nums}
  .tm-tbl tbody tr:last-child td{border-bottom:none} .tm-tbl tbody tr:hover{background:var(--bg)}
  .tm-tbl .tmsub{color:var(--muted);font-size:12px;font-weight:400}
  .tmflag{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap;margin:1px 0}
  .tmflag.bad{color:var(--bad-ink);border-color:#f1c9c0;background:#fdf4f1}
  .tmflag.warn{color:var(--warn-ink);border-color:var(--warn-line);background:var(--warn-soft)}
  .tmflag.wait{color:#5b3fd6;border-color:#ded6ff;background:#f3f0ff}
  .tmflag.block{color:#fff;background:var(--bad);border-color:var(--bad)}
  .tmflag.ok{color:var(--good-ink);border-color:#bfe6cf;background:#eef8f1}
  @media(max-width:720px){ .tm-tbl th:nth-child(2),.tm-tbl td:nth-child(2),.tm-tbl th:nth-child(3),.tm-tbl td:nth-child(3),.tm-tbl th:nth-child(5),.tm-tbl td:nth-child(5){display:none} }
  /* My team on a phone: let dense rows breathe — stack instead of cramming name/stats/buttons on one line. */
  @media (max-width:720px){
    .team-wrap .rule-row{flex-wrap:wrap;gap:4px 10px}
    .team-wrap .rule-row .progress-bar{width:100%!important;flex:1 1 100%;margin:3px 0!important}
    .team-wrap .rule-row .role{margin-left:0}
    .team-wrap .btn.ghost{width:100%;margin-top:6px}
    .team-wrap .addrule{flex-direction:column;gap:8px}
    .team-wrap .addrule select,.team-wrap .addrule input,.team-wrap .addrule button{width:100%;min-width:0}
    .team-wrap .team-mem-head>span:first-child{flex:1 1 100%;min-width:0!important}
    .team-wrap .team-mem-head .role{flex:1 1 100%;text-align:left}
  }

  .oc-lead{position:relative;padding-right:20px!important}
  .oc-lead .oc-lx{position:absolute;right:1px;top:1px;opacity:0;font-size:10.5px;padding:2px 3px}
  .oc-lead:hover .oc-lx,.oc-lead:focus-within .oc-lx{opacity:1}
  @media (hover:none){ .oc-lead .oc-lx{opacity:1} }
  .oc-adminzone{border-radius:8px;min-height:22px}
  .oc-dropnote{display:none;font-size:11px;color:var(--accent-ink);font-weight:600;align-self:center}
  .oc-dragging .oc-adminzone .oc-dropnote{display:inline}
  .oc-adminzone{position:relative}

  .plan-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:8px}
  .plan-scroll{overflow-x:auto;padding-bottom:6px}
  .plan-cols{display:flex;align-items:flex-start;gap:6px;width:max-content;min-width:100%}
  .plan-col{width:250px;flex:none;display:flex;flex-direction:column;gap:8px}
  .plan-ch{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
  .plan-ch span{display:block;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}
  .plan-arrow{align-self:center;color:var(--muted);font-size:18px;padding:0 2px;margin-top:40px}
  .plan-path{background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:10px 12px}
  .plan-path.wait{border-style:dashed;background:transparent}
  .plan-path.done{opacity:.7}
  .pp-h{display:flex;gap:8px;align-items:baseline}.pp-h b{flex:1;font-size:14px;line-height:1.3}.pp-n{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
  .pp-src{font-size:11.5px;color:var(--muted);margin-top:2px}
  .pp-wait{font-size:11.5px;color:var(--accent-ink);margin-top:4px}
  .pp-courses{margin:8px 0 0;padding-left:20px;font-size:12.5px;display:flex;flex-direction:column;gap:3px}
  ul.pp-courses{list-style:none;padding-left:0}
  .pp-courses li{display:flex;align-items:baseline;gap:5px;line-height:1.3}
  .pp-courses li small{color:var(--muted);font-size:11px}
  .pc-i{width:14px;flex:none;text-align:center;font-size:11px}
  .pc-n{flex:1;min-width:0}
  .pc-done .pc-i{color:var(--good-ink)} .pc-done .pc-n{color:var(--muted);text-decoration:line-through}
  .pc-started .pc-i{color:var(--accent-ink)} .pc-next,.pc-later{color:var(--muted)}
  .pc-b{border:0;background:none;cursor:pointer;font-size:11px;padding:0 3px;border-radius:5px;color:var(--muted)}
  .pc-b{opacity:0;white-space:nowrap} .pp-courses li:hover .pc-b,.pc-b:focus,.pc-b.on{opacity:1}
  @media (hover:none){ .pc-b{opacity:1} }
  .pc-b:hover{background:var(--accent-soft);color:var(--accent-ink)} .pc-b.on{color:var(--good-ink)}
  .pp-ctl{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}
  .pp-ctl button{border:1px solid var(--line);background:var(--panel);border-radius:7px;padding:3px 8px;font:inherit;font-size:12px;cursor:pointer;color:var(--ink)}
  .pp-ctl button:hover:not(:disabled){border-color:var(--ink)} .pp-ctl button:disabled{opacity:.35;cursor:default}
  .pp-add{margin-top:6px;display:flex;flex-direction:column;gap:6px}.pp-add select{width:100%;font:inherit;font-size:12.5px;padding:5px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink)}.pp-add .btn{font-size:12.5px;padding:5px 10px}
  .pp-add[hidden]{display:none!important}

  .plan-path[draggable]{cursor:grab}
  .pp-courses li[draggable]{cursor:grab;border-radius:5px}
  .plan-sep{width:0}
  .plan-arrow{border-radius:8px;padding:0 4px}
  .plan-dragging .plan-arrow{outline:1.5px dashed var(--line);color:var(--accent-ink)}
  .plan-dragging .plan-col[data-pcol]{outline:1.5px dashed var(--line);outline-offset:4px;border-radius:12px}
  .plan-over{outline:2px solid var(--accent)!important;background:var(--accent-soft)!important}
  .plan-cdragging li[data-pcourse]{background:var(--bg)}
  .plan-newcol{width:170px}
  .plan-drophint{border:1.5px dashed var(--line);border-radius:12px;padding:16px 10px;color:var(--muted);font-size:12.5px;text-align:center}

  .cpath.parallel{border-style:dashed;background:var(--bg)}
  .gatebtn{border:1px solid var(--line);background:var(--panel);border-radius:7px;padding:4px 9px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--muted);white-space:nowrap}
  .gatebtn.on{color:var(--ink);border-color:var(--ink)} .gatebtn:hover{border-color:var(--accent);color:var(--accent-ink)}

  .listenbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0 0 16px}
  .listenbar .lb-play{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;border:0;border-radius:8px;padding:8px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
  .listenbar .lb-btn{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 11px;font-size:14px;cursor:pointer;color:var(--ink)}
  .listenbar label{font-size:12.5px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
  .listenbar select{font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink)}
  .listenbar .lb-status{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}
  .listenbar[hidden]{display:none}

  .onb-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:12px}
  .onb-filters .seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
  .onb-filters .seg button{border:0;background:var(--panel);padding:7px 12px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink);border-right:1px solid var(--line)}
  .onb-filters .seg button:last-child{border-right:0} .onb-filters .seg button.on{background:var(--ink);color:#fff}
  .onb-filters select{font:inherit;font-size:13px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
  .onb-filters .onb-hide{font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
  .onb-collapse-ctl{display:inline-flex;gap:0;margin-left:auto}
  .onb-collapse-ctl button{font:inherit;font-size:12.5px;padding:6px 10px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}
  .onb-collapse-ctl button:first-child{border-radius:8px 0 0 8px} .onb-collapse-ctl button:last-child{border-radius:0 8px 8px 0;border-left:0}
  .onb-collapse-ctl button:hover{border-color:var(--accent);color:var(--accent-ink);position:relative;z-index:1}
  .onb-sec{margin-top:14px} .onb-sec.ms .onb-sech b{color:var(--accent-ink)}
  .onb-sech{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:6px;margin:0 -6px;border-radius:8px;cursor:pointer;user-select:none}
  .onb-sech b{flex:1;font-size:14px} .onb-sech:hover{background:var(--accent-soft)} .onb-sech:hover b{color:var(--accent-ink)}
  /* CSS-drawn disclosure chevron (font-independent): points right when collapsed, down when open */
  .onb-caret{flex:none;width:11px;height:11px;position:relative;transition:transform .15s;transform:rotate(90deg)}
  .onb-caret::before{content:"";position:absolute;top:1px;left:3px;width:0;height:0;border-left:7px solid var(--accent);border-top:5px solid transparent;border-bottom:5px solid transparent}
  .onb-sec.collapsed .onb-caret{transform:rotate(0deg)}
  .onb-sec.collapsed .onb-secbody{display:none}
  /* Chat & comments */
  .onb-cmt{margin-left:6px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:2px 9px;font-size:12px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:5px;flex:none}
  .onb-cmt:hover{border-color:var(--accent);color:var(--accent-ink)} .onb-cmt .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}
  .onb-thread{margin:2px 0 12px 27px;border-left:2px solid var(--line);padding:8px 0 6px 12px}
  .onb-chat-wrap{display:flex;flex-direction:column;gap:8px}
  .onb-msgs{display:flex;flex-direction:column;gap:8px;max-height:440px;overflow-y:auto;padding:2px 2px 4px}
  .onb-msg{display:flex;flex-direction:column;gap:2px;max-width:88%} .onb-msg.mine{align-self:flex-end;align-items:flex-end}
  .onb-msg .mh{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}
  .onb-bub{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:7px 11px;font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}
  .onb-msg.mine .onb-bub{background:var(--accent-soft);border-color:var(--accent-soft)}
  .onb-bub a{color:var(--accent-ink)} .onb-bub.del{color:var(--muted);font-style:italic}
  .onb-atts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
  .onb-att-img{max-width:190px;max-height:190px;border-radius:9px;border:1px solid var(--line);cursor:pointer;display:block}
  .onb-att-doc{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;padding:6px 10px;font-size:13px;color:var(--ink);text-decoration:none;background:var(--bg)}
  .onb-att-doc:hover{border-color:var(--accent)}
  .onb-seen{font-size:11px;color:var(--muted);align-self:flex-end}
  .onb-msg .mdel{font-size:11px;color:var(--muted);cursor:pointer;background:none;border:0;padding:0} .onb-msg .mdel:hover{color:var(--bad-ink)}
  .onb-compose{display:flex;gap:8px;align-items:flex-end;border-top:1px solid var(--line);padding-top:8px}
  .onb-compose textarea{flex:1;min-height:40px;max-height:140px;resize:vertical;font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}
  .onb-compose .onb-attbtn{flex:none;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:9px 12px;font-size:16px;cursor:pointer;color:var(--ink)} .onb-compose .onb-attbtn:hover{border-color:var(--accent)}
  .onb-pend{display:flex;flex-wrap:wrap;gap:6px} .onb-pend:empty{display:none}
  .onb-pend .chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-size:12px;background:var(--panel)}
  .onb-pend .chip button{border:0;background:none;cursor:pointer;color:var(--muted);font-size:14px;line-height:1}
  .onb-empty{color:var(--muted);font-size:13px;padding:6px 2px}
  .onb-lmsbadge{flex:none;font-size:10px;font-weight:700;letter-spacing:.03em;color:var(--accent-ink);border:1px solid var(--accent-soft);background:var(--accent-soft);border-radius:5px;padding:1px 5px}
  .onb-docbadge{font-size:10px;font-weight:700;letter-spacing:.03em;color:#b26b00;border:1px solid #f0d9a8;background:#fdf3e0;border-radius:5px;padding:1px 6px;vertical-align:middle}
  /* Path ⇆ onboarding cohesion (Phase B) */
  .onbpath-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:12px 16px;margin:10px 0;font-size:14px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
  .onbpath-banner span{flex:1;min-width:200px;line-height:1.4} .onbpath-banner small{color:var(--muted);font-size:12.5px}
  .onbpath-banner .onbpath-ic{flex:0 0 auto;min-width:0;font-size:22px;line-height:1}
  .onbchip{display:inline-block;margin-left:8px;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;vertical-align:middle;border:1px solid var(--line);color:var(--muted);background:var(--panel);white-space:nowrap}
  .onbchip.ok{color:var(--good-ink);border-color:#bfe6cf;background:#eef8f1}
  .onbchip.me{color:#fff;background:var(--accent-strong);border-color:var(--accent)}
  .onbchip.wait{color:#b26b00;border-color:#f0d9a8;background:#fdf3e0}
  #onbdrawer{position:fixed;inset:0;z-index:120;pointer-events:none}
  #onbdrawer .onbdrawer-panel .admin-wrap{padding:0 14px 14px;margin:0} #onbdrawer .onbdrawer-panel .admin-wrap h1{font-size:19px;margin-top:10px}
  #onbdrawer .ddue{font-size:11.5px;color:var(--muted);margin-left:auto;white-space:nowrap} #onbdrawer .dnext small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
  .onbtasktab{position:fixed;right:0;top:40%;z-index:110;writing-mode:vertical-rl;transform:rotate(180deg);background:var(--accent-strong);color:#fff;border:0;border-radius:0 10px 10px 0;padding:14px 8px;font:inherit;font-weight:600;font-size:13px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.18)}
  @media (max-width:720px){ .onbtasktab{top:auto;bottom:150px} }
  #onbdrawer .onbdrawer-scrim{position:absolute;inset:0;background:rgba(0,0,0,.32);opacity:0;transition:opacity .2s;pointer-events:auto}
  #onbdrawer.show .onbdrawer-scrim{opacity:1}
  #onbdrawer .onbdrawer-panel{position:absolute;top:0;right:0;height:100%;width:420px;max-width:100%;background:var(--panel);border-left:1px solid var(--line);box-shadow:-12px 0 40px rgba(0,0,0,.22);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .22s;pointer-events:auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
  #onbdrawer.show .onbdrawer-panel{transform:none}
  #onbdrawer .onbdrawer-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
  #onbdrawer .onbdrawer-head b{flex:1;font-size:15px} #onbdrawer .onbdrawer-prog{color:var(--muted);font-size:12.5px}
  #onbdrawer .onbdrawer-x{border:0;background:none;font-size:18px;line-height:1;cursor:pointer;color:var(--muted);padding:2px 4px}
  #onbdrawer .onbdrawer-body{flex:1;overflow:auto;padding:8px 12px}
  #onbdrawer .dsec{margin:10px 0} #onbdrawer .dsec-h{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:6px 4px}
  #onbdrawer .ditem{display:flex;align-items:center;gap:9px;padding:9px 8px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:13.5px;cursor:pointer}
  #onbdrawer .ditem:hover{background:var(--bg)} #onbdrawer .ditem .dt{flex:1;min-width:0}
  #onbdrawer .dchip{flex:none;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
  #onbdrawer .dchip.ok{color:var(--good-ink);border-color:#bfe6cf;background:#eef8f1}
  #onbdrawer .dchip.me{color:#fff;background:var(--accent-strong);border-color:var(--accent)}
  #onbdrawer .dchip.wait{color:#b26b00;border-color:#f0d9a8;background:#fdf3e0}
  #onbdrawer .onbdrawer-foot{border-top:1px solid var(--line);padding:12px 16px}
  @media(max-width:720px){ #onbdrawer .onbdrawer-panel{width:100%;border-left:0} }
  .onb-lmsedit{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
  .onb-lmsedit label{font-size:12px;color:var(--muted);flex:1 1 240px}
  .onb-lmsedit select{width:100%;margin-top:4px;font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink)}
  .onb-lmsedit-btns{flex:1 1 100%;display:flex;gap:8px}
  /* Onboarding "way to go" celebration */
  .onbwin-scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:90;display:grid;place-items:center;padding:20px}
  .onbwin-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.32);max-width:400px;width:100%;padding:26px 24px;text-align:center;animation:onbpop .25s ease}
  @keyframes onbpop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
  .onbwin-emoji{font-size:44px;line-height:1} .onbwin-h{font-size:22px;font-weight:800;margin:6px 0 2px}
  .onbwin-sub{color:var(--muted);font-size:14px;margin:0 0 12px}
  .onbwin-list{list-style:none;padding:0;margin:0 0 16px;text-align:left;display:flex;flex-direction:column;gap:6px}
  .onbwin-list li{font-size:14.5px;color:var(--good-ink)} .onbwin-list li span{color:var(--muted)}
  .onb-status{font-size:12px;color:var(--muted);min-height:16px;padding:0 2px} .onb-status:empty{display:none}
  .onb-status .live{color:var(--good-ink)} .onb-status .typing{color:var(--accent-ink);font-style:italic}
  /* Persistent company-chat dock (lower right) */
  #onbdock{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
  #onbdock .launch{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:11px 17px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.24)}
  #onbdock .launch:hover{filter:brightness(1.08)}
  #onbdock .launch .on{font-size:12px;font-weight:600;opacity:.92;display:inline-flex;align-items:center;gap:4px}
  #onbdock .launch .on .g{width:8px;height:8px;border-radius:50%;background:#39d98a;display:inline-block}
  #onbdock .launch .unread{width:9px;height:9px;border-radius:50%;background:var(--accent);display:inline-block}
  #onbdock .panel{width:372px;max-width:calc(100vw - 32px);height:min(70vh,560px);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 44px rgba(0,0,0,.30);display:flex;flex-direction:column;overflow:hidden}
  #onbdock .panel.hidden{display:none}
  #onbdock .phead{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--bg)}
  #onbdock .phead b{flex:1;font-size:15px} #onbdock .phead .on{font-size:12px;color:var(--good-ink);white-space:nowrap}
  #onbdock .phead .x{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted)} #onbdock .phead .x:hover{color:var(--ink)}
  #onbdock .pbody{flex:1;display:flex;flex-direction:column;min-height:0;padding:10px 12px}
  #onbdock .onb-chat-wrap{flex:1;min-height:0} #onbdock .onb-msgs{flex:1;max-height:none}
  /* Clear the mobile bottom tab bar (shown ≤720px, fixed bottom:0) so the dock never covers it. */
  @media (max-width:720px){ #onbdock{bottom:calc(66px + env(safe-area-inset-bottom,0px))} }
  @media (max-width:560px){
    #onbdock{left:12px;right:12px;align-items:stretch}
    #onbdock .launch{align-self:flex-end} #onbdock .panel{width:auto;max-width:none;height:min(72vh,600px)}
  }
  .onb-toggle-hint{flex:none;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--accent-ink);opacity:0;transition:opacity .12s}
  .onb-sech:hover .onb-toggle-hint,.onb-sech:focus-visible .onb-toggle-hint{opacity:.9}
  .onb-secd{color:var(--muted);font-size:12px;margin:4px 0 2px}
  /* Lean task row: [done]  icon  title(→detail)  💬n  status. Tap done to complete, hold for statuses. */
  .onb-item{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line)}
  .onb-done{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);background:var(--panel);color:#fff;font-size:13px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;-webkit-touch-callout:none;user-select:none;touch-action:manipulation}
  .onb-done:hover{border-color:var(--good)} .onb-done.on{background:var(--good);border-color:var(--good)}
  .onb-i{flex:none;width:15px;text-align:center;font-size:11px;opacity:.75}
  .onb-titlebtn{flex:1;min-width:0;text-align:left;background:none;border:0;padding:0;font:inherit;font-size:13.5px;line-height:1.35;color:var(--ink);cursor:pointer}
  .onb-titlebtn:hover{color:var(--accent-ink)}
  .onb-item.done .onb-titlebtn{color:var(--muted);text-decoration:line-through}
  /* Nested course checklist under a path-linked item (e.g. New Partner Onboarding) */
  .onb-sub{margin:0 0 6px 34px;border-left:2px solid var(--line-soft);padding-left:12px}
  .onb-sub>summary{list-style:none;cursor:pointer;font-size:12px;color:var(--muted);padding:5px 0;user-select:none}
  .onb-sub>summary::-webkit-details-marker{display:none}
  .onb-sub>summary::before{content:"▸  ";color:var(--muted)}
  .onb-sub[open]>summary::before{content:"▾  "}
  .onb-subitem{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:13px}
  .onb-subck{flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:10px;color:var(--muted);line-height:1}
  .onb-subitem.done .onb-subck{background:var(--good);border-color:var(--good);color:#fff}
  .onb-subtitle{flex:1;min-width:0;text-align:left;background:none;border:0;padding:0;font:inherit;font-size:13px;line-height:1.35;color:var(--ink);cursor:pointer}
  .onb-subtitle:hover{color:var(--accent-ink)}
  .onb-subitem.done .onb-subtitle{color:var(--muted)}
  .onb-fn{font-size:10.5px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:0 5px;margin-left:4px}
  .onb-cc{flex:none;font-size:12px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:4px}
  .onb-cc .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block}
  .onb-pill{flex:none;font-size:12px;font-weight:600;text-align:right}
  .onb-as-in{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink)}
  .onb-as-in::placeholder{color:var(--muted)}
  .onb-st{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-weight:600}
  .onb-mine{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:7px 12px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
  .onb-mine.on{background:var(--ink);color:#fff;border-color:var(--ink)} .onb-mine:hover{border-color:var(--accent)}
  /* Long-press status menu */
  .onb-menu-scrim{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:80;display:grid;place-items:center;padding:16px}
  .onb-menu{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 44px rgba(0,0,0,.30);width:min(320px,92vw);max-height:80vh;overflow:auto;padding:6px}
  .onb-menu-h{font-size:13px;color:var(--muted);padding:8px 12px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}
  .onb-menu-i{display:block;width:100%;text-align:left;background:none;border:0;padding:12px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;border-radius:9px}
  .onb-menu-i:hover{background:var(--accent-soft)} .onb-menu-i.cur{background:var(--bg)}
  @media (max-width:560px){
    .onb-item{flex-wrap:wrap;gap:6px 8px;padding:12px 0}
    .onb-done{width:26px;height:26px;font-size:15px}
    .onb-titlebtn{flex:1 1 0;font-size:15px} .onb-pill{margin-left:auto}
    .onb-filters{gap:8px}
    .onb-filters .seg{flex:1 1 100%} .onb-filters .seg button{flex:1}
    .onb-filters select{flex:1 1 42%} .onb-filters .onb-hide{flex:1 1 100%}
  }
  /* Pull-to-refresh indicator + "new version" banner */
  #ptr{position:fixed;top:calc(6px + env(safe-area-inset-top,0px));left:50%;margin-left:-18px;z-index:60;width:36px;height:36px;border-radius:50%;background:var(--panel);border:1px solid var(--line);display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.16);opacity:0;pointer-events:none;transform:translateY(-64px)}
  #ptr .ptr-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--accent)}
  #ptr.ready{border-color:var(--accent)} #ptr.ready .ptr-spin{border-top-color:var(--accent)}
  #ptr.spin .ptr-spin{animation:ptrspin .7s linear infinite}
  @keyframes ptrspin{to{transform:rotate(360deg)}}
  #updbanner{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:61;background:var(--ink);color:#fff;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 24px rgba(0,0,0,.22);font-size:14px}
  #updbanner button{margin-left:auto;background:#fff;color:var(--ink);border:0;border-radius:8px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}

  /* SOPs (#/sops) */
  .sop-chip{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--line-soft);color:var(--muted);white-space:nowrap}
  .sop-chip.sop-published{background:var(--good-soft);color:var(--good-ink)} .sop-chip.sop-in_review{background:var(--slate-soft);color:var(--slate-ink)} .sop-chip.sop-draft{background:var(--accent-soft);color:var(--accent-ink)} .sop-chip.sop-over{background:var(--bad-soft);color:var(--bad)}
  .sop-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px} .sop-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
  .sop-filters select{max-width:100%} @media (max-width:640px){ .sop-filters select{min-height:38px} }
  .sop-row{cursor:pointer;align-items:flex-start;gap:10px} .sop-rchips{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
  .sop-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .sop-warn{background:var(--bad-soft);border:1px solid #f0caca;border-radius:var(--r-sm);padding:10px 12px;margin:8px 0;font-size:14px}
  .sop-note{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;margin:8px 0;font-size:13.5px}
  .sop-kb{display:flex;gap:10px;align-items:center;flex-wrap:wrap} .sop-kb.offer{border-color:var(--accent);background:var(--accent-soft)}
  .sop-kb .grow{flex:1;min-width:200px} .kb-sop-link a{font-size:15px}
  .sop-review{border-color:var(--accent)} .sop-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}
  .sop-steps{list-style:none;padding:0;margin:16px 0} .sop-step{display:flex;gap:12px;margin:0 0 22px}
  .sop-n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
  /* section headers, callouts, table of contents */
  .sop-toc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;margin:14px 0}
  .sop-toc-h{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-bottom:6px}
  .sop-toc ol{margin:0;padding-left:18px} .sop-toc li{margin:3px 0} .sop-toc a{color:var(--accent);cursor:pointer;text-decoration:none} .sop-toc a:hover{text-decoration:underline}
  .sop-sec{margin:26px 0 6px;border-top:2px solid var(--line);padding-top:14px} .sop-sec h2{margin:0;font-size:19px;letter-spacing:-.01em}
  .sop-sec-prev{margin:0;font-size:19px;border-top:2px solid var(--line);padding-top:10px}
  .sop-callout{display:flex;gap:10px;margin:0 0 20px;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel)}
  .sop-callout .sop-cico{flex:none;font-size:18px;line-height:1.4} .sop-callout .sop-st{margin:0}
  .sop-cv-tip{background:var(--info-soft);border-color:var(--info-line)} .sop-cv-warning{background:#fff4e5;border-color:#f3d199} .sop-cv-note{background:var(--bg);border-color:var(--line)}
  .sop-blockprev{margin-top:6px}
  /* rich text: toolbar, live preview, and rendered elements */
  .sop-fmtbar{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:5px}
  .sop-fmtbar .linkbtn{font-size:13px;padding:2px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink)} .sop-fmtbar .linkbtn:hover{background:var(--bg)}
  .sop-fmtprev{margin-top:6px;padding:8px 10px;border:1px dashed var(--line);border-radius:8px;background:var(--panel);font-size:14px} .sop-fmtprev:empty{display:none}
  .sop-st .sop-ul,.sop-st .sop-ol,.prose .sop-ul,.prose .sop-ol,.sop-fmtprev .sop-ul,.sop-fmtprev .sop-ol{margin:4px 0;padding-left:22px}
  .sop-st li,.prose li,.sop-fmtprev li{margin:2px 0}
  .sop-st code,.prose code,.sop-fmtprev code{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:.92em}
  .sop-st a,.prose a,.sop-fmtprev a{color:var(--accent);text-decoration:underline}
  /* PDF / print export: an off-screen clean doc revealed only when printing */
  #sopprint{position:fixed;left:-10000px;top:0;width:794px;background:#fff;color:#111;padding:32px;z-index:-1}
  #sopprint .sop-print-head{display:flex;align-items:center;gap:8px;color:#777;font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:6px}
  #sopprint .sop-print-logo{width:22px;height:22px;border-radius:5px}
  #sopprint h1{margin:0 0 2px;font-size:24px} #sopprint .sop-print-meta{color:#777;font-size:12px;margin:0 0 12px} #sopprint .sop-print-sum{font-weight:600;font-size:15px}
  #sopprint .sop-step,#sopprint .sop-callout,#sopprint .sop-sec{break-inside:avoid;page-break-inside:avoid}
  @media print{
    body>*{display:none!important} #sopprint{display:block!important;position:static!important;left:0!important;top:auto!important;width:auto!important;padding:0!important;z-index:auto!important}
    .sop-toc{break-inside:avoid} a[data-act]{color:#111;text-decoration:none}
  }
  .sop-sb{flex:1;min-width:0} .sop-st{font-size:15px;margin:3px 0 8px;overflow-wrap:anywhere}
  .ui-confirm-ov{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(17,17,17,.45)}
  .ui-confirm{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 48px rgba(0,0,0,.28);max-width:400px;width:100%;padding:18px}
  .ui-confirm-msg{font-size:14.5px;line-height:1.5;white-space:pre-wrap}
  .dev-row{gap:10px;align-items:center} .dev-row b{overflow-wrap:anywhere}
  @media (max-width:560px){ .dev-row{flex-wrap:wrap} .dev-row>.btn,.dev-row>.role{margin-left:32px} }
  .ui-confirm-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
  .ui-confirm .btn.ui-danger{background:var(--bad);border-color:var(--bad);color:#fff}
  .sop-shot{position:relative;display:block;max-width:100%;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:#fff;user-select:none;touch-action:none}
  .sop-shot img{display:block;width:100%;height:auto}
  .sop-box{position:absolute;border:3px solid var(--accent);border-radius:6px;box-shadow:0 0 0 9999px rgba(0,0,0,.12);pointer-events:none}
  .sop-dot{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:3px solid var(--accent);background:rgba(232,98,44,.25);pointer-events:none;animation:soppulse 1.6s ease-out infinite}
  @keyframes soppulse{0%{box-shadow:0 0 0 0 rgba(232,98,44,.5)}100%{box-shadow:0 0 0 14px rgba(232,98,44,0)}}
  .sop-blurr{position:absolute;background:rgba(28,26,23,.35);border:2px dashed #fff;pointer-events:none}
  /* Scribe-style annotations */
  .sop-arrows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
  .sop-anno{position:absolute;pointer-events:none;box-sizing:border-box}
  .sop-a-rect{border:3px solid var(--accent);border-radius:6px}
  .sop-a-spot{border-radius:8px;box-shadow:0 0 0 9999px rgba(0,0,0,.5);outline:2px solid rgba(255,255,255,.55)}
  .sop-a-badge{width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;box-shadow:0 1px 5px rgba(0,0,0,.4);border:2px solid rgba(255,255,255,.9)}
  .sop-a-text{transform:translateY(-50%);background:rgba(17,17,17,.86);color:#fff;border-left:3px solid var(--accent);border-radius:6px;padding:6px 9px;font-size:13px;line-height:1.35;box-shadow:0 2px 8px rgba(0,0,0,.3)}
  .sop-a-text span{overflow-wrap:anywhere}
  .sop-a-arrow{width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%}
  .sop-sel-mode .sop-a-arrow{background:rgba(232,98,44,.25);border:2px solid var(--accent)}
  .sop-sel-mode .sop-anno{pointer-events:auto;cursor:move}
  .sop-anno.sel{outline:2px dashed var(--accent);outline-offset:2px}
  .sop-rh{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;background:#fff;border:2px solid var(--accent);border-radius:2px;pointer-events:auto;z-index:6;box-shadow:0 1px 3px rgba(0,0,0,.3)}
  .sop-rh.c{border-radius:50%} .sop-rh.nw,.sop-rh.se{cursor:nwse-resize} .sop-rh.ne,.sop-rh.sw{cursor:nesw-resize} .sop-rh.e{cursor:ew-resize}
  .sop-pal{margin-top:6px} .sop-sw{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);cursor:pointer;padding:0}
  .sop-sw.sel{outline:2px solid var(--ink);outline-offset:1px}
  .sop-aselbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font-size:13.5px}
  .aud-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--line);border-radius:99px;padding:4px 6px 4px 11px;margin:0 6px 6px 0;font-size:13px} .aud-chip .linkbtn{padding:0 4px}
  .sop-edit-shot{cursor:crosshair} .sop-edit-shot.sop-sel-mode{cursor:default}
  .sop-meta .of-mini{margin:0 0 8px} .sop-metarow{display:flex;gap:10px;flex-wrap:wrap} .sop-metarow .of-mini{flex:1 1 200px}
  .sop-capbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}
  .sop-egrid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:16px;align-items:start}
  .sop-elist{max-height:72vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
  .sop-erow{display:flex;gap:10px;padding:10px;border-bottom:1px solid var(--line-soft);cursor:pointer} .sop-erow.sel{background:var(--accent-soft)}
  .sop-erow.drop{box-shadow:inset 0 3px 0 var(--accent)} .sop-erow-block{background:var(--bg)}
  .sop-drag{flex:none;align-self:flex-start;cursor:grab;color:var(--muted);font-size:16px;line-height:1.6;padding:0 2px;user-select:none} .sop-drag:active{cursor:grabbing}
  .sop-n-block{background:transparent;color:var(--muted);border:1px dashed var(--line);font-size:15px}
  .sop-thumb{display:block;width:100%;max-height:90px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--line);margin-bottom:6px}
  .sop-etext{width:100%;box-sizing:border-box;font:inherit;font-size:14px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;resize:vertical}
  .sop-ebtns{display:flex;flex-direction:column;gap:2px} .sop-ebtns .linkbtn{font-size:15px;padding:2px 6px}
  .sop-ecanvas{position:sticky;top:70px} .sop-tools{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
  .sop-blurbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px;font-size:13.5px}
  .sop-sugg{font-size:13px;background:var(--info-soft);border:1px solid var(--info-line);border-radius:8px;padding:6px 8px;margin-top:4px}
  .sop-pub{margin-top:16px} .sop-more summary{cursor:pointer;color:var(--muted);font-size:13.5px}
  .sop-dl{padding:8px 0;border-top:1px solid var(--line-soft);font-size:14px;overflow-wrap:anywhere} .sop-dl .role{display:block}
  .sop-dl del{background:var(--bad-soft);text-decoration:line-through;display:block;padding:2px 4px;border-radius:4px} .sop-dl ins{background:var(--good-soft);text-decoration:none;display:block;padding:2px 4px;border-radius:4px}
  .sop-ackbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--accent-soft);border:1px solid #f3cdb9;border-radius:var(--r-sm);padding:10px 12px;margin:10px 0}
  .sop-ackbar.ok{background:var(--good-soft);border-color:#c9ebd5;color:var(--good);font-weight:600} .sop-ackbar.over{background:var(--bad-soft);border-color:#f0caca}
  .sop-send-list{max-height:240px;overflow:auto;margin-top:6px}
  #sop-recbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9000;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;background:var(--ink);color:#fff;padding:8px 12px;border-radius:14px;box-shadow:var(--shadow-lg);max-width:calc(100vw - 24px);box-sizing:border-box}
  #sop-recbar .rec{color:var(--bad);font-weight:700;animation:soprec 1.2s steps(2) infinite} #sop-recbar .rec-t{font-size:13px}
  @keyframes soprec{50%{opacity:.35}}
  @media (max-width:720px){ .sop-egrid{grid-template-columns:1fr} .sop-ecanvas{position:static} .sop-elist{max-height:none} .sop-step{gap:8px} }
  /* 📘 Daily lesson (docs/daily-lessons.md) */
  .ls-hero p{margin:4px 0 0}
  .ls-top{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:12px 0 16px;font-size:13.5px}
  .ls-streak{font-weight:700;background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;padding:4px 12px}
  .ls-prefs{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-left:auto}
  .ls-prefs select{padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;font-size:13px}
  .ls-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:0 0 16px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
  .ls-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:12.5px}
  .ls-badge{border-radius:999px;padding:2px 10px;font-weight:600}
  .ls-badge.aca{background:var(--good-soft);color:var(--good-ink)} .ls-badge.ext{background:var(--accent-soft);color:var(--accent-ink)}
  .ls-title{margin:10px 0 8px;font-size:22px;line-height:1.25}
  .ls-quote{margin:6px 0 12px;padding:6px 12px;border-left:3px solid var(--accent);color:var(--ink);font-style:italic}
  .ls-body{font-size:15.5px;line-height:1.6} .ls-body p{margin:0 0 10px} .ls-body ul{margin:0 0 10px;padding-left:22px} .ls-body li{margin:3px 0}
  .ls-card h3{font-size:14px;letter-spacing:.02em;margin:18px 0 6px}
  .ls-check{border-top:1px solid var(--line);margin-top:14px}
  .ls-q{margin:0 0 10px;font-weight:600}
  .ls-opts{display:grid;gap:8px}
  .ls-opt{text-align:left;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:14.5px;cursor:pointer}
  .ls-opt:hover:not([disabled]){border-color:var(--accent)} .ls-opt[disabled]{cursor:default}
  .ls-opt.right{border-color:var(--good-ink);background:var(--good-soft)} .ls-opt.wrong{border-color:var(--bad-ink);background:var(--bad-soft)}
  .ls-fb{margin-top:10px;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.5} .ls-fb.ok{background:var(--good-soft)} .ls-fb.bad{background:var(--bad-soft)}
  .ls-fb .ls-said{display:block;margin-top:6px;color:var(--muted);font-size:13px}
  .ls-try p{margin:0;padding:10px 12px;background:var(--accent-soft);border-radius:10px}
  .ls-srcs{display:flex;flex-direction:column;align-items:flex-start;gap:4px} .ls-src{font-size:13.5px;cursor:pointer} .ls-src.muted{cursor:default}
  .ls-vote{margin-top:14px;font-size:13.5px;color:var(--muted);display:flex;gap:8px;align-items:center}
  .ls-vote button{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:3px 10px;cursor:pointer;font-size:15px} .ls-vote button.on{border-color:var(--accent);background:var(--accent-soft)}
  .ls-past .rule-row{cursor:pointer} .ls-search{width:100%;max-width:360px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;margin:4px 0 10px}
  @media (max-width:640px){ .ls-card{padding:16px} .ls-prefs{margin-left:0} .ls-title{font-size:20px} }
