:root,:root[data-theme=dark]{--bg: #0b0f16;--panel: #131a24;--panel-2: #1a2330;--border: #26313f;--text: #e7ecf2;--muted: #8a97a6;--primary: #2563eb;--primary-2: #22d3ee;--fail: #ef4444;--adjust: #f59e0b;--watch: #38bdf8;--clear: #22c55e;color-scheme:dark}:root[data-theme=light]{--bg: #f4f6f9;--panel: #ffffff;--panel-2: #eef1f5;--border: #d9dee6;--text: #1b2330;--muted: #5c6b7a;--primary: #2563eb;--primary-2: #0891b2;--fail: #dc2626;--adjust: #c2730a;--watch: #0369a1;--clear: #15a34a;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.center{min-height:100vh;display:grid;place-items:center}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center}.row.gap{gap:8px;flex-wrap:wrap}.row.spread{justify-content:space-between}.big{font-size:28px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px}.brand img,.brand svg{width:26px;height:26px}.brand.big img,.brand.big svg{width:44px;height:44px}.topbar{display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.nav{display:flex;gap:16px}.nav a{color:var(--muted);padding:6px 4px}.nav a.active{color:var(--text);border-bottom:2px solid var(--primary)}.user{margin-left:auto;display:flex;align-items:center;gap:10px}.avatar{width:26px;height:26px;border-radius:50%}.content{max-width:1080px;margin:24px auto;padding:0 24px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.card+.card{margin-top:16px}.card h1{margin:0 0 6px;font-size:20px}.card h2{margin:0 0 12px;font-size:16px}.login{width:380px;text-align:center}.login p{margin:8px 0 20px}input,textarea,select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 11px;font:inherit;flex:1;min-width:120px}select{flex:0 0 auto;min-width:0;cursor:pointer}textarea{width:100%;resize:vertical;font-family:ui-monospace,monospace}label{font-size:13px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:4px}.search-form{display:flex;flex-direction:column;gap:10px;margin-top:12px}.btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 16px;cursor:pointer;font:inherit}.btn:hover{border-color:var(--primary)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.google{display:inline-block}.login .btn{display:block;width:100%;margin-top:10px}.btn.dev{background:transparent;border-style:dashed;color:var(--muted)}.btn.dev:hover{color:var(--text);border-color:var(--adjust)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.small{padding:5px 11px;font-size:12px}.btn.danger{color:var(--fail);border-color:var(--fail)}.link{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;font:inherit}.link.danger{color:var(--fail)}.icon-btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;width:32px;height:32px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:15px}.icon-btn:hover{border-color:var(--primary)}.table{width:100%;border-collapse:collapse;margin-top:8px}.table th{text-align:left;color:var(--muted);font-weight:500;padding:8px;border-bottom:1px solid var(--border);font-size:12px}.table td{padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-weight:600;font-size:12px}.badge.verdict-fail{background:#ef444426;color:var(--fail)}.badge.verdict-needs-adjustment{background:#f59e0b26;color:var(--adjust)}.badge.verdict-pass{background:#38bdf826;color:var(--watch)}.badge.verdict-clear{background:#22c55e26;color:var(--clear)}.badge.verdict-error{background:#8a97a626;color:var(--muted)}.badge.pending{background:#f59e0b26;color:var(--adjust)}.badge.approved{background:#22c55e26;color:var(--clear)}.badge.rejected{background:#ef444426;color:var(--fail)}.badge.admin{background:#2563eb26;color:var(--primary)}.badge.test{background:#8a97a62e;color:var(--muted)}.badge.kto{background:#2563eb26;color:var(--primary)}.badge.visual{background:#f59e0b26;color:var(--adjust)}.findings{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.finding{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:8px;background:var(--panel-2)}.finding .sev{text-transform:uppercase;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;flex:0 0 auto;margin-top:2px}.finding.BLOCK .sev{background:#ef444433;color:var(--fail)}.finding.ADJUST .sev{background:#f59e0b33;color:var(--adjust)}.finding.WATCH .sev{background:#38bdf833;color:var(--watch)}.finding.OK .sev{background:#22c55e33;color:var(--clear)}.finding .body{flex:1}.finding .rule{font-weight:600}.finding .loc{color:var(--muted);font-size:12px;margin-left:6px}.finding .quote{color:var(--muted);font-size:12px;margin-top:4px;font-style:italic}.finding .note{font-size:12px;margin-top:2px}.kv{display:grid;gap:6px;margin:0}.kv>div{display:grid;grid-template-columns:180px 1fr;gap:12px}.kv dt{color:var(--muted);margin:0}.kv dd{margin:0}.filters{flex-wrap:wrap}.chip{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:5px 12px;cursor:pointer;font:inherit;font-size:12px}.chip:hover{color:var(--text)}.chip.on{color:var(--text);border-color:var(--primary);background:#2563eb1f}.alert{padding:10px 14px;border-radius:8px;margin:8px 0}.alert.error{background:#ef44441f;color:#fca5a5}.alert.info{background:#2563eb1f;color:#93c5fd}.alert.success{background:#22c55e1f;color:#86efac}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-box{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem;max-width:560px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.ai-toggle{display:flex;align-items:center;gap:.4rem;cursor:pointer;white-space:nowrap;padding:9px 0}.ai-toggle input[type=checkbox]{flex:0 0 auto;width:15px;height:15px;cursor:pointer}.pending-screen{max-width:440px;text-align:center}
