:root{color-scheme:dark;--bg:#070707;--panel:#111;--line:#383838;--muted:#b7b7b7;--danger:#ffb4b4;--warning:#ffe7a3;--ok:#b7f7c5;--focus:#fff;--accent:#d946ef;--accent-soft:rgba(217,70,239,.12)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#fff;font-family:Inter,system-ui,sans-serif}
.compliance-header{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:start;padding:2rem;max-width:1500px;margin:auto}
.back-link,a{color:#fff}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;color:var(--muted);margin:0 0 .35rem}
h1,h2,h3,p{max-width:75ch}.compliance-header h1{margin:.1rem 0;font-size:clamp(2rem,4vw,4rem)}
button{background:#fff;color:#000;border:2px solid #fff;border-radius:.5rem;padding:.65rem .9rem;font:inherit;font-weight:700;cursor:pointer}
button.secondary{background:transparent;color:#fff}
button:disabled{opacity:.45;cursor:not-allowed}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.compliance-shell{max-width:1500px;margin:auto;padding:0 2rem 4rem}
.notice{border:1px solid var(--line);padding:1rem;border-radius:.75rem;margin-bottom:1rem;background:#101010}
.notice-danger{border-color:#a33;color:var(--danger)}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;margin:1rem 0 1.4rem}
.summary-card{border:1px solid var(--line);border-radius:.75rem;padding:1rem;background:var(--panel)}
.summary-card strong{font-size:2rem;display:block}
.section-nav{position:sticky;top:0;z-index:3;display:flex;gap:.5rem;overflow:auto;padding:.8rem 0;background:rgba(7,7,7,.94);backdrop-filter:blur(10px)}
.section-nav a{border:1px solid var(--line);border-radius:999px;padding:.45rem .75rem;text-decoration:none;white-space:nowrap}
.panel{border:1px solid var(--line);border-radius:1rem;padding:1.2rem;margin:1.2rem 0;background:var(--panel)}
.panel-heading{display:flex;justify-content:space-between;gap:1rem}.panel h2{margin:.1rem 0 .7rem;font-size:1.65rem}.section-note{color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:.7rem}table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:left;vertical-align:top;padding:.7rem;border-bottom:1px solid var(--line)}th{background:#171717;position:sticky;top:0}
.status,.risk{display:inline-block;border:1px solid currentColor;border-radius:999px;padding:.18rem .48rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.status-approved,.status-satisfied,.status-active,.status-published{color:var(--ok)}
.status-blocked,.status-unresolved,.status-expired,.status-rejected{color:var(--danger)}
.status-testing,.status-in_progress,.status-draft,.status-review{color:var(--warning)}
.risk-low{color:var(--ok)}.risk-moderate{color:var(--warning)}.risk-high{color:#ffc4e8}.risk-critical{color:var(--danger)}
.feature-form{display:grid;grid-template-columns:auto minmax(140px,auto) minmax(200px,1fr) auto;gap:.5rem;align-items:center}.feature-form input[type=checkbox]{width:1.25rem;height:1.25rem}.feature-form input[type=text],select,input,textarea{width:100%;background:#080808;color:#fff;border:1px solid #666;border-radius:.4rem;padding:.55rem;font:inherit}
.editor{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.editor label{display:grid;gap:.35rem;margin:.65rem 0;color:var(--muted)}.button-row{display:flex;gap:.6rem;flex-wrap:wrap}.form-result{min-height:1.4em}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.empty{color:var(--muted);padding:1rem;border:1px dashed var(--line);border-radius:.6rem}

.testing-session-card{border:1px solid var(--accent);border-radius:.9rem;padding:1rem;margin:1rem 0 1.2rem;background:linear-gradient(135deg,var(--accent-soft),rgba(255,255,255,.02))}
.testing-session-card h3{margin:.1rem 0 .35rem;font-size:1.35rem}.testing-session-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.testing-session-heading p{margin:.25rem 0}.testing-session-meta{display:flex;gap:.7rem;flex-wrap:wrap;margin:.85rem 0}.testing-session-meta span{border:1px solid var(--line);border-radius:.55rem;padding:.5rem .65rem;background:#0a0a0a}.testing-session-meta strong{margin-right:.25rem}.testing-session-active{box-shadow:0 0 0 1px rgba(217,70,239,.2) inset}.testing-session-expired{border-color:#a33;background:rgba(120,20,20,.12)}.testing-session-card label,.testing-dialog label{display:grid;gap:.35rem;margin:.7rem 0;color:var(--muted)}
.testing-dialog{width:min(720px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;background:#0b0b0b;color:#fff;border:1px solid var(--accent);border-radius:1rem;padding:1.25rem}.testing-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.testing-dialog h2{margin:.1rem 0 .5rem}.testing-preview{display:grid;gap:.55rem;margin:1rem 0}.testing-preview article{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;padding:.75rem;border:1px solid var(--line);border-radius:.65rem;background:#111}.testing-preview article small{grid-column:1/-1;color:var(--muted)}

.gate-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(170px,220px) auto;gap:.8rem;align-items:end;margin:1rem 0}.gate-toolbar label{display:grid;gap:.35rem;color:var(--muted)}.gate-toolbar-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.gate-category{border:1px solid var(--line);border-radius:.8rem;background:#0b0b0b;margin:.75rem 0;overflow:hidden}.gate-category>summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.9rem 1rem;cursor:pointer;list-style-position:inside;background:#121212}.gate-category>summary:hover{background:#171717}.gate-category>summary span:first-child{display:grid;gap:.2rem}.gate-category>summary small{color:var(--muted);font-weight:400}.category-counts{color:var(--muted);font-size:.85rem;text-align:right}.gate-category-body{display:grid;gap:.7rem;padding:.8rem}
.gate-card{border:1px solid var(--line);border-radius:.7rem;padding:.9rem;background:#101010}.gate-card-managed{border-color:var(--accent)}.gate-card header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.gate-card h3{margin:0 0 .2rem}.gate-card header small{color:var(--muted)}.gate-badges{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.managed-note{color:#f5b5ff}.gate-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:.75rem 0}.gate-stats span{display:grid;gap:.15rem;border:1px solid #292929;border-radius:.5rem;padding:.55rem;color:var(--muted)}.gate-stats b{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.gate-actions{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.requirement-disclosure{flex:1}.requirement-disclosure>summary{cursor:pointer;font-weight:700;padding:.55rem 0}.requirement-list{display:grid;gap:.45rem;margin:.45rem 0}.requirement-list article{display:grid;grid-template-columns:1fr auto;gap:.25rem .7rem;border:1px solid #2a2a2a;border-radius:.55rem;padding:.65rem;background:#090909}.requirement-list article div{display:grid;gap:.15rem}.requirement-list small,.requirement-list p{color:var(--muted);margin:.15rem 0}.requirement-list p{grid-column:1/-1}

@media(max-width:800px){.compliance-header{grid-template-columns:1fr;padding:1.2rem}.compliance-shell{padding:0 1rem 3rem}.feature-form{grid-template-columns:1fr}.case-grid{grid-template-columns:1fr}.testing-session-heading,.gate-card header,.gate-actions{display:grid;grid-template-columns:1fr}.gate-toolbar{grid-template-columns:1fr}.gate-category>summary{grid-template-columns:1fr}.category-counts{text-align:left}.gate-stats{grid-template-columns:1fr}.gate-badges{justify-content:flex-start}.testing-preview article{grid-template-columns:1fr}}
