:root{color:#172033;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:0;border-radius:6px;background:#111827;color:#fff;padding:9px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}button:disabled{opacity:.6;cursor:wait}button.dangerButton{background:#991b1b}input,select{border:1px solid #cbd5e1;border-radius:6px;padding:9px 10px;min-width:0}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{background:#0f172a;color:#e5e7eb;padding:20px 14px;display:flex;flex-direction:column;gap:20px}.mobileMenuButton,.mobileCloseButton,.mobileOverlay{display:none}.brand{display:flex;gap:10px;align-items:center;padding:4px 8px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.brand strong{display:block;font-size:17px}.brand span{color:#aeb8ca;font-size:12px}nav{display:flex;flex-direction:column;gap:5px}nav button,.logout{justify-content:flex-start;background:transparent;color:#cbd5e1;width:100%}nav button.active{background:#1f2937;color:#fff}.logout{margin-top:auto}main{padding:24px;overflow:auto}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;gap:16px}h1,h2,p{margin-top:0}h1{font-size:25px;margin-bottom:4px}h2{font-size:17px;margin:0}header p,.muted{color:#64748b}.headerActions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.domainFilter{display:grid;gap:5px;color:#475569;font-size:12px;font-weight:700}.domainFilter select{min-width:240px;background:#fff}.stats{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:16px}.stat{background:#fff;border:1px solid #dbe2ea;border-radius:8px;padding:14px}.stat span{display:block;color:#64748b;font-size:12px;margin-bottom:8px}.stat strong{font-size:20px;overflow-wrap:anywhere}.stat.good{border-left:4px solid #059669}.stat.warn{border-left:4px solid #d97706}.stat.bad{border-left:4px solid #dc2626}.section{background:#fff;border:1px solid #dbe2ea;border-radius:8px;padding:16px;margin-bottom:16px}.sectionHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.actions{display:flex;gap:8px}.tableWrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #edf1f5;padding:10px;vertical-align:top;font-size:13px}th{color:#475569;background:#f8fafc;font-weight:700}td{overflow-wrap:anywhere}.banner,.error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:10px;margin-bottom:14px;display:flex;align-items:center;gap:8px}.successBanner{color:#065f46;background:#d1fae5;border-color:#a7f3d0}.login{min-height:100vh;display:grid;place-items:center;background:#0f172a}.loginBox{width:min(420px,calc(100vw - 32px));background:#fff;border-radius:8px;padding:24px;display:grid;gap:14px}.loginBox label,.settingsForm label{display:grid;gap:6px;color:#334155;font-weight:600}.loginBox input,.settingsForm input,.settingsForm select{width:100%}.inlineForm{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-bottom:14px}.inlineActions{display:flex;gap:8px;min-width:260px}.inlineActions input{width:160px}.settingsForm{max-width:620px;display:grid;gap:14px}.iconBtn{padding:7px;background:#334155}@media (max-width: 980px){.app{grid-template-columns:1fr}aside{position:fixed;inset:0 auto 0 0;width:min(82vw,310px);z-index:30;transform:translate(-105%);transition:transform .18s ease;overflow-y:auto;box-shadow:18px 0 36px #0f172a47}.app.menuOpen aside{transform:translate(0)}.mobileOverlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:20;opacity:0;pointer-events:none;transition:opacity .18s ease}.app.menuOpen .mobileOverlay{opacity:1;pointer-events:auto}.mobileMenuButton{display:inline-flex;position:fixed;top:12px;left:12px;z-index:15;width:42px;height:42px;justify-content:center;padding:0;background:#0f172a}.mobileCloseButton{display:inline-flex;position:absolute;top:14px;right:12px;width:36px;height:36px;justify-content:center;padding:0;background:#1f2937}main{padding:70px 14px 20px}header{flex-direction:column;align-items:stretch}.headerActions{justify-content:flex-start}.domainFilter{width:100%}.domainFilter select{width:100%;min-width:0}header button{align-self:flex-start}.stats{grid-template-columns:repeat(2,1fr)}.inlineForm{grid-template-columns:1fr}.section{padding:13px}.sectionHeader{align-items:flex-start;flex-direction:column}.actions{flex-wrap:wrap}.inlineActions{min-width:0;width:100%}.inlineActions input{width:100%}th,td{padding:9px 8px}}@media (max-width: 560px){h1{font-size:22px}.stats{grid-template-columns:1fr}.loginBox{padding:20px}button{min-height:40px}}.stackForm{display:grid;gap:12px}.stackForm textarea{width:100%;min-height:120px;resize:vertical;border:1px solid #d5deeb;border-radius:8px;padding:12px;font:inherit;color:#172033;background:#fff}.settingsForm textarea{width:100%;min-height:90px;resize:vertical;border:1px solid #d5deeb;border-radius:8px;padding:10px;font:inherit}.checkRow{display:flex;align-items:center;gap:10px}.checkRow input{width:auto}.scanSummary{margin:12px 0 18px;color:#475569;font-size:14px}.statusBadge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.statusBadge.good{color:#166534;background:#dcfce7}.statusBadge.warn{color:#92400e;background:#fef3c7}.statusBadge.bad{color:#991b1b;background:#fee2e2}
