:root{--bg:oklch(97.5% .004 250);--bg-2:oklch(99.2% .003 250);--surface:#fff;--line:oklch(91% .006 250);--line-2:oklch(86% .008 250);--ink:oklch(24% .02 255);--ink-2:oklch(44% .018 255);--ink-3:oklch(60% .015 255);--navy:oklch(34% .058 255);--navy-2:oklch(28% .055 258);--blue:oklch(52% .12 250);--blue-soft:oklch(95% .022 250);--accent:var(--blue);--r-proh-bg:oklch(94% .03 25);--r-proh-ink:oklch(45% .11 25);--r-proh-dot:oklch(56% .15 25);--r-high-bg:oklch(95% .04 75);--r-high-ink:oklch(48% .1 65);--r-high-dot:oklch(64% .13 70);--r-lim-bg:oklch(95% .03 250);--r-lim-ink:oklch(48% .1 250);--r-lim-dot:oklch(60% .12 250);--r-min-bg:oklch(95% .03 155);--r-min-ink:oklch(42% .08 155);--r-min-dot:oklch(58% .1 155);--ok:oklch(55% .1 155);--warn:oklch(64% .13 70);--pend:oklch(52% .1 300);--pend-bg:oklch(96% .025 300);--font-display:"Spectral", Georgia, serif;--font-ui:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius:10px;--radius-sm:7px;--shadow-sm:0 1px 2px oklch(40% .03 255/.06), 0 1px 3px oklch(40% .03 255/.05);--shadow-md:0 2px 8px oklch(40% .03 255/.07), 0 8px 24px oklch(40% .03 255/.06);--sidebar-bg:var(--navy);--sidebar-ink:oklch(86% .02 255);--sidebar-active:oklch(40% .07 255);--display-weight:600;--nav-radius:8px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}#app{height:100%}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--display-weight);color:var(--ink);letter-spacing:-.01em;text-wrap:balance;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:var(--font-mono)}.muted{color:var(--ink-3)}::selection{background:var(--blue-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);background-clip:content-box;border:3px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--ink-3);background-clip:content-box}.app{grid-template-columns:248px 1fr;height:100vh;display:grid;overflow:hidden}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-ink);border-right:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.brand{align-items:center;gap:11px;padding:20px 20px 18px;display:flex}.brand-mark{background:var(--accent);color:#fff;width:30px;height:30px;font-family:var(--font-display);border-radius:8px;flex:none;place-items:center;font-size:17px;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px oklch(100% 0 0/.12)}.brand-name{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:-.02em;color:#fff;font-size:17px}.brand-name b{font-weight:700}.brand-sub{letter-spacing:.06em;text-transform:uppercase;opacity:.6;margin-top:1px;font-size:10.5px}.nav{flex-direction:column;flex:1;gap:2px;padding:6px 12px;display:flex;overflow-y:auto}.nav-group-label{letter-spacing:.09em;text-transform:uppercase;opacity:.5;padding:14px 10px 6px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--nav-radius);color:inherit;cursor:pointer;text-align:left;opacity:.82;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:8px 10px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,opacity .12s;display:flex}.nav-item:hover{opacity:1;background:oklch(100% 0 0/.06);text-decoration:none}.nav-item.router-link-active{background:var(--sidebar-active);opacity:1;font-weight:600}.nav-item .ico{opacity:.9;flex:none;width:17px;height:17px}.nav-item .count{font-size:11px;font-family:var(--font-mono);opacity:.85;background:oklch(100% 0 0/.12);border-radius:99px;margin-left:auto;padding:1px 7px}.nav-item .count.pend{background:var(--pend);color:#fff;opacity:1}.sidebar-foot{border-top:1px solid oklch(100% 0 0/.08);padding:12px}.user-chip{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;display:flex}.user-chip:hover{background:oklch(100% 0 0/.06)}.user-chip .nm{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;line-height:1.2;overflow:hidden}.user-chip .rl{opacity:.6;font-size:11px}.avatar{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:grid}.main{background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:color-mix(in oklch, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;flex:none;align-items:center;gap:16px;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.crumbs{color:var(--ink-3);align-items:center;gap:8px;font-size:13px;display:flex}.crumbs b{color:var(--ink);font-weight:600}.crumbs .sep{opacity:.4}.topbar-spacer{flex:1}.search{background:var(--surface);border:1px solid var(--line);width:280px;color:var(--ink-3);border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--blue-soft)}.search input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1}.scroll-area{flex:1;overflow-y:auto}.page{max-width:1200px;margin:0 auto;padding:32px 28px 80px}.page-wide{max-width:1320px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:11px;font-weight:600}.page-head h1{font-size:30px}.page-head .desc{color:var(--ink-2);max-width:560px;margin-top:6px}.head-actions{flex:none;gap:10px;display:flex}.btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.btn:hover{background:var(--bg);border-color:var(--ink-3);text-decoration:none}.btn .ico{width:15px;height:15px}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);border-color:#0000}.btn-primary:hover{background:color-mix(in oklch, var(--accent) 88%, black);border-color:#0000}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg);border-color:#0000}.btn-sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:20px 22px}.card-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 22px;display:flex}.card-head h3{font-size:15px}.card-head .sub{color:var(--ink-3);font-size:12px}.card-head .spacer{flex:1}.pill{white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:3px 9px 3px 8px;font-size:11.5px;font-weight:600;line-height:1.4;display:inline-flex}.pill .dot{border-radius:50%;flex:none;width:7px;height:7px}.pill.proh{background:var(--r-proh-bg);color:var(--r-proh-ink)}.pill.proh .dot{background:var(--r-proh-dot)}.pill.high{background:var(--r-high-bg);color:var(--r-high-ink)}.pill.high .dot{background:var(--r-high-dot)}.pill.lim{background:var(--r-lim-bg);color:var(--r-lim-ink)}.pill.lim .dot{background:var(--r-lim-dot)}.pill.min{background:var(--r-min-bg);color:var(--r-min-ink)}.pill.min .dot{background:var(--r-min-dot)}.pill.neutral{background:var(--bg);color:var(--ink-2);border:1px solid var(--line)}.pill.neutral .dot{background:var(--ink-3)}.chip{border-radius:6px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.chip.ok{background:var(--r-min-bg);color:var(--r-min-ink)}.chip.warn{background:var(--r-high-bg);color:var(--r-high-ink)}.chip.pend{background:var(--pend-bg);color:var(--pend)}.chip.neutral{background:var(--bg);color:var(--ink-2);border:1px solid var(--line)}.ref{font-family:var(--font-mono);background:var(--blue-soft);color:var(--accent);white-space:nowrap;border-radius:5px;padding:1px 7px;font-size:11.5px;font-weight:500;display:inline-block}.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);padding:10px 16px;font-size:11px;font-weight:600}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 16px;font-size:13.5px}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr{cursor:pointer;transition:background .1s}.tbl tbody tr:hover{background:var(--bg-2)}label.fld{color:var(--ink-2);margin:14px 0 5px;font-size:12px;font-weight:600;display:block}.fld-help{color:var(--ink-3);font-weight:400}input,select,textarea{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);padding:9px 11px;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--blue-soft);outline:none}textarea{resize:vertical;min-height:84px}.grid{gap:16px;display:grid}.icon-tile{background:var(--blue-soft);color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.divider{background:var(--line);border:none;height:1px;margin:0}.error{background:var(--r-proh-bg);color:var(--r-proh-ink);border-radius:var(--radius-sm);margin:12px 0;padding:10px 13px;font-size:13px}.notice{background:var(--r-min-bg);color:var(--r-min-ink);border-radius:var(--radius-sm);margin:12px 0;padding:10px 13px;font-size:13px}.empty{color:var(--ink-3);text-align:center;padding:18px;font-size:13px}.stat-num{font-family:var(--font-display);font-size:34px;font-weight:600;line-height:1}.stat-cap{color:var(--ink-3);margin-top:8px;font-size:12px}.donut-legend{flex-direction:column;gap:7px;display:flex}.donut-legend .row{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.donut-legend .dot{border-radius:50%;flex:none;width:8px;height:8px}.donut-legend .val{font-family:var(--font-mono);color:var(--ink-2);margin-left:auto;font-size:12.5px}.pending-head{background:var(--pend-bg);border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;align-items:center;gap:12px;padding:14px 18px;display:flex}.pending-tile{background:var(--pend);color:#fff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.pending-cell{border:1px solid var(--line);cursor:pointer;border-radius:9px;padding:13px 15px;transition:background .1s,border-color .1s}.pending-cell:hover{background:var(--pend-bg);border-color:var(--pend)}.pending-delta{color:var(--pend);margin:6px 0;font-size:13px;font-weight:600}.tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:20px;display:flex}.tabs button{cursor:pointer;font:inherit;color:var(--ink-3);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:11px 16px;font-size:13.5px;font-weight:500;display:inline-flex}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tabs .tabcount{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--line);border-radius:99px;padding:0 6px;font-size:11px}.meta-strip{grid-template-columns:repeat(4,1fr);display:grid}.meta-cell{border-right:1px solid var(--line);padding:16px 18px}.meta-cell:last-child{border-right:none}.meta-cell .lbl{color:var(--ink-3);align-items:center;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.meta-cell .val{font-size:13.5px;font-weight:500}.filterbar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.fpill{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;color:var(--ink-2);border-radius:99px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.fpill:hover{border-color:var(--ink-3)}.fpill.active{background:var(--ink);border-color:var(--ink);color:#fff}.fpill .c{font-family:var(--font-mono);opacity:.8;font-size:11.5px}.kanban{grid-template-columns:repeat(4,1fr);align-items:start;gap:14px;display:grid}.kcol{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.kcol-head{color:var(--ink-2);align-items:center;gap:8px;padding:4px 6px 12px;font-size:12.5px;font-weight:600;display:flex}.kcol-head .dot{border-radius:50%;width:8px;height:8px}.kcol-head .c{font-family:var(--font-mono);color:var(--ink-3);margin-left:auto;font-size:11.5px}.ocard{background:var(--surface);border:1px solid var(--line);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:9px;margin-bottom:9px;padding:11px 12px}.ocard:hover{border-color:var(--ink-3)}.ocard.pending{border-color:var(--pend)}.ocard .ttl{margin:6px 0;font-size:13px;font-weight:600}.ocard .foot{color:var(--ink-3);align-items:center;gap:8px;margin-top:9px;font-size:11.5px;display:flex}.kempty{border:1px dashed var(--line-2);text-align:center;color:var(--ink-3);border-radius:8px;padding:16px;font-size:12px}.prio{text-transform:capitalize;color:var(--ink-3);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.prio .dot{border-radius:50%;width:7px;height:7px}.trail{border-left:2px solid var(--line);flex-direction:column;gap:16px;padding-left:16px;display:flex}.trail .node{position:relative}.trail .node:before{content:"";background:var(--surface);border:2px solid var(--line-2);border-radius:50%;width:11px;height:11px;position:absolute;top:3px;left:-23px}.trail .node.hit:before{border-color:var(--accent);background:var(--accent)}.trail .q{color:var(--ink-2);font-size:12.5px}.trail .a{margin:3px 0;font-size:13px;font-weight:600}.opt{text-align:left;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;width:100%;font:inherit;align-items:center;gap:12px;margin-bottom:10px;padding:14px 16px;font-size:14px;transition:border-color .12s,background .12s;display:flex}.opt:hover{border-color:var(--accent);background:var(--blue-soft)}.opt .letter{background:var(--bg);border:1px solid var(--line-2);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:grid}.opt .lbl{flex:1}.helpbox{background:var(--blue-soft);color:var(--ink-2);border-radius:var(--radius-sm);gap:10px;margin:12px 0 18px;padding:12px 14px;font-size:13px;display:flex}.result-callout{border-radius:var(--radius);border:1px solid var(--line);padding:22px}.result-callout.proh{background:var(--r-proh-bg)}.result-callout.high{background:var(--r-high-bg)}.result-callout.lim{background:var(--r-lim-bg)}.result-callout.min{background:var(--r-min-bg)}.segmented{background:var(--bg-2);border:1px solid var(--line-2);border-radius:99px;gap:3px;padding:3px;display:inline-flex}.segmented button{cursor:pointer;font:inherit;color:var(--ink-2);background:0 0;border:none;border-radius:99px;align-items:center;gap:7px;padding:7px 16px;font-size:13px;font-weight:600;display:inline-flex}.segmented button.active{background:var(--ink);color:#fff}.segmented button.active.pend{background:var(--pend)}.law-strip{background:var(--pend-bg);color:var(--pend);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:18px;padding:11px 14px;font-size:13px;display:flex}.compare{grid-template-columns:1fr 44px 1fr;align-items:stretch;gap:0;display:grid}.compare .side{border:1px solid var(--line);border-radius:9px;padding:14px 16px}.compare .arrow{color:var(--ink-3);place-items:center;display:grid}.compare .arrow.pend{color:var(--pend)}.compare .draft{background:var(--pend-bg);border-color:var(--pend)}.compare .dim{opacity:.6}.timeline{flex-direction:column;display:flex}.timeline .it{border-bottom:1px solid var(--line);gap:11px;padding:11px 0;display:flex}.timeline .it:last-child{border-bottom:none}.timeline .tdot{background:var(--ink-3);border-radius:50%;flex:none;width:9px;height:9px;margin-top:5px}.timeline .tdot.high{background:var(--r-high-dot)}.timeline .tdot.proh{background:var(--r-proh-dot)}.timeline .tdot.ok{background:var(--ok)}.timeline .tdot.pend{background:var(--pend)}.switch{cursor:pointer;color:var(--ink-2);align-items:center;gap:9px;font-size:13px;font-weight:500;display:inline-flex}.switch .track{background:var(--line-2);border-radius:99px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.switch .track .knob{width:18px;height:18px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:left .15s;position:absolute;top:2px;left:2px}.switch.on .track{background:var(--pend)}.switch.on .track .knob{left:18px}.auth-wrap{background:radial-gradient(120% 90% at 0% 0%, var(--blue-soft), transparent 60%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:100%;max-width:420px}.auth-brand{align-items:center;gap:11px;margin-bottom:22px;display:flex}.fade-in{opacity:1}@media (prefers-reduced-motion:no-preference){.fade-in{animation:.35s fade}}@keyframes fade{0%{transform:translateY(6px)}to{transform:none}}[hidden]{display:none!important}.nav-toggle{margin-left:-6px;padding:6px;display:none}.scrim{display:none}@media (width<=900px){.app{grid-template-columns:1fr;height:100dvh}.sidebar{z-index:60;width:264px;max-width:84vw;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-md);transform:none}.scrim{z-index:50;background:oklch(20% .02 255/.42);animation:.2s fade;display:block;position:fixed;inset:0}.nav-toggle{display:inline-flex}.grid[style*=grid-template-columns]{grid-template-columns:1fr!important}.kanban,.meta-strip{grid-template-columns:1fr 1fr}.meta-cell:nth-child(2n){border-right:none}.meta-cell:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=640px){.topbar{gap:10px;height:56px;padding:0 16px}.search{flex:1;width:auto;min-width:0}.search input{min-width:0}.page{padding:20px 16px 64px}.page-wide{max-width:100%}.page-head{flex-direction:column;align-items:stretch}.page-head h1{font-size:24px}.page-head .desc{max-width:none}.head-actions{flex-wrap:wrap}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex:none}.kanban,.compare{grid-template-columns:1fr}.compare .arrow{padding:8px 0;transform:rotate(90deg)}.card{overflow-x:auto}.tbl th,.tbl td{padding:11px 13px}}@media (width<=460px){.search{display:none}.meta-strip{grid-template-columns:1fr}.meta-cell{border-right:none;border-bottom:1px solid var(--line)}.meta-cell:last-child{border-bottom:none}.head-actions .btn{flex:1;justify-content:center}}.doc-preview{font-family:var(--font-ui);color:var(--ink);font-size:13.5px;line-height:1.6}.doc-preview>:first-child{margin-top:0}.doc-preview h1,.doc-preview h2,.doc-preview h3,.doc-preview h4{font-family:var(--font-display);color:var(--ink);margin:1.3em 0 .5em;font-weight:600;line-height:1.25}.doc-preview h1{font-size:1.7em}.doc-preview h2{font-size:1.35em}.doc-preview h3{font-size:1.15em}.doc-preview h4{font-size:1em;font-family:var(--font-ui)}.doc-preview p{margin:0 0 .75em}.doc-preview ul,.doc-preview ol{margin:0 0 .75em;padding-left:1.4em}.doc-preview li{margin:.15em 0}.doc-preview strong{font-weight:600}.doc-preview a{color:var(--accent);text-decoration:underline}.doc-preview code{font-family:var(--font-mono);background:var(--blue-soft);color:var(--accent);border-radius:5px;padding:1px 5px;font-size:.88em}.doc-preview pre{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;overflow:auto}.doc-preview pre code{color:var(--ink);background:0 0;padding:0}.doc-preview blockquote{border-left:3px solid var(--line-2);color:var(--ink-3);margin:0 0 .75em;padding:2px 0 2px 14px;font-style:italic}.doc-preview table{border-collapse:collapse;width:100%;margin:0 0 .9em;font-size:.95em}.doc-preview th,.doc-preview td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 9px}.doc-preview th{background:var(--blue-soft);font-weight:600}.doc-preview hr{border:none;border-top:1px solid var(--line);margin:1.2em 0}
