:root{--bg: #0b1322;--panel: #131f35;--line: rgba(255, 255, 255, .12);--text: #ebf3ff;--muted: #98a8c8;--accent: #f0b35a;--danger: #ff6d7a;--ok: #57cf95}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.auth-wrap{min-height:100vh;display:grid;place-items:center}.auth-card{width:min(420px,94vw);display:grid;gap:10px}.layout{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{border-right:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:6px;background:#0f182b}.brand{font-size:12px;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}.nav{padding:10px 11px;border-radius:10px;color:var(--muted);border:1px solid transparent}.nav.active{background:#1a2947;color:var(--text);border-color:var(--line)}.main{padding:18px}.topbar{display:flex;justify-content:space-between;margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(320px,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(180px,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}.card.summary .value{font-size:24px}.full{grid-column:1 / -1}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.muted{color:var(--muted);font-size:12px}.value{font-size:26px;font-weight:700;margin-top:6px}.form{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:10px;margin-bottom:10px}.form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.form label input,.form label select{width:100%}button.secondary{background:transparent}button.primary,.row>button:first-of-type:not(.secondary){background:#2a4570;border-color:#f0b35a59}.filters{display:grid;grid-template-columns:1.2fr repeat(5,minmax(120px,1fr));gap:8px;margin:8px 0 12px}.list{margin:0;padding-left:16px;display:grid;gap:8px}.link-chip{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted)}.link-chip:hover{border-color:var(--accent);color:var(--text)}.empty{margin-top:10px;color:var(--muted);border:1px dashed var(--line);border-radius:10px;padding:12px;text-align:center}.kv{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;gap:8px}.kv-list{display:grid;gap:2px}input,select,button{height:38px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:#0f1930;color:var(--text)}button{cursor:pointer;background:#1a2947}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}table{width:100%;border-collapse:collapse;margin-top:8px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-weight:600}.actions{display:flex;gap:6px;flex-wrap:wrap}.pager{margin-top:10px;display:flex;align-items:center;gap:10px}.copy-btn{height:24px;padding:0 6px;margin-left:6px;font-size:11px}.badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line);padding:2px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.badge.active,.badge.applied{border-color:#57cf9580;color:#9ef0c5}.badge.grace,.badge.pending,.badge.medium{border-color:#f0b35a80;color:#ffdba3}.badge.expired,.badge.failed{border-color:#ff6d7a80;color:#ffc4cb}.badge.blocked,.badge.revoked,.badge.suspended,.badge.cancelled{border-color:#ff6d7ab3;color:#ffb1ba}.badge.draft{border-color:#98a8c873;color:var(--muted)}.badge.issued{border-color:#f0b35a8c;color:#ffdba3}.badge.paid{border-color:#57cf958c;color:#9ef0c5}.badge.suspicious{border-color:#ff6d7ab3;color:#ffb1ba}.badge.sev-low{border-color:#57cf9580;color:#9ef0c5}.badge.sev-medium{border-color:#f0b35a80;color:#ffdba3}.badge.sev-high{border-color:#ff6d7ab3;color:#ffb1ba}.toast{position:fixed;right:14px;bottom:14px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#12213b}.toast.ok{border-color:color-mix(in srgb,var(--ok) 50%,var(--line))}.toast.error{border-color:color-mix(in srgb,var(--danger) 60%,var(--line))}pre{background:#0e182c;border:1px solid var(--line);border-radius:10px;padding:10px;overflow:auto}@media(max-width:1100px){.layout{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line)}.filters{grid-template-columns:1fr 1fr}.grid.two,.grid.three{grid-template-columns:1fr}}
