/* InsightEdge design concept: application styles.
   Layers keep their meaning everywhere: evidence (teal), interpretation (violet), recommendations (amber). */

:root{
  --bg:#F4F6FB; --surface:#FFFFFF; --surface-2:#F8FAFC; --surface-3:#EEF2F7; --hover:#F1F4F9;
  --ink:#0F172A; --ink-2:#334155; --muted:#5B6778; --faint:#94A3B8;
  --line:#E3E8EF; --line-strong:#CBD3DF;
  --brand:#2B59C3; --brand-hover:#244BA6; --brand-soft:#EAF0FD; --brand-text:#1F48A8; --on-brand:#FFFFFF;
  --nav-bg:#0B1324; --nav-ink:#E6EAF2; --nav-muted:#94A0B8; --nav-line:rgba(255,255,255,.08); --nav-hover:rgba(255,255,255,.06); --nav-active:rgba(126,162,255,.16);
  --ev:#0F766E; --ev-soft:#E6F6F4; --ev-text:#0B5F58; --on-ev:#FFFFFF;
  --in:#7C3AED; --in-soft:#F3EEFE; --in-text:#5B21B6; --on-in:#FFFFFF;
  --rc:#F59E0B; --rc-soft:#FEF6E4; --rc-text:#92400E; --on-rc:#1F1300;
  --ok:#15803D; --ok-soft:#E8F7EE; --ok-text:#166534;
  --danger:#C0362C; --danger-soft:#FDECEA; --danger-text:#B42318;
  --link:#1F48A8; --focus:#2B59C3;
  --chart-1:#2a78d6; --chart-2:#eb6834; --chart-3:#1baf7a; --grid:#E3E8EF; --axis:#CBD3DF;
  --f-video:#DB2777; --f-audio:#B45309; --f-pdf:#DC2626; --f-doc:#2563EB; --f-slides:#EA580C; --f-data:#15803D; --f-image:#7C3AED; --f-transcript:#0284C7; --f-feed:#0D9488; --f-other:#64748B;
  --fs-video:#1E1B2E; --fs-audio:linear-gradient(135deg,#FFF7ED,#FDEBC8); --fs-pdf:linear-gradient(160deg,#FEF2F2,#FBDADA); --fs-doc:linear-gradient(160deg,#EFF6FF,#D8E6FD);
  --fs-slides:linear-gradient(160deg,#FFF7ED,#FDE3CC); --fs-data:linear-gradient(160deg,#F0FDF4,#D5F5E0); --fs-image:#EEF2F7; --fs-transcript:linear-gradient(160deg,#F0F9FF,#D6EEFB);
  --fs-feed:linear-gradient(160deg,#F0FDFA,#CCF4EC); --fs-other:linear-gradient(160deg,#F8FAFC,#E2E8F0);
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 1px 2px rgba(15,23,42,.05), 0 6px 16px -4px rgba(15,23,42,.10);
  --shadow-lg:0 24px 48px -12px rgba(15,23,42,.28);
  --sans:'Plus Jakarta Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --serif:'Newsreader', Georgia, 'Times New Roman', serif;
  --mono:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --r-s:8px; --r-m:12px; --r-l:16px;
  --side-w:264px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B1120; --surface:#111A2E; --surface-2:#16213A; --surface-3:#1D2A46; --hover:#1A2742;
    --ink:#E6EAF2; --ink-2:#C3CAD8; --muted:#98A3B8; --faint:#64748B;
    --line:#24314D; --line-strong:#34446A;
    --brand:#3D6BE0; --brand-hover:#4A78EC; --brand-soft:#172A52; --brand-text:#AFC4FF; --on-brand:#FFFFFF;
    --nav-bg:#070C18; --nav-line:rgba(255,255,255,.07);
    --ev:#5EEAD4; --ev-soft:#12302E; --ev-text:#7DD3C8; --on-ev:#04201D;
    --in:#C4B5FD; --in-soft:#241B3F; --in-text:#D8C8FF; --on-in:#1B1036;
    --rc:#FCD34D; --rc-soft:#33260E; --rc-text:#F7D58A; --on-rc:#1F1300;
    --ok:#86EFAC; --ok-soft:#12301F; --ok-text:#9EE6B8;
    --danger:#FCA5A5; --danger-soft:#3A1A1A; --danger-text:#FFB4AB;
    --link:#AFC4FF; --focus:#8FB0FF;
    --chart-1:#3987e5; --chart-2:#d95926; --chart-3:#199e70; --grid:#24314D; --axis:#34446A;
    --fs-audio:linear-gradient(135deg,#2A1D0B,#3A2A10); --fs-pdf:linear-gradient(160deg,#2B1416,#3A1B1E); --fs-doc:linear-gradient(160deg,#131F3B,#1A2B52);
    --fs-slides:linear-gradient(160deg,#2A1A0E,#3B2412); --fs-data:linear-gradient(160deg,#0F2A1A,#133A24); --fs-image:#1D2A46; --fs-transcript:linear-gradient(160deg,#0B2533,#0F3246);
    --fs-feed:linear-gradient(160deg,#0B2A28,#0E3A36); --fs-other:linear-gradient(160deg,#16213A,#1D2A46);
    --shadow-sm:0 1px 2px rgba(0,0,0,.4); --shadow-md:0 1px 2px rgba(0,0,0,.4), 0 8px 20px -6px rgba(0,0,0,.5); --shadow-lg:0 24px 48px -12px rgba(0,0,0,.7);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B1120; --surface:#111A2E; --surface-2:#16213A; --surface-3:#1D2A46; --hover:#1A2742;
  --ink:#E6EAF2; --ink-2:#C3CAD8; --muted:#98A3B8; --faint:#64748B;
  --line:#24314D; --line-strong:#34446A;
  --brand:#3D6BE0; --brand-hover:#4A78EC; --brand-soft:#172A52; --brand-text:#AFC4FF; --on-brand:#FFFFFF;
  --nav-bg:#070C18; --nav-line:rgba(255,255,255,.07);
  --ev:#5EEAD4; --ev-soft:#12302E; --ev-text:#7DD3C8; --on-ev:#04201D;
  --in:#C4B5FD; --in-soft:#241B3F; --in-text:#D8C8FF; --on-in:#1B1036;
  --rc:#FCD34D; --rc-soft:#33260E; --rc-text:#F7D58A; --on-rc:#1F1300;
  --ok:#86EFAC; --ok-soft:#12301F; --ok-text:#9EE6B8;
  --danger:#FCA5A5; --danger-soft:#3A1A1A; --danger-text:#FFB4AB;
  --link:#AFC4FF; --focus:#8FB0FF;
  --chart-1:#3987e5; --chart-2:#d95926; --chart-3:#199e70; --grid:#24314D; --axis:#34446A;
  --fs-audio:linear-gradient(135deg,#2A1D0B,#3A2A10); --fs-pdf:linear-gradient(160deg,#2B1416,#3A1B1E); --fs-doc:linear-gradient(160deg,#131F3B,#1A2B52);
  --fs-slides:linear-gradient(160deg,#2A1A0E,#3B2412); --fs-data:linear-gradient(160deg,#0F2A1A,#133A24); --fs-image:#1D2A46; --fs-transcript:linear-gradient(160deg,#0B2533,#0F3246);
  --fs-feed:linear-gradient(160deg,#0B2A28,#0E3A36); --fs-other:linear-gradient(160deg,#16213A,#1D2A46);
  --shadow-sm:0 1px 2px rgba(0,0,0,.4); --shadow-md:0 1px 2px rgba(0,0,0,.4), 0 8px 20px -6px rgba(0,0,0,.5); --shadow-lg:0 24px 48px -12px rgba(0,0,0,.7);
  color-scheme:dark;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;line-height:1.25;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 10px}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
svg{flex:none}
img{max-width:100%}
code{font-family:var(--mono);font-size:.88em;background:var(--surface-3);padding:1px 6px;border-radius:5px}
kbd{font-family:var(--sans);font-size:11px;font-weight:600;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;padding:1px 5px;color:var(--muted);background:var(--surface)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
h1:focus,h2:focus,h3:focus{outline:none}
[hidden]{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:0;background:var(--surface);color:var(--ink);padding:10px 14px;z-index:200;border-radius:var(--r-s);box-shadow:var(--shadow-md)}
.skip:focus{left:10px;top:10px}
.muted{color:var(--muted)}
.small{font-size:13px}
.nowrap{white-space:nowrap}
.break{word-break:break-word}
.grow{flex:1}
.ico{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:-4px}
.small .ico,.muted.small .ico{width:14px;height:14px;vertical-align:-2px}
.kicker{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--brand-text);margin:0 0 6px;text-transform:none}
.kicker .ico{width:15px;height:15px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.row.center{justify-content:center}
.stack{display:flex;flex-direction:column;gap:16px}

/* ---------- App frame ---------- */
.app{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh;background:linear-gradient(90deg,var(--nav-bg) var(--side-w),transparent var(--side-w))}
.sidebar{background:var(--nav-bg);color:var(--nav-ink);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:40}
.brand{display:flex;align-items:center;gap:11px;padding:20px 20px 14px;text-decoration:none;color:inherit}
.brand-mark{width:34px;height:34px;border-radius:9px;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.wordmark{font-size:19px;font-weight:500;letter-spacing:-.02em}
.wordmark b{font-weight:800;background:linear-gradient(90deg,#5EEAD4,#A5B4FC);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (forced-colors: active){.wordmark b{color:CanvasText;background:none}}
.brand-sub{font-size:12px;color:var(--nav-muted);margin-top:3px}
.nav{padding:4px 12px 12px;flex:1;overflow-y:auto}
.nav-group{margin-top:14px}
.nav-group-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--nav-muted);padding:0 10px 6px;margin:0}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:9px;color:var(--nav-ink);text-decoration:none;font-weight:500;font-size:14.5px;opacity:.82;position:relative;transition:background .15s, opacity .15s}
.nav a .ico{opacity:.85}
.nav a:hover{opacity:1;background:var(--nav-hover)}
.nav a[aria-current="page"]{opacity:1;background:var(--nav-active);font-weight:700}
.nav a[aria-current="page"]::before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(#5EEAD4,#A5B4FC)}
.nav .badge{margin-left:auto}
.badge{position:relative;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#FCD34D;color:#1F1300;font-size:11.5px;font-weight:700}
.side-foot{position:relative;padding:12px;border-top:1px solid var(--nav-line)}
.persona-btn{width:100%;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--nav-line);border-radius:12px;padding:8px 10px;color:var(--nav-ink);text-align:left}
.persona-btn:hover{background:rgba(255,255,255,.08)}
.pb-text{display:flex;flex-direction:column;min-width:0;flex:1}
.pb-name{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-role{font-size:12px;color:var(--nav-muted)}
.pb-chev{opacity:.7}
.persona-btn[aria-expanded="false"] .pb-chev{transform:rotate(180deg)}
.role-menu{position:absolute;left:10px;right:10px;bottom:calc(100% + 6px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;z-index:60}
.rm-head{font-weight:700;font-size:13px;padding:6px 8px 8px;margin:0}
.rm-head span{display:block;font-weight:400;color:var(--muted);font-size:12px}
.role-menu ul{list-style:none;margin:0;padding:0}
.role-menu li button{width:100%;display:flex;align-items:center;gap:10px;padding:7px 8px;border:0;background:none;border-radius:9px;text-align:left}
.role-menu li button:hover{background:var(--hover)}
.role-menu li button[aria-current="true"]{background:var(--brand-soft)}
.role-menu li b{display:block;font-size:13.5px}
.role-menu li small{display:block;color:var(--muted);font-size:11.5px}
.role-menu li span{flex:1;min-width:0}
.rm-check{color:var(--brand-text)}
.rm-foot{display:flex;gap:6px;border-top:1px solid var(--line);margin-top:6px;padding-top:8px}
.rm-foot button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px;font-size:12.5px;color:var(--ink-2)}
.rm-foot button:hover{border-color:var(--line-strong);background:var(--hover)}
.rm-foot .ico{width:15px;height:15px}

.avatar{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;background:#475569}
.avatar .ico{width:19px;height:19px}
.avatar.sm{width:30px;height:30px;border-radius:9px}.avatar.sm .ico{width:16px;height:16px}
.avatar.xs{width:22px;height:22px;border-radius:7px}.avatar.xs .ico{width:13px;height:13px}
.avatar.lg{width:52px;height:52px;border-radius:15px}.avatar.lg .ico{width:26px;height:26px}
.av-admin{background:linear-gradient(135deg,#475569,#1E293B)}
.av-steward{background:linear-gradient(135deg,#0F766E,#115E59)}
.av-analyst{background:linear-gradient(135deg,#2B59C3,#1E3A8A)}
.av-exec{background:linear-gradient(135deg,#7C3AED,#5B21B6)}
.av-marketing{background:linear-gradient(135deg,#D97706,#B45309)}
.initials{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface-3);font-size:11px;font-weight:700;color:var(--ink-2)}

.main-col{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:10px 28px;background:color-mix(in srgb, var(--bg) 86%, transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.crumb{margin:0;font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden}
.crumb b{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis}
.crumb .sep{color:var(--faint)}
.search-trigger{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:220px;max-width:340px;flex:0 1 340px;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:7px 10px;color:var(--muted);text-align:left;box-shadow:var(--shadow-sm)}
.search-trigger:hover{border-color:var(--brand)}
.search-trigger span{flex:1;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.top-actions{display:flex;align-items:center;gap:6px}
.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid transparent;background:none;color:var(--ink-2);position:relative}
.icon-btn:hover{background:var(--hover);border-color:var(--line)}
.icon-btn[aria-pressed="true"],.icon-btn[aria-expanded="true"]{background:var(--brand-soft);color:var(--brand-text);border-color:transparent}
.icon-btn.sm{width:30px;height:30px;border-radius:8px}
.icon-btn.sm .ico{width:16px;height:16px}
.dot-count{position:absolute;top:3px;right:3px;min-width:17px;height:17px;border-radius:9px;background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;padding:0 4px;border:2px solid var(--bg)}
:root[data-theme="dark"] .dot-count{color:#1a0505}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .dot-count{color:#1a0505}}
.guide-btn{gap:8px}
.guide-count{font-size:11.5px;font-weight:700;background:var(--surface-3);border-radius:10px;padding:1px 7px;color:var(--ink-2)}
.guide-btn[aria-expanded="true"]{background:var(--brand-soft);border-color:transparent;color:var(--brand-text)}
.concept-pill{font-size:12px;font-weight:600;background:var(--rc-soft);color:var(--rc-text);border-radius:20px;padding:4px 10px;white-space:nowrap}
.pop-wrap{position:relative}
.popover{position:absolute;right:0;top:calc(100% + 8px);width:min(380px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:70;padding:6px}
.pop-head{display:flex;justify-content:space-between;align-items:baseline;padding:8px 10px}
.pop-head h2{font-size:15px}
.pop-head .muted{font-size:12px}
.notif-list{list-style:none;margin:0;padding:0;max-height:360px;overflow:auto}
.notif-list a{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:9px;color:var(--ink);text-decoration:none;font-size:13.5px;line-height:1.4}
.notif-list a:hover{background:var(--hover)}
.notif-list .ico{color:var(--muted);margin-top:1px}
.notif-list span:not(.unread){flex:1}
.unread{position:relative;width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:6px;flex:none}
.pad{padding:10px}

main{padding:28px 32px 72px;width:100%;max-width:1440px;margin:0 auto}
main:focus{outline:none}
.foot{margin-top:auto;padding:16px 32px 28px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between}
.scrim{display:none}
.menu-btn{display:none !important}

/* Demo guide panel */
.guide{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:50;overflow-y:auto;padding:18px 18px 28px}
body.guide-open .main-col{margin-right:380px}
.guide-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.guide-head h2{font-size:19px}
.guide-head p{font-size:13px;color:var(--muted);margin:2px 0 0}
.guide-progress{height:6px;border-radius:3px;background:var(--surface-3);margin:12px 0 14px;overflow:hidden}
.guide-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--ev),var(--brand));border-radius:3px}
.guide-tabs{display:flex;flex-direction:column;gap:4px}
.guide-tabs button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:6px 8px;text-align:left;font-size:13.5px;font-weight:600}
.guide-tabs button span:nth-child(2){flex:1}
.guide-tabs button[aria-pressed="true"]{border-color:var(--brand);background:var(--brand-soft)}
.gt-n{font-size:11.5px;color:var(--muted);font-weight:600}
.guide-sec{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.guide-sec h3{font-size:15.5px}
.guide-sec > p{font-size:12.5px;margin:2px 0 10px}
.guide-steps{list-style:none;margin:0;padding:0;counter-reset:gs}
.guide-steps li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.guide-steps p{margin:0 0 3px;font-size:13.5px;line-height:1.45}
.gs-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;margin-top:1px}
.guide-steps li.done .gs-check{background:var(--ok);border-color:var(--ok);color:#fff}
:root[data-theme="dark"] .guide-steps li.done .gs-check{color:#052e16}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .guide-steps li.done .gs-check{color:#052e16}}
.gs-check .ico{width:14px;height:14px;stroke-width:3}
.guide-steps li.done p{color:var(--muted)}
.guide-steps .linkbtn{font-size:12.5px;display:inline-flex;align-items:center;gap:4px}
.guide-steps .linkbtn .ico{width:13px;height:13px}
.guide-foot{font-size:12px;color:var(--muted);margin-top:14px;display:flex;gap:6px}

/* ---------- Buttons and fields ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:10px;padding:7px 14px;font-weight:600;font-size:14px;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background .15s, border-color .15s, box-shadow .15s}
.btn:hover{border-color:var(--ink-2);background:var(--hover)}
.btn .ico{width:16px;height:16px}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:0 1px 2px rgba(43,89,195,.25)}
.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.btn.accent{background:var(--rc-soft);border-color:transparent;color:var(--rc-text)}
.btn.accent:hover{border-color:var(--rc)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
:root[data-theme="dark"] .btn.ok{color:#052e16}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn.ok{color:#052e16}}
.btn.ok:hover{filter:brightness(1.08)}
.btn.danger{color:var(--danger-text);border-color:color-mix(in srgb, var(--danger) 55%, transparent)}
.btn.danger:hover{background:var(--danger-soft)}
.btn.ghost{border-color:transparent;background:none}
.btn.ghost:hover{background:var(--hover)}
.btn.active{border-color:var(--brand);color:var(--brand-text);background:var(--brand-soft)}
.btn.sm{min-height:30px;padding:4px 10px;font-size:13px;border-radius:8px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn[aria-pressed="true"]{background:var(--brand-soft);color:var(--brand-text);border-color:var(--brand)}
.linkbtn{background:none;border:0;padding:0;color:var(--link);text-decoration:underline;text-underline-offset:3px;text-align:left;font-weight:500}
.linklike{background:none;border:0;padding:0;text-align:left;font-weight:inherit;color:inherit}
.field{width:100%;min-height:38px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink)}
.field:hover{border-color:var(--ink-2)}
.field:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 45%, transparent);outline-offset:0;border-color:var(--focus)}
.field.sm{min-height:32px;padding:4px 8px;font-size:13.5px;border-radius:8px;width:auto;max-width:100%}
.field.auto{width:auto}
textarea.field{min-height:64px;resize:vertical}
.check{width:18px;height:18px;accent-color:var(--brand)}
.lbl{display:block;font-size:13.5px;font-weight:600;margin:12px 0 5px}
.lbl.inline{display:inline;margin:0}
.lbl .muted{font-weight:400}
.err{color:var(--danger-text);font-size:13.5px;margin:6px 0 0;font-weight:600}
.spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Panels, tags, status ---------- */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:18px 20px;box-shadow:var(--shadow-sm);min-width:0}
.panel.flush{padding:0;overflow:hidden}
.panel > h2,.panel-h h2{font-size:16.5px}
.panel > h2{margin-bottom:12px}
.panel-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.panel-h a{font-size:13.5px;font-weight:600}
.sub-h{font-size:14px;margin:16px 0 8px}
.section{margin:28px 0 8px}
.section-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.section-h h2{font-size:18px}
.more{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:13.5px;text-decoration:none}
.more .ico{width:15px;height:15px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px;margin-top:16px}
.grid2.wide-left{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
@media (max-width:1100px){.grid2.wide-left{grid-template-columns:minmax(0,1fr)}}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.tag{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;padding:2px 9px;border-radius:999px;background:var(--surface-3);color:var(--ink-2);white-space:nowrap;border:1px solid transparent}
.tag.internal{background:var(--brand-soft);color:var(--brand-text)}
.tag.external{background:var(--ev-soft);color:var(--ev-text)}
.tag.tailored{background:var(--in-soft);color:var(--in-text)}
.tag.warn{background:var(--rc-soft);color:var(--rc-text)}
.tag.danger{background:var(--danger-soft);color:var(--danger-text)}
.tag.new{background:var(--in-soft);color:var(--in-text);border-color:color-mix(in srgb, var(--in) 40%, transparent)}
.tag.tier3{background:var(--rc-soft);color:var(--rc-text);font-weight:700}
.tag.tier2{background:var(--brand-soft);color:var(--brand-text);font-weight:700}
.chip-n{font-size:11px;font-weight:700;color:var(--muted);margin-left:2px}
.status{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;margin:0;white-space:nowrap}
.status .ico{width:14px;height:14px;stroke-width:2.2}
.status.pending{background:var(--rc-soft);color:var(--rc-text)}
.status.approved{background:var(--ok-soft);color:var(--ok-text)}
.status.changes,.status.rejected{background:var(--danger-soft);color:var(--danger-text)}
.by{font-size:13px;color:var(--muted);margin:6px 0}
.plain{list-style:none;margin:0;padding:0}
.plain > li{padding:10px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.plain > li:first-child{border-top:0;padding-top:2px}
.li-main{display:inline-flex;align-items:center;gap:8px;min-width:0}
.count-pill{font-size:12px;font-weight:700;background:var(--surface-3);color:var(--ink-2);border-radius:999px;padding:1px 9px}
.notice{display:flex;gap:10px;align-items:flex-start;background:var(--brand-soft);color:var(--ink);border-radius:var(--r-m);padding:12px 14px;margin:0 0 18px;font-size:14px}
.notice .ico{margin-top:1px;flex:none;color:var(--brand-text)}
.notice.warn{background:var(--rc-soft);color:var(--rc-text)}
.notice.warn .ico{color:var(--rc-text)}
.banner{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,var(--rc-soft),var(--surface));border:1px solid color-mix(in srgb, var(--rc) 35%, transparent);border-radius:var(--r-m);padding:12px 16px;margin:0 0 16px;color:var(--ink);text-decoration:none}
.banner span{flex:1}
.banner:hover{border-color:var(--rc)}
.banner.soft{background:linear-gradient(90deg,var(--brand-soft),var(--surface));border-color:color-mix(in srgb, var(--brand) 25%, transparent)}
.empty-state{text-align:center;padding:36px 20px;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-l);color:var(--ink-2)}
.empty-state.big{padding:56px 24px;margin-top:24px}
.empty-state h1,.empty-state h2,.empty-state h3{font-size:19px;margin:10px 0 6px;color:var(--ink)}
.empty-state p{max-width:56ch;margin:0 auto 14px;color:var(--muted)}
.es-ico{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--brand-soft);color:var(--brand-text)}
.es-ico .ico{width:26px;height:26px}
.empty-inline{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:14px}
.empty-inline p{margin:0}
.skeleton i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--surface-3),var(--hover),var(--surface-3));background-size:200% 100%;animation:shimmer 1.2s infinite;margin:10px 0}
.skeleton i:nth-child(2){width:80%}.skeleton i:nth-child(3){width:60%}
@keyframes shimmer{to{background-position:-200% 0}}

/* Page head */
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.ph-text{min-width:0;max-width:78ch}
.page-head h1{font-size:30px;letter-spacing:-.02em}
.ph-desc{color:var(--muted);margin:6px 0 0;font-size:15px}
.ph-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;font-size:14px;font-weight:600;text-decoration:none}

/* Tabs and segmented controls */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 20px;overflow-x:auto;scrollbar-width:thin}
.tabs a{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;color:var(--muted);text-decoration:none;font-weight:600;font-size:14px}
.tabs a:hover{color:var(--ink)}
.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--brand)}
.tab-n{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:var(--surface-3);color:var(--ink-2);font-size:11px;font-weight:700}
.seg{display:inline-flex;background:var(--surface-3);border-radius:10px;padding:3px;gap:2px}
.seg button{border:0;background:none;border-radius:8px;padding:6px 12px;font-weight:600;font-size:13.5px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.seg.icons button{padding:6px 8px}
.chip-row,.fchips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.fchip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px 5px 8px;font-weight:600;font-size:13.5px;color:var(--ink-2);box-shadow:var(--shadow-sm)}
.fchip:hover{border-color:var(--line-strong);color:var(--ink)}
.fchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.fchip-ico{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--fc,var(--muted));color:#fff}
.fchip-ico .ico{width:13px;height:13px}
.fchip-n{font-size:11.5px;font-weight:700;opacity:.7}
.chip-row .fchip{padding-left:12px}
.switch{display:inline-flex;align-items:center;gap:9px;color:var(--ink);position:relative;font-weight:500;font-size:14px}
.switch input{position:absolute;opacity:0;width:38px;height:22px;margin:0;cursor:pointer}
.track{width:38px;height:22px;border-radius:11px;background:var(--line-strong);position:relative;flex:none;transition:background .15s}
.track::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.switch input:checked + .track{background:var(--ev)}
.switch input:checked + .track::after{transform:translateX(16px)}
.switch input:focus-visible + .track{outline:3px solid var(--focus);outline-offset:2px}
.switch input:disabled + .track{opacity:.55}
.switch input:disabled{cursor:not-allowed}

/* Tables and definition lists */
.scroll{overflow-x:auto;position:relative}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
table.mid th,table.mid td{vertical-align:middle}
tbody th{font-weight:600}
thead th{white-space:nowrap;color:var(--muted);font-weight:600;font-size:12.5px;background:var(--surface-2)}
tbody tr:hover{background:var(--surface-2)}
caption{text-align:left;font-weight:700;padding:0 0 8px;font-size:13.5px}
.data-tbl{font-size:13.5px;border:1px solid var(--line);border-radius:10px;overflow:hidden;border-collapse:separate;border-spacing:0}
.data-tbl th,.data-tbl td{padding:8px 10px}
.data-tbl caption{padding:0 0 8px}
.data-tbl tr:last-child td,.data-tbl tr:last-child th{border-bottom:0}
dl.meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;margin:0;font-size:14px}
dl.meta dt{color:var(--muted)}
dl.meta dd{margin:0;min-width:0}
dl.meta ul{margin:0;padding-left:1.1em}
.timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line)}
.timeline li{position:relative;padding:0 0 14px 10px}
.timeline li::before{content:"";position:absolute;left:-26px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--ev)}
.timeline li.cur::before{background:var(--ev)}
.timeline.compact li{padding-bottom:10px;display:flex;flex-direction:column}
.timeline.compact b{font-weight:600;font-size:14px}

/* ---------- KPI tiles ---------- */
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;margin:0 0 8px}
.kpi-row.five{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.kpi{position:relative;display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:16px;box-shadow:var(--shadow-sm);min-width:0}
.kpi-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--brand-soft);color:var(--brand-text);flex:none}
.kpi.t-ev .kpi-ico{background:var(--ev-soft);color:var(--ev-text)}
.kpi.t-in .kpi-ico{background:var(--in-soft);color:var(--in-text)}
.kpi.t-rc .kpi-ico,.kpi.t-warn .kpi-ico{background:var(--rc-soft);color:var(--rc-text)}
.kpi.t-ok .kpi-ico{background:var(--ok-soft);color:var(--ok-text)}
.kpi-body{min-width:0}
.kpi:has(.kpi-link) .kpi-body{padding-right:16px}
.kpi-label{margin:0;font-size:13px;color:var(--muted);font-weight:500}
.kpi-value{margin:2px 0 0;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.kpi-value.txt{font-size:18px;line-height:1.3;letter-spacing:-.01em;margin-top:4px}
.kpi-sub{margin:4px 0 0;font-size:12.5px;color:var(--muted)}
.kpi-sub .ico{width:13px;height:13px;color:var(--ok-text);stroke-width:2.4}
.kpi-link{position:absolute;inset:0;border-radius:inherit;display:flex;align-items:flex-start;justify-content:flex-end;padding:12px;color:var(--faint)}
.kpi-link .ico{width:16px;height:16px}
.kpi:hover{border-color:var(--line-strong)}
.kpi:has(.kpi-link):hover .kpi-link{color:var(--brand-text)}

/* ---------- Home ---------- */
.hero-card{background:radial-gradient(1200px 300px at 0% 0%, color-mix(in srgb, var(--brand) 10%, transparent), transparent),var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px 26px 20px;box-shadow:var(--shadow-sm);margin-bottom:20px}
.hero-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}
.hero-id{display:flex;gap:14px;align-items:center;min-width:0}
.hero-card h1{font-size:30px;letter-spacing:-.025em}
.hero-card .kicker{color:var(--muted);font-weight:500}
.hero-sub{color:var(--muted);margin:4px 0 0;max-width:70ch}
.hero-date{margin:0;font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center;white-space:nowrap}
.brief-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.brief{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px;transition:transform .15s, box-shadow .15s, border-color .15s;overflow:hidden}
.brief::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--k)}
.brief:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}
.brief:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.brief .stretched{color:var(--ink);text-decoration:none}
.brief .stretched:focus-visible{outline:none}
.brief .stretched::after{content:"";position:absolute;inset:0}
.brief.k-ev{--k:var(--ev);--ks:var(--ev-soft);--kt:var(--ev-text)}
.brief.k-in{--k:var(--in);--ks:var(--in-soft);--kt:var(--in-text)}
.brief.k-rc{--k:var(--rc);--ks:var(--rc-soft);--kt:var(--rc-text)}
.brief-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--ks);color:var(--kt);margin-bottom:4px}
.brief-kind{margin:0;font-size:12px;font-weight:700;color:var(--kt);letter-spacing:.02em}
.brief h3{font-size:16.5px}
.brief p{margin:0;color:var(--muted);font-size:14px}
.brief-cta{margin-top:auto;padding-top:8px;font-weight:600;font-size:13.5px;color:var(--brand-text);display:inline-flex;align-items:center;gap:5px}
.brief-cta .ico{width:15px;height:15px;transition:transform .15s}
.brief:hover .brief-cta .ico{transform:translateX(3px)}
.feature-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:center;background:linear-gradient(135deg,var(--in-soft),var(--surface) 60%);border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:18px;box-shadow:var(--shadow-sm)}
@media (max-width:1000px){.feature-card{grid-template-columns:minmax(0,1fr)}}
.feature-card h2{font-size:22px;margin-bottom:6px;letter-spacing:-.02em}
.feature-card .kicker{color:var(--in-text)}
.fc-chart{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}
.meters{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:12px}
.meters li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 3.4em;gap:12px;align-items:center;font-size:14px}
.m-label{display:inline-flex;align-items:center;gap:8px;min-width:0}
.m-name{min-width:0;line-height:1.25}
.m-name small{display:block;color:var(--muted);font-size:12px}
.m-val{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;display:inline-flex;gap:3px;justify-content:flex-end;align-items:center}
.warn-ico{width:14px;height:14px;color:var(--rc-text)}
.meter{height:8px;border-radius:4px;background:color-mix(in srgb, var(--chart-1) 18%, var(--surface-3));overflow:hidden}
.meter-fill{display:block;height:100%;background:var(--chart-1);border-radius:4px}
.meter.low .meter-fill{background:var(--rc)}
.stat-split{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.stat-split div{background:var(--surface-2);border-radius:10px;padding:10px;text-align:center}
.stat-split b{display:block;font-size:22px}
.stat-split span{font-size:12px;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.quick{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:var(--surface-2)}
.quick:hover{border-color:var(--brand);background:var(--brand-soft)}
.quick .ico{color:var(--brand-text);margin-top:2px}
.quick b{display:block;font-size:14px}
.quick small{display:block;color:var(--muted);font-size:12.5px}
.rv-mini-list{list-style:none;margin:0;padding:0}
.rv-mini{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.rv-mini:first-child{border-top:0}
.rv-dot{width:8px;height:8px;border-radius:50%;background:var(--rc)}
.rv-mini.approved .rv-dot{background:var(--ok)}
.rv-mini.changes .rv-dot,.rv-mini.rejected .rv-dot{background:var(--danger)}
.rv-mini-t{margin:0;font-weight:600;font-size:14px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rv-mini .muted{margin:2px 0 0}

/* ---------- Ask ---------- */
.askbox{display:flex;gap:8px;background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;padding:6px;align-items:center;box-shadow:var(--shadow-sm);transition:border-color .15s, box-shadow .15s}
.askbox:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent)}
.askbox input{flex:1;border:0;background:transparent;padding:10px 4px;font-size:16px;min-width:0}
.askbox input:focus-visible{outline:none}
.askbox.big{padding:8px}
.askbox.big input{font-size:17px}
.ab-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--ev-soft),var(--in-soft));color:var(--in-text);margin-left:2px}
.controls{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:12px;font-size:13.5px}
.ctl-chip{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.ctl-chip .ico{width:15px;height:15px}
.suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip-q{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 10px;text-align:left;line-height:1.35;color:var(--ink);font-size:13.5px;font-weight:500;box-shadow:var(--shadow-sm);max-width:100%}
.chip-q .ico{width:15px;height:15px;color:var(--in-text)}
.chip-q:hover{border-color:var(--brand);background:var(--brand-soft)}
.chip-q.guard,.chip-q.gapq{border-style:dashed}
.chip-q.guard .ico{color:var(--danger-text)}
.chip-q.gapq .ico{color:var(--rc-text)}
.ask-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
@media (max-width:1240px){.ask-layout{grid-template-columns:minmax(0,1fr)}}
.ask-head h1{font-size:30px;letter-spacing:-.025em;max-width:26ch}
.ask-head > p{color:var(--muted);margin:8px 0 16px;max-width:70ch}
.thinking{margin-top:24px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l)}
.thinking p{display:flex;gap:6px;align-items:center}
.thinking ol{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.thinking li{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}
.th-step{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-3)}
.th-step .ico{width:15px;height:15px}
.thinking li.done{color:var(--ink)}
.thinking li.done .th-step{background:var(--ok-soft);color:var(--ok-text)}
.thinking li.now{color:var(--ink);font-weight:600}
.thinking li.now .th-step{background:var(--brand-soft);color:var(--brand-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent);animation:pulse 1s ease-in-out infinite alternate}
.thinking li.todo{opacity:.55}
@keyframes pulse{to{box-shadow:0 0 0 6px color-mix(in srgb, var(--brand) 8%, transparent)}}
.answer{margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px 26px 20px;box-shadow:var(--shadow-sm)}
.answer.intro h2{font-size:17px;margin-bottom:14px}
.answer.gap{border-top:4px solid var(--rc)}
.tailored-note{display:inline-flex;align-items:center;gap:7px;background:var(--in-soft);color:var(--in-text);border-radius:999px;padding:5px 12px;font-size:13.5px;font-weight:600;margin-bottom:12px}
.asked{margin:0 0 10px;color:var(--muted);font-size:14px}
.answer .tags{margin-bottom:14px}
.headline{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.2;letter-spacing:-.01em;max-width:34ch}
.format-note{color:var(--muted);font-size:14px;margin:8px 0 18px}
.strata{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.stratum{display:grid;grid-template-columns:40px minmax(0,1fr)}
.stratum + .stratum{border-top:1px solid var(--line)}
.rail{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;padding:14px 0;margin:0}
.ev .rail{background:var(--ev);color:var(--on-ev)}
.in .rail{background:var(--in);color:var(--on-in)}
.rc .rail{background:var(--rc);color:var(--on-rc)}
.stratum .body{padding:16px 20px 12px;min-width:0}
.stratum.in .body{background:color-mix(in srgb, var(--in-soft) 60%, var(--surface))}
.stratum.rc .body{background:color-mix(in srgb, var(--rc-soft) 55%, var(--surface))}
@media (max-width:640px){
  .stratum{grid-template-columns:minmax(0,1fr)}
  .rail{writing-mode:horizontal-tb;transform:none;justify-content:flex-start;padding:6px 16px}
  .stratum .body{padding:14px 16px 10px}
}
.claims,.recs{margin:0;padding-left:1.3em}
.claims li,.recs li{margin:0 0 10px;max-width:78ch;line-height:1.6}
.claims li::marker{color:var(--ev-text);font-weight:700}
.recs li::marker{color:var(--rc-text);font-weight:700}
.body p{max-width:78ch}
.cite{display:inline-flex;align-items:center;gap:4px;border:1px solid color-mix(in srgb, var(--ev) 50%, transparent);background:var(--ev-soft);color:var(--ev-text);border-radius:6px;font-size:12px;font-weight:700;padding:1px 7px;margin-left:6px;line-height:1.5;vertical-align:1px;transition:background .15s, color .15s}
.cite:hover{background:var(--ev);color:var(--on-ev)}
.cite.unrev{border-style:dashed;border-color:var(--rc);background:var(--rc-soft);color:var(--rc-text)}
.cite.timed{border-color:color-mix(in srgb, var(--fc) 50%, transparent)}
.cite-t{display:inline-flex;align-items:center;gap:2px;padding-left:5px;margin-left:1px;border-left:1px solid currentColor;font-variant-numeric:tabular-nums}
.cite-t .ico{width:10px;height:10px}
.claim-flag,.claim-conf,.claim-new{display:inline-block;font-size:11.5px;font-weight:600;margin-left:6px;border-radius:5px;padding:0 6px}
.claim-flag{color:var(--rc-text);background:var(--rc-soft)}
.claim-new{color:var(--ok-text);background:var(--ok-soft)}
.claim-conf{color:var(--muted);background:var(--surface-3)}
.claim-conf.c-high{color:var(--ev-text);background:var(--ev-soft)}
.claim-conf.c-low{color:var(--rc-text);background:var(--rc-soft)}
.left-out{display:flex;gap:7px;align-items:flex-start;font-size:13.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px;margin:10px 0 4px}
.left-out .ico{width:15px;height:15px;margin-top:2px}
.unused{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px;font-size:13.5px}
.unused h4,.strength h4{font-size:13px;margin:0 0 6px;display:flex;align-items:center;gap:6px}
.unused ul{margin:0;padding-left:1.2em}
.strength{margin:14px 0 6px}
.strength-pill{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:1px 9px}
.s-high{background:var(--ok-soft);color:var(--ok-text)}
.s-medium{background:var(--brand-soft);color:var(--brand-text)}
.s-low{background:var(--rc-soft);color:var(--rc-text)}
.answer-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.rate{margin-left:auto;display:flex;gap:6px;align-items:center;color:var(--muted);font-size:13.5px}
@media (max-width:640px){.rate{margin-left:0}}
.followups{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.followups h3{font-size:13.5px;color:var(--muted)}
.scenario{margin:12px 0 8px;background:var(--surface);border-radius:10px;border:1px solid var(--line);font-size:13.5px}
.scenario caption{padding:10px 12px 4px}
.notice-card{display:flex;gap:14px;margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:18px 20px;box-shadow:var(--shadow-sm)}
.notice-card h2{font-size:18px;margin-bottom:6px}
.nc-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;flex:none}
.notice-card.danger{border-left:4px solid var(--danger)}
.notice-card.danger .nc-ico{background:var(--danger-soft);color:var(--danger-text)}
.notice-card.info{border-left:4px solid var(--in)}
.notice-card.info .nc-ico{background:var(--in-soft);color:var(--in-text)}
.gap-note{display:flex;gap:8px;align-items:center;margin:14px 0 0;color:var(--ink-2)}
.side-panel{position:sticky;top:78px;display:flex;flex-direction:column;gap:14px}
@media (max-width:1240px){.side-panel{position:static}}
.side-panel h2{font-size:16px;margin-bottom:4px}
.conf-meter{display:flex;align-items:center;gap:4px;margin:4px 0 10px;font-size:13px}
.conf-meter span{width:28px;height:6px;border-radius:3px;background:var(--surface-3)}
.conf-meter span.on{background:var(--ev)}
.conf-meter b{margin-left:6px}
.srclist{list-style:none;margin:6px 0 0;padding:0}
.src{display:grid;grid-template-columns:22px 28px minmax(0,1fr);gap:9px;padding:10px 0;border-top:1px solid var(--line);align-items:start}
.num{width:22px;height:22px;border-radius:6px;background:var(--ev);color:var(--on-ev);font-weight:700;font-size:12px;display:grid;place-items:center;margin-top:3px}
.src.unrev .num{background:var(--rc-soft);color:var(--rc-text);border:1px dashed var(--rc)}
.src-title{font-weight:600;line-height:1.35;color:var(--ink);font-size:14px}
.src p{margin:2px 0 0}
.session-list{list-style:none;margin:6px 0 0;padding:0}
.session-list li{padding:8px 0;border-top:1px solid var(--line);display:flex;flex-direction:column}
.session-list li:first-child{border-top:0}
.session-list button{background:none;border:0;padding:0;text-align:left;color:var(--link);text-decoration:underline;text-underline-offset:3px;font-size:14px;font-weight:500}
.session-list button[aria-current="true"]{color:var(--ink);text-decoration:none;font-weight:700}
details.record{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
details.record > summary{padding:10px 14px;font-weight:600;display:flex;gap:8px;align-items:center;flex-wrap:wrap;list-style:none}
details.record > summary::-webkit-details-marker{display:none}
details.record > summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}
details.record[open] > summary::after{transform:rotate(-135deg)}
details.record > summary .muted{font-weight:400;font-size:13px}
details.record > dl,details.record > p,details.record > .dl-row{margin-left:14px;margin-right:14px}
details.record > p{margin-bottom:12px}
.record-meta{padding:4px 0 10px}

/* ---------- Library ---------- */
.lib-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;margin-bottom:16px}
.lib-stats div{background:var(--surface);padding:12px 16px}
@media (max-width:860px){.lib-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lib-stats div:last-child:nth-child(odd){grid-column:1 / -1}}
.lib-stats b{display:block;font-size:20px;letter-spacing:-.02em}
.lib-stats span{font-size:12.5px;color:var(--muted)}
.lib-toolbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:14px}
.lib-search{flex:1 1 420px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:4px 4px 4px 12px;box-shadow:var(--shadow-sm)}
.lib-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent)}
.lib-search > .ico{color:var(--muted)}
.lib-search input{flex:1;min-width:0;border:0;background:none;padding:8px 2px;font-size:15px}
.lib-search input:focus-visible{outline:none}
.lib-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline-sel{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--muted)}
.fchip.f-video{--fc:var(--f-video)}.fchip.f-audio{--fc:var(--f-audio)}.fchip.f-pdf{--fc:var(--f-pdf)}.fchip.f-doc{--fc:var(--f-doc)}.fchip.f-slides{--fc:var(--f-slides)}.fchip.f-data{--fc:var(--f-data)}.fchip.f-image{--fc:var(--f-image)}.fchip.f-transcript{--fc:var(--f-transcript)}.fchip.f-feed{--fc:var(--f-feed)}.fchip.f-other{--fc:var(--f-other)}
.fchip[aria-pressed="true"] .fchip-ico{box-shadow:0 0 0 2px var(--surface)}
.fchip.saved .ico{width:15px;height:15px}
.lib-filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:4px 16px 16px;margin-bottom:14px}
.facets{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:0 14px}
.facets .field{width:100%}
.active-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}
.pill-x{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand-text);border-radius:999px;padding:2px 6px 2px 10px;font-size:12.5px;font-weight:600}
.pill-x .ico{width:13px;height:13px}
.try-row{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13.5px;color:var(--muted);align-items:baseline;margin:0 0 6px}
.res-count{font-size:13.5px;color:var(--muted);margin:10px 0 6px}
.concepts{display:inline-flex;align-items:center;gap:6px;background:var(--in-soft);color:var(--in-text);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;margin:0 0 8px}
.concepts .ico{width:14px;height:14px}
.lib-section{margin:22px 0 10px}
.lib-section-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.lib-section-h > div{flex:1;min-width:0}
.lib-section-h h2{font-size:17px;display:flex;align-items:center;gap:8px}
.lib-section-h p{margin:1px 0 0}
.sec-n{font-size:12px;font-weight:700;background:var(--surface-3);color:var(--ink-2);border-radius:999px;padding:1px 9px}

