:root{--logo-ground: #24292E;--brand-gradient: linear-gradient(90deg, #F57C00, #C2185B, #7B1FA2, #1565C0);--magenta: #C2185B;--purple: #7B1FA2;--orange: #F57C00;--frame: #1A1D24;--frame-2: #22262F;--frame-ink: #F8FAFC;--frame-muted: #94A3B8;--frame-rule: rgba(255, 255, 255, .08);--ground: #F1F5F9;--surface: #FFFFFF;--surface-2: #F8FAFC;--surface-3: #E2E8F0;--ink: #1E293B;--ink-2: #334155;--muted: #64748B;--faint: #94A3B8;--rule: #E2E8F0;--rule-strong: #CBD5E1;--accent: #1565C0;--accent-ink: #0D47A1;--accent-soft: rgba(21, 101, 192, .1);--ok: #2E7D32;--ok-soft: #E8F5E9;--warn: #E65100;--warn-soft: #FFF3E0;--danger: #C62828;--danger-soft: #FDECEA;--info: #1565C0;--info-soft: #E3F2FD;--radius: 8px;--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 28px -20px rgba(15, 23, 42, .3);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent-ink);text-underline-offset:2px}:where(:focus-visible){outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.tnum{font-variant-numeric:tabular-nums}.shell{min-height:100%;display:flex;flex-direction:column}.apphead{position:sticky;top:0;z-index:40;height:64px;flex:none;display:flex;align-items:center;gap:14px;padding:0 20px 0 0;background:#22262ff5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--frame-rule);color:var(--frame-ink)}.apphead:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background-image:var(--brand-gradient)}.apphead .spacer{flex:1}.apphead :focus-visible{outline-color:#90caf9}.apphead-brand{width:248px;flex:none;height:100%;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:0 20px;text-decoration:none}.apphead-brand img{height:26px;width:auto;align-self:flex-start;display:block}.apphead-brand .product{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--frame-muted);white-space:nowrap}.headsearch{position:relative;width:420px;display:flex;align-items:center;color:var(--frame-muted)}.headsearch svg{position:absolute;left:14px;pointer-events:none}.headsearch input{border-radius:9999px;padding:8px 16px 8px 38px;font-size:13.5px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--frame-ink)}.headsearch input::placeholder{color:var(--frame-muted)}.headsearch input:focus{background:#ffffff1a;border-color:#64b5f6;box-shadow:0 0 0 3px #64b5f640}.headbtn{position:relative;width:38px;height:38px;padding:0;border-radius:9999px;display:inline-grid;place-items:center;border:0;background:transparent;color:var(--frame-muted);text-decoration:none}.headbtn:hover:not(:disabled),a.headbtn:hover{background:#ffffff14;color:var(--frame-ink);border:0}.bellpill{position:absolute;top:2px;left:21px;min-width:18px;height:18px;padding:0 5px;border-radius:9999px;background:var(--magenta);color:#fff;font-size:10.5px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--frame-2)}.headmenu{position:relative}.avatar{width:36px;height:36px;padding:0;border-radius:50%;display:inline-grid;place-items:center;background:#1565c0;color:#fff;border:2px solid rgba(255,255,255,.15);font-size:12.5px;font-weight:700;letter-spacing:.02em}.avatar:hover:not(:disabled){background:#0d47a1;color:#fff;border-color:#ffffff59}.popover{position:absolute;right:0;top:calc(100% + 10px);z-index:50;min-width:240px;max-width:300px;background:#fff;color:var(--ink);border:1px solid var(--rule);border-radius:12px;box-shadow:0 10px 25px -5px #0000002e,0 8px 10px -6px #0000001a;padding:8px;display:flex;flex-direction:column;gap:2px}.popover-title{font-size:12px;font-weight:600;color:var(--muted);padding:6px 10px 4px}.popover a,.popover-item{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:500;text-decoration:none}.popover a:hover,.popover-item:hover:not(:disabled){background:#f1f5f9;color:var(--ink);border:0}.popover-note{font-size:12px;color:var(--muted);padding:8px 10px 4px;border-top:1px solid var(--rule);margin-top:4px}.popover-account{padding:12px}.popover-account .who{font-weight:600;padding:0 2px}.popover-account .small{padding:0 2px}.popover-sep{height:1px;background:var(--rule);margin:8px 0 4px}.app{display:grid;grid-template-columns:248px minmax(0,1fr);flex:1}.sidebar{position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;background:var(--frame);border-right:1px solid var(--frame-rule);padding:16px 12px 24px;display:flex;flex-direction:column;gap:4px}.sidebar :focus-visible{outline-color:#90caf9}.sidenav{display:flex;flex-direction:column;gap:2px}.sidenav a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;color:#94a3b8;text-decoration:none;font-size:14px;font-weight:500;position:relative}.sidenav a:hover{background:#ffffff0d;color:#fff}.sidenav a.active{background:#1565c038;color:#fff;font-weight:600}.sidenav a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:#1565c0}.sidenav .ico{width:16px;text-align:center;opacity:.9}.navbadge{margin-left:auto;min-width:20px;padding:1px 7px;border-radius:9999px;background:var(--magenta);color:#fff;font-size:10.5px;font-weight:700;line-height:1.6;text-align:center}.hit{display:block;padding:9px 10px;border-radius:7px;text-decoration:none;color:var(--ink);border:1px solid transparent}.hit:hover{background:var(--surface-2);border-color:var(--rule);text-decoration:none}.navgroup{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#64748b;padding:18px 14px 6px;margin-top:6px;border-top:1px solid var(--frame-rule)}.callout-gap{border-left:3px solid var(--warn)}.soa-block{border:1px solid var(--rule);border-radius:7px;background:var(--surface-2);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.soa-head{font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.soa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 20px;margin:0}.soa-grid dt{font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase;margin-bottom:2px}.soa-block label{gap:4px}.soa-block textarea{min-height:48px}.soa-grid dd{margin:0;font-size:13px;line-height:1.5;color:var(--ink-2)}.callout-excluded{background:var(--surface-2);border:1px solid var(--rule);border-left:3px solid var(--rule-strong);border-radius:0 6px 6px 0;padding:10px 13px;font-size:13.5px;color:var(--ink-2)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:64px;z-index:20;background:var(--surface);border-bottom:1px solid var(--rule);padding:14px clamp(16px,3vw,32px);display:flex;gap:14px;align-items:center;flex-wrap:wrap}.topbar h1{font-size:20px;margin:0;font-weight:600;letter-spacing:-.015em}.topbar .spacer{flex:1}.page{padding:24px clamp(16px,3vw,32px) 72px;display:flex;flex-direction:column;gap:22px}.card{background:var(--surface);border:1px solid var(--rule);border-radius:12px;box-shadow:0 1px 2px #0f172a0a}.card-pad{padding:18px 20px}.card-head{padding:13px 20px;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.card-head h2{font-size:15px;margin:0;font-weight:600}.card-head .spacer{flex:1}button,.btn{font:inherit;font-size:14px;font-weight:600;padding:8px 14px;border-radius:8px;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:background .12s,border-color .12s,color .12s}:where(button:hover:not(:disabled),.btn:hover){background:var(--accent-soft);border-color:var(--accent-ink);color:var(--accent-ink)}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary,button.primary{background:#1565c0;border-color:#1565c0;color:#fff}.btn-primary:hover,button.primary:hover:not(:disabled){background:#0d47a1;border-color:#0d47a1;color:#fff}.btn-primary:active,button.primary:active:not(:disabled){background:#0a3875;border-color:#0a3875}button.danger{color:var(--danger);border-color:var(--danger);background:transparent}button.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}button.ghost,.btn.ghost{border-color:transparent;background:transparent;padding:5px 8px;color:var(--ink-2)}button.ghost:hover:not(:disabled),.btn.ghost:hover{background:var(--surface-2);border-color:transparent;color:var(--ink)}button.sm,.btn.sm{font-size:12.5px;padding:4px 10px}input,select,textarea{font:inherit;font-size:14px;padding:10px 14px;border-radius:8px;border:1px solid var(--rule-strong);background:#fff;color:var(--ink);width:100%;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{outline:none;border-color:#1565c0;box-shadow:0 0 0 3px #1565c02e}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted)}input::placeholder,textarea::placeholder{color:var(--faint)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2364748B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}input[type=checkbox],input[type=radio]{width:auto;accent-color:#1565C0;box-shadow:none}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}textarea{resize:vertical;min-height:76px}label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#475569;font-weight:600}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 10px;border-radius:9999px;white-space:nowrap;letter-spacing:.01em}.badge.draft{background:var(--surface-3);color:var(--muted)}.badge.in_review{background:var(--warn-soft);color:var(--warn)}.badge.approved{background:var(--ok-soft);color:var(--ok)}.badge.retired{background:var(--surface-3);color:var(--faint)}.badge.overdue{background:var(--danger-soft);color:var(--danger)}.badge.due_soon{background:var(--warn-soft);color:var(--warn)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.unset{background:var(--surface-3);color:var(--faint)}.badge.excluded{background:var(--surface-3);color:var(--muted)}.badge.warn-badge{background:var(--warn-soft);color:var(--warn)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.new{background:#fce4ec;color:var(--magenta)}.tag{font-size:11.5px;padding:2px 8px;border-radius:4px;background:var(--surface-2);color:var(--muted);border:1px solid var(--rule)}.chips{display:flex;gap:6px;flex-wrap:wrap}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--rule);background:var(--surface-2);white-space:nowrap}td{padding:11px 14px;border-bottom:1px solid var(--rule);vertical-align:top}tbody tr:last-child td{border-bottom:0}.tablewrap>table:not(.matrix)>tbody>tr:hover>td{background:#f8fafc}tbody tr.clickable:hover{cursor:pointer}.tablewrap{overflow-x:auto}mark{background:var(--warn-soft);color:var(--ink);padding:0 2px;border-radius:2px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px #0f172a0a}.stat:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background-image:var(--brand-gradient)}.stat .lbl{font-size:12px;font-weight:600;color:#64748b}.stat .val{font-size:24px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;margin-top:4px}.stat .sub{font-size:12.5px;color:var(--muted)}.stat.alert .val{color:var(--danger)}.stat.warn .val{color:var(--warn)}a.stat{display:block;color:inherit;text-decoration:none;transition:border-color .12s,background .12s}a.stat:hover{border-color:var(--accent);background:var(--surface-2)}a.stat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a.stat .sub u{text-decoration:none}a.stat:hover .sub{color:var(--ink)}a.theme-row{display:flex;flex-direction:column;color:inherit;text-decoration:none;padding:4px 6px;margin:-4px -6px;border-radius:6px}a.theme-row:hover{background:var(--surface-2)}a.theme-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal{display:flex;flex-direction:column}.cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-head{border-bottom:1px solid var(--rule)}.cal-name{font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:7px 9px}.cal-day{min-height:92px;padding:5px 6px 7px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:3px;background:var(--surface)}.cal-row .cal-day:last-child{border-right:0}.cal-day.other{background:var(--surface-2)}.cal-day.other .cal-num{color:var(--faint)}.cal-day.has{cursor:pointer}.cal-day.has:hover{background:var(--surface-2)}.cal-day.on{box-shadow:inset 0 0 0 2px var(--accent)}.cal-num{font-size:12px;color:var(--muted);font-weight:500}.cal-day.today .cal-num{color:var(--accent);font-weight:700}.cal-chip{font-size:11px;line-height:1.35;padding:2px 5px;border-radius:4px;background:var(--surface-3);color:var(--ink-2);border-left:3px solid var(--rule-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-chip.soon{background:var(--warn-soft);color:var(--warn);border-left-color:var(--warn)}.cal-chip.late{background:var(--danger-soft);color:var(--danger);border-left-color:var(--danger)}.cal-kind{font-weight:600}.cal-more{font-size:10.5px;color:var(--muted);padding-left:5px}.cal-key{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--surface-3);border-left:3px solid var(--rule-strong);margin-right:5px;vertical-align:-1px}.cal-key.soon{background:var(--warn-soft);border-left-color:var(--warn)}.cal-key.late{background:var(--danger-soft);border-left-color:var(--danger)}button.cal-chip{display:block;width:100%;text-align:left;border:0;border-left:3px solid var(--rule-strong);min-height:0;font:inherit;font-size:11px;cursor:pointer}button.cal-chip:hover:not(:disabled){color:inherit;filter:brightness(.97)}button.cal-chip.full{white-space:normal}.cal-day.tall{min-height:340px;overflow:auto}.cal-line{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;border:1px solid var(--rule);border-radius:6px;padding:8px 10px;background:var(--surface);cursor:pointer;font:inherit;color:var(--ink)}.cal-line:hover{background:var(--surface-2);color:var(--ink)}.cal-context{background:var(--surface-2);border:1px solid var(--rule);border-radius:6px;padding:9px 11px;color:var(--ink-2)}.dash-cols{display:grid;grid-template-columns:2fr 1fr;gap:22px;align-items:start}.dash-main,.dash-side{display:flex;flex-direction:column;gap:22px;min-width:0}.mini-cal{display:flex;flex-direction:column;gap:2px}.mini-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.mini-name{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);text-align:center;padding-bottom:2px}.mini-day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0 4px;border-radius:5px;color:var(--ink-2);text-decoration:none}.mini-day:hover{text-decoration:none}.mini-day.has{cursor:pointer}.mini-day.has:hover{background:var(--surface-2)}.mini-day.today{box-shadow:inset 0 0 0 1.5px var(--accent)}.mini-day.today .mini-num{color:var(--accent);font-weight:700}.mini-num{font-size:11.5px;line-height:1}.mini-dot{width:5px;height:5px;border-radius:50%;background:transparent}.mini-dot.later{background:var(--rule-strong)}.mini-dot.soon{background:var(--warn)}.mini-dot.late{background:var(--danger)}.mini-item{display:flex;align-items:baseline;gap:8px;padding:5px 6px;border-radius:5px;font-size:13px;color:var(--ink-2);text-decoration:none}.mini-item:hover{background:var(--surface-2)}.mini-when{font-size:10.5px;color:var(--muted);min-width:52px}.mini-when.soon{color:var(--warn)}.mini-when.late{color:var(--danger)}@media(max-width:1100px){.dash-cols{grid-template-columns:1fr}}@media(max-width:900px){.cal-day{min-height:64px}.cal-chip{font-size:10px}}label.choice{display:block;border:1px solid var(--rule);border-radius:7px;padding:11px 13px;background:var(--surface-2);cursor:pointer;color:var(--ink);transition:border-color .12s,box-shadow .12s}label.choice:hover{border-color:var(--rule-strong)}label.choice.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}label.choice .small{font-weight:400;line-height:1.5}button.stat.as-tile{display:block;width:100%;text-align:left;font:inherit;cursor:pointer;color:var(--ink);transition:border-color .12s,background .12s}button.stat.as-tile:hover{border-color:var(--accent);background:var(--surface-2)}button.stat.as-tile.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.stat .val .bad{color:var(--danger)}.stat .val .soon{color:var(--warn)}.stat .val .ok{color:var(--ink)}.stat .val .sep{color:var(--faint);font-weight:400;margin:0 6px}.stat .val .unit{font-size:13px;font-weight:500;color:var(--muted);margin-left:4px}.sub .bad{color:var(--danger);font-weight:500}.sub .soon{color:var(--warn);font-weight:500}.suggestions{border:1px solid var(--accent);background:var(--accent-soft);border-radius:var(--radius);padding:11px 13px}.suggestions strong,.suggestions .row>.small{color:var(--accent-ink)}button.suggestion{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;border:1px solid var(--rule);background:var(--surface);font-size:13px}button.suggestion:hover{border-color:var(--accent)}button.suggestion:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.suggestion .grow{flex:1 1 200px;font-weight:500}button.suggestion .add{color:var(--accent-ink);font-weight:500;white-space:nowrap}button.suggestion .reason{flex-basis:100%}:root{--risk-low: #FAE6E3;--risk-low-ink: #1B2027;--risk-medium: #F2B8AE;--risk-medium-ink: #1B2027;--risk-high: #D9705F;--risk-high-ink: #1B2027;--risk-critical: #BE3A2B;--risk-critical-ink: #FFFFFF}.matrix{border-collapse:separate;border-spacing:2px;width:100%}.matrix th{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:500;padding:4px 6px;text-align:center;white-space:nowrap}.matrix th.rowhead{text-align:right;width:92px}.matrix td{padding:0;border-radius:6px;text-align:center;vertical-align:middle;height:56px;position:relative}.matrix td button{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%;height:100%;border-radius:6px;cursor:pointer;font-variant-numeric:tabular-nums}.matrix td button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.matrix td button:hover{box-shadow:inset 0 0 0 2px var(--ink);color:inherit}.matrix td button,.matrix td button:hover .cell-count{color:inherit}.matrix .cell-count{font-size:17px;font-weight:600;line-height:1}.matrix .cell-score{font-size:10px;opacity:.75}.matrix td.empty button{cursor:default}.matrix td.empty button:hover{box-shadow:none}.matrix td.empty .cell-score{opacity:.45}.matrix td.empty{opacity:.55}.matrix td.on button{box-shadow:inset 0 0 0 2px var(--ink)}.lvl-low{background:var(--risk-low);color:var(--risk-low-ink)}.lvl-medium{background:var(--risk-medium);color:var(--risk-medium-ink)}.lvl-high{background:var(--risk-high);color:var(--risk-high-ink)}.lvl-critical{background:var(--risk-critical);color:var(--risk-critical-ink)}.risk-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.risk-legend .key{display:inline-flex;align-items:center;gap:6px;font-size:12px}.risk-legend .swatch{width:14px;height:14px;border-radius:3px;border:1px solid var(--rule)}.flow{position:relative;padding-left:20px}.flow:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--rule)}.flow .step{position:relative;padding-bottom:14px}.flow .step:before{content:"";position:absolute;left:-19px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--rule-strong)}.flow .step.done:before{background:var(--accent);border-color:var(--accent)}.viewer{display:block;width:100%;height:74vh;min-height:320px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface)}.viewer-image{display:grid;place-items:center;overflow:auto;padding:12px}.viewer-image img{max-width:100%;max-height:100%;object-fit:contain}.viewer-text{margin:0;padding:16px 18px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6}.bar{height:7px;border-radius:4px;background:var(--surface-3);overflow:hidden}.bar i{display:block;height:100%;background:var(--brand-gradient)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12.5px}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:6px;padding:9px 13px;font-size:13.5px}.notice{background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent);border-radius:6px;padding:9px 13px;font-size:13.5px}.notice.warn{border-color:var(--warn);background:var(--warn-soft);color:var(--ink)}.notice.warn a{color:var(--ink)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.toolbar .grow{flex:1 1 240px;min-width:180px}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--ground)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:30px;box-shadow:var(--shadow)}.login-card{padding:0;overflow:hidden}.login-head{background:var(--logo-ground);padding:26px 30px 22px}.login-head img{width:190px;max-width:100%;height:auto;display:block}.login-body{padding:26px 30px 30px;display:flex;flex-direction:column;gap:14px}.login-card h1{font-size:20px;margin:0 0 3px;letter-spacing:-.02em}.login-card .kicker{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:drawer-fade .25s ease-out}.modal.drawer{position:absolute;top:0;right:0;bottom:0;width:480px;max-width:100vw;background:var(--surface);border-left:1px solid var(--rule);box-shadow:-24px 0 48px -12px #0f172a47;display:flex;flex-direction:column;overflow:hidden;animation:drawer-in .25s cubic-bezier(.16,1,.3,1)}.modal.drawer.wide{width:640px}.modal.drawer.xl{width:min(1100px,92vw)}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}.modal h2{margin:0;font-size:17px;font-weight:650}.modal-top{flex:0 0 auto;padding:18px 22px;background:var(--surface)}.drawer-close{width:34px;height:34px;padding:0;justify-content:center;border-radius:9999px}.modal-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:20px 22px}.modal-body>*{flex:0 0 auto}.modal-body .tablewrap{max-width:100%}.modal-foot{flex:0 0 auto;border-bottom:0;border-top:1px solid var(--rule);background:var(--surface-2);padding:14px 22px}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal.drawer{animation:none}}@media(max-width:900px){.viewer{height:64vh;min-height:240px}.picker{max-height:200px}}.picker{border:1px solid var(--rule);border-radius:6px;max-height:320px;overflow-y:auto;background:var(--surface)}.picker .grp{position:sticky;top:0;background:var(--surface-2);padding:6px 12px;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);border-bottom:1px solid var(--rule)}.picker .opt{display:flex;flex-direction:row;gap:9px;padding:6px 12px;align-items:flex-start;font-size:13.5px;cursor:pointer}.picker .opt:hover{background:var(--surface-2)}.picker .opt input{width:auto;margin-top:3px}.picker .opt .ref{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--muted);min-width:58px}@media(max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--rule)}.sidenav{flex-direction:row;flex-wrap:wrap}.sidefoot{margin-top:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.dropzone{border:1px dashed var(--line);transition:border-color .12s,background .12s}.dropzone:hover{border-color:var(--brand)}.dropzone.dragging{border-color:var(--brand);background:var(--brand-tint, rgba(0,0,0,.03))}.mrm-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;align-items:start}.mrm-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.mrm-fig{background:var(--surface-2);border:1px solid var(--rule);border-radius:7px;padding:7px 9px}.mrm-fig .lbl{font-size:11px;color:var(--muted);line-height:1.3}.mrm-fig .val{font-size:14px;font-weight:650;margin-top:2px}.mrm-kv{display:flex;justify-content:space-between;gap:10px}.form-section{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--rule);padding-top:14px;margin-top:6px}.form-section:first-child{border-top:0;padding-top:0;margin-top:0}.form-section .clause{font-family:IBM Plex Mono,monospace;font-weight:500;letter-spacing:0;text-transform:none;color:var(--faint);margin-left:6px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}label.check{flex-direction:row;gap:9px;align-items:flex-start;font-weight:400;color:var(--ink)}label.check input{width:auto;flex:none;margin-top:3px}.mrm-top{row-gap:10px;padding-bottom:0}.mrm-title{display:flex;align-items:baseline;gap:10px;min-width:0}.mrm-title h1{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mrm-title .mono{font-size:13px}.mrm-progress{display:flex;flex-direction:column;gap:4px;width:150px}.mrm-progress .bar{height:5px}.mrm-tabs{flex-basis:100%;display:flex;gap:2px;margin-top:2px}.mrm-tabs button{border:0;border-radius:0;background:transparent;color:var(--muted);padding:9px 14px 11px;border-bottom:2px solid transparent;font-weight:550}.mrm-tabs button:hover:not(:disabled){color:var(--ink);border-color:transparent;border-bottom-color:var(--rule-strong)}.mrm-tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.mrm-tab-n{margin-left:7px;font-size:11.5px;padding:1px 7px;border-radius:10px;background:var(--surface-2);color:var(--muted)}.mrm-tabs button.on .mrm-tab-n{background:var(--accent-soft);color:var(--accent-ink)}.mrm-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.mrm-main{display:flex;flex-direction:column;gap:16px;min-width:0}.mrm-aside{position:sticky;top:196px;display:flex;flex-direction:column;gap:12px}.mrm-panel{display:flex;flex-direction:column;gap:3px;text-align:left;width:100%;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px;color:var(--ink);font:inherit}button.mrm-panel.as-button{cursor:pointer;align-items:stretch;justify-content:flex-start}button.mrm-panel.as-button:hover:not(:disabled){border-color:var(--rule-strong);background:var(--surface-2);color:var(--ink)}.mrm-panel-lbl{font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.mrm-big{font-size:24px;font-weight:650;line-height:1.1}.mrm-big .muted{font-size:16px;font-weight:500}.bad{color:var(--danger)}.mrm-cover-bar{display:flex;gap:3px;margin:6px 0 4px}.mrm-cover-bar i{flex:1;height:6px;border-radius:2px;background:var(--surface-3)}.mrm-cover-bar i.addressed{background:var(--ok)}.mrm-cover-bar i.not_covered{background:var(--warn)}.mrm-cover-bar i.missing{background:var(--danger)}.mrm-cover-line{display:grid;grid-template-columns:62px minmax(0,1fr);gap:2px 8px;align-items:baseline}.mrm-cover-line .badge{grid-column:2;justify-self:start}.mrm-faces{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.mrm-section{overflow:hidden}.mrm-group{padding:9px 20px;background:var(--surface-2);border-top:1px solid var(--rule);font-size:12.5px;font-weight:600;color:var(--muted)}.mrm-group .mono{margin-right:6px}.mrm-item{border-top:1px solid var(--rule)}.mrm-item.open{background:var(--surface);box-shadow:inset 3px 0 0 var(--accent)}.mrm-row{display:grid;grid-template-columns:18px 36px minmax(0,1fr) 82px 14px;gap:12px;align-items:center;width:100%;text-align:left;padding:12px 20px;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit}.mrm-row:hover:not(:disabled){background:var(--surface-2);color:var(--ink);border-color:transparent}.mrm-code{font-size:12.5px;color:var(--muted)}.mrm-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.mrm-row-title{font-weight:550}.mrm-row-snippet{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mrm-clause{font-size:11.5px;color:var(--faint);text-align:right}.mrm-chev{color:var(--faint);font-size:12px}.mrm-dot{font-size:13px;line-height:1}.mrm-dot.ok{color:var(--ok)}.mrm-dot.warn{color:var(--warn)}.mrm-dot.empty{color:var(--faint)}.mrm-edit{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;padding:4px 20px 20px 86px}.mrm-edit-pair{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;align-items:start}.mrm-figpanel{align-self:start;display:flex;flex-direction:column;gap:5px;background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--radius);padding:12px 14px}.mrm-figpanel-head{font-size:12.5px;font-weight:600;display:flex;flex-direction:column;margin-bottom:4px}.mrm-figpanel-head span{font-weight:400;color:var(--faint);font-size:11.5px}.mrm-hint{padding:10px 20px;font-size:12.5px;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--rule)}.mrm-layout.wide{grid-template-columns:minmax(0,1fr)}.mrm-actions{table-layout:fixed}.mrm-actions td{vertical-align:top;padding:12px}.mrm-evidence{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;align-items:center;margin-top:8px}.mrm-actions .mrm-cell{font-size:13px;padding:5px 8px}.mrm-actions textarea.mrm-cell{min-height:0;line-height:1.45}.mrm-actions .mrm-cell.late{border-color:var(--danger);color:var(--danger)}.mrm-actions tr.mrm-carried td{background:var(--surface-2);color:var(--muted)}.mrm-addrow{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1fr) 150px auto;gap:8px;padding:14px 20px;border-top:1px solid var(--rule);background:var(--surface-2)}.mrm-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mrm-person{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--rule)}.mrm-person:nth-child(odd){border-right:1px solid var(--rule)}.mrm-person.away .mrm-avatar{background:var(--surface-3);color:var(--faint)}.mrm-person.away .mrm-person-main{opacity:.7}.mrm-person-main{display:flex;flex-direction:column;flex:1;min-width:0}.mrm-avatar{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:650}.mrm-avatar.sm{width:28px;height:28px;font-size:10.5px}.mrm-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.inc-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.inc-aside{position:sticky;top:140px;display:flex;flex-direction:column;gap:12px}.inc-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px;margin:0;padding:16px 20px 18px}.inc-kv>div.wide{grid-column:1 / -1}.inc-kv dt{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:3px}.inc-kv dd{margin:0;font-size:14px;line-height:1.55;color:var(--ink);white-space:pre-wrap}.inc-matrix{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:12px 20px;background:var(--surface-2);border-bottom:1px solid var(--rule)}.inc-timeline{display:flex;flex-direction:column;gap:0;margin-top:4px}.inc-step{position:relative;display:flex;flex-direction:column;padding:0 0 12px 20px;border-left:2px solid var(--rule);margin-left:5px}.inc-step:last-child{border-left-color:transparent;padding-bottom:0}.inc-dot{position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--rule-strong)}.inc-step.done .inc-dot{background:var(--accent);border-color:var(--accent)}.src-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px}.src-mark{font-size:11px;font-weight:600;padding:1px 8px;border-radius:9999px;white-space:nowrap}.src-mark.reg{background:var(--info-soft);color:var(--info)}.src-mark.person{background:var(--surface-3);color:var(--ink-2)}.doc-notes .spacer,.doc-notes-form .spacer{flex:1}.doc-notes{list-style:none;margin:0;padding:0;display:grid;gap:10px}.doc-note{border:1px solid var(--rule);border-radius:8px;padding:10px 12px;background:var(--surface)}.doc-note.is-done{background:var(--surface-2, var(--surface))}.doc-note.is-done .doc-note-body{color:var(--muted)}.doc-note-body{margin:6px 0 8px;white-space:pre-wrap;word-break:break-word}.modal.drawer.xl:has(.viewer-split.with-notes){width:min(1440px,96vw)}.viewer-split{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.viewer-split.with-notes{grid-template-columns:minmax(0,1fr) 340px}.viewer-main{min-width:0}.viewer-notes{height:74vh;min-height:320px;overflow:auto}.viewer-notes .card{box-shadow:none}.vtl{list-style:none;margin:0;padding:0 0 0 18px;position:relative}.vtl:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--rule)}.vtl-node{position:relative;padding:0 0 18px 14px}.vtl-node:last-child{padding-bottom:0}.vtl-dot{position:absolute;left:-18px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--muted)}.vtl-node.is-current .vtl-dot{background:var(--accent);border-color:var(--accent)}.vtl-pending .vtl-dot{border-style:dashed;border-color:var(--warn)}.vtl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vtl-head .spacer,.vtl-actions .spacer{flex:1}.vtl-no{font-weight:600}.vtl-file{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vtl-summary-wrap{margin-top:6px}.vtl-summary{margin:4px 0 6px;white-space:pre-wrap;word-break:break-word}.vtl-src{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--surface-3);color:var(--muted)}.vtl-src-ai{background:var(--accent-soft, #e8f0fe);color:var(--accent)}.vtl-src-person{background:var(--ok-soft);color:var(--ok)}.vtl-changes{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.vtl-change{border-left:3px solid var(--rule);padding:4px 8px;background:var(--surface-2, var(--surface))}.vtl-change.vtl-added{border-left-color:var(--ok)}.vtl-change.vtl-removed{border-left-color:var(--danger)}.vtl-change.vtl-changed{border-left-color:var(--warn)}.vtl-kind{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-right:8px;color:var(--muted)}.vtl-before{color:var(--danger);text-decoration:line-through;text-decoration-color:#00000040}.vtl-after{color:var(--ok)}.vtl-actions{margin-top:6px}.vtl-compact .vtl-node{padding-bottom:12px}.vtl-compact .vtl-summary{margin:2px 0 0}.upload-split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.upload-history{border-left:1px solid var(--rule);padding-left:16px;max-height:70vh;overflow:auto}.upload-history-title{text-transform:uppercase;letter-spacing:.08em;font-size:11px;margin-bottom:10px}.upload-comparing{display:block;margin:4px 0}.match-divider td{background:var(--surface-2, var(--surface));color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px}
