:root{--primary:#172431;--secondary:#243648;--accent:#1677b8;--success:#218c55;--danger:#b42318;--warning:#8b5e00;--bg:#f4f7fa;--line:#d7e0e8;--muted:#607080}*{box-sizing:border-box}body{margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d2b38;background:var(--bg)}h1,h2,p{margin:0}.topbar{min-height:72px;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;background:var(--primary);color:#fff}.topbar h1{font-size:22px}.topbar p{color:#c8d4df;margin-top:3px}.top-status{display:flex;align-items:center;gap:14px}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{padding:14px 10px;background:#1b2b39;color:#fff}.nav-item{display:block;width:100%;min-height:40px;margin:3px 0;padding:9px 12px;text-align:left;border:0;border-radius:4px;background:transparent;color:#dce6ed;cursor:pointer}.nav-item:hover,.nav-item.active{background:#36516a;color:#fff}.nav-title{margin:18px 12px 7px;color:#8fa5b6;font-size:12px;font-weight:700;text-transform:uppercase}.nav-empty{display:block;padding:8px 12px;color:#8fa5b6;font-size:12px}main{min-width:0;padding:20px}.panel,section{margin-bottom:18px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:6px}.panel{display:none}.panel.active{display:block}.alert{border-color:#e1bd4b;background:#fff8da;color:#5e4800}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-head h2{font-size:18px}.section-head p{margin-top:4px;color:var(--muted)}button{min-height:34px;padding:6px 14px;border:1px solid var(--accent);border-radius:4px;background:#fff;color:var(--accent);cursor:pointer}button:hover{background:#edf7fd}button:disabled{cursor:not-allowed;opacity:.55}.status{display:inline-block;padding:4px 9px;border-radius:999px;font-weight:650}.status-off,.status-unknown,.status-untested,.status-draft,.status-disabled{background:#fff0d4;color:var(--warning)}.status-pass,.status-healthy{background:#daf2e4;color:var(--success)}.status-missing,.status-blocked{background:#fde0dc;color:var(--danger)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:4px}table{width:100%;min-width:820px;border-collapse:collapse}th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f0f4f7;white-space:nowrap}tr:last-child td{border-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin-bottom:18px;padding:14px;border:1px solid var(--line);background:#f8fafc;border-radius:5px}.form-grid.compact{grid-template-columns:repeat(4,minmax(140px,1fr))}.form-grid label{display:flex;flex-direction:column;gap:5px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select,.switch-row input[type=number]{width:100%;min-height:36px;padding:7px 9px;border:1px solid #bfcbd5;border-radius:4px;background:#fff;font:inherit}.span-2{grid-column:1/-1}.form-actions{display:flex;align-items:center;gap:12px}.form-actions output{color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:14px}.metric{padding:14px;border:1px solid var(--line);border-radius:5px;background:#fbfcfd}.metric strong{display:block;margin-top:5px;font-size:22px}.switch-row,.filters{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:4px}.switch-row label{display:flex;align-items:center;gap:6px}.filters input{max-width:320px}.filters select{max-width:180px}.gate-list{display:grid;gap:9px;padding-left:24px}.danger-note{margin-top:16px;padding:12px;border-left:4px solid var(--danger);background:#fff1f0;color:#7a271a}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{display:flex;overflow-x:auto;gap:4px}.nav-item{min-width:max-content}.nav-title,.nav-empty{display:none}.form-grid,.form-grid.compact{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.topbar,.section-head{align-items:flex-start;flex-direction:column}.top-status{align-items:flex-start;flex-direction:column;gap:5px}main{padding:10px}.card-grid{grid-template-columns:1fr}}