/* Format colours */
.f-video{--fc:var(--f-video);--fs:var(--fs-video)}
.f-audio{--fc:var(--f-audio);--fs:var(--fs-audio)}
.f-pdf{--fc:var(--f-pdf);--fs:var(--fs-pdf)}
.f-doc{--fc:var(--f-doc);--fs:var(--fs-doc)}
.f-slides{--fc:var(--f-slides);--fs:var(--fs-slides)}
.f-data{--fc:var(--f-data);--fs:var(--fs-data)}
.f-image{--fc:var(--f-image);--fs:var(--fs-image)}
.f-transcript{--fc:var(--f-transcript);--fs:var(--fs-transcript)}
.f-feed{--fc:var(--f-feed);--fs:var(--fs-feed)}
.f-other{--fc:var(--f-other);--fs:var(--fs-other)}
.ftile{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--fc);color:#fff;flex:none}
.ftile .ico{width:18px;height:18px}
.ftile.xs{width:22px;height:22px;border-radius:6px}.ftile.xs .ico{width:12px;height:12px}
.ftile.sm{width:28px;height:28px;border-radius:8px}.ftile.sm .ico{width:15px;height:15px}
.ftile.lg{width:46px;height:46px;border-radius:13px}.ftile.lg .ico{width:24px;height:24px}
.ftile.xl{width:58px;height:58px;border-radius:16px}.ftile.xl .ico{width:28px;height:28px}
.fdot{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--ink-2);margin-right:6px}
.fdot .ico{width:13px;height:13px;color:var(--fc)}

