:root{--bg:#f6f7f5;--surface:#fff;--surface-2:#eef2f0;--ink:#16212a;--ink-2:#44525e;--muted:#5b6771;--line:#d9e0dd;--accent:#0d6b62;--accent-ink:#fff;--accent-soft:#e0f0ec;--warn:#8a5a00;--warn-soft:#fff4dc;--danger:#a3261b;--danger-soft:#fdecea;--ok:#1f6d3a;--ok-soft:#e4f4e8;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #16212a0f, 0 4px 16px #16212a0d;--font:ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--focus:0 0 0 3px #0d6b6259;--focus-ring:#0b5a52;--fs-xs:12.5px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-h3:16.5px;--fs-h2:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus);border-radius:6px}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--surface);z-index:10;padding:8px 12px;top:8px;left:16px}.header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner,.main,.footer-inner{max-width:1080px;margin:0 auto;padding:0 16px}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex}.brand{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:8px;font-size:19px;font-weight:700;text-decoration:none;display:inline-flex}.brand-dot{background:var(--accent);border-radius:50%;width:10px;height:10px;display:inline-block}.nav{flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:15px;display:flex}.nav a{color:var(--ink-2);padding:6px 2px;text-decoration:none}.nav a:hover{color:var(--accent)}.main{padding-top:28px;padding-bottom:48px}.footer{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:14px}.footer-inner{gap:12px;padding-top:20px;padding-bottom:28px;display:grid}h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(26px,4vw,34px);line-height:1.2}h2{font-size:var(--fs-h2);letter-spacing:-.01em;margin:0 0 12px;line-height:1.3}h3{font-size:var(--fs-h3);margin:0 0 6px}p{margin:0 0 12px}.lede{color:var(--ink-2);max-width:62ch;font-size:17px}.muted{color:var(--muted)}.small{font-size:14px}.stack{align-content:start;gap:16px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:20px}.card-narrow{max-width:520px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.metric-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 4px;font-size:13px}.metric-value{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:700;line-height:1.15}.metric-sub{color:var(--ink-2);margin:4px 0 0;font-size:14px}.estimate-label{color:var(--warn);background:var(--warn-soft);border-radius:999px;margin-top:6px;padding:2px 10px;font-size:12.5px;display:inline-block}.disclaimer{background:var(--warn-soft);color:#5b3d00;border-radius:var(--radius-sm);border:1px solid #efd9a8;padding:10px 14px;font-size:15px;font-weight:600}.badge{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}.badge-draft{background:var(--warn-soft);color:var(--warn)}.badge-approved,.badge-delivered,.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-rejected,.badge-high,.badge-critical{background:var(--danger-soft);color:var(--danger)}.badge-med,.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-low,.badge-info{background:var(--surface-2);color:var(--ink-2)}.btn{appearance:none;border:1px solid var(--accent);background:var(--accent);min-height:44px;color:var(--accent-ink);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.06)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--accent)}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.btn-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}label{font-size:15px;font-weight:600}.field{gap:6px;display:grid}.hint{color:var(--muted);font-size:13.5px;font-weight:400}input[type=text],input[type=password],input[type=email],input[type=number],input[type=file],select,textarea{font:inherit;border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:10px;padding:10px 12px}textarea{resize:vertical;min-height:90px}.check{align-items:flex-start;gap:10px;font-weight:400;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:2px}.alert{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);padding:12px 14px}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:#f0c4bf}.alert-ok{background:var(--ok-soft);color:var(--ok);border-color:#bfe3c9}.alert-warn{background:var(--warn-soft);color:#5b3d00;border-color:#efd9a8}.list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.list-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14.5px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12.5px;font-weight:600}.item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:8px;padding:16px;display:grid}.item-off{background:var(--surface-2)}.item-title{font-size:16.5px;font-weight:700}.item-off .item-title{color:var(--muted);text-decoration:line-through}.cites{font-size:var(--fs-sm);color:var(--ink-2);border-top:1px dashed var(--line);overflow-wrap:anywhere;gap:6px;margin:0;padding-top:10px;padding-left:0;list-style:none;display:grid}.cites li{align-items:baseline;gap:8px;display:flex}.cites .badge{flex:none}.switch{cursor:pointer;align-items:center;gap:10px;font-weight:600;display:inline-flex}.switch input{appearance:none;cursor:pointer;background:#c3ccc9;border-radius:999px;flex:none;width:44px;height:26px;margin:0;transition:background .15s;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(18px)}.switch input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus)}.progress{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress>span{background:var(--accent);height:100%;transition:width .3s;display:block}.steps{flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:0;font-size:13.5px;list-style:none;display:flex}.steps li{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:4px 10px}.steps li[aria-current=step]{background:var(--accent);color:var(--accent-ink)}.steps li.done{background:var(--accent-soft);color:var(--accent)}.sticky-actions{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:8px;padding:16px}@media (min-width:720px) and (min-height:700px){.sticky-actions{z-index:5;box-shadow:0 -2px 24px #16212a1f, var(--shadow);border-color:#b9d6cf;position:sticky;bottom:12px}}.kv{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;font-size:14.5px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.mono{font-family:var(--mono);font-size:13px}.feedback{gap:8px;max-width:560px;display:grid}.stars{flex-wrap:wrap;gap:6px;display:flex}.stars button{border:1px solid var(--line);background:var(--surface);min-width:44px;min-height:40px;font:inherit;cursor:pointer;border-radius:8px}.stars button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.hero{padding:24px 0 8px}@media (max-width:560px){.hide-sm{display:none}.list-grid{grid-template-columns:1fr}.card{padding:16px}.metric-value{font-size:26px}.btn{width:100%}.btn-row .btn{flex:auto}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card>h2:first-child,.card>summary:first-child{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:10px}section>h2{scroll-margin-top:16px}tbody tr:hover{background:#f8faf9}tbody tr:last-child td{border-bottom:0}.item{border-left:4px solid var(--accent)}.item-off{border-left-style:dashed;border-left-color:#b8c2bf}.item-blocked{border-left-color:var(--danger);border-left-style:solid}.item-head{align-items:center}.item-num{background:var(--surface-2);min-width:28px;height:24px;color:var(--ink-2);font-family:var(--mono);font-size:var(--fs-xs);vertical-align:2px;border-radius:6px;justify-content:center;align-items:center;margin-right:4px;padding:0 6px;font-weight:600;display:inline-flex}.item-off .item-num{text-decoration:none}.item-meta{gap:6px 8px}.switch{border:1px solid var(--line);background:var(--surface);border-radius:999px;min-height:36px;padding:4px 10px 4px 4px}.switch input:disabled{cursor:not-allowed;opacity:.6}.switch:has(input:disabled){cursor:not-allowed}.lock-note{margin:0;font-weight:600}.lock-required{color:var(--ink-2)}.lock-blocked{color:var(--danger)}.lock-clearance{color:#5b3d00}.grade{font-variant-numeric:tabular-nums}.grade-A{background:var(--ok-soft);color:var(--ok)}.grade-B{background:var(--accent-soft);color:#0a574f}.grade-C{background:var(--warn-soft);color:var(--warn)}.grade-D,.grade-expert{background:var(--surface-2);color:var(--ink-2)}.review-counts{flex-wrap:wrap;gap:6px;display:flex}.decision-row .muted{flex:220px}.btn-approve{min-width:200px;font-size:16.5px}.btn-danger:hover{background:var(--danger-soft);filter:none}.btn-secondary:hover{background:var(--accent-soft);filter:none}.metric{box-shadow:var(--shadow)}.metric-value{font-variant-numeric:tabular-nums}.runlog{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:10px;padding:14px 16px;display:grid}.runlog-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.runlog-title{font-weight:700}.runlog-meta{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-2);font-variant-numeric:tabular-nums}.runlog-steps{font-size:var(--fs-sm);gap:6px;margin:0;padding:0;list-style:none;display:grid}.runlog-step{color:var(--muted);grid-template-columns:18px 1fr;align-items:start;gap:10px;display:grid}.runlog-step.is-done,.runlog-step.is-active{color:var(--ink)}.runlog-mark{background:var(--surface);border:2px solid #b8c2bf;border-radius:50%;width:14px;height:14px;margin-top:4px}.is-done .runlog-mark{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2px var(--surface)}.is-active .runlog-mark{border-color:var(--accent);animation:1s ease-in-out infinite runlog-pulse}.runlog-label{font-weight:600}.runlog-msg{color:var(--ink-2);font-size:var(--fs-xs);display:block}@keyframes runlog-pulse{50%{box-shadow:0 0 0 4px var(--accent-soft)}}details.card>summary{cursor:pointer;list-style-position:inside}@media (prefers-reduced-motion:reduce){.progress>span,.switch input,.switch input:after{transition:none}.is-active .runlog-mark{animation:none}}@media (max-width:560px){.main{padding-top:20px}h2{font-size:18px}.kv{grid-template-columns:1fr;gap:0}.kv dd{margin-bottom:8px}.item{padding:14px}.item-head .switch{margin-left:auto}.btn-approve{min-width:0}.nav{gap:2px 12px;font-size:14.5px}th,td{padding:8px 6px}}
