/* Content Production Platform · v0.1.0 · LegalOps Labs UX Standards (side menu + breadcrumb top bar). Accent: Council red #c0392b (was LegalOps purple until v0.3.3); darker red #B03A2E for Decline. */
@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/vendor/fonts/inter-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/vendor/fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/vendor/fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/vendor/fonts/inter-latin-600-normal.woff2) format('woff2')}
:root{--brand:#c0392b;--ink:#1d1d1f;--ink2:#2B2B2B;--muted:#6e6e73;--muted2:#6E6E73;--line:#E4E4E4;--line2:#EFEFEF;--fill:#F6F6F6;
  --mono:ui-monospace,"SF Mono",Menlo,monospace;--text:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,"Helvetica Neue",sans-serif}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--brand)}a:hover{color:#8f2a1f}
/* Shell */
.shell{display:flex;min-height:100vh}
.rail-slot{flex:none;width:64px;position:relative;z-index:160}
.shell.pinned .rail-slot{width:232px}
.rail{position:sticky;top:0;height:100vh;width:64px;padding:10px;display:flex;flex-direction:column;gap:2px;background:#fff;border-right:1px solid var(--line);overflow-x:hidden;overflow-y:auto;scrollbar-width:none;transition:width .16s ease,box-shadow .16s ease}
.rail::-webkit-scrollbar{display:none}
.rail:hover,.rail:has(:focus-visible){width:232px;box-shadow:8px 0 24px rgba(0,0,0,.08)}
.shell.pinned .rail{width:232px;box-shadow:none}
.rail-home{display:flex;align-items:center;gap:14px;height:44px;padding:0 6px;margin-bottom:8px;text-decoration:none!important;white-space:nowrap;border-radius:10px;flex:none;font-weight:600;font-size:15px;color:#000}
.rail-home img{width:32px;height:32px;flex:none;border-radius:50%}
.rail-home small{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.ri{position:relative;display:flex;align-items:center;gap:12px;width:100%;height:38px;padding:0 12px;border:0;border-radius:10px;background:none;color:#48484A;text-decoration:none!important;font:inherit;font-size:14.5px;white-space:nowrap;cursor:pointer;flex:none;text-align:left}
.ri svg{width:19px;height:19px;flex:none}
.ri:hover{background:var(--fill);color:#000}
.ri[aria-current=page]{background:#EDEDF0;color:#000;font-weight:600}
.ri:focus-visible,.menubtn:focus-visible,.avatar:focus-visible,.fbk:focus-visible,.btn:focus-visible,.btn2:focus-visible,.tile:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.rail .lbl{opacity:0;transition:opacity .12s ease}
.rail:hover .lbl,.rail:has(:focus-visible) .lbl,.shell.pinned .rail .lbl{opacity:1}
.rail-sep{display:block;height:1px;background:#EBEBED;margin:8px 6px;flex:none}
.rail-grp{display:block;height:20px;padding:0 12px;margin:-2px 0 2px;flex:none;font:500 10.5px/20px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);white-space:nowrap}
.rail .rail-grp{opacity:0;transition:opacity .12s ease}
.rail:hover .rail-grp,.rail:has(:focus-visible) .rail-grp,.shell.pinned .rail .rail-grp{opacity:1}
.rail-sp{flex:1 1 auto;min-height:8px}
.ri.pin{color:var(--muted2);font-size:14px}
.col{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:100vh}
.col>main.wrap{flex:1 0 auto}
/* Top bar */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;height:60px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);position:sticky;top:0;z-index:150}
.crumbs{display:flex;align-items:center;gap:10px;font-size:15px;min-width:0;white-space:nowrap;overflow:hidden}
.crumbs i{font-style:normal;color:#C7C7CC;flex:none}
.crumbs a{text-decoration:none!important;color:var(--ink2);flex:none}
.crumbs a:hover{color:#000}
.crumbs .org{font-weight:600;color:#000}
.crumbs .pcr{overflow:hidden;text-overflow:ellipsis;color:#000;min-width:0}
.menubtn{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;flex:none;color:#000;padding:0}
.menubtn svg{width:20px;height:20px}
.top .right{display:flex;align-items:center;gap:8px;flex:none;position:relative}
.fbk{height:36px;padding:0 10px;border:0;background:none;color:#3A3A3C;font:inherit;font-size:14px;cursor:pointer;border-radius:8px}
.fbk:hover{color:#000;background:var(--fill)}
.avatar{width:34px;height:34px;border-radius:50%;border:0;background:#1d1d1f;color:#fff;font-weight:600;font-size:13px;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:inherit}
.top .menu{position:absolute;right:0;top:44px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.08);min-width:230px;padding:6px;z-index:210}
.top .menu[hidden]{display:none}
.top .menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 12px;border-radius:6px;cursor:pointer;font-size:14px;color:#000;font-family:inherit}
.top .menu button:hover{background:var(--fill)}
.top .menu .who{padding:10px 12px;font-size:13px;line-height:1.5;color:var(--muted2);border-bottom:1px solid var(--line2);margin-bottom:4px}
.top .menu .fbk-m{display:none}
.drawer{display:flex;flex-direction:column;gap:2px;padding:8px 12px 14px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:64px;z-index:140;max-height:calc(100vh - 64px);overflow-y:auto}
.drawer[hidden]{display:none!important}
.drawer .ri{height:44px;font-size:16px}
.drawer .rail-grp{padding:6px 12px 0;height:auto}
/* Page */
.pill{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--line)!important;border-radius:8px;background:#fff;color:#3a3a3c;font-size:13px;text-decoration:none;white-space:nowrap}
.pill:hover{border-color:#BDBDBD!important;color:#000}
.pill.on{background:#1d1d1f;color:#fff;border-color:#1d1d1f!important}
@media (pointer:coarse){.pill{height:44px}}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:44px 32px 16px}
.pt{font-size:46px;font-weight:300;line-height:1.08;letter-spacing:-.02em;margin:0 0 8px}
.lede{color:var(--muted);margin:0 0 36px;font-size:17px;line-height:1.5}
.eb{font:500 11.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.sh{font-size:21px;font-weight:500;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.ul{display:none}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.band{display:none}
.cb{padding:20px}
.chip{display:inline-flex;align-items:center;gap:6px;font:500 11.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#3a3a3c;white-space:nowrap;padding-top:2px}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;background:#AEAEB2;flex:none}
.c-red::before{background:#D9534F}.c-amber::before{background:#C2620A}.c-green::before{background:#4CBF86}.c-blue::before{background:#5B7DB1}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:13px 12px;border-bottom:1px solid var(--line2);vertical-align:top;line-height:1.45}
.scroll{overflow-x:auto}
.muted{color:var(--muted)}
.btn,.btn2{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:8px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn{background:var(--brand);color:#fff;border:1px solid var(--brand)}
.btn:hover{background:#a5301f;border-color:#a5301f;color:#fff}
.btn2{background:#fff;color:var(--ink);border:1px solid #d2d2d7}
.btn2:hover{border-color:#a1a1a6;color:var(--ink)}

.tile{display:block;text-decoration:none;color:var(--ink)}
.tile:hover{border-color:#BDBDBD;color:var(--ink)}
.num{font-size:40px;font-weight:300;letter-spacing:-.02em;margin:6px 0 2px}
.tl{display:grid;grid-template-columns:200px repeat(7,minmax(70px,1fr));align-items:center;row-gap:10px;font-size:13px;min-width:760px}
.bar{height:26px;border-radius:7px;background:var(--brand);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;padding:0 10px}
.bar.lt{background:#F8DCD8;color:#8f2a1f}
.row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line2)}
.row:last-child{border-bottom:0}
.row>.chip{min-width:112px;flex:none}
@media (pointer:coarse){.btn,.btn2{height:44px}.ri{height:44px}}
@media (max-width:760px){
  .rail-slot{display:none}.menubtn{display:inline-flex}
  .top{padding:0 12px;height:64px}.crumbs{gap:8px}.crumbs .org,.crumbs .org-sep{display:none}
  .fbk{display:none}.top .menu .fbk-m{display:block}.avatar{width:44px;height:44px}.top .menu{top:52px}
  .wrap{padding:28px 16px 12px}.pt{font-size:36px}
  .row{flex-direction:column;gap:6px}.row>.chip{min-width:0}
}
@media (prefers-reduced-motion:reduce){.rail,.rail .lbl,.rail .rail-grp{transition:none}}

/* ── App additions ── */
[hidden]{display:none!important}
button{font-family:inherit}
.ri.out{color:var(--muted2)}
.ri .cnt{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--brand);color:#fff;font:600 11px/20px var(--text);text-align:center}
.rail:not(:hover):not(:has(:focus-visible)) .ri .cnt{position:absolute;right:6px;top:3px;min-width:16px;height:16px;line-height:16px;padding:0 4px;font-size:10px}
.shell.pinned .rail .ri .cnt{position:static;min-width:20px;height:20px;line-height:20px;font-size:11px}
.crumbs .app{color:var(--ink2)}
.ph-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.ph-row .pt{margin:0}
.ph-row .acts{display:flex;gap:8px;flex-wrap:wrap}
.lede{margin:10px 0 0;max-width:72ch}
.sect{margin:0 0 40px}
.grid{display:grid;gap:16px}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.card .cb>h3{font-size:17px;font-weight:500;margin:6px 0 4px;line-height:1.35}
.card .sub{color:var(--muted);font-size:14px;line-height:1.5;margin:0}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:14px;line-height:1.5;margin:14px 0 0}
.kv dt{font:500 11px/1.9 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kv dd{margin:0;white-space:pre-wrap;min-width:0;overflow-wrap:anywhere}
.ph{color:#AEAEB2}
.corner{float:right;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#AEAEB2;margin-left:12px}
.corner.hot{color:#D9534F}
.tl-lab{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.code{font:500 12px var(--mono);letter-spacing:.04em;color:var(--muted);white-space:nowrap}
a.code,button.code{color:var(--ink2);text-decoration:none;background:none;border:0;padding:0;cursor:pointer}
a.code:hover,button.code:hover{color:var(--brand);text-decoration:underline}
.codes{display:flex;flex-wrap:wrap;gap:6px 10px}
.done-row,.done-row td{color:#A1A1A6}
tr.click{cursor:pointer}
tr.click:hover td{background:#FAFAFA}
tr.click:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.face{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#E5E5EA;color:#3A3A3C;font:600 8.5px/1 var(--text);vertical-align:-4px;margin-right:6px;flex:none}
.tbl .face{width:20px;height:20px;font-size:9px;vertical-align:-5px}
.who-line{display:inline-flex;align-items:center;white-space:nowrap}
.btn svg,.btn2 svg{width:16px;height:16px;margin-right:6px;flex:none}
.btn[disabled],.btn2[disabled]{opacity:.5;cursor:default}
.btn3{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 12px;border-radius:8px;border:1px solid #F1C0BA;background:#fff;color:#B03A2E;font:500 14px var(--text);cursor:pointer;white-space:nowrap}
.btn3:hover{border-color:#D9534F}
.ibtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #d2d2d7;border-radius:8px;background:#fff;color:#3A3A3C;cursor:pointer;padding:0}
.ibtn svg{width:17px;height:17px}
.ibtn:hover{border-color:#a1a1a6;color:#000}
.lnk{background:none;border:0;padding:0;color:var(--brand);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
/* toolbar */
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.search{height:36px;min-width:220px;flex:0 1 280px;padding:0 12px;border:1px solid #d2d2d7;border-radius:8px;font:14px var(--text);background:#fff}
.fsel{height:36px;border:1px solid #d2d2d7;border-radius:8px;background:#fff;font:14px var(--text);padding:0 28px 0 10px;color:#3A3A3C;max-width:100%}
.count{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:auto}
.note{font-size:13px;color:var(--muted);margin:10px 0 0}
/* collapsible groups */
.cg{margin:0 0 20px}
.cg-h{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;cursor:pointer;text-align:left;font:500 17px var(--text);color:var(--ink)}
.cg-h svg{width:16px;height:16px;transition:transform .15s ease;flex:none;color:var(--muted)}
.cg.closed .cg-h svg{transform:rotate(-90deg)}
.cg.closed .cg-b{display:none}
.cg-h .n{font:500 12px var(--mono);color:var(--muted)}
.cg-b{padding-top:12px}
.cg-h .hint{margin-left:auto;font:400 13px var(--text);color:var(--muted)}
/* list rows inside cards */
.li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line2)}
.li:last-child{border-bottom:0}
.li .grow{flex:1 1 auto;min-width:0}
.li .t{font-size:15px;line-height:1.4}
.li .m{font-size:13px;color:var(--muted);margin-top:2px;line-height:1.45}
.li .tag{font:500 11.5px var(--mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;color:#3A3A3C;min-width:92px}
.li .tag.late{color:#D9534F}
.li .tag.ok{color:#3E9E6E}
.check{width:20px;height:20px;margin:1px 0 0;accent-color:var(--ink);flex:none}
.empty{color:var(--muted);font-size:14px;padding:6px 0}
/* dashboard headline line */
.headline{display:flex;flex-wrap:wrap;gap:8px 36px;margin:0 0 28px}
.headline a{display:block;text-decoration:none;color:var(--ink)}
.headline a:hover .hv{color:var(--brand)}
.headline .hl{display:block;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.headline .hv{display:block;font-size:34px;font-weight:300;letter-spacing:-.02em;line-height:1.15}
.headline .hs{font-size:13px;color:var(--muted)}
.attn{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5}
.attn svg{width:20px;height:20px;flex:none;margin-top:1px}
.attn ul{margin:6px 0 0;padding-left:18px}
.attn li{margin:3px 0}
/* timeline */
.tt{display:grid;grid-template-columns:150px repeat(13,minmax(62px,1fr));min-width:1040px;font-size:13px;position:relative}
.tt>*{min-width:0;box-sizing:border-box}
.tt .phz{grid-row:1;color:#fff;font:600 11.5px var(--text);letter-spacing:.04em;text-transform:uppercase;padding:9px 12px;border-radius:8px 8px 0 0}
.tt .mo{grid-row:2;text-align:center;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 0;border-bottom:1px solid #e5e5ea}
.tt .mo.now{color:var(--brand)}
.tt .lab{grid-column:1;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:16px 10px 16px 0;border-bottom:1px solid #f0f0f2;display:flex;align-items:center}
.tt .lane{grid-column:2 / 15;border-bottom:1px solid #f0f0f2}
.tt .lane.alt{background:#fafafb}
.tt .it{padding:12px 3px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;line-height:1.3;position:relative;z-index:2}
.tt .it.l{align-items:flex-start;text-align:left}
.tt .it.nt{justify-content:center;color:var(--muted);font-style:italic}
.tt .bk{height:22px;width:100%;border-radius:6px;background:var(--brand);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;padding:0 8px;white-space:nowrap;overflow:hidden}
.tt .bk.planned{background:#F8DCD8;color:#8f2a1f}.tt .bk.phase2{background:#c7c7cc;color:#1d1d1f}.tt .bk.done{background:#1d1d1f}
.tt .dot{width:14px;height:14px;border-radius:50%;background:#1d1d1f;flex:0 0 auto}
.tt .dot.o{background:#fff;border:2px solid #1d1d1f}
.tt .dot.phase2{background:#8e8e93}.tt .dot.o.phase2{background:#fff;border-color:#8e8e93}
.tt .dia{width:13px;height:13px;background:var(--brand);transform:rotate(45deg);flex:0 0 auto;margin:1px}
.tt .dia.phase2{background:#8e8e93}
.tt .now-col{grid-row:2 / 40;background:rgba(192,57,43,.07);pointer-events:none;z-index:1;border-radius:0 0 8px 8px}
.tt .it .done-t{color:#8E8E93}
.closing{background:#1d1d1f;color:#fff;border-radius:12px;padding:20px;font-size:16px;line-height:1.55;margin:0 0 12px}
/* metrics pipeline */
.pipe{display:flex;flex-wrap:wrap;gap:6px 0;align-items:center;font:500 11px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.pipe span+span::before{content:"";display:inline-block;width:18px;height:1px;background:#C7C7CC;vertical-align:middle;margin:0 10px}
/* comments */
.cmts{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.cmt{padding:10px 0;border-bottom:1px solid var(--line2);font-size:14px;line-height:1.5}
.cmt .h{font-size:12.5px;color:var(--muted);margin-bottom:2px;display:flex;gap:8px;align-items:center}
.cmt .body{white-space:pre-wrap;overflow-wrap:anywhere}
.cmt-new{display:flex;gap:8px;margin-top:12px;align-items:flex-start}
.cmt-new textarea{flex:1 1 auto;min-height:44px}
/* forms */
.fm{display:grid;gap:14px}
.fm label{display:block;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.fm .help{font:12.5px/1.45 var(--text);color:var(--muted);margin:5px 0 0;letter-spacing:0;text-transform:none}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=url],select.in,textarea{width:100%;border:1px solid #d2d2d7;border-radius:8px;background:#fff;font:15px/1.4 var(--text);color:var(--ink);padding:8px 11px;min-height:40px}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ink);outline-offset:0;border-color:var(--ink)}
.fm .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ckl{display:flex;flex-wrap:wrap;gap:6px 16px;font:14px var(--text);color:var(--ink);text-transform:none;letter-spacing:0}
.ckl label{display:inline-flex;align-items:center;gap:6px;font:14px var(--text);color:var(--ink);text-transform:none;letter-spacing:0;margin:0}
.ckl input{width:18px;height:18px;accent-color:var(--ink)}
.ferr{color:#B03A2E;font-size:14px;min-height:0}
/* dialog */
#dlg{position:fixed;inset:0;background:rgba(0,0,0,.28);display:none;align-items:flex-start;justify-content:center;z-index:400;padding:6vh 16px 16px;overflow-y:auto}
#dlg.open{display:flex}
.dbox{background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.18);width:100%;max-width:640px;padding:24px;position:relative}
.dbox.wide{max-width:820px}
.dbox.small{max-width:440px}
.dbox h2{font-size:22px;font-weight:400;margin:0 0 4px;padding-right:40px;line-height:1.3}
.dbox .dsub{color:var(--muted);font-size:14px;margin:0 0 16px}
.dbox .x{position:absolute;right:14px;top:14px}
.dbtns{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap}
.dbtns .left{margin-right:auto;display:flex;gap:8px;flex-wrap:wrap}
.dmsg{font-size:15px;line-height:1.55;white-space:pre-wrap}
/* toast */
#toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#1d1d1f;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:500;display:none;max-width:calc(100vw - 32px)}
#toast.on{display:block}
/* sign-in */
.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#F6F6F6}
.sicard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;width:100%;max-width:420px}
.sicard .brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.sicard .brand img{width:40px;height:40px;border-radius:50%}
.sicard .brand b{display:block;font-size:20px;font-weight:600}
.sicard .brand small{display:block;color:var(--muted);font-size:13px}
.sicard .btn{width:100%;height:44px}
.sicard .or{display:flex;align-items:center;gap:10px;color:#AEAEB2;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:20px 0 14px}
.sicard .or::before,.sicard .or::after{content:"";flex:1;height:1px;background:var(--line)}
.sicard .links{display:flex;justify-content:space-between;margin-top:12px;font-size:13.5px}
.loading{padding:60px 0;color:var(--muted)}
.skel{height:110px;border-radius:12px;background:linear-gradient(90deg,#F4F4F5,#FAFAFA,#F4F4F5);background-size:200% 100%;animation:sk 1.2s infinite linear}
@keyframes sk{to{background-position:-200% 0}}
/* admin tabs */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 20px;overflow-x:auto}
.tabs button{height:40px;padding:0 14px;border:0;background:none;font:500 14px var(--text);color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button[aria-selected=true]{color:#000;border-bottom-color:#1d1d1f}
.pill-st{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pill-st.off{color:#D9534F}
.guide{font-size:15px;line-height:1.6;margin:0;padding-left:20px}
.guide li{margin:0 0 8px}
.prose{font-size:16px;line-height:1.65;max-width:68ch;white-space:pre-wrap;margin:0}
@media (max-width:1100px){.g5{grid-template-columns:repeat(3,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (pointer:coarse){.ibtn{width:44px;height:44px}.search,.fsel,.btn3{height:44px}.tabs button{height:44px}input[type=text],input[type=email],input[type=password],input[type=date],select.in{min-height:44px}}
@media (max-width:760px){
  .g5,.g3,.g2{grid-template-columns:minmax(0,1fr)}
  .kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:8px}
  .fm .two{grid-template-columns:1fr}
  .search{flex:1 1 100%;min-width:0}
  .count{margin-left:0;width:100%}
  .dbox{padding:20px 16px}
  #dlg{padding:12px 8px}
  .headline{gap:8px 24px}.headline .hv{font-size:28px}
  .li{flex-wrap:wrap}.li .tag{min-width:0}
}

/* Project Plan: items open their edit form (Research team and Admin) */
.tt .it.ed{cursor:pointer;border-radius:8px}
.tt .it.ed:hover{background:rgba(0,0,0,.04)}
.tt .it.ed:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}

/* Profile photos */
.face{overflow:hidden}
.face img,.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.avatar{overflow:hidden;padding:0}
.phbox{display:flex;align-items:center;gap:20px;margin:6px 0 4px}
.phprev{width:96px;height:96px;border-radius:50%;background:#E5E5EA;color:#3A3A3C;display:flex;align-items:center;justify-content:center;font:600 30px var(--text);overflow:hidden;flex:none}
.phprev img{width:100%;height:100%;object-fit:cover}
.phctl{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.phctl label.btn2{cursor:pointer;margin:0;font:500 14px var(--text);color:#1d1d1f;text-transform:none;letter-spacing:0}
.vh{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.phctl label.btn2:focus-within{outline:2px solid var(--ink);outline-offset:2px}

/* Dashboard activity cards (Supabase style) */
.pulse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 36px}
@media (max-width:1100px){.pulse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pulse-grid{grid-template-columns:minmax(0,1fr)}}
a.card.pulse{display:block;text-decoration:none;color:var(--ink);transition:border-color .15s ease}
a.card.pulse:hover{border-color:#C7C7CC}
a.card.pulse:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.pl-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pl-lab{white-space:nowrap;font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#3A3A3C}
.pl-num{font-size:26px;font-weight:400;line-height:1.2;margin-top:4px}
.pl-ind{display:flex;gap:16px;text-align:right}
.pl-ind>div{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.pl-k{font:500 11px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#3A3A3C;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.pl-v{font-size:18px;line-height:1.2}
.pl-ind .zero .pl-v{color:#AEAEB2}
.pl-k .d{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}
.d.amber{background:#C2620A}.d.red{background:#D9534F}.d.green{background:#4CBF86}.d.gray{background:#AEAEB2}
.pl-bars{height:76px;display:flex;align-items:flex-end;gap:3px;margin:18px 0 0;border-bottom:1px solid #EFEFF1}
.pl-bars span{flex:1 1 0;min-width:0;background:#6FCF97;border-radius:2px 2px 0 0}
.pl-bars span.z{height:0;background:none}
.pl-dates{display:flex;justify-content:space-between;margin-top:8px;font:500 11px var(--mono);letter-spacing:.04em;color:#8E8E93}
@media (max-width:760px){.pl-ind{gap:12px}.pl-k{font-size:10px}}

/* Item view: actions at the top right, as in Supabase */
.dtop{position:absolute;right:14px;top:14px;display:flex;gap:8px;align-items:center}
.dbox h2{padding-right:120px}
/* Toolbar checkbox sits on the label's line */
.toolbar .ckl{align-items:center;height:36px}
.toolbar .ckl input{margin:0}

/* Sortable column headers */
.sortb{background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;white-space:nowrap}
.sortb:hover{color:#000}
.sortb:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.tbl td .chip{white-space:nowrap}

/* ⌘K search */
.srch{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 8px 0 10px;border:1px solid #d2d2d7;border-radius:16px;background:#fff;color:#8E8E93;font:14px var(--text);cursor:pointer;margin-right:4px}
.srch svg{width:15px;height:15px}
.srch kbd{font:500 11px var(--mono);color:#8E8E93;border:1px solid #E5E5EA;border-radius:6px;padding:1px 6px;background:#FAFAFA}
.srch:hover{border-color:#a1a1a6;color:#3A3A3C}
.dbox.search{max-width:640px;padding:0;overflow:hidden}
.sbox input{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:16px;padding:16px 18px;min-height:54px}
.sbox input:focus{outline:none}
#sres{max-height:min(60vh,460px);overflow-y:auto;padding:6px}
#sres .empty{padding:14px 12px}
.sr{display:grid;grid-template-columns:120px minmax(0,1fr);gap:2px 12px;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:9px 12px;cursor:pointer;font:inherit;color:var(--ink)}
.sr.on,.sr:hover{background:#F2F2F4}
.sk{grid-row:1 / span 2;font:500 11px/1.9 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.st{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.ss{font-size:13px;color:var(--muted)}
.shint{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--line);font:500 11px var(--mono);color:#8E8E93}
/* Member view switch (Admin) */
.mv{height:32px;padding:0 12px;border:1px solid #d2d2d7;border-radius:16px;background:#fff;font:500 13px var(--text);color:#3A3A3C;cursor:pointer;margin-right:4px;white-space:nowrap}
.mv.on{background:#1d1d1f;border-color:#1d1d1f;color:#fff}
.mvbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#F5F5F7;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 24px;font-size:14px}
@media (max-width:760px){.srch .srch-t,.srch kbd{display:none}.srch{width:36px;justify-content:center;padding:0}.mv{padding:0 10px}.sr{grid-template-columns:minmax(0,1fr)}.sk{grid-row:auto}.shint{display:none}}
@media (pointer:coarse){.srch,.mv{height:44px}}
@media (pointer:coarse) and (max-width:760px){.srch{width:44px}}

/* Reorder handles */
.grip{width:28px;height:32px;border:0;background:none;color:#AEAEB2;font-size:18px;line-height:1;cursor:grab;border-radius:6px;touch-action:none;padding:0;flex:none}
.grip:hover{color:#3A3A3C;background:#F2F2F4}
.grip:focus-visible{outline:2px solid var(--ink);outline-offset:0;color:#3A3A3C}
.gripc{width:36px;padding-right:0!important}
.dragging{opacity:.6;background:#F5F5F7}
.rrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:15px}
.rrow:last-child{border-bottom:0}
@media (pointer:coarse){.grip{width:44px;height:44px}}

/* Admin account groups: a red "revoked" count on the header, and the same column widths in every group */
.cg-h .hot{font:500 12px var(--text);color:#D9534F}
.tbl.acc{table-layout:fixed;min-width:820px}
.tbl.acc th:nth-child(1){width:22%}.tbl.acc th:nth-child(2){width:16%}.tbl.acc th:nth-child(3){width:26%}
.tbl.acc th:nth-child(4){width:16%}.tbl.acc th:nth-child(5){width:10%}.tbl.acc th:nth-child(6){width:10%}
.tbl.acc td{vertical-align:middle}
.tbl.acc td:last-child{text-align:right}

/* Footer, as in the other LegalOps Labs apps: one centered line, the Labs credit under it
   (on wide screens the credit sits at the left). */
footer.lol-foot{text-align:center;font-size:12px;line-height:16px;color:var(--muted);padding:16px 16px 21px;position:relative;width:100%;max-width:1240px;margin:0 auto}
@media (min-width:1200px){footer.lol-foot{text-align:right;padding-left:32px;padding-right:32px}footer.lol-foot .lol-credit{position:absolute;left:32px;top:16px;line-height:16px;margin:0 !important;justify-content:flex-start}}
@media (min-width:1200px){.signin footer.lol-foot{text-align:center}}
.signin{flex-direction:column}
.signin footer.lol-foot{padding-top:20px;max-width:none}
@media (min-width:1200px){.signin footer.lol-foot .lol-credit{position:static;justify-content:center;margin-top:8px !important}}

/* ── Content Production Platform ── */
.mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:8px;background:var(--brand);color:#fff;font:700 13px/1 var(--text);letter-spacing:.02em}
.rail-home .mark{margin:0}
.sicard .brand .mark{width:40px;height:40px;border-radius:10px;font-size:15px}
.sicard h1{font-weight:300;font-size:30px;margin:4px 0 18px;letter-spacing:-.01em}
.sicard .invite-note{margin:18px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.pwrules{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}
.pwrules li{display:flex;align-items:center;gap:8px}
.pwrules li::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid #AEAEB2;flex:none}
.pwrules li.ok{color:#1d1d1f}
.pwrules li.ok::before{background:#4CBF86;border-color:#4CBF86}
.yr{display:inline-flex;align-items:center;gap:6px;flex:none;color:var(--ink2)}
.yr b{font:500 10px/1 var(--mono);letter-spacing:.08em;padding:3px 6px;border-radius:4px;background:#F0F0F2;color:#3A3A3C}
.st-txt{white-space:nowrap}
.st-txt.warn{color:#C2620A}
.st-txt.off{color:var(--muted)}
.st-txt small{display:block;color:var(--muted);font-size:12px}
.rolehelp{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.radios{display:flex;flex-direction:column;gap:8px}
.radios label{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:14px;line-height:1.4;cursor:pointer;color:var(--ink)}
.radios input{margin:3px 0 0;width:16px;height:16px;accent-color:var(--brand);flex:none}
.radios small{display:block;color:var(--muted);font-size:13px}
.emptyc{padding:36px 24px;text-align:center}
.emptyc h2{font-weight:500;font-size:18px;margin:0 0 6px}
.emptyc p{margin:0 auto;max-width:460px;color:var(--muted);font-size:14.5px;line-height:1.55}
.emptyc .mark{width:44px;height:44px;border-radius:12px;font-size:16px;margin-bottom:14px}
/* Speaker view: phone first */
.spk{max-width:560px;margin:0 auto}
@media (pointer:coarse){.radios label{min-height:44px;align-items:center}.radios input{margin:0}}
@media (max-width:760px){.crumbs .yr,.crumbs .yr-sep{display:none}}
.pwtools{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;margin-top:-4px}
.pwnote{margin:0;padding:10px 12px;border-radius:8px;background:#FBEDEB;color:#8f2a1f;font-size:13.5px;line-height:1.45}
@media (pointer:coarse){.pwtools .lnk{min-height:44px}}
/* ── Stage 2: ideas, pitches, reviews, themes ── */
.ttl{background:none;border:0;padding:0;font:inherit;font-weight:500;color:var(--ink);text-align:left;cursor:pointer;text-decoration:none}
a.ttl:hover,button.ttl:hover{color:var(--brand);text-decoration:underline}
.tbl .sub,.sub{display:block;font-size:12.5px;color:var(--muted);font-weight:400;margin-top:2px;line-height:1.4}
.tbl.lst{table-layout:fixed;min-width:720px}
.tbl.lst td{vertical-align:middle}
.tbl.lst td:first-child input[type=checkbox],.tbl.lst th:first-child input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);margin:0}
.chip.c-gray::before{background:#AEAEB2}
.pend{font-size:12.5px;color:#C2620A;white-space:nowrap}
.flag{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#C2620A}
.mono{font:500 12.5px var(--mono);color:#3A3A3C}
.ct{font-size:16px;font-weight:600;margin:0 0 10px}
.eb2{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px}
.eb2.m0{margin:0}
.ch{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.fsel2{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 4px 0 12px;border:1px solid #d2d2d7;border-radius:8px;background:#fff;font-size:14px;color:var(--muted);max-width:100%}
.fsel2 select{border:0;background:none;font:inherit;color:var(--ink);height:34px;max-width:100%;padding:0 6px;outline-offset:2px}
.bulk{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px}
.bulk .count{flex:1 1 auto}
.note-box{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #F1D2B3;background:#FDF6EF;border-radius:10px;margin:0 0 20px;font-size:14.5px;line-height:1.5}
.note-box svg{width:18px;height:18px;flex:none;color:#B03A2E;margin-top:1px}
.attn-card .li{text-decoration:none;color:inherit}
.attn-card .li:hover .t{color:var(--brand)}
.li .grow{flex:1 1 auto;min-width:0}.li .t{display:block;font-weight:500}.li .m{display:block;font-size:13px;color:var(--muted)}
.li .tag{font-size:13px;color:#3A3A3C;white-space:nowrap}
.back{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--muted);text-decoration:none;margin:0 0 10px}
.back svg{width:16px;height:16px}.back:hover{color:var(--ink)}
.pt2{font-size:clamp(26px,4vw,36px);margin:0 0 10px}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}
.split{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.split>.card{flex:3 1 460px;min-width:0}
.split>.side{flex:2 1 320px;min-width:0;display:flex;flex-direction:column;gap:16px}
.spk-line{font-size:15px;margin-bottom:4px}
.qa{margin:0 0 16px}.qa .q{font-weight:600;margin-bottom:4px}.qa .a{color:#3A3A3C;line-height:1.6;white-space:pre-wrap}
.crit{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}
.seg{display:flex;gap:6px}
.sc{width:36px;height:36px;border:1px solid #d2d2d7;border-radius:8px;background:#fff;color:var(--ink);font:500 14px var(--text);cursor:pointer}
.sc:hover{border-color:#8E8E93}.sc.on{background:#1d1d1f;border-color:#1d1d1f;color:#fff}
.sc:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.bd{padding:8px 0;border-bottom:1px solid var(--line2)}.bd:last-child{border-bottom:0}
.bd-n{display:block;font-size:14px;margin-bottom:6px}
.bd-r{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);margin:3px 0}
.bd-w{width:72px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-t{flex:1 1 auto;height:6px;border-radius:3px;background:#EFEFF1;overflow:hidden}.bar-f{display:block;height:100%;background:var(--brand);border-radius:3px}
.kvl{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:14px}
.wide{width:100%;margin-top:12px}
.row-btns{display:flex;flex-wrap:wrap;gap:8px}
.decided{border-color:#F1C0BA;background:#FDF7F6}
.tcount{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--brand);color:#fff;font:600 11px/18px var(--text);text-align:center;margin-left:4px}
.tbl.cmp{min-width:760px}.tbl.cmp th[scope=row]{width:180px;font:500 12.5px var(--text);letter-spacing:0;text-transform:none;color:var(--ink);white-space:normal;vertical-align:top;padding-top:13px}
.tbl.cmp thead th{white-space:normal;text-transform:none;letter-spacing:0;font:600 14px var(--text);color:var(--ink);vertical-align:bottom}
.themes{display:flex;flex-direction:column;gap:16px;margin:0 0 16px}
.theme.retired{opacity:.7}
.th-h{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.th-f{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:6px}
.th-f input.th-name{font-size:18px;font-weight:600}
.th-nm{font-size:18px;font-weight:600}
.th-c{padding-top:10px}
.subs{display:flex;flex-direction:column}
.rrow input[type=text]{flex:1 1 auto;min-width:0}
.rrow .grow{flex:1 1 auto;min-width:0}
.qrow{align-items:flex-start}.qf{display:flex;flex-direction:column;gap:6px}
.addrow{display:flex;gap:8px;margin-top:12px}.addrow input{flex:1 1 auto;min-width:0}
.addrow.big{margin:0 0 16px}
.spk-card{margin:0 0 14px}.spk-card .ct{margin:8px 0 4px;font-size:18px}
.spk-note{margin:0 0 14px;padding:10px 14px;border-left:3px solid var(--brand);background:#FDF7F6;border-radius:0 8px 8px 0;font-size:14.5px;line-height:1.5;color:#3A3A3C}
.spk .btn.wide{height:44px}
@media (max-width:760px){.split>.card,.split>.side{flex-basis:100%}.crit{flex-wrap:wrap}.bulk .count{flex-basis:100%}}
@media (pointer:coarse){.sc{width:44px;height:44px}}
.fm label.qlab{font:600 15px/1.4 var(--text);letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:4px}
.ibtn.more svg{width:20px;height:20px;stroke-width:2.6}
.pop{position:absolute;z-index:260;min-width:160px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.pop button{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 12px;border-radius:6px;font:14px var(--text);color:var(--ink);cursor:pointer}
.pop button:hover,.pop button:focus-visible{background:var(--fill);outline:none}
.pop button.danger{color:#B03A2E}
@media (pointer:coarse){.pop button{min-height:44px}}
@media (min-width:1200px) and (pointer:coarse){.col>footer.lol-foot{padding-bottom:24px}}

/* ── v0.3.0 · Production, checklist, files ── */
.late{color:#B03A2E}.sub.late{color:#B03A2E}
.ok-t{color:#2E7D55}
.btn2.sm,.btn.sm{height:30px;padding:0 10px;font-size:13px}
.ibtn.sm{width:30px;height:30px}.ibtn.sm svg{width:15px;height:15px}
.upl{gap:0}.upl.busy{opacity:.6;pointer-events:none}
.flink{text-align:left;overflow-wrap:anywhere;color:var(--ink);text-decoration-color:#C7C7CC}
.flink:hover{color:var(--brand)}
.sm-l{font-size:13px}
.inl{width:15px;height:15px;vertical-align:-3px;margin-right:6px}
.fl{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.fl li{min-width:0;overflow-wrap:anywhere}
.due-in{height:32px;border:1px solid #d2d2d7;border-radius:8px;padding:0 8px;font:13px var(--text);color:var(--ink);background:#fff;max-width:100%}
.due-l{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
/* Stage list on the session page */
.stl{list-style:none;margin:6px 0 0;padding:0}
.stl>li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line2);position:relative}
.stl>li:last-child{border-bottom:0}
.stl .dot{width:22px;height:22px;border-radius:50%;border:1.5px solid #C7C7CC;background:#fff;flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px}
.stl .dot svg{width:13px;height:13px;color:#fff}
.stl .st-done .dot{background:#4CBF86;border-color:#4CBF86}
.stl .st-cur .dot{border-color:var(--brand);box-shadow:inset 0 0 0 5px var(--brand)}
.stl .grow{flex:1 1 auto;min-width:0}
.st-h{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:15px;min-height:32px}
.st-h .now{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.st-next .st-h b{font-weight:500;color:#3A3A3C}
.st-p{margin:4px 0 0;font-size:14px}
.stl .row-btns{margin-top:12px}
.stl .spk-note{margin:10px 0 0}
/* Checklist */
.ckp+.ckp{margin-top:14px;padding-top:14px;border-top:1px solid var(--line2)}
.ckp-h{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:500;margin-bottom:4px}
.ckl2{list-style:none;margin:0;padding:0}
.ckl2 li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:14.5px}
.ckl2 li:last-child{border-bottom:0}
.ckl2 .ck{width:18px;height:18px;border:1.5px solid #C7C7CC;border-radius:5px;flex:none;margin-top:2px;display:flex;align-items:center;justify-content:center}
.ckl2 li.ok .ck{background:#4CBF86;border-color:#4CBF86}.ckl2 .ck svg{width:12px;height:12px;color:#fff}
.ckl2 .grow{flex:1 1 auto;min-width:0}
.ckl2 li>.lnk{flex:none;margin-top:1px}
.spk-row>span:first-child{min-width:0}
.spk-row>span:last-child{text-align:right;flex:none}
.vlist{flex-direction:column;gap:8px}
/* Production board: scrolls inside its own box on narrow screens */
.board-wrap{overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.board{display:grid;gap:12px;min-width:min-content}
.bcol{background:var(--fill);border-radius:12px;padding:10px;min-height:120px;display:flex;flex-direction:column;gap:8px;border:1.5px dashed transparent}
.bcol.over{border-color:var(--brand);background:#FCEFED}
.bh{margin:2px 4px 4px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px}
.bh .n{color:#3A3A3C}
.bcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;display:flex;flex-direction:column;gap:6px}
.bcard.warn{border:1.5px solid #C2620A}
.bcard.ghost{position:fixed;z-index:300;pointer-events:none;box-shadow:0 10px 30px rgba(0,0,0,.15);transform:rotate(1deg)}
.bc-top{display:flex;gap:6px;align-items:flex-start}.bc-top .ttl{line-height:1.35;margin-top:6px;min-width:0;overflow-wrap:anywhere}
.bgrip{margin-left:-6px}
.bc-m{color:var(--muted);font-size:13px}
.bc-f{display:flex;gap:10px;font-size:12px}.bc-f .mono{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase}
.bc-w{font-size:13px}
.bcard .wide{margin-top:2px}
/* Speaker view */
.mini-st{list-style:none;margin:2px 0 14px;padding:0;display:flex;gap:4px}
.mini-st li{flex:1 1 0;min-width:0;font:500 10px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.mini-st li::before{content:"";display:block;height:4px;border-radius:2px;background:#E5E5EA;margin-bottom:6px}
.mini-st li.done::before{background:#4CBF86}.mini-st li.cur::before{background:var(--brand)}
.mini-st li.cur{color:var(--ink)}
.mini-st li span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prof{display:flex;gap:16px;align-items:flex-start;margin-bottom:6px}
.prof .phprev{width:64px;height:64px;font-size:20px}
.prof .grow{flex:1 1 auto;min-width:0}
.spk-card .ckl2{margin-top:2px}
.wide-spk{max-width:760px}
/* Admin → Stages & checklist */
.sd-k{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;white-space:nowrap;color:#3A3A3C}
.sd-k input{width:16px;height:16px;accent-color:var(--brand);margin:0}
.it-top{display:flex;align-items:center;gap:10px}.it-top input{flex:1 1 auto;min-width:0}
.it-k{font-size:13px;white-space:nowrap}
.it-bot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:13.5px;color:#3A3A3C}
.wk{display:inline-flex;align-items:center;gap:6px}
.wk input,.setg input{width:64px;height:32px;border:1px solid #d2d2d7;border-radius:8px;padding:0 8px;font:14px var(--text)}
.setg{gap:12px}.setg label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-weight:400;font-size:14.5px;color:var(--ink)}
.tmpl{min-width:0;overflow-wrap:anywhere}
.addrow .fsel{flex:none}
@media (pointer:coarse){.due-in,.wk input,.setg input{height:44px}.btn2.sm,.btn.sm{height:44px}.ibtn.sm{width:44px;height:44px}}
@media (max-width:760px){.due-l{margin-left:0;flex-basis:100%}.addrow{flex-wrap:wrap}.addrow input{flex-basis:100%}.it-top{flex-wrap:wrap}.mini-st li span{display:none}.mini-st li.cur span{display:block;overflow:visible}}
input.due-in{width:auto;min-height:32px;padding:0 8px;font-size:13px}
.wk input,.setg input{width:72px;min-height:32px}
@media (pointer:coarse){input.due-in,.wk input,.setg input{min-height:44px}}
.prodt .tbl td .chip{white-space:normal;align-items:flex-start}.prodt .tbl td .chip::before{margin-top:4px}
.prodt .tbl td .btn2.sm{white-space:normal;height:auto;min-height:30px;padding:5px 10px;text-align:left;line-height:1.3}
.fm.setg label{font:400 14.5px var(--text);letter-spacing:0;text-transform:none;color:var(--ink)}
#profile{margin-top:16px}
.sendnow{display:flex;align-items:center;gap:8px;font:400 14.5px var(--text)!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important;cursor:pointer}
.sendnow input{width:18px;height:18px;accent-color:var(--brand);margin:0}

/* v0.4.0: agendas, final acceptance, speakers, dashboard */
.ph-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.plain{list-style:none;margin:0;padding:0}.plain li{padding:8px 0;border-bottom:1px solid var(--line2)}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.chkrow{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;min-height:36px}.chkrow input{width:18px;height:18px}
.sm2{display:block;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:2px}
.tbl-wrap{overflow-x:auto}
.evgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:0 0 20px}
.evcard{text-decoration:none;color:var(--ink);display:block}.evcard:hover{border-color:#BDBDBD}.evcard .ct{margin:6px 0 12px}
.evnums{display:flex;gap:18px;font-size:13px;color:var(--muted)}.evnums b{color:var(--ink);font-size:20px;font-weight:400;margin-right:4px}
.evfoot{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.checks{margin:0 0 16px}.checks summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px}
.checks summary::-webkit-details-marker{display:none}.okc{color:#1D6B35;font-size:14px}.checks .late{font-size:14px}
.chk{list-style:none;margin:0;padding:0 20px 8px}.chk li{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line2);font-size:14px;line-height:1.45}
.chk li b{display:block;font-weight:600}.chk li span:not(.ci){color:var(--muted)}.chk .ci{flex:0 0 18px;width:18px;height:18px;margin-top:1px}.chk .ci svg{width:18px;height:18px}
.chk .ok .ci{color:#2E8B4A}.chk .bad .ci{color:#C2620A}.chk .na .ci{color:#AEAEB2}.cb0{padding:0 20px 14px;margin:0}
.heatkey{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}.hk{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--line)}
.aggrid-wrap{overflow-x:auto;margin:0 0 20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.aggrid{width:100%;border-collapse:collapse;min-width:560px;table-layout:fixed}
.aggrid th{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.aggrid .tcol{width:96px}.aggrid tbody th{font:500 13px var(--text);text-transform:none;letter-spacing:0;color:var(--ink);vertical-align:top;border-bottom:1px solid var(--line2)}
.aggrid tbody th small{display:block;color:var(--muted);font-weight:400}
.aggrid td{padding:6px;border-bottom:1px solid var(--line2);border-left:1px solid var(--line2);vertical-align:top}
.cell.empty{height:86px}.place{width:100%;height:100%;min-height:74px;border:1px dashed #d2d2d7;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.place:hover,.place:focus-visible{border-color:var(--brand);color:var(--brand)}.place svg{width:16px;height:16px}
.slot{position:relative;border-radius:8px;padding:8px 34px 8px 10px;min-height:74px;background:#fff;font-size:13.5px;line-height:1.35}
.slot.tent{border:1.5px dashed #9b9ba1}.slot.conf{border:1.5px solid var(--ink)}
.slot .ttl{font-weight:600;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.slot .ttl:hover{color:var(--brand);text-decoration:underline}
.slotm{position:absolute;top:4px;right:2px}
.heat .h-high,.hk.h-high{background:#E3F4EA}.heat .h-mid,.hk.h-mid{background:#FFF4DC}.heat .h-low,.hk.h-low{background:#FCE4E1}.heat .h-none,.hk.h-none{background:#F2F2F4}
.freel{list-style:none;margin:0;padding:0}.freel li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line2)}
.freel .ttl{font-weight:600;color:var(--ink);text-decoration:none}.freel .ttl:hover{color:var(--brand)}
.edl{list-style:none;margin:0 0 10px;padding:0}.edl li{display:flex;gap:8px;align-items:center;padding:4px 0}.edl .in{max-width:260px}.edl input[type=time]{max-width:130px}
.spark{vertical-align:middle;color:var(--brand)}
.spkhead{display:flex;gap:14px;align-items:center;margin:0 0 12px}.spkhead h2{margin:0}
.bigface{width:64px;height:64px;border-radius:50%;background:#EDEDF0;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:20px;overflow:hidden;flex:none}.bigface img{width:100%;height:100%;object-fit:cover}
.bio{white-space:pre-wrap;line-height:1.55;margin:0 0 14px}
.trend{margin:0 0 14px}.trend svg{width:100%;height:auto;max-width:520px}
.dgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 0}
@media (max-width:1100px){.dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.dgrid,.three{grid-template-columns:1fr}}
.pline{list-style:none;margin:0;padding:0;display:flex;gap:6px}.pline li{flex:1;min-width:0}
.pline a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:8px;background:var(--fill);text-decoration:none;color:var(--ink);text-align:center}
.pline a:hover{background:#EDEDF0}.pl-n{font-size:22px;font-weight:300}.pl-t{font-size:11.5px;color:var(--muted);line-height:1.25;overflow-wrap:anywhere}
.gauge{display:flex;gap:14px;align-items:center}.gauge p{margin:0;font-size:14px;line-height:1.5}
.wk{display:flex;align-items:flex-end;gap:4px;height:110px;padding-top:6px}.wkc{flex:1;display:flex;align-items:flex-end;gap:2px;height:100%}
.wkc span{flex:1;border-radius:3px 3px 0 0;min-height:2px}.b1,.k1::before{background:var(--brand)}.b2,.k2::before{background:#5B7DB1}
.wkkey{display:flex;gap:14px;font-size:12px;margin-top:8px}.wkkey span{display:inline-flex;align-items:center;gap:6px}.k1::before,.k2::before{content:"";width:10px;height:10px;border-radius:2px}
.funnel{list-style:none;margin:0;padding:0}.funnel li{display:grid;grid-template-columns:minmax(90px,38%) 1fr 30px;gap:10px;align-items:center;padding:5px 0;font-size:13.5px}
.fl-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl-b{height:10px;background:var(--fill);border-radius:5px;overflow:hidden}.fl-b i{display:block;height:100%;background:var(--brand);border-radius:5px}
.funnel .mono{text-align:right}
.agcard{margin:0 0 14px}.agcard p{margin:8px 0 0;font-size:14px;line-height:1.5}.agcard .btn{margin-top:10px}
.myslot{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--fill);margin:0 0 12px;font-size:14px;line-height:1.45}
.myslot svg{width:20px;height:20px;flex:none;margin-top:1px;color:var(--brand)}.myslot b,.myslot span{display:block}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.spsrch{max-width:320px}
.freel .grow{flex:1;min-width:0}

/* v0.5.0: production line, readiness, drag and drop, changes */
.pl2{margin:0 0 16px}.pl2-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 16px}.pl2-sum{font-size:13px;color:var(--muted)}
.pl2-track{list-style:none;margin:0;padding:0 0 4px;display:flex;gap:0;overflow-x:auto}
.pl2-n{flex:1 0 128px;position:relative;display:flex}
.pl2-n:not(.last)::after{content:"";position:absolute;top:27px;left:calc(50% + 24px);right:calc(-50% + 24px);height:2px;background:#d2d2d7;z-index:0}
.pl2-n.go:not(.last)::after,.pl2-n.warn:not(.last)::after{background:linear-gradient(90deg,var(--brand),#d2d2d7)}
.pl2-b{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 6px 8px;background:none;border:0;font:inherit;color:var(--ink);cursor:pointer;text-align:center;border-radius:10px}
.pl2-b:hover{background:var(--fill)}.pl2-b:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.pl2-ic{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px dashed #c7c7cc;color:#9b9ba1;margin-bottom:6px}
.pl2-ic svg{width:22px;height:22px}
.pl2-n.go .pl2-ic{border:2px solid var(--brand);background:#FBEDEB;color:var(--brand)}.pl2-n.warn .pl2-ic{border:2px solid #C2620A;background:#FFF4E5;color:#C2620A}
.pl2-c{font-size:26px;font-weight:300;line-height:1}.pl2-n.empty .pl2-c{color:#AEAEB2}
.pl2-t{font-size:13px;font-weight:600;line-height:1.25}.pl2-s{font-size:11.5px;color:var(--muted);line-height:1.25}
.pl2-bar{display:flex;width:70%;height:5px;border-radius:3px;background:var(--fill);overflow:hidden;margin-top:6px}
.pl2-bar i{display:block}.pl2-bar .ok,.pl2-key .ok{background:#4CBF86}.pl2-bar .late,.pl2-key .late{background:#D9534F}.pl2-bar .stuck,.pl2-key .stuck{background:#C2620A}
.pl2-w{font-size:11.5px;color:#9a3f12}.pl2-who{display:flex;flex-direction:column;gap:2px;margin-top:6px;font-size:12px;color:var(--ink2);max-width:150px}
.pl2-who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl2-key{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:10px}.pl2-key span{display:inline-flex;align-items:center;gap:6px}.pl2-key i{width:10px;height:10px;border-radius:2px;display:inline-block}
.pl2.compact .pl2-n{flex-basis:104px}
.evready{text-decoration:none;color:var(--ink);display:block}.evready:hover{border-color:#BDBDBD}
.rd{display:grid;grid-template-columns:auto auto;gap:4px 14px;margin:0;font-size:13px}.rd dt{color:var(--muted)}.rd dd{margin:0;text-align:right;font-family:var(--mono)}
.mini2{font-size:12.5px;color:var(--muted);margin:-4px 0 8px}
.wkc.stack{flex-direction:column-reverse;justify-content:flex-start;gap:0}.wkc.stack span{width:100%;flex:none;border-radius:0}.wkc.stack span:last-child{border-radius:3px 3px 0 0}
.late2::before{background:#C2620A!important}.wkc.stack .b2{background:#C2620A}.wkc.stack span{min-height:0}
.funnel.f3 li{grid-template-columns:minmax(90px,34%) 1fr 30px 40px}.funnel .subr .fl-t{padding-left:14px;color:var(--muted)}
.chg{list-style:none;margin:0 0 14px;padding:0;max-height:240px;overflow:auto}.chg li{padding:8px 0;border-bottom:1px solid var(--line2);font-size:14px}.chg li span:last-child{display:block;font-size:13px;color:var(--muted)}
.slot[draggable=true],.freel li[draggable=true]{cursor:grab}.dragging{opacity:.45}.cell.over{background:#FBEDEB;outline:2px dashed var(--brand);outline-offset:-4px}
.dgrip{color:#AEAEB2;cursor:grab;font-size:16px}
.hist{margin-top:12px;font-size:14px}.hist ul{list-style:none;margin:6px 0 0;padding:0}.hist li{padding:6px 0;border-top:1px solid var(--line2);line-height:1.4}.hist li span{display:block;font-size:12.5px}
.sm-sel{height:32px;padding:0 8px;font-size:13px;max-width:150px}
.pl2-w.muted{color:var(--muted)}

/* v0.5.3: LegalOps logo, as in SMP */
.lmark{width:28px;height:28px;flex:none;display:block}.emptyc .lmark.big{width:44px;height:44px;margin:0 auto 14px}
.brand2{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.brand2 .lwm{height:26px;width:auto;display:block}.brand2 b{font-size:20px;font-weight:600}
.sicard .brand.brand2{flex-direction:column;align-items:flex-start;gap:10px}.sicard .brand2 img.lwm{width:auto;height:26px;border-radius:0}
.appname{display:flex;flex-direction:column;line-height:1.15}.appname b{font-size:14px;font-weight:600}.appname small{font-size:11px;color:var(--muted);font-weight:400}.lmark{width:32px;height:32px}

/* v0.5.5: app sub-logo (LegalOps apps), LegalOps logo top right */
.amark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:9px;background:var(--brand);color:#fff;font:700 11px/1 var(--text);letter-spacing:.03em}
.rail-home .appname{font-size:15px;font-weight:600;white-space:nowrap}
.amark.big{width:48px;height:48px;border-radius:12px;font-size:14px;margin:0 auto 14px}
.lo-top{height:20px;width:auto;margin-right:14px;display:block}
@media (max-width:760px){.lo-top{display:none}}
.amrow{display:flex;align-items:center;gap:12px}.sicard .brand2 .amark{width:40px;height:40px;font-size:12px}
svg.amark{background:none;border-radius:0;width:34px;height:34px}svg.amark.big{width:56px;height:56px;margin:0 auto 14px;display:block}.sicard .brand2 svg.amark{width:40px;height:40px}
/* v0.5.7: search, as in SMP */
.gsbtn{display:inline-flex;align-items:center;gap:8px;width:200px;height:36px;padding:0 6px 0 12px;border-radius:999px;border:1px solid #D6D6D6;background:#fff;color:#6E6E73;font:inherit;font-size:14px;cursor:pointer;white-space:nowrap;margin-right:6px}
.gsbtn:hover{border-color:#8E8E93;color:#3A3A3C}.gsbtn svg{width:16px;height:16px;flex:none}.gsbtn span{flex:1;text-align:left}
.gsbtn kbd{font:500 11px/1 var(--mono);color:#6E6E73;border:0;background:none;padding:0 6px}
.gsveil{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.25);display:flex;justify-content:center;align-items:flex-start;padding:max(70px,calc(env(safe-area-inset-top,0px) + 16px)) 12px 12px}
.gsbox{width:min(800px,100%);max-height:min(70vh,640px);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden}
.gsin{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--line)}.gsin svg{width:20px;height:20px;color:var(--muted);flex:none}
.gsin input{flex:1;min-width:0;height:56px;border:0;outline:0;font:inherit;font-size:17px;background:transparent}
.gsin kbd{font:600 11px/1 inherit;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:4px 6px}
.gsres{overflow-y:auto;padding:6px 0 10px}.gshint{margin:14px 18px;font-size:14px;color:var(--muted)}
.gssec{padding:12px 18px 4px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.gssec span{text-transform:none;letter-spacing:0;font-family:var(--text)}
.gsit{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:0;background:none;padding:8px 18px;font:inherit;cursor:pointer;color:inherit}.gsit.on{background:#F4F4F6}
.gsname{font-size:15px;font-weight:500}.gsctx{font-size:13px;color:var(--muted)}
@media (max-width:1100px){.gsbtn{width:160px}}
@media (max-width:760px){.gsbtn{width:auto;padding:0 10px}.gsbtn span,.gsbtn kbd{display:none}}
.prodsum{display:block;text-decoration:none;color:var(--ink);margin:0 0 14px}.prodsum:hover{border-color:#BDBDBD}.ps-row{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;margin-top:8px;font-size:14px;color:var(--muted)}.ps b{font-size:20px;font-weight:400;color:var(--ink);margin-right:2px}.ps.bad b{color:#B03A2E}.ps.warn b{color:#C2620A}.ps-go{margin-left:auto;color:var(--brand)}

/* v0.6.0: UX Standards pass: status colors only for status, accent only for buttons and counts, no legends */
.psn .hv{font-size:30px}.psn.amber .hv{color:#C2620A}.psn.red .hv{color:#B03A2E}
.wkc.stack .mok{background:#4CBF86}.wkc.stack .mlate{background:#C2620A}.wkc.stack span{width:100%;flex:none}
.wk{border-bottom:1px solid var(--line2)}
.wkfoot{display:flex;justify-content:space-between;margin-top:8px;font:500 11px var(--mono);letter-spacing:.06em;color:var(--muted)}
.fl-b i{background:#8E8E93}.funnel .fl-b{background:var(--fill)}
.pl2-n.go .pl2-ic{border:2px solid var(--ink);background:#fff;color:var(--ink)}
.pl2-n.go:not(.last)::after,.pl2-n.warn:not(.last)::after{background:#AEAEB2}
.pl2-w{color:#C2620A}
.chk .bad .ci{color:#B03A2E}
.lchart{display:block;width:100%;height:110px;border-bottom:1px solid var(--line2)}.spark{color:#3ECF8E}
.dlink{display:block;text-decoration:none;color:inherit}.dlink:hover{border-color:#BDBDBD}.funnel.th2 li{grid-template-columns:minmax(0,1fr) 30% 30px;align-items:start}.funnel.th2 .fl-t{white-space:normal;overflow:visible;line-height:1.35}.funnel.th2 .fl-b{margin-top:6px}

/* v0.6.3: compact Themes page */
.themes{display:flex;flex-direction:column;gap:8px}
.card.theme .cb{padding:12px 16px}
.card.theme .th-h{margin:0;align-items:center}
.card.theme .th-nm{font-size:15px;font-weight:600;line-height:1.35}
.th-pr{font-size:13px;margin-top:1px}
.card.theme .subs{margin:6px 0 0 30px;border-top:1px solid var(--line2)}.card.theme .subs.none{display:none}
.card.theme .subs .rrow{padding:5px 0;min-height:0;font-size:14px}
.sub-open{font-size:13px;margin:6px 0 0 30px;text-decoration:none}
.card.theme .addrow{margin:8px 0 0 30px}
.card.theme .th-c{padding-top:0}
/* v0.6.4: the Dashboard's last row always fills the full width */
.dgrid>:last-child:nth-child(3n+1){grid-column:span 3}.dgrid>:last-child:nth-child(3n+2){grid-column:span 2}
@media (max-width:1100px){.dgrid>:last-child:nth-child(n){grid-column:auto}.dgrid>:last-child:nth-child(2n+1){grid-column:span 2}}
@media (max-width:700px){.dgrid>:last-child:nth-child(n){grid-column:auto}}

/* v0.6.5: themes and needs attention run full width under the cards (UX guide: needs attention at the bottom) */
.dwide{margin-top:14px}
.funnel.th2{columns:3 260px;column-gap:36px}.funnel.th2 li{break-inside:avoid}
/* v0.6.6: charts use Supabase green for amounts (UX Standards) */
.fl-b i{background:#3ECF8E}
.crumbs .app{font-weight:600;color:#000}
.apps{display:none}@media (max-width:760px){.appl{display:none}.apps{display:inline}}
/* v0.6.9: About */
.about-md{font-size:16px;line-height:1.65;max-width:68ch}.about-md p{margin:0 0 14px}.about-md p:last-child{margin-bottom:0}
.about-md h3{font-size:18px;font-weight:600;margin:22px 0 8px}.about-md h3:first-child{margin-top:0}
/* v0.7.0: messages, assigned reviewers */
.msgbody{white-space:pre-wrap;line-height:1.6;background:var(--fill);border-radius:10px;padding:14px 16px;margin:0 0 14px}
.revcard{margin-top:16px}.revlist{display:flex;flex-direction:column;gap:2px;margin-top:8px}.revlist .chkrow{gap:10px}
.spk-edit{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:start}.spk-edit .hs{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.spk-edit .bigface{width:96px;height:96px;font-size:28px}.sm-sel{min-width:150px;max-width:none}@media (max-width:700px){.spk-edit{grid-template-columns:1fr}}
.spsrch{height:36px;border:1px solid #D6D6D6;border-radius:8px;padding:0 12px;min-width:240px}
/* v0.7.2: text boxes without a type, and time boxes, look like every other text box */
input:not([type]),input[type=time]{width:100%;border:1px solid #d2d2d7;border-radius:8px;background:#fff;font:15px/1.4 var(--text);color:var(--ink);padding:8px 11px;min-height:40px}
@media (pointer:coarse){input:not([type]),input[type=time]{min-height:44px}}
/* v0.8.0: Admin backups, emails, activity */
.ph-row.sub{margin-bottom:16px}.ph-row.sub .lede{max-width:70ch;margin:0}
.pv{margin:0 0 14px}.pv .msgbody{margin-top:6px}
@media (min-width:761px){.ph-row.sub{flex-wrap:nowrap;align-items:flex-start}}
.ed-row{display:flex;justify-content:flex-end;margin:-28px 0 0}
.spk-nm{display:inline-flex;align-items:center;gap:10px}.spkface{width:32px!important;height:32px!important;font-size:11px!important;flex:none}.spkface img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.ed-row{gap:8px}
.sid{font:500 11px var(--mono);letter-spacing:.04em;color:var(--muted);white-space:nowrap}.sid.big{font-size:12px;color:var(--ink2);margin-right:12px}
#dlg .prose{margin-top:16px;padding-top:14px;border-top:1px solid var(--line2)}
.pl{display:inline-flex;flex-direction:column;vertical-align:top;min-width:0}.pl .who-line{line-height:1.35}.pl-org{display:block;color:var(--muted);font-size:13px;line-height:1.35;margin-top:1px;padding-left:26px}.tbl .pl-org{padding-left:26px}
.spk-nm ~ small.sub{padding-left:48px}
.radar{display:block;width:100%;max-width:360px;margin:4px auto 0;overflow:visible}.rd-l{font:13px var(--text);fill:var(--ink)}.rd-v{font:500 12px var(--mono);fill:var(--muted)}.rd-who{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin-top:6px;font-size:14px;color:var(--ink2)}.rd-gap{display:flex;align-items:center;gap:6px;justify-content:center;margin:10px 0 0;font-size:13px;color:#B03A2E}
@media (pointer:coarse){.seg .sc{min-height:44px;min-width:44px}}
/* v0.9.9: Analyzer */
.az-ch li{grid-template-columns:minmax(0,1.2fr) 2fr 56px}
.azsort{border:0;background:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.azsort.on{color:var(--ink)}
.az-t td:first-child{min-width:180px}

/* v0.9.12: Analyzer as a dashboard of cards */
.az-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:1100px){.az-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.az-grid{grid-template-columns:1fr}}
.az-card{display:block;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:0;width:100%}.az-card:hover{border-color:#BDBDBD}
.az-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.az-n{font-size:11px;color:var(--muted)}
.az-card .az-ch li{grid-template-columns:minmax(0,1fr) 38% 44px}.az-more{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
.az-met{flex-wrap:wrap}.az-met .sc{width:auto;padding:0 12px;font-size:13px}
.az-bar{flex-wrap:wrap;gap:10px}
.az-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;height:100%}.az-card .cb{width:100%;box-sizing:border-box}
/* v1.0.0: Analyzer insights */
.az-ins .ct{margin-bottom:6px}.az-fl{list-style:none;margin:0;padding:0}.az-fl li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-top:1px solid var(--line2);font-size:15px}.az-fl li:first-child{border-top:0}
.az-go{white-space:nowrap;font-size:13px}
.az-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}@media (max-width:900px){.az-two{grid-template-columns:1fr}}
.az-sc{display:block;width:100%;max-width:420px}
.az-fn td small,.az-x td small,.tbl td small{color:var(--muted);font-size:11px}
.az-drop{color:#B03A2E!important}.az-amber{color:#C2620A!important}.az-fn .az-all td{font-weight:600}
.az-big{font-size:30px;font-weight:300;margin-right:4px}.az-warn{display:flex;align-items:center;gap:6px;color:#B03A2E;font-size:14px}
.az-xh{flex-wrap:wrap}.az-xs{display:flex;flex-wrap:wrap;gap:8px}.az-x td,.az-x th{text-align:center}.az-x td:first-child,.az-x th:first-child{text-align:left}
.tabs+.az-ins,.tabs+.card{margin-top:4px}
.az-d{display:inline-block;margin-left:6px;font:500 11px var(--mono);color:var(--ink2);white-space:nowrap}.az-d.off{color:#C7C7CC;letter-spacing:-1px}.headline .az-d{display:block;margin:2px 0 0}
.az-card .az-ch li{grid-template-columns:minmax(0,1fr) 34% 84px}.az-ch .fl-n{text-align:right;white-space:nowrap}
/* v1.0.2: Analyzer controls and headline span the full width, in even columns */
.az-bar{display:flex;flex-wrap:nowrap;align-items:stretch;gap:10px;width:100%}
.az-bar .fsel2{flex:none}
.az-bar .az-met{flex:1 1 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.az-bar .az-met .sc{width:100%;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.az-hl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 16px;width:100%}
@media (max-width:1100px){.az-bar{flex-wrap:wrap}.az-bar .az-met{flex-basis:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.az-hl{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.az-bar .az-met,.az-hl{grid-template-columns:repeat(2,minmax(0,1fr))}.az-bar .fsel2{flex:1 1 100%}}
.az-bar{flex-wrap:wrap}.az-bar .az-met{flex:1 1 100%;gap:12px}.az-hl{gap:8px 12px}
.az-bar .az-met .sc{text-overflow:clip}
/* v1.0.3: agendas with many rooms stay readable: columns at least 160px (the grid scrolls inside its card) and titles wrap between words */
table.aggrid{table-layout:fixed;width:max-content;min-width:100%}table.aggrid td[data-cslot],table.aggrid thead th:not(:first-child){width:180px;min-width:180px}
.slot .ttl{word-break:normal;overflow-wrap:break-word;hyphens:auto;padding-right:34px;display:block}
.slot .sm2{display:block;overflow-wrap:anywhere}.slot .who-line{white-space:normal}
.seg:has(.pill){flex-wrap:wrap;max-width:100%}
/* v1.0.4: event IDs, badges and list order */
.evb{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;color:#fff;flex:none;line-height:1}
.evb b{font:700 12px var(--text);letter-spacing:.02em}.evb i{font:500 10px var(--mono);font-style:normal;opacity:.85;margin-top:3px}
.evb.big{width:52px;height:52px}.evb.big b{font-size:14px}
.evhead{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}.evhead .ct{margin:0 0 2px}.evloc{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.evtitle{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.evtitle .pt{margin:0}.evid{margin-left:2px}
h2.sh{font-size:15px;font-weight:600;margin:6px 0 12px;color:var(--ink2)}
.evcard .evnums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.evgrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.evcard .evnums span{display:flex;flex-direction:column;font-size:13px;color:var(--muted)}.evcard .evnums b{font-size:22px;font-weight:400;color:var(--ink)}
/* v1.0.5: event type */
.evtype{display:inline-flex;gap:12px;align-items:center;font-size:13px;color:var(--ink2);margin:0 0 10px;border:0;background:none;padding:0}
.evtype.edit{border:1px solid var(--line);border-radius:8px;padding:5px 10px;margin:0;cursor:pointer;font:inherit;font-size:13px}.evtype.edit:hover{border-color:#BDBDBD}
.evt-i{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.evt-i svg{width:16px;height:16px}
.evseg{display:flex;gap:8px;flex-wrap:wrap}.evseg .sc{width:auto;padding:0 14px;display:inline-flex;align-items:center;gap:6px}.evseg .sc svg{width:16px;height:16px}
.evtype-fields{margin-top:4px}
/* v1.1.0: My profile and Speaker view */
.svbtn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:500 13px var(--text);cursor:pointer;margin-right:8px}
.svbtn svg{width:16px;height:16px}.svbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:760px){.svbtn span{display:none}.svbtn{padding:0 10px}}
.svbanner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#FFF7E6;border:1px solid #F1D9A6;border-radius:12px;padding:10px 14px;margin:0 0 18px;font-size:14px}
.svbanner svg{width:18px;height:18px;flex:none}.svbanner span{flex:1 1 260px}
.sv-ro{opacity:.98}.sv-ro button,.sv-ro input,.sv-ro textarea,.sv-ro select,.sv-ro label{pointer-events:none}
.svlist{display:flex;flex-direction:column;max-height:340px;overflow:auto;border:1px solid var(--line2);border-radius:10px}
.svrow{display:block;text-align:left;border:0;border-bottom:1px solid var(--line2);background:#fff;padding:10px 12px;cursor:pointer;font:inherit}.svrow:hover{background:var(--fill)}
/* v1.1.1: Speaker view switch and bar, as in AIF's Member view */
.mvswitch{display:inline-flex;align-items:center;gap:8px;background:none;border:0;height:36px;padding:0 8px;margin-right:4px;font:500 14px/1 var(--text);color:#3A3A3C;cursor:pointer;white-space:nowrap;border-radius:8px}
.mvswitch:hover{background:var(--fill)}
.mvtrack{position:relative;width:34px;height:20px;border-radius:999px;background:#cfcec6;transition:background .15s ease;flex:none}
.mvtrack i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s ease}
.mvswitch[aria-checked=true]{color:var(--brand)}.mvswitch[aria-checked=true] .mvtrack{background:var(--brand)}.mvswitch[aria-checked=true] .mvtrack i{left:16px}
@media (max-width:760px){.mvswitch .mvlab{display:none}.mvswitch{padding:0 4px}}
@media (pointer:coarse){.mvswitch{height:44px}}
.svbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--fill);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 16px;margin:0 0 18px;font-size:14px}
.svbar svg{width:18px;height:18px;flex:none}.svbar span{flex:1 1 260px}
.svbar .pvx{border:1px solid #D6D6D6;background:#fff;color:var(--ink);border-radius:8px;height:32px;display:inline-flex;align-items:center;padding:0 12px;font:500 13.5px var(--text);cursor:pointer}.svbar .pvx:hover{border-color:#8E8E93}
/* v1.2.0: speaker page sections */
.spk-sh{display:flex;align-items:baseline;gap:8px;margin:26px 0 10px;font-size:17px;color:var(--ink)}.spk-sh .mono{font-size:12px;color:var(--muted)}
.spk-empty{margin:0 0 6px;color:var(--muted);font-size:15px;padding:14px 16px;border:1px dashed var(--line);border-radius:12px}
.spk-todo{background:var(--fill);border-radius:12px;padding:12px 16px;margin:0 0 6px;font-size:15px}.spk-todo ul{margin:6px 0 0;padding-left:18px}.spk-todo li{margin:3px 0}.spk-todo p{margin:4px 0 0;color:var(--muted)}
.spk-past{list-style:none;margin:0;padding:0}.spk-past li{display:flex;gap:14px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line2)}.spk-past li:first-child{border-top:0}
#newIdea{margin-top:10px}
.spk-sh{margin:26px 0 10px}
.spk-pitchlink{margin:14px 0 0;font-size:14px}
/* v1.2.3: speakers' Ideas and Pitches pages */
.spk-list{list-style:none;margin:0;padding:0}.spk-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line2);flex-wrap:wrap}.spk-list li:first-child{border-top:0}
.spk-list .grow{flex:1 1 220px;min-width:0}.spk-list b{display:block;font-weight:600}.spk-list .muted{font-size:13px}.spk-go{font-size:14px;white-space:nowrap}
/* v1.2.5: speaker production line */
.sl-card{margin:0 0 6px}.sl-wrap{overflow-x:auto;margin-top:10px}
.sl{display:grid;gap:10px;min-width:max-content}
.sl-col{display:flex;flex-direction:column;gap:8px;min-width:140px}
.sl-h{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:2px solid var(--line2)}
.sl-col.has .sl-h{border-bottom-color:#3ECF8E}
.sl-dot{width:8px;height:8px;border-radius:50%;background:#D1D1D6;flex:none}.sl-col.has .sl-dot{background:#3ECF8E}
.sl-n{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.sl-col.has .sl-n{color:var(--ink)}
.sl-chip{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;font-size:13px}
.sl-chip:hover{border-color:#BDBDBD}.sl-chip b{display:block;font-weight:600;line-height:1.3;margin-bottom:2px}.sl-chip span{color:var(--muted);font-size:12px}
.sl-chip.late span{color:#C2620A}.sl-chip.done span{color:#2E8B57}
.sl-empty{color:#C7C7CC;font-size:13px;padding:2px 0}
.sl-card{margin:14px 0 6px}.sl-col{min-width:104px}.sl{min-width:0}.sl-chip{padding:7px 8px;font-size:12.5px}.sl-chip b{font-size:12.5px}.sl-n{font-size:10px;letter-spacing:.04em}
.sl{gap:8px}.sl-col{min-width:0}.sl-n{overflow-wrap:anywhere}
/* v1.3.0: speakers' Messages */
.smsg{list-style:none;margin:0;padding:0}.smsg li{border-top:1px solid var(--line2)}.smsg li:first-child{border-top:0}
.smsg-h{display:flex;align-items:baseline;gap:12px;width:100%;text-align:left;border:0;background:none;padding:12px 2px;font:inherit;color:inherit;cursor:pointer}
.smsg-h .grow{flex:1;min-width:0}.smsg-h b{display:block;font-weight:500}.smsg-h .muted{display:block;font-size:13px}
.smsg li.new .smsg-h b{font-weight:700}.smsg li.new .smsg-h b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand);margin-right:8px;vertical-align:1px}
.smsg-d{font-size:11px;color:var(--muted);white-space:nowrap}
.smsg-b{white-space:pre-wrap;line-height:1.6;background:var(--fill);border-radius:10px;padding:14px 16px;margin:0 0 14px;font-size:14px}
.smsg-l{white-space:normal;margin:10px 0 0;font-size:14px}
/* v1.4.0: LinkedIn links and profile nudge */
.li-ic{display:inline-flex;align-items:center;margin-left:6px;vertical-align:-2px;line-height:0}.li-ic:hover{opacity:.8}
.prof-nudge{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid #F1D9A6;background:#FFF7E6;border-radius:12px;padding:12px 16px;margin:0 0 14px}
.prof-nudge div{flex:1 1 260px}.prof-nudge b{display:block;margin-bottom:2px}.prof-nudge span{font-size:14px;color:var(--ink2)}
/* v1.4.2: when a dialog has many actions, they take their own row and Cancel/Save stay together on the right */
.dbtns:has(.left > :nth-child(3)) .left{flex:1 1 100%;margin-bottom:4px}