/* Media cards */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,238px),1fr));gap:16px}
.mcard{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-sm);transition:transform .18s, box-shadow .18s, border-color .18s;min-width:0}
.mcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}
.mcard:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.mcard-media{position:relative;aspect-ratio:16/10;border-radius:calc(var(--r-l) - 1px) calc(var(--r-l) - 1px) 0 0;overflow:hidden;background:var(--fs)}
.fbadge{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.94);color:#0F172A;border-radius:999px;padding:3px 9px 3px 6px;font-size:11.5px;font-weight:700;box-shadow:0 1px 3px rgba(15,23,42,.18);z-index:1}
.fbadge .ico{width:14px;height:14px;color:var(--fc)}
.mcard-flags{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;z-index:1}
.flag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;box-shadow:0 1px 3px rgba(15,23,42,.18);background:#fff;color:#0F172A}
.flag .ico{width:12px;height:12px}
.flag.warn{background:#FEF3C7;color:#78350F}
.flag.pending{background:#FEF3C7;color:#78350F}
.flag.lock{background:#1E1B4B;color:#fff}
.flag.new{background:#DCFCE7;color:#14532D}
.flag.legacy{background:#EDE9FE;color:#4C1D95}
.mcard-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.95);color:var(--fc);display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.3);z-index:2;transition:transform .15s}
.mcard-play .ico{width:22px;height:22px;margin-left:3px}
.mcard-play:hover{transform:translate(-50%,-50%) scale(1.08)}
.mcard.f-audio .mcard-play{left:40px;width:46px;height:46px;background:var(--fc);color:#fff;box-shadow:0 0 0 6px color-mix(in srgb, var(--fc) 22%, transparent)}
.mcard.f-audio .th-audio-ico{visibility:hidden}
.mcard-body{padding:12px 14px 10px;display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.mcard-title{font-size:14.5px;font-weight:700;line-height:1.35;margin:0 0 2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mcard-title a,.mcard-title .linklike{color:var(--ink);text-decoration:none}
.mcard-title a:hover,.mcard-title .linklike:hover{text-decoration:underline}
.stretched::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.stretched:focus-visible{outline:none}
.mcard-meta,.mcard-detail{margin:0;font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mcard-detail{color:var(--ink-2)}
.mcard-warn{margin:4px 0 0;font-size:12px;font-weight:600;color:var(--rc-text);display:flex;gap:4px;align-items:center}
.mcard-warn .ico{width:13px;height:13px}
.mcard-foot{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 14px;border-top:1px solid var(--line);min-height:44px;flex-wrap:wrap}
.mcard-foot > *{position:relative;z-index:2}
.mcard-foot .btn{margin-left:auto}
.share{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--ink-2)}
.share .ico{width:13px;height:13px}
.share.external .ico{color:var(--ev-text)}
.share.internal .ico{color:var(--brand-text)}
.cites{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.cites .ico{width:13px;height:13px}
.save-btn{margin-left:auto}
.save-btn[aria-pressed="true"]{color:var(--brand-text);background:none}
.tag-progress{flex:1;height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden;min-width:60px}
.tag-progress span{display:block;height:100%;background:var(--ev)}
.tagp{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.tagp-label{font-size:11.5px;color:var(--muted);font-weight:500}
.tagp .tag-progress{flex:none;width:100%;min-width:0}
.mgrid.compact{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}

/* Thumbnails: designed on a 288 x 180 canvas and scaled for rows */
.th{position:absolute;inset:0;overflow:hidden;background:var(--fs)}
.th-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.th-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55))}
.th-chip{position:absolute;right:9px;bottom:9px;display:inline-flex;align-items:center;gap:4px;background:rgba(11,19,36,.78);color:#fff;border-radius:6px;padding:2px 7px;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;max-width:calc(100% - 18px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-chip.bl{right:auto;left:9px}
.th-chip .ico{width:12px;height:12px}
.th-playicon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--fc);display:grid;place-items:center}
.th-ext{position:absolute;left:9px;bottom:9px;background:var(--fc);color:#fff;border-radius:5px;padding:1px 6px;font-size:10.5px;font-weight:800;letter-spacing:.04em}
.th-pdf .th-ext{display:none}
.th-lock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:rgba(30,27,75,.9);color:#fff;display:grid;place-items:center}
.th-audio{display:flex;align-items:center;justify-content:center;gap:12px;padding:0 18px}
.th-audio-ico{flex:none;width:44px;height:44px;border-radius:50%;background:var(--fc);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 6px color-mix(in srgb, var(--fc) 18%, transparent)}
.th-audio-ico .ico{width:22px;height:22px}
.wave{display:block;width:100%;height:100%}
.th-wave{height:46%;flex:1}
.wave .wv-off{fill:var(--fc);opacity:.32}
.wave .wv-on{fill:var(--fc)}
.th-page{display:grid;place-items:center}
.pg-stack{position:relative;width:42%;aspect-ratio:.76;margin-top:6%}
.pg-stack::before,.pg-stack::after{content:"";position:absolute;inset:0;background:#fff;border-radius:3px;box-shadow:0 2px 6px rgba(15,23,42,.14)}
.pg-stack::before{transform:rotate(-6deg) translate(-8%,2%);opacity:.7}
.pg-stack::after{transform:rotate(4deg) translate(6%,1%);opacity:.85}
.pg{position:absolute;inset:0;z-index:1;background:#fff;border-radius:3px;box-shadow:0 6px 16px rgba(15,23,42,.2);padding:9% 10%;display:flex;flex-direction:column;gap:5%;overflow:hidden;color:#0F172A}
.pg-band{height:7%;border-radius:2px;background:var(--fc);width:45%}
.pg-title{margin:0;font-size:8px;font-weight:800;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.pg-lines{display:flex;flex-direction:column;gap:3px}
.pg-lines i{display:block;height:3px;border-radius:2px;background:#E2E8F0;width:100%}
.pg-fig{display:flex;align-items:flex-end;gap:6%;height:22%;padding:0 4%;border-bottom:1px solid #E2E8F0}
.pg-fig b{flex:1;background:var(--fc);opacity:.6;border-radius:2px 2px 0 0}
.th-slides{display:grid;place-items:center}
.sl-stack{position:relative;width:70%;aspect-ratio:16/9}
.sl-stack::before{content:"";position:absolute;inset:0;background:#fff;border-radius:4px;transform:translate(8px,-8px);opacity:.55;box-shadow:0 2px 6px rgba(15,23,42,.12)}
.sl{position:absolute;inset:0;background:#fff;border-radius:4px;box-shadow:0 8px 18px rgba(15,23,42,.22);padding:7% 8% 7% 11%;display:flex;flex-direction:column;gap:7%;overflow:hidden;color:#0F172A}
.sl-bar{position:absolute;left:0;top:0;bottom:0;width:5%;background:var(--fc)}
.sl-title{margin:0;font-size:9px;font-weight:800;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sl-body{flex:1;display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end}
.sl-bullets{display:flex;flex-direction:column;gap:5px;align-self:start}
.sl-bullets i{display:block;height:3px;border-radius:2px;background:#CBD5E1}
.sl-chart{display:flex;align-items:flex-end;gap:10%;height:100%;border-bottom:1px solid #E2E8F0}
.sl-chart b{flex:1;background:var(--fc);opacity:.65;border-radius:2px 2px 0 0}
.th-data{display:grid;place-items:center;padding:14px}
.mini-tbl{width:92%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 6px 16px rgba(15,23,42,.14);font-size:9px;table-layout:fixed;color:#0F172A}
.mini-tbl th,.mini-tbl td{padding:3px 5px;border-bottom:1px solid #EEF2F7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:none}
.mini-tbl th{background:var(--fc);color:#fff;font-weight:700;font-size:8.5px}
.mini-tbl tr:nth-child(2n) td{background:#F8FAFC}
.mini-tbl tbody tr:hover{background:none}
.mini-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;width:70%}
.mini-grid i{display:block;height:12px;background:#fff;border-radius:2px}
.mini-grid i.h{background:var(--fc)}
.th-chartwrap{position:absolute;left:8%;right:8%;top:24%;bottom:22%;background:rgba(255,255,255,.7);border-radius:8px;padding:6px}
:root[data-theme="dark"] .th-chartwrap{background:rgba(255,255,255,.06)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .th-chartwrap{background:rgba(255,255,255,.06)}}
.spark{display:block;width:100%;height:100%;overflow:visible}
.th-bars{display:block;width:100%;height:100%}
.th-bars rect{fill:var(--fc)}
.sp-line{fill:none;stroke:var(--fc,var(--chart-1));stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.sp-area{fill:var(--fc,var(--chart-1));opacity:.12;stroke:none}
.live-pill{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:5px;background:#fff;color:#0F172A;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;box-shadow:0 1px 3px rgba(15,23,42,.18);z-index:1}
.live-pill i{width:7px;height:7px;border-radius:50%;background:#16A34A;box-shadow:0 0 0 0 rgba(22,163,74,.6);animation:live 1.6s infinite}
@keyframes live{70%{box-shadow:0 0 0 6px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
.mcard .live-pill{top:auto;bottom:9px;left:9px;right:auto}
.th-transcript{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:40px 16px 34px}
.tb{display:flex;gap:7px;align-items:flex-end;max-width:86%;min-width:0}
.tb.alt{align-self:flex-end;flex-direction:row-reverse}
.tb-av{flex:none;width:22px;height:22px;border-radius:50%;background:var(--fc,var(--f-transcript));color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center}
.tb p{margin:0;min-width:0;background:#fff;color:#0F172A;border-radius:10px 10px 10px 3px;padding:5px 9px;font-size:10.5px;line-height:1.35;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.tb.alt p{background:color-mix(in srgb, var(--fc) 14%, #fff);border-radius:10px 10px 3px 10px}
.tb-name{display:block;font-size:9px;font-weight:700;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-other{display:grid;place-items:center}
.th-bigico{width:56px;height:56px;border-radius:14px;background:var(--fc);color:#fff;display:grid;place-items:center}
.th-bigico .ico{width:28px;height:28px}

/* Rows */
.mrows{list-style:none;margin:0;padding:0}
.mrow{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.mrow:first-child{border-top:0}
.mrow-thumb{position:relative;width:72px;height:45px;border-radius:8px;overflow:hidden;background:var(--fs)}
.mrow-thumb .th{width:288px;height:180px;transform:scale(.25);transform-origin:0 0;inset:auto;left:0;top:0}
.mrow-title{margin:0;font-weight:600;font-size:14px;line-height:1.35;overflow:hidden;text-overflow:ellipsis}
.mrow-title a{color:var(--ink)}
.mrow-meta{margin:2px 0 0;font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mrow-why{margin:3px 0 0;font-size:13px;color:var(--ink-2)}
.mrow-side{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.mrow-side .flag{box-shadow:none;border:1px solid var(--line)}
.mrows.big .mrow{grid-template-columns:120px minmax(0,1fr) auto;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:8px}
.mrows.big .mrow-thumb{width:120px;height:75px}
.mrows.big .mrow-thumb .th{transform:scale(.41667)}
@media (max-width:640px){.mrow,.mrows.big .mrow{grid-template-columns:72px minmax(0,1fr)}.mrows.big .mrow-thumb{width:72px;height:45px}.mrows.big .mrow-thumb .th{transform:scale(.25)}.mrow-side{grid-column:2;justify-content:flex-start}}

/* Upload */
.upload-zone{margin-bottom:20px}
.dropzone{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px 20px;align-items:center;background:var(--surface);border:2px dashed var(--line-strong);border-radius:20px;padding:20px 22px;transition:border-color .15s, background .15s}
.dropzone.dragging{border-color:var(--brand);background:var(--brand-soft)}
.dz-ico{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ev-soft),var(--brand-soft));color:var(--brand-text)}
.dz-ico .ico{width:30px;height:30px}
.dz-text h2{font-size:17px;margin-bottom:2px}
.dz-text p{margin:0 0 8px;color:var(--muted);font-size:14px}
.dz-formats{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.dz-formats li{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:2px 8px 2px 3px}
.dz-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.upload-zone.compact .dropzone{padding:14px 18px}
@media (max-width:900px){.dropzone{grid-template-columns:minmax(0,1fr)}.dz-ico{display:none}.dz-actions{flex-direction:row;flex-wrap:wrap}}
.sample-menu{margin-top:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:14px}
.sample-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:8px}
.sample-btn{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:10px}
.sample-btn:hover:not([disabled]){border-color:var(--brand);background:var(--brand-soft)}
.sample-btn b{display:block;font-size:13.5px}
.sample-btn small{display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}
.sample-btn[disabled]{opacity:.55;cursor:not-allowed}
.jobs{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.job{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;box-shadow:var(--shadow-sm)}
.job-main{flex:1;min-width:0}
.job-name{margin:0 0 5px;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-bar{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}
.job-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--ev));border-radius:3px;transition:width .35s ease}
.job p{margin:5px 0 0;display:flex;align-items:center;gap:5px}
.job.done .job-bar span{background:var(--ok)}
.job.error .job-bar span{background:var(--danger)}

/* Review sheet */
.rs-preview{margin-bottom:12px}
.rs-preview .player{margin-bottom:12px}
.rs-image{border-radius:12px;overflow:hidden;background:var(--surface-3);display:grid;place-items:center;max-height:300px}
.rs-image img,.rs-image svg{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}
.rs-thumb{position:relative;aspect-ratio:16/10;border-radius:12px;overflow:hidden}
.rs-slides,.rs-turns{margin:0;padding-left:1.2em;font-size:14px}
.rs-doc{background:var(--surface-2);border-radius:12px;padding:12px 14px;font-size:14px;max-height:260px;overflow:auto}
.rs-processing{display:flex;gap:8px;align-items:flex-start;background:var(--in-soft);color:var(--in-text);border-radius:10px;padding:9px 12px;font-size:13.5px;font-weight:500}
.rs-processing .ico{margin-top:1px}
.rs-h{font-size:14px;margin:16px 0 8px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.sugg{display:flex;flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none}
.stag{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:6px 6px 6px 12px;background:var(--surface)}
.tv{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
.td{font-size:12px;color:var(--muted)}
.stag b{font-size:14px}
.conf{font-size:11.5px;font-weight:600;border-radius:999px;padding:0 7px;background:var(--surface-3);color:var(--muted)}
.conf.c-hi{background:var(--ok-soft);color:var(--ok-text)}
.conf.c-mid{background:var(--brand-soft);color:var(--brand-text)}
.conf.c-lo{background:var(--rc-soft);color:var(--rc-text)}
.stag-btns{display:flex;gap:4px}
.stag-btns button{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--ink-2)}
.stag-btns button .ico{width:15px;height:15px}
.stag-btns button:hover{border-color:var(--ink-2)}
.stag-btns button[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.stag.accepted{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 45%, transparent)}
.stag.corrected{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 45%, transparent)}
.stag.rejected{opacity:.65}
.stag.rejected b{text-decoration:line-through}
.stag.editing{justify-content:flex-start;flex-wrap:wrap;border-color:var(--brand)}
.stag.editing label{font-size:13px;font-weight:600}
.add-tag{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.req-fields{background:var(--surface-2);border-radius:12px;padding:12px 14px}

/* ---------- Viewers ---------- */
.viewer-wrap{margin:4px 0 20px}
.viewer{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow-sm)}
.v-av{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:16px;align-items:start}
.v-av.no-side{grid-template-columns:minmax(0,1fr)}
@media (max-width:1100px){.v-av{grid-template-columns:minmax(0,1fr)}}
.player{border-radius:14px;overflow:hidden;background:#0B1324;color:#fff}
.player.real{background:none;color:inherit}
.pl-media{display:block;width:100%;border-radius:14px;background:#000;max-height:70vh}
audio.pl-media{background:none;margin-top:8px}
.pl-wavewrap{height:84px;background:var(--fs, #1d1406);border-radius:12px;padding:10px 14px}
.player.real .pl-wavewrap{--fc:var(--f-audio);background:var(--fs-audio)}
.pl-note{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--muted);margin:8px 2px 0}
.pl-fail{display:flex;gap:12px;align-items:flex-start;padding:28px 22px;border-radius:14px;background:var(--surface-2);border:1px dashed var(--line-strong);color:var(--ink-2)}
.pl-fail .ico{flex:none;width:22px;height:22px;color:var(--rc-text);margin-top:1px}
.pl-fail p{margin:0;max-width:62ch}
.pdf-frame{display:block;width:100%;height:72vh;min-height:420px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.pdf-frame.short{height:360px;min-height:0}
.pdf-text{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--surface)}
.pdf-text summary{cursor:pointer;font-weight:600;font-size:14px}
.pdf-text p{margin:8px 0 0;font-size:14px;color:var(--ink-2);max-width:75ch}
.pl-note .ico{width:14px;height:14px;flex:none;margin-top:2px}
.pl-stage{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0B1324}
.pl-stage.audio{aspect-ratio:auto;height:190px;background:linear-gradient(135deg,#1C1305,#3A2508);display:flex;align-items:center;padding:0 22px;--fc:#F59E0B}
.pl-stage.audio .pl-wavewrap{flex:1;background:none;height:96px;padding:0}
.pl-art{position:absolute;inset:0;width:100%;height:100%;transform-origin:60% 50%}
.pl-stage.is-playing .pl-art{animation:kenburns 26s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.1) translate(-2%,1%)}}
.pl-sim{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;background:rgba(0,0,0,.6);color:#fff;font-size:11.5px;font-weight:600;border-radius:999px;padding:3px 9px}
.pl-sim .ico{width:13px;height:13px}
.pl-caption{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:max-content;max-width:88%;margin:0;background:rgba(0,0,0,.78);color:#fff;border-radius:8px;padding:6px 12px;font-size:15px;line-height:1.4;text-align:center}
.pl-caption b{color:#FCD34D;font-weight:700;margin-right:4px}
.pl-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;border:0;background:rgba(255,255,255,.95);color:#0B1324;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .15s}
.pl-big .ico{width:30px;height:30px;margin-left:4px}
.pl-big:hover{transform:translate(-50%,-50%) scale(1.06)}
.pl-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#0B1324;flex-wrap:wrap}
.pl-btn{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center}
.pl-btn:hover{background:rgba(255,255,255,.2)}
.pl-btn.primary{background:#fff;color:#0B1324}
.pl-btn .ico{width:17px;height:17px}
.pl-btn[aria-pressed="false"]{opacity:.55}
.pl-btn:focus-visible{outline-color:#8FB0FF}
.pl-time{font-size:13px;font-variant-numeric:tabular-nums;color:#E6EAF2;white-space:nowrap}
.pl-track{position:relative;flex:1;min-width:140px;height:28px;display:flex;align-items:center}
.pl-rail{position:absolute;left:0;right:0;height:5px;border-radius:3px;background:rgba(255,255,255,.2)}
.pl-fill{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:linear-gradient(90deg,#5EEAD4,#A5B4FC)}
.pl-mark{position:absolute;top:-2px;width:3px;height:9px;border-radius:2px;background:#FCD34D;transform:translateX(-1px)}
.pl-track input[type=range]{position:relative;width:100%;margin:0;background:transparent;-webkit-appearance:none;appearance:none;height:28px;cursor:pointer}
.pl-track input[type=range]::-webkit-slider-runnable-track{background:transparent;height:5px}
.pl-track input[type=range]::-moz-range-track{background:transparent;height:5px}
.pl-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;margin-top:-5.5px;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.pl-track input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:0}
.pl-track input[type=range]:focus-visible{outline:2px solid #8FB0FF;outline-offset:2px;border-radius:4px}
.moments{margin-top:14px}
.moments h3,.tx-head h3{font-size:14px}
.moments ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.moment{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:4px 12px 4px 4px;font-size:13px;font-weight:500;color:var(--ink)}
.moment:hover{border-color:var(--fc,var(--brand));background:var(--surface)}
.mo-t{display:inline-flex;align-items:center;gap:3px;background:var(--ink);color:var(--surface);border-radius:999px;padding:1px 8px 1px 6px;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}
.mo-t .ico{width:10px;height:10px}
.tx{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:12px}
.tx-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.tx-head .field{width:auto;flex:1;min-width:140px;max-width:220px}
.tx-list{list-style:none;margin:0;padding:0;max-height:430px;overflow:auto;position:relative;scrollbar-width:thin}
.tx-cue{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;width:100%;text-align:left;border:0;background:none;border-radius:10px;padding:8px;color:var(--ink)}
.tx-cue:hover{background:var(--surface)}
.tx-cue[aria-current="true"]{background:var(--surface);box-shadow:inset 3px 0 0 var(--fc,var(--brand)), var(--shadow-sm)}
.tx-t{font-size:12px;font-weight:700;color:var(--brand-text);font-variant-numeric:tabular-nums;padding-top:1px}
.tx-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.tx-sp{font-size:12px;font-weight:700;color:var(--muted)}
.tx-text{font-size:14px;line-height:1.45}
.tx-empty{font-size:13px;color:var(--muted);margin:6px 0 0}
.v-transcript .tx-head{margin-bottom:12px}
.vt-group h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 8px}
.vt-group ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.vt-turn{display:flex;gap:10px;align-items:flex-start}
.vt-turn p{margin:0;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:8px 12px;max-width:72ch}
.vt-turn p b{display:block;font-size:12px;color:var(--muted)}
.v-transcript{--fc:var(--f-transcript)}
.v-doc{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;background:var(--surface-2)}
@media (max-width:760px){.v-doc{grid-template-columns:minmax(0,1fr)}.dv-thumbs{flex-direction:row !important;overflow-x:auto}}
.dv-thumbs{position:relative;display:flex;flex-direction:column;gap:8px;max-height:640px;overflow:auto;padding:2px}
.dv-thumb{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px;font-size:12px;font-weight:600;color:var(--ink-2);flex:none}
.dv-thumb[aria-current="true"]{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 30%, transparent)}
.dv-mini{position:relative;width:52px;height:68px;background:#fff;border:1px solid #E2E8F0;border-radius:3px;padding:8px 6px;display:flex;flex-direction:column;gap:4px}
.dv-mini i{display:block;height:3px;background:#E2E8F0;border-radius:2px}
.dv-mini b{position:absolute;left:6px;right:6px;bottom:10px;height:12px;background:#FDE68A;border-radius:2px}
.dv-thumb.cited{border-color:color-mix(in srgb, var(--rc) 60%, transparent)}
.dv-main{min-width:0}
.dv-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.dv-count{font-weight:600;font-size:13.5px;font-variant-numeric:tabular-nums}
.dv-note{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted);margin-left:auto}
.dv-note .ico{width:14px;height:14px}
.dv-page,.paper-doc{--ink:#0F172A;--muted:#5B6778;background:#fff;color:#0F172A;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 12px 30px rgba(15,23,42,.12);padding:34px 40px;max-width:760px;margin:0 auto;color-scheme:light}
@media (max-width:640px){.dv-page,.paper-doc{padding:22px 18px}}
.dv-run{display:flex;justify-content:space-between;font-size:11px;color:#64748B;border-bottom:1px solid #E2E8F0;padding-bottom:8px;margin-bottom:22px;gap:10px}
.dv-page h3{font-family:var(--serif);font-size:24px;margin:0 0 14px;color:#0F172A}
.dv-lines{display:flex;flex-direction:column;gap:9px;margin:14px 0}
.dv-lines i{display:block;height:8px;border-radius:4px;background:#EEF2F7}
.dv-hl{margin:16px 0;background:#FEF3C7;border-left:4px solid #F59E0B;border-radius:4px;padding:10px 14px}
.dv-hl figcaption{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#92400E;margin-bottom:4px}
.dv-hl figcaption .ico{width:13px;height:13px}
.dv-hl blockquote{margin:0;font-family:var(--serif);font-size:19px;line-height:1.45;color:#0F172A}
.dv-page .data-tbl{--line:#E2E8F0;--surface-2:#F8FAFC;--muted:#5B6778;color:#0F172A}
.v-paper{background:var(--surface-2)}
.paper-doc .pd-title{font-family:var(--serif);font-size:26px;margin:0 0 16px}
.paper-doc h4{font-size:15px;margin:18px 0 6px;color:#0F172A}
.paper-doc p{line-height:1.7;color:#1F2937}
.paper-doc .dv-note{margin:12px 0 0;color:#5B6778}
.v-other{text-align:center;padding:30px}
.v-slides{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:16px;background:var(--surface-2)}
@media (max-width:1000px){.v-slides{grid-template-columns:minmax(0,1fr)}.vs-strip{flex-direction:row !important;overflow-x:auto}}
.vs-stage{min-width:0}
.vs-slide{position:relative;aspect-ratio:16/9;background:#fff;color:#0F172A;border-radius:8px;box-shadow:0 12px 30px rgba(15,23,42,.18);overflow:hidden;container-type:inline-size;margin-bottom:12px;--fc:var(--f-slides)}
.vs-slide .sl-bar{width:1.4%}
.vs-inner{position:absolute;inset:0;padding:6cqw 6cqw 4cqw 7.5cqw;display:flex;flex-direction:column;gap:2.4cqw}
.vs-kicker{margin:0;font-size:clamp(10px,1.6cqw,15px);color:#64748B;font-weight:600}
.vs-inner h3{font-family:var(--serif);font-size:clamp(18px,4.2cqw,40px);line-height:1.15;color:#0F172A}
.vs-cols{flex:1;display:grid;grid-template-columns:1.3fr 1fr;gap:4cqw;align-items:end}
.vs-cols ul{margin:0;padding-left:1.1em;font-size:clamp(12px,2.3cqw,22px);align-self:start}
.vs-cols li{margin-bottom:1.2cqw}
.vs-chart{display:flex;align-items:flex-end;gap:10%;height:80%;border-bottom:2px solid #E2E8F0}
.vs-chart b{flex:1;background:var(--fc);opacity:.7;border-radius:4px 4px 0 0}
.vs-foot{margin:0;display:flex;justify-content:space-between;font-size:clamp(9px,1.4cqw,13px);color:#64748B}
.vs-strip{position:relative;display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto;padding:2px}
.vs-thumb{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px;text-align:left;flex:none;min-width:170px}
.vs-thumb[aria-current="true"]{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 30%, transparent)}
.vs-thumb.cited{border-color:color-mix(in srgb, var(--rc) 60%, transparent)}
.vs-mini{grid-row:span 2;width:64px;aspect-ratio:16/9;background:#fff;border:1px solid #E2E8F0;border-radius:3px;padding:5px 5px 5px 8px;display:flex;flex-direction:column;gap:3px;position:relative}
.vs-mini b{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--f-slides)}
.vs-mini i{display:block;height:3px;background:#CBD5E1;border-radius:2px}
.vs-n{font-size:11.5px;font-weight:700;color:var(--muted)}
.vs-t{font-size:12.5px;font-weight:600;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.v-data{--fc:var(--f-data)}
.vd-sheets{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px;font-size:12.5px}
.vd-sheets > span:first-child{font-weight:700;color:var(--muted);margin-right:4px}
.sheet{border:1px solid var(--line);border-radius:6px;padding:2px 8px;background:var(--surface-2)}
.sheet.on{background:var(--f-data);color:#fff;border-color:transparent;font-weight:600}
.vd-chart{max-width:640px;margin-bottom:12px}
.v-image .vi-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.vi-stage{border-radius:12px;overflow:hidden;background:repeating-conic-gradient(var(--surface-3) 0 25%, var(--surface) 0 50%) 0 0/20px 20px;display:grid;place-items:center;max-height:70vh}
.vi-stage img,.vi-stage .vi-art{display:block;max-width:100%;max-height:62vh;width:100%;height:auto;object-fit:contain}
.vi-stage.zoomed{overflow:auto;place-items:start}
.vi-stage.zoomed img{max-width:none;max-height:none;width:auto}
.vi-stage.zoomed .vi-art{width:1600px;max-width:none;max-height:none}
.v-feed{--fc:var(--f-feed)}
.vf-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;font-weight:600;font-size:13.5px}
.vf-head .live-pill{position:static;box-shadow:none;border:1px solid var(--line)}
.vf-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.vf-list li{display:flex;gap:8px;align-items:flex-start;background:var(--surface-2);border-radius:10px;padding:8px 12px;font-size:14px}
.vf-list .ico{color:var(--f-feed);margin-top:2px}

/* Source page */
.src-head{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;align-items:start;margin-bottom:16px}
@media (max-width:900px){.src-head{grid-template-columns:48px minmax(0,1fr)}.src-actions{grid-column:1 / -1}.src-head .ftile.xl{width:48px;height:48px}}
.src-head h1{font-size:28px;letter-spacing:-.02em;margin-bottom:4px}
.src-head-text > p.muted{margin:0 0 10px;font-size:14px}
.src-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.src-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:1060px){.src-grid{grid-template-columns:minmax(0,1fr)}}
.findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.findings li{display:flex;gap:8px;align-items:flex-start}
.findings .ico{color:var(--ev-text);margin-top:2px}
.quote-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.excerpt{border-left:4px solid var(--ev);background:var(--ev-soft);padding:10px 14px;margin:6px 0 8px;font-family:var(--serif);font-size:18px;line-height:1.45;border-radius:0 8px 8px 0;color:var(--ink)}
.excerpt.unrev{border-left-color:var(--rc);background:var(--rc-soft)}
.peek-thumb{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;margin-bottom:12px}

/* ---------- Charts ---------- */
.chart{margin:12px 0 4px;max-width:520px}
.bar-chart{max-width:460px}
.chart figcaption{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px;display:flex;flex-direction:column;gap:1px}
.c-src{font-size:12px;font-weight:400;color:var(--muted)}
.c-svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--sans)}
.c-svg:focus{outline:none}
.c-svg:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}
.c-grid{stroke:var(--grid);stroke-width:1}
.c-axis{stroke:var(--axis);stroke-width:1}
.c-bar{fill:var(--chart-1);transition:filter .12s}
.c-hit{fill:transparent}
.c-mark{cursor:default;outline:none}
.c-mark:hover .c-bar,.c-mark:focus .c-bar{filter:brightness(1.15)}
.c-mark:focus-visible .c-bar{stroke:var(--focus);stroke-width:2}
.c-val{font-size:12.5px;font-weight:700;fill:var(--ink)}
.c-lab,.c-tick{font-size:11.5px;fill:var(--muted)}
.c-line{fill:none;stroke:var(--chart-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.c-area{fill:var(--chart-1);opacity:.1}
.c-dot{fill:var(--chart-1);stroke:var(--surface);stroke-width:2}
.c-line.s2{stroke:var(--chart-2)}.c-dot.s2{fill:var(--chart-2)}
.c-line.s3{stroke:var(--chart-3)}.c-dot.s3{fill:var(--chart-3)}
.c-target{stroke:var(--muted);stroke-width:1;stroke-dasharray:5 4}
.c-cross{stroke:var(--ink-2);stroke-width:1}
.c-overlay{fill:transparent;cursor:crosshair}
.c-legend{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--ink-2)}
.c-legend li{display:inline-flex;align-items:center;gap:6px}
.c-key{display:inline-block;width:16px;height:2.5px;border-radius:2px;background:var(--chart-1)}
.c-key.s2{background:var(--chart-2)}.c-key.s3{background:var(--chart-3)}
.c-wrap{position:relative}
.chart-data{margin-top:4px;font-size:12.5px}
.chart-data summary{color:var(--link);display:inline-block}
.chart-data table{font-size:13px;margin-top:6px}
.chart-data th,.chart-data td{padding:5px 8px}
#chartTip{position:fixed;z-index:300;pointer-events:none;background:#0F172A;color:#F8FAFC;border-radius:8px;padding:7px 10px;font-size:12.5px;line-height:1.35;box-shadow:0 8px 20px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:2px;max-width:260px}
:root[data-theme="dark"] #chartTip{background:#E6EAF2;color:#0B1120}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) #chartTip{background:#E6EAF2;color:#0B1120}}
#chartTip b{font-size:14px}
#chartTip .tip-h{font-weight:600;opacity:.8}
.tip-row{display:flex;align-items:center;gap:6px}
.hbars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.hbars li{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(0,1fr) 2.4em;gap:10px;align-items:center;font-size:13.5px}
.hbars li > .hb-label:first-child{grid-column:1 / span 2}
.hb-track{height:10px;border-radius:0 4px 4px 0;background:color-mix(in srgb, var(--chart-1) 12%, var(--surface-3))}
.hb-track span{display:block;height:100%;background:var(--chart-1);border-radius:0 4px 4px 0}
.hb-n{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.big-num{font-size:44px;font-weight:700;letter-spacing:-.03em;margin:0 0 8px;line-height:1}
.big-num span{font-size:20px;color:var(--muted);font-weight:600}

/* ---------- Studio ---------- */
.studio{display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:1100px){.studio{grid-template-columns:minmax(0,1fr)}}
.studio-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:78px}
@media (max-width:1100px){.studio-side{position:static}}
.step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px}
.step-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-weight:700;font-size:13px;margin:0;flex:none}
.step .lbl{margin-top:3px}
.tpl{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.tpl legend{font-weight:600;font-size:13.5px;margin:3px 0 8px;padding:0}
.tpl-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer}
.tpl-card:hover{border-color:var(--line-strong)}
.tpl-card:has(input:checked){border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand)}
.tpl-card:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.tpl-card input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tpl-card.disabled{opacity:.5;cursor:not-allowed}
.tpl-text b{display:block;font-size:14px}
.tpl-default{font-size:11px;padding:0 7px;margin-left:4px;vertical-align:1px;font-weight:600}
.tpl-text small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.tpl-mini{width:52px;height:40px;border-radius:6px;background:#fff;border:1px solid #E2E8F0;padding:5px;display:flex;flex-direction:column;gap:3px;overflow:hidden;color-scheme:light}
.tpl-mini i{display:block;height:3px;border-radius:2px;background:#E2E8F0}
.tpl-mini i.t-h{height:5px;background:#0F172A;width:70%}
.tpl-mini i.t-ev{background:#0F766E;width:80%}
.tpl-mini i.t-in{background:#7C3AED;width:70%}
.tpl-mini i.t-rc{background:#F59E0B;width:60%}
.tpl-mini i.t-q{background:#FDE68A;height:5px;width:90%;margin-left:4px}
.tpl-mini.slides{flex-direction:row;gap:3px;background:#EEF2F7;align-items:center}
.tpl-mini b.t-slide{flex:1;height:70%;background:#fff;border-radius:2px;border-left:2px solid #EA580C}
.t-dots{display:flex;gap:3px}.t-dots u{width:8px;height:8px;border-radius:50%;background:#7C3AED;opacity:.6}
.t-stamp{margin-left:auto;margin-top:auto;width:14px;height:6px;border:1px solid #0F766E;border-radius:2px}
.export-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:10px 12px;margin-bottom:10px;box-shadow:var(--shadow-sm)}
.export-bar .step-n{margin-right:4px}
.export-note{display:flex;gap:5px;align-items:center;margin:0 0 12px}
.asset-preview{background:var(--surface-3);border-radius:20px;padding:24px}
@media (max-width:640px){.asset-preview{padding:10px}}
.paper,.slide{
  --surface:#FFFFFF; --surface-2:#F8FAFC; --surface-3:#EEF2F7; --ink:#0F172A; --ink-2:#334155; --muted:#5B6778; --line:#E3E8EF; --line-strong:#CBD3DF;
  --ev:#0F766E; --ev-soft:#E6F6F4; --ev-text:#0B5F58; --in:#7C3AED; --in-soft:#F3EEFE; --in-text:#5B21B6; --rc:#F59E0B; --rc-soft:#FEF6E4; --rc-text:#92400E;
  --brand:#2B59C3; --brand-soft:#EAF0FD; --brand-text:#1F48A8; --chart-1:#2a78d6; --grid:#E3E8EF; --axis:#CBD3DF; --link:#1F48A8; --ok-soft:#E8F7EE; --ok-text:#166534;
  color-scheme:light;background:#fff;color:#0F172A;
}
.paper{border-radius:6px;padding:44px 50px;max-width:840px;margin:0 auto;box-shadow:0 1px 2px rgba(0,0,0,.08),0 18px 40px rgba(15,23,42,.14)}
@media (max-width:640px){.paper{padding:24px 18px}}
.paper-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:30px}
.paper-brand{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#475569}
.paper-brand .brand-mark{width:24px;height:24px;border-radius:6px}
.stamp{font-size:11.5px;font-weight:700;padding:2px 10px;border-radius:999px;border:1.5px solid currentColor;text-transform:uppercase;letter-spacing:.04em}
.stamp.internal{color:#1F48A8}
.stamp.external{color:#0B5F58}
.stamp.restricted{color:#9F1239}
.draftmark{background:#FEF6E4;color:#92400E;font-size:13px;font-weight:600;padding:7px 12px;border-radius:8px;margin-bottom:18px}
.paper-kicker{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#2B59C3;margin:0 0 6px}
.paper-h{font-family:var(--serif);font-weight:600;font-size:32px;line-height:1.18;max-width:28ch}
.paper-date{color:#5B6778;font-size:13.5px;margin:8px 0 26px}
.story{border-left:4px solid var(--ev);padding:2px 0 2px 18px;margin:0 0 24px}
.story.in{border-color:var(--in)}
.story.rc{border-color:var(--rc)}
.story.muted-story{border-color:#CBD3DF;color:#475569;font-size:14px}
.story h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;color:#334155}
.story ul,.story ol{margin:0;padding-left:1.2em}
.story li{margin-bottom:7px;line-height:1.55}
.paper sup{font-size:10.5px;color:#0B5F58;font-weight:700;margin-left:2px}
.paper-foot{border-top:1px solid #E3E8EF;margin-top:28px;padding-top:12px;font-size:12px;color:#5B6778}
.paper-foot h4{font-size:12px;margin-bottom:4px;color:#0F172A}
.paper-foot ol{margin:0 0 8px;padding-left:1.4em}
.pack-claims{margin:0;padding-left:1.3em}
.pack-claims > li{margin-bottom:16px}
.pack-claims p{margin:0 0 6px}
.conf-tag{font-size:11px;font-weight:700;border-radius:999px;padding:0 7px;background:#EEF2F7;color:#475569;white-space:nowrap}
.conf-tag.c-high{background:#E6F6F4;color:#0B5F58}
.conf-tag.c-low{background:#FEF6E4;color:#92400E}
.pack-cite{margin:6px 0 0;background:#F8FAFC;border:1px solid #E3E8EF;border-radius:8px;padding:8px 12px}
.pack-cite p{font-family:var(--serif);font-size:15.5px;margin:0 0 4px}
.pack-cite footer{display:flex;align-items:center;gap:6px;font-size:12px;color:#5B6778}
.aud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px}
.aud-grid section{background:#F8FAFC;border:1px solid #E3E8EF;border-radius:12px;padding:12px}
.aud-grid h3{font-size:13px;display:flex;gap:6px;align-items:center;margin-bottom:8px}
.aud-grid h3 .ico{width:15px;height:15px;color:#7C3AED}
.aud-chips{display:flex;flex-wrap:wrap;gap:6px}
.aud-chip{display:flex;flex-direction:column;background:#fff;border:1px solid #E3E8EF;border-radius:8px;padding:4px 8px}
.aud-chip b{font-size:13px}
.aud-chip small{font-size:11px;color:#5B6778}
.deck{display:flex;flex-direction:column;gap:24px;max-width:840px;margin:0 auto}
.slide{aspect-ratio:16/9;border-radius:8px;display:grid;grid-template-columns:1.4% 1fr;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.08),0 14px 30px rgba(15,23,42,.14);container-type:inline-size}
.slide .band{background:#0B1324}
.slide.ev .band{background:var(--ev)}
.slide.in .band{background:var(--in)}
.slide.rc .band{background:var(--rc)}
.slide .inner{padding:5.5cqw 6cqw 3.5cqw;display:flex;flex-direction:column;gap:2cqw;min-width:0}
.slide h3{font-family:var(--serif);font-size:clamp(16px,4cqw,36px);max-width:30ch;line-height:1.15}
.s-kicker{margin:0;font-size:clamp(10px,1.7cqw,15px);color:#5B6778}
.s-title{font-size:clamp(20px,5.2cqw,48px) !important;margin-top:4cqw}
.s-brand{margin-top:auto !important;display:flex;align-items:center;gap:1cqw;font-weight:700;font-size:clamp(10px,1.8cqw,16px)}
.s-brand .brand-mark{width:3.2cqw;height:3.2cqw;min-width:18px;min-height:18px;border-radius:4px}
.slide ul,.slide ol,.slide p{font-size:clamp(11px,2.2cqw,19px);margin:0;padding-left:1.1em;line-height:1.45}
.slide p{padding-left:0;margin-bottom:1.2cqw}
.slide li{margin-bottom:1cqw}
.slide .sfoot{margin-top:auto;display:flex;justify-content:space-between;font-size:clamp(9px,1.4cqw,12px);color:#5B6778}
.slide .split{display:grid;grid-template-columns:1.25fr 1fr;gap:3cqw;align-items:start}
.mini-bars{display:flex;align-items:flex-end;gap:2.5cqw;height:17cqw;border-bottom:1px solid #CBD3DF;padding:0 1cqw}
.mini-bars div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}
.mini-bars span{display:block;width:60%;max-width:34px;background:#2a78d6;border-radius:4px 4px 0 0}
.mini-bars b{position:absolute;top:-2.6cqw;font-size:clamp(9px,1.5cqw,13px)}
.mini-bars i{position:absolute;bottom:-2.6cqw;font-style:normal;font-size:clamp(8px,1.3cqw,12px);color:#5B6778;white-space:nowrap}
.mini-cap{font-size:clamp(8px,1.3cqw,12px) !important;color:#5B6778;margin-top:3.4cqw !important}
.notes{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:14px;margin-top:8px}
.notes b{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.paper .chart,.story .chart{max-width:400px}

/* ---------- Sign-offs ---------- */
.queue{display:flex;flex-direction:column;gap:12px;max-width:980px}
.rv{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:16px 20px 16px 24px;box-shadow:var(--shadow-sm);overflow:hidden}
.rv::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--rc)}
.rv.approved::before{background:var(--ok)}
.rv.changes::before,.rv.rejected::before{background:var(--danger)}
.rv-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rv h3{font-size:17px;margin:8px 0 6px;line-height:1.35}
.rv > p{color:var(--ink-2);margin-bottom:8px}
.rv-recs{margin:4px 0 10px;padding-left:1.3em}
.rv-evidence{margin:8px 0;font-size:14px}
.rv-evidence summary{color:var(--link);font-weight:600}
.rv-evidence .mrows{margin-top:6px}
.rv-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:0 16px}
.rv-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.rv .status{margin-top:6px}

/* ---------- Governance ---------- */
.tiers{display:flex;flex-direction:column;gap:10px}
.tier{border:1px solid var(--line);border-radius:14px;padding:12px 14px 12px 20px;position:relative;overflow:hidden;display:grid;grid-template-columns:2.2em minmax(0,1fr);column-gap:14px;align-items:start}
.tier::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--ev)}
.tier.t2::before{background:var(--brand)}
.tier.t3::before{background:repeating-linear-gradient(180deg,var(--rc) 0 8px,transparent 8px 12px)}
.tier b{font-size:28px;line-height:1.1;grid-row:1 / span 2;text-align:center;font-variant-numeric:tabular-nums}
.tier > span{font-weight:600;font-size:14px}
.tier p{margin:2px 0 0;font-size:13px;color:var(--muted);grid-column:2}
.policies{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 24px}
.policy{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;padding:14px 0;border-top:1px solid var(--line);align-items:start}
.pol-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--brand-soft);color:var(--brand-text)}
.policy.locked .pol-ico{background:var(--surface-3);color:var(--muted)}
.pol-ico .ico{width:16px;height:16px}
.policy h3{font-size:14.5px;margin:0}
.policy p{margin:2px 0 0;color:var(--muted);font-size:13.5px}
.policy .lock{font-size:12.5px;margin-top:4px;color:var(--ink-2)}
.pipeline{list-style:none;margin:16px 0 4px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;counter-reset:p}
.pipeline li{position:relative;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:16px}
.pipe-n{position:absolute;top:12px;right:14px;font-size:28px;font-weight:800;color:var(--line-strong);line-height:1}
.pipe-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--ev-soft),var(--brand-soft));color:var(--brand-text);margin-bottom:10px}
.pipeline h3{font-size:15px;margin-bottom:4px}
.pipeline p{margin:0;font-size:13.5px;color:var(--muted)}
.matrix td,.matrix th{text-align:center}
.matrix td:first-child,.matrix th:first-child{text-align:left}
.matrix tbody th{font-weight:500}
.yes{color:var(--ok-text)}
.yes .ico{stroke-width:2.6}
.no{color:var(--faint)}

/* ---------- Settings and connections ---------- */
.add-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:16px}
.add-form > div{min-width:180px}
.add-form > div.grow{flex:1}
.view-card{display:flex;flex-direction:column}
.vc-head{display:flex;gap:10px;align-items:center}
.vc-head h2{font-size:16px}
.vc-head p{margin:0}
.vc-switch{margin-top:14px}
.vc-preview{margin-top:14px;align-self:flex-start}
.phase{margin-top:26px}
.phase-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.phase-h h2{font-size:17px}
.phase-h p{margin:2px 0 0;color:var(--muted);font-size:14px}
.phase-n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--surface);font-weight:700;flex:none}
.conn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:16px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-sm)}
.conn.planned{background:var(--surface-2);border-style:dashed}
.conn-h{display:flex;align-items:flex-start;gap:10px}
.conn-h > div{flex:1;min-width:0}
.conn-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--brand-soft);color:var(--brand-text);flex:none}
.conn.planned .conn-ico{background:var(--surface-3);color:var(--muted)}
.conn h3{font-size:15px}
.conn p{margin:0;font-size:13.5px}
.conn-status{font-size:12.5px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--muted)}
.dot.connected{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
.dot.inprogress{background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.dot.planned{background:transparent;border:2px solid var(--muted)}
.conn .foot-row{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}
.add-source{margin:16px 0 4px}

/* ---------- Health, impact, audit ---------- */
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.checklist li{display:flex;gap:10px;align-items:flex-start}
.checklist .ico{color:var(--ok-text);stroke-width:2.4;margin-top:2px;flex:none}
.checklist b{display:block;font-size:14px}
.measures{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.measure h2{display:flex;gap:8px;align-items:center;font-size:15px !important}
.measure h2 .ico{color:var(--brand-text)}
.measure dl{margin:0;display:flex;flex-direction:column;gap:8px}
.measure dl div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;border-top:1px solid var(--line);padding-top:8px;font-size:13.5px}
.measure dt{color:var(--muted)}
.measure dt{flex:1 1 9em;min-width:0}
.measure dd{margin:0 0 0 auto;font-weight:700;text-align:right;white-space:nowrap}
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.audit td,.audit th{font-size:13.5px}
.cat-ico{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--surface-3);color:var(--ink-2);flex:none}
.cat-ico .ico{width:14px;height:14px}

/* ---------- Taxonomy ---------- */
.tax-grid{align-items:start}
.panel.sticky{position:sticky;top:78px}
@media (max-width:900px){.panel.sticky{position:static}}
.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:4px 0 14px;padding:0}
.panel h3.dim{font-size:13px;margin-top:6px;color:var(--ink-2)}
.preview-box{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.preview-box h3{font-size:15px;margin-bottom:6px}

/* ---------- Dialogs, sheets, palette, toast ---------- */
dialog{border:0;padding:0;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg)}
dialog::backdrop{background:rgba(8,12,24,.55);backdrop-filter:blur(2px)}
dialog.modal{border-radius:18px;max-width:640px;width:calc(100% - 32px)}
dialog.sheet{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(620px,100vw);max-width:100vw;border-radius:20px 0 0 20px;display:none;flex-direction:column}
dialog.sheet[open]{display:flex;animation:slidein .22s ease-out}
dialog.sheet.wide{width:min(760px,100vw)}
@keyframes slidein{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.sheet-head,.dlg-head{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.sh-text{flex:1;min-width:0}
.sh-text p{margin:0 0 2px}
.sheet-head h2,.dlg-head h2{font-size:18px;line-height:1.3;word-break:break-word}
.sheet-body,.dlg-body{padding:16px 20px;overflow-y:auto;flex:1}
.sheet-foot,.dlg-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2)}
.dlg-foot{justify-content:flex-end;border-radius:0 0 18px 18px}
.pub-note{flex-basis:100%;text-align:right}
.lbl .ico{width:14px;height:14px}
dialog.palette{margin:12vh auto auto;width:min(640px,calc(100vw - 24px));border-radius:18px;overflow:hidden}
.pal-input{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.pal-input .ico{color:var(--muted)}
.pal-input input{flex:1;border:0;background:none;font-size:17px;padding:6px 0;min-width:0}
.pal-input input:focus-visible{outline:none}
#pal-list{list-style:none;margin:0;padding:6px;max-height:min(420px,55vh);overflow:auto}
#pal-list li{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;cursor:pointer}
#pal-list li[aria-selected="true"]{background:var(--brand-soft)}
#pal-list li:hover{background:var(--hover)}
.pal-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--surface-3);color:var(--ink-2);flex:none}
.pal-ico .ico{width:16px;height:16px}
.pal-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.pal-kind{font-size:12px;color:var(--muted);white-space:nowrap}
.pal-empty{color:var(--muted);cursor:default !important}
.pal-foot{margin:0;padding:8px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);background:var(--surface-2)}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:#0F172A;color:#F8FAFC;padding:11px 16px;border-radius:12px;max-width:min(560px,calc(100% - 32px));opacity:0;pointer-events:none;transition:opacity .2s, transform .2s;z-index:400;font-size:14px;font-weight:500;box-shadow:var(--shadow-lg)}
:root[data-theme="dark"] #toast{background:#E6EAF2;color:#0B1120}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) #toast{background:#E6EAF2;color:#0B1120}}
#toast.show{opacity:1;transform:translate(-50%,0)}
#printArea{display:none}

/* ---------- Demo labels ---------- */
.dl-row,.dl-wrap{display:none}
.show-labels .dl-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.show-labels .dl-wrap{display:inline-flex;flex-wrap:wrap;gap:6px}
.dl{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;line-height:1.3;padding:2px 9px;border-radius:12px;border:1.5px solid currentColor;white-space:nowrap;background:var(--surface)}
.dl.st-product{color:var(--ok-text)}
.dl.st-build{color:var(--brand-text)}
.dl.st-later{color:var(--in-text)}
.dl.st-concept{color:var(--rc-text);border-style:dashed}
.dl.st-confirm{color:var(--danger-text);border-style:dotted}
.dl.own-admin,.dl.own-supplier,.dl.own-user{color:var(--muted);border-width:1px;font-weight:500}
.dl.own-supplier{color:var(--ink)}
.label-key{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;padding:8px 32px;background:var(--surface);border-bottom:1px solid var(--line);font-size:13px}
.label-key b{margin-right:4px}

/* ---------- Responsive ---------- */
@media (max-width:1320px){body.guide-open .main-col{margin-right:0}.guide{box-shadow:var(--shadow-lg)}}
@media (min-width:1321px) and (max-width:1720px){
  body.guide-open .concept-pill{display:none}
  body.guide-open .search-trigger{min-width:170px;flex-basis:260px}
  body.guide-open .search-trigger kbd{display:none}
}
@media (max-width:1100px){.gb-label{display:none}}
@media (max-width:960px){
  .app{grid-template-columns:minmax(0,1fr);background:none}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);transform:translateX(-102%);transition:transform .22s ease;visibility:hidden}
  .sidebar.open{transform:none;visibility:visible}
  .scrim{display:block;position:fixed;inset:0;background:rgba(8,12,24,.5);z-index:35}
  .menu-btn{display:inline-grid !important}
  .topbar{padding:8px 14px;gap:8px}
  .search-trigger{min-width:0;flex:1 1 auto}
  .search-trigger kbd{display:none}
  .concept-pill{display:none}
  main{padding:20px 16px 56px}
  .foot{padding:14px 16px 20px}
  .label-key{padding:8px 16px}
  .guide{width:100vw}
}
@media (max-width:640px){
  .crumb{display:none}
  .search-trigger span{font-size:13px}
  .page-head h1,.hero-card h1,.ask-head h1{font-size:24px}
  .headline{font-size:24px}
  .hero-card,.answer{padding:18px 16px}
  .src-head h1{font-size:22px}
  dl.meta{grid-template-columns:minmax(0,1fr);gap:2px}
  dl.meta dd{margin-bottom:8px}
  .meters li{grid-template-columns:minmax(0,1fr) 3.4em}
  .meters .meter{grid-column:1 / -1;grid-row:2}
  .policy{grid-template-columns:minmax(0,1fr) auto}
  .pol-ico{display:none}
  .hbars li{grid-template-columns:auto minmax(0,1fr) 2.4em}
  .hbars .hb-track{grid-column:1 / -1;grid-row:2}
  dialog.sheet,dialog.sheet.wide{width:100vw;border-radius:0}
  .pl-caption{font-size:13px;bottom:8px}
  .dv-note{margin-left:0}
}

/* ---------- Motion and forced colours ---------- */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}}
@media (forced-colors: active){
  .fbadge,.flag,.th-chip,.live-pill,.tag,.status{border:1px solid CanvasText}
  .c-bar,.meter-fill,.hb-track span{forced-color-adjust:none}
}

/* ---------- Print: only the asset ---------- */
@media print{
  body.printing > *:not(#printArea){display:none !important}
  body.printing #printArea{display:block !important}
  body.printing{background:#fff}
  #printArea .paper{box-shadow:none;border:0;padding:0;max-width:none}
  #printArea .deck{max-width:none}
  #printArea .slide{box-shadow:none;break-inside:avoid;border:1px solid #E3E8EF}
  #printArea .deck-item{break-inside:avoid;margin-bottom:10px}
  #printArea .chart-data{display:none}
  @page{margin:16mm}
}

.trend-list > li{flex-wrap:nowrap}
.trend-list .linkbtn{flex:1;min-width:0}

/* ---------- Review fixes: previews, flags, returns, required fields, hints ---------- */
.preview-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 18px;padding:10px 14px;border-radius:12px;background:var(--in-soft);border:1px solid color-mix(in srgb, var(--in) 35%, transparent);color:var(--ink)}
.preview-banner > .ico{color:var(--in-text);flex:none}
.preview-banner span{flex:1 1 320px}
.asked-note{display:flex;gap:6px;align-items:flex-start;margin:-4px 0 10px;font-size:13px;color:var(--muted)}
.asked-note .ico{width:15px;height:15px;flex:none;margin-top:2px}
.flag-choose{margin:10px 0 0;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface-2)}
.flag-choose p{margin:0 0 8px;font-weight:600;font-size:14px}
.flag-choose .row{flex-wrap:wrap}
.flag-done{display:flex;gap:6px;align-items:center;margin:10px 0 0;color:var(--ok-text);font-size:14px;font-weight:600}
.rv-tags{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.rv-tags li{display:flex;gap:8px;align-items:flex-start}
.rv-tags .ico{width:15px;height:15px;color:var(--brand-text);margin-top:3px;flex:none}
.req{display:inline-block;margin-left:4px;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--rc-text);background:var(--rc-soft);border-radius:4px;padding:0 4px;vertical-align:1px}
.req-fields .missing{color:var(--danger-text);font-weight:600}
.req-fields input.field,.req-fields select.field{max-width:280px;width:100%}
.sheet-foot .reject-form{flex:1;min-width:0}
.sheet-foot .reject-form textarea{width:100%;margin:4px 0 8px}
.returned{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.returned li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-left:4px solid var(--danger);border-radius:12px;background:var(--surface)}
.returned p{margin:0}
@media (max-width:640px){.returned li{grid-template-columns:auto minmax(0,1fr)}.returned li .btn{grid-column:2;justify-self:start}}
.scroll-hint{display:none;align-items:center;gap:6px;margin:0 0 6px;font-size:12.5px;color:var(--muted)}
.scroll-hint .ico{width:14px;height:14px}
@media (max-width:900px){.scroll-hint{display:flex}}
.role-menu .avatar{flex:none}
.tpl-mini .t-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:90%}
.tpl-mini .t-grid u{display:block;height:5px;background:#DDD6FE;border-radius:1px}
.tag-x{display:inline-grid;place-items:center;width:18px;height:18px;margin:0 -4px 0 4px;border:0;border-radius:50%;background:transparent;color:var(--muted);vertical-align:-3px}
.tag-x:hover{background:var(--hover);color:var(--danger-text)}
.tag-x .ico{width:12px;height:12px}
.notice-card .suggest + .row{margin-top:12px}
.panel > .add-tag{margin-top:14px}
@media (max-width:640px){table.matrix tbody th{min-width:170px}table.matrix td,table.matrix thead th{min-width:92px}}
