:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--teal: #16b1b8;--teal-highlight: #3dd9de;--teal-deep: #0e7c86;--teal-wash: rgba(61, 217, 222, .14);--on-teal: #06121a;--bg: #1a1a2e;--panel: #16213e;--panel-deep: #0d1b2e;--border: #2a2a4e;--text: #ffffff;--text-muted: #a0aec0;--text-quiet: #7c8798;--amber: #f59e0b;--red: #ff6b6b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--teal-highlight)}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--teal-highlight);outline-offset:2px}.btn{background:var(--teal);color:var(--on-teal);border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:700}.btn:hover:not(:disabled){background:var(--teal-highlight)}.btn:active:not(:disabled){background:var(--teal-deep);color:var(--text)}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:transparent;border:1px solid var(--teal-deep);color:var(--teal-highlight)}.btn.secondary:hover:not(:disabled){background:var(--teal-wash)}.btn.destructive{background:transparent;border:1px solid #7a2d24;color:var(--red)}.btn.destructive:hover:not(:disabled){background:#ff6b6b1f}.input,textarea.input{background:var(--panel-deep);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:14px;font-family:inherit;width:100%}.input::placeholder{color:var(--text-quiet)}.input:focus{border-color:var(--teal)}.label{font-size:12px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.error-text{color:var(--red);font-size:13px}.muted{color:var(--text-quiet)}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--panel);border-right:1px solid var(--border);padding:20px 0;flex-shrink:0;display:flex;flex-direction:column}.sidebar-brand{padding:0 20px 16px;border-bottom:1px solid var(--border);margin-bottom:12px}.sidebar-brand strong{display:block;font-weight:800;font-size:16px;color:var(--teal-highlight)}.sidebar-brand span{display:block;font-size:11px;color:var(--text-quiet);text-transform:uppercase;letter-spacing:.8px;margin-top:3px}.sidebar-link{display:block;padding:12px 20px;color:var(--text-muted);text-decoration:none;font-size:14px;font-weight:600;border-left:3px solid transparent}.sidebar-link:hover{color:var(--text)}.sidebar-link.active{color:var(--teal-highlight);background:var(--teal-wash);border-left-color:var(--teal)}.main{flex:1;padding:32px 40px;max-width:1100px}.page-title{font-size:22px;font-weight:800;margin:0 0 4px}.page-subtitle{color:var(--text-muted);font-size:14px;margin:0 0 24px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-quiet);padding:8px 12px;border-bottom:1px solid var(--border)}td{padding:14px 12px;border-bottom:1px solid #222c47;font-size:14px;vertical-align:top}tr.selected td{background:var(--teal-wash)}.badge{display:inline-block;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.badge.role{background:var(--teal-wash);color:var(--teal-highlight);border:1px solid var(--teal-deep)}.badge.waiting{background:#f59e0b24;color:var(--amber);border:1px solid rgba(245,158,11,.4)}.badge.rejected{background:#ff6b6b1f;color:var(--red);border:1px solid rgba(255,107,107,.35)}.missing{color:var(--text-quiet);font-style:italic}.tabs{display:flex;gap:8px;margin-bottom:20px}.tab{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:6px 16px;font-size:13px;font-weight:700}.tab.active{background:var(--teal-wash);border-color:var(--teal-deep);color:var(--teal-highlight)}.empty-state{text-align:center;padding:56px 24px;color:var(--text-muted)}.empty-state strong{display:block;font-size:16px;color:var(--text);margin-bottom:6px}.row-actions{display:flex;gap:8px;justify-content:flex-end}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.tile{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.tile.status-not_configured,.tile.status-unavailable{opacity:.72}.tile.status-error{border-color:#ff6b6b66}.tile.stale{border-color:#f59e0b66}.tile.cost{margin-bottom:20px}.tile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.tile-head h2{font-size:15px;font-weight:800;margin:0}.badge.status{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.badge.status-ok{background:var(--teal-wash);color:var(--teal-highlight);border:1px solid var(--teal-deep)}.badge.status-error{background:#ff6b6b1f;color:var(--red);border:1px solid rgba(255,107,107,.35)}.badge.status-not_configured,.badge.status-unavailable{background:#a0aec01a;color:var(--text-quiet);border:1px solid var(--border)}.tile-asat{font-size:12px;color:var(--text-quiet);margin-bottom:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stat{display:flex;flex-direction:column;margin-bottom:12px}.stat-label{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:20px;font-weight:800;line-height:1.25}.stat-value.sev-ok{color:var(--teal-highlight)}.stat-value.sev-warn{color:var(--amber)}.stat-value.sev-bad{color:var(--red)}.stat-note{font-size:12px;color:var(--text-quiet);margin-top:2px}.tile-list{border-top:1px solid var(--border);margin-top:6px;padding-top:8px}.tile-list-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:4px 0}.tile-caveat{font-size:12px;color:var(--text-quiet);line-height:1.5;margin:10px 0 0}.tile-error{font-size:13px;color:var(--red);line-height:1.5;margin:10px 0 0}.tile-warning{font-size:12px;color:var(--amber);line-height:1.5;margin:0 0 12px}.tile-collapse{margin-top:10px}.tile-collapse>summary{cursor:pointer;font-size:12px;color:var(--text-quiet);line-height:1.5;list-style-position:outside}.tile-collapse>summary:hover{color:var(--text-muted)}.tile-collapse[open]>summary{margin-bottom:4px}.tile-blocked{padding:8px 0;border-bottom:1px solid #222c47;font-size:13px}.tile-blocked:last-child{border-bottom:none}.badge.blocked{background:#a0aec01f;color:var(--text-muted);border:1px solid var(--border);font-size:11px;letter-spacing:.5px}
