:root {
  --bg: #090c12;
  --panel: #111620;
  --panel-2: #151b27;
  --line: #252d3b;
  --text: #f3f6fb;
  --muted: #8995a7;
  --lime: #c8ff48;
  --cyan: #6ee7ff;
  --orange: #ff9d45;
  --red: #ff6278;
  --violet: #a78bfa;
  --sidebar: 230px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--bg); }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 80% -10%, #18243a 0, transparent 34%), var(--bg); color: var(--text); font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; }
body.auth-pending .sidebar, body.auth-pending main { visibility: hidden; }
body.authenticated .auth-gate { display: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.noise { position: fixed; inset: 0; opacity: .025; pointer-events: none; z-index: 10; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); }

.auth-gate { position: fixed; inset: 0; z-index: 30; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 50% 20%, #172338 0, #090c12 45%, #06080c 100%); }
.auth-gate::before { content: ''; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 42px 42px; mask-image: radial-gradient(circle, black, transparent 75%); }
.auth-card { position: relative; width: min(440px, 100%); padding: 34px; border: 1px solid #2d3747; border-radius: 18px; background: rgba(15,20,29,.95); box-shadow: 0 30px 100px rgba(0,0,0,.55); }
.auth-brand { display: flex; gap: 12px; align-items: center; padding-bottom: 28px; margin-bottom: 26px; border-bottom: 1px solid var(--line); }.auth-brand strong,.auth-brand span { display: block; }.auth-brand strong { font-size: 15px; }.auth-brand span { margin-top: 4px; color: var(--muted); font: 9px/1 ui-monospace, monospace; letter-spacing: .12em; }
.auth-card h1 { margin-bottom: 9px; font-size: 30px; }.auth-description { color: var(--muted); font-size: 12px; line-height: 1.7; margin-bottom: 24px; }.auth-card label { font-size: 12px; }.auth-card input { min-height: 46px; }.auth-security { display: flex; gap: 9px; margin-top: 18px; color: var(--muted); }.auth-security span { color: var(--lime); font-size: 8px; margin-top: 5px; }.auth-security p { margin: 0; font-size: 9px; line-height: 1.6; }.auth-error { min-height: 18px; margin: 14px 0 0; color: var(--red); font-size: 11px; text-align: center; }

.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar); padding: 28px 18px; border-right: 1px solid var(--line); background: rgba(9, 12, 18, .92); backdrop-filter: blur(16px); z-index: 5; display: flex; flex-direction: column; }
.brand-lockup { display: flex; align-items: center; gap: 12px; padding: 0 8px 30px; }
.brand-lockup strong, .brand-lockup span { display: block; }
.brand-lockup strong { font-size: 16px; letter-spacing: .02em; }
.brand-lockup span { color: var(--muted); font: 10px/1.5 ui-monospace, monospace; }
.brand-mark { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--lime); color: #0a0d11; font: 900 22px/1 Georgia, serif; box-shadow: 0 0 30px rgba(200,255,72,.15); }
nav { display: grid; gap: 6px; }
.nav-item { border: 0; background: transparent; color: var(--muted); padding: 12px 14px; border-radius: 10px; text-align: left; display: flex; gap: 12px; align-items: center; transition: .2s ease; }
.nav-item span { font-size: 18px; width: 20px; text-align: center; }
.nav-item:hover { background: #141a25; color: var(--text); }
.nav-item.active { background: #1a211f; color: var(--lime); box-shadow: inset 2px 0 var(--lime); }
.sidebar-note { margin-top: auto; border: 1px solid var(--line); border-radius: 12px; padding: 14px; display: flex; gap: 10px; align-items: flex-start; background: #0d1119; }
.sidebar-note b, .sidebar-note small { display: block; }
.sidebar-note b { font-size: 12px; }
.sidebar-note small { color: var(--muted); font-size: 10px; margin-top: 4px; }
.pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); margin-top: 4px; box-shadow: 0 0 0 5px rgba(200,255,72,.08); }

main { margin-left: var(--sidebar); padding: 0 34px 48px; max-width: 1700px; }
.topbar { min-height: 112px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); margin-bottom: 26px; }
.eyebrow { margin: 0 0 7px; color: var(--lime); font: 700 10px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .16em; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: clamp(24px, 3vw, 38px); letter-spacing: -.04em; }
h2 { margin-bottom: 0; font-size: 18px; letter-spacing: -.02em; }
h3 { font-size: 15px; }
.header-actions { display: flex; gap: 10px; align-items: center; }
.scan-progress { min-width: 68px; padding: 7px 9px; border-radius: 8px; color: var(--orange); border: 1px solid rgba(255,157,69,.2); background: rgba(255,157,69,.06); text-align: center; font: 700 10px/1 ui-monospace, monospace; }.scan-progress.complete { color: var(--lime); border-color: rgba(200,255,72,.22); background: rgba(200,255,72,.06); }
.user-chip { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 6px 9px; border-radius: 8px; color: var(--cyan); background: rgba(110,231,255,.07); border: 1px solid rgba(110,231,255,.14); font: 10px/1 ui-monospace, monospace; }
.muted { color: var(--muted); font-size: 12px; }
.paragraph { line-height: 1.7; }
.btn { border: 1px solid var(--line); min-height: 40px; padding: 0 16px; border-radius: 9px; color: var(--text); background: var(--panel); transition: .2s ease; }
.btn:hover { transform: translateY(-1px); border-color: #465166; }
.btn.primary { color: #0b0e12; background: var(--lime); border-color: var(--lime); font-weight: 800; box-shadow: 0 8px 30px rgba(200,255,72,.1); }
.btn.primary:disabled { opacity: .5; cursor: wait; transform: none; }
.btn.ghost { background: transparent; }
.btn.danger { color: var(--red); background: rgba(255,98,120,.05); border-color: rgba(255,98,120,.25); }
.btn.full { width: 100%; }
.text-btn { border: 0; color: var(--muted); background: transparent; font-size: 12px; }
.text-btn:hover { color: var(--lime); }

.view { display: none; animation: reveal .25s ease; }
.view.active { display: block; }
@keyframes reveal { from { opacity: 0; transform: translateY(4px); } }
.notice { display: flex; gap: 13px; align-items: flex-start; padding: 14px 16px; border: 1px solid #2b3842; border-radius: 12px; background: linear-gradient(90deg, rgba(110,231,255,.07), transparent); margin-bottom: 20px; }
.notice > span { flex: 0 0 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--cyan); color: #071218; font-weight: 900; font-family: Georgia, serif; }
.notice p { margin: 1px 0 0; color: #b8c3d2; font-size: 12px; line-height: 1.7; }
.notice b { color: var(--text); }

.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 14px; }
.kpi { min-height: 128px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, #131925, #0e131b); position: relative; overflow: hidden; }
.kpi::after { content: ''; position: absolute; inset: auto -20px -40px auto; width: 100px; height: 100px; border: 18px solid currentColor; opacity: .025; border-radius: 50%; }
.kpi small { display: block; color: var(--muted); font-size: 11px; margin-bottom: 17px; }
.kpi strong { font-size: 32px; letter-spacing: -.04em; }
.kpi em { font-style: normal; font-size: 11px; color: var(--muted); margin-left: 7px; }
.kpi.lime { color: var(--lime); }.kpi.cyan { color: var(--cyan); }.kpi.orange { color: var(--orange); }.kpi.violet { color: var(--violet); }

.dashboard-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; }
.panel { border: 1px solid var(--line); border-radius: 14px; background: rgba(17,22,32,.88); overflow: hidden; }
.span-8 { grid-column: span 8; }.span-7 { grid-column: span 7; }.span-5 { grid-column: span 5; }.span-4 { grid-column: span 4; }
.panel-head { min-height: 73px; padding: 18px 20px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }
.legend { display: flex; gap: 14px; color: var(--muted); font-size: 10px; }
.dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 5px; }.dot.good { background: var(--lime); }.dot.warn { background: var(--orange); }.dot.bad { background: var(--red); }
.platform-row { display: grid; grid-template-columns: 1.4fr .7fr .7fr .8fr 1.4fr .5fr; gap: 10px; align-items: center; padding: 15px 20px; border-bottom: 1px solid #1e2531; }
.platform-row:last-child { border-bottom: 0; }
.platform-name { display: flex; align-items: center; gap: 10px; }
.platform-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: #202838; color: var(--platform-color); font-weight: 900; }
.platform-name strong { display: block; font-size: 13px; }.platform-name small { color: var(--muted); font-size: 9px; }
.metric-cell span { display: block; font-size: 12px; }.metric-cell small { color: var(--muted); font-size: 9px; }
.mini-bar { height: 5px; background: #222a38; border-radius: 8px; overflow: hidden; }.mini-bar i { display: block; height: 100%; background: var(--platform-color); border-radius: inherit; }
.platform-score { text-align: right; font: 800 18px/1 ui-monospace, monospace; color: var(--platform-color); }

.score-panel { min-height: 390px; }
.score-ring { width: 170px; height: 170px; margin: 26px auto 18px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--lime) 0deg, #202734 0); position: relative; }
.score-ring::before { content: ''; position: absolute; width: 138px; height: 138px; border-radius: 50%; background: var(--panel); }
.score-ring > div { z-index: 1; text-align: center; }.score-ring strong { display: block; font-size: 44px; letter-spacing: -.08em; }.score-ring span { color: var(--muted); font-size: 10px; }
.score-breakdown { padding: 0 22px 22px; display: grid; gap: 10px; }
.breakdown-row { display: grid; grid-template-columns: 70px 1fr 32px; align-items: center; gap: 9px; font-size: 10px; color: var(--muted); }
.breakdown-row .track { height: 4px; border-radius: 4px; background: #222a38; }.breakdown-row .track i { display: block; height: 100%; border-radius: inherit; background: var(--cyan); }.breakdown-row b { color: var(--text); text-align: right; }

.result-list { padding: 4px 20px; }
.result-item { padding: 15px 0; border-bottom: 1px solid #202733; display: grid; grid-template-columns: 94px 1fr auto; gap: 14px; align-items: center; }
.result-item:last-child { border: 0; }
.badge { display: inline-flex; padding: 5px 8px; border-radius: 6px; background: color-mix(in srgb, var(--platform-color) 12%, transparent); color: var(--platform-color); font: 700 10px/1 ui-monospace, monospace; }
.category-chip { display: inline-flex; margin: 4px 0 0 5px; padding: 4px 6px; border-radius: 6px; color: var(--cyan); border: 1px solid rgba(110,231,255,.18); background: rgba(110,231,255,.06); font: 700 9px/1 ui-monospace, monospace; }
.result-copy strong { font-size: 12px; display: block; margin-bottom: 5px; }.result-copy small { color: var(--muted); display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 520px; }
.result-flags { display: flex; gap: 6px; }.flag { font-size: 9px; padding: 4px 6px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); }.flag.yes { color: var(--lime); border-color: rgba(200,255,72,.3); }.flag.danger { color: var(--red); border-color: rgba(255,98,120,.3); background: rgba(255,98,120,.06); }
.source-list { padding: 8px 20px; }
.source-item { padding: 13px 0; border-bottom: 1px solid #202733; }.source-item:last-child { border: 0; }
.source-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.source-url { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #c8d0dd; font-size: 11px; }.status-pill { flex: 0 0 auto; font-size: 9px; padding: 4px 7px; border-radius: 10px; color: var(--muted); background: #202734; }.status-pill.online { color: var(--lime); background: rgba(200,255,72,.1); }.status-pill.error { color: var(--red); background: rgba(255,98,120,.1); }.source-meta { color: var(--muted); font-size: 9px; margin-top: 8px; }.source-layers { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }.evidence-layer { padding: 4px 6px; border-radius: 5px; color: var(--muted); background: #181f2b; border: 1px solid #252e3c; font-size: 8px; }.evidence-layer.positive { color: var(--lime); border-color: rgba(200,255,72,.2); background: rgba(200,255,72,.05); }

.section-toolbar { display: flex; align-items: end; justify-content: space-between; margin-bottom: 18px; }
.source-domain-panel { margin-bottom: 14px; }.source-note { margin: 14px 20px 5px; }.source-domain-list { padding: 5px 20px 16px; }.source-domain-row { display: grid; grid-template-columns: 28px minmax(180px,1fr) minmax(180px,.8fr) minmax(150px,.7fr); align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }.source-domain-row:last-child { border-bottom: 0; }.source-domain-row > b { color: var(--lime); font: 800 12px/1 ui-monospace,monospace; }.source-domain-row strong,.source-domain-row small { display: block; }.source-domain-row strong { font-size: 12px; }.source-domain-row small { margin-top: 5px; color: var(--muted); font-size: 9px; }.domain-platforms,.domain-links { display: flex; flex-wrap: wrap; gap: 6px; }.domain-platforms span { padding: 4px 6px; border-radius: 5px; color: var(--cyan); background: rgba(110,231,255,.06); border: 1px solid rgba(110,231,255,.15); font-size: 8px; }.domain-links a { color: var(--orange); font-size: 9px; text-decoration: none; }
.source-rank-filters { display: flex; gap: 10px; padding: 14px 20px 0; }.source-rank-filters label { width: min(320px, 45%); margin: 0; }.source-rank-filters select { padding: 8px 10px; font-size: 10px; }.source-weight { height: 4px; margin-top: 8px; border-radius: 5px; overflow: hidden; background: #222a38; }.source-weight i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--cyan),var(--lime)); }
.section-toolbar select { width: 160px; }
.table-panel { padding: 0; }.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; min-width: 1200px; }
th, td { border-bottom: 1px solid var(--line); padding: 14px 16px; text-align: left; font-size: 11px; }
th { color: var(--muted); font-size: 9px; letter-spacing: .08em; background: #0e131b; }
td { color: #bec8d7; }.cell-score { font: 800 14px/1 ui-monospace, monospace; color: var(--lime); }.error-label { color: var(--red); font: 700 9px/1.4 ui-monospace, monospace; }.answer-link { border: 0; background: transparent; color: var(--cyan); padding: 0; }
  .prompt-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .prompt-filter-bar { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 10px; margin: 14px 0; }.prompt-filter-bar label { margin: 0; }.prompt-filter-bar select { width: 100%; box-sizing: border-box; margin-top: 5px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: #0d121a; }
.prompt-card { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); min-height: 180px; display: flex; flex-direction: column; }
.prompt-top { display: flex; align-items: center; justify-content: space-between; }.prompt-top .category-chip { margin: 0; }.prompt-card .number { color: var(--lime); font: 700 10px/1 ui-monospace, monospace; }.prompt-card h3 { margin: 18px 0 10px; }.prompt-card p { color: #aab5c4; font-size: 12px; line-height: 1.75; }.prompt-card footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 9px; }.prompt-edit { border: 1px solid rgba(110,231,255,.2); border-radius: 6px; padding: 4px 9px; color: var(--cyan); background: rgba(110,231,255,.05); font-size: 9px; }.prompt-edit:hover { border-color: var(--cyan); }
.prompt-sources { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 2px 0 14px; padding: 9px 10px; border: 1px solid rgba(110,231,255,.12); border-radius: 8px; background: rgba(110,231,255,.035); }.prompt-sources span { width: 100%; color: var(--muted); font-size: 9px; }.prompt-sources a { color: var(--cyan); font-size: 9px; text-decoration: none; }.prompt-sources a:hover { text-decoration: underline; }
.risk-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, .8fr); gap: 14px; }.risk-list { max-height: 720px; overflow: auto; padding: 6px 20px 18px; }.risk-item { padding: 16px 0; border-bottom: 1px solid var(--line); }.risk-item:last-child { border-bottom: 0; }.risk-head,.risk-item footer { display: flex; justify-content: space-between; gap: 12px; align-items: center; }.risk-head { color: var(--muted); font-size: 9px; }.risk-type { padding: 4px 7px; border-radius: 6px; color: var(--orange); background: rgba(255,157,69,.07); border: 1px solid rgba(255,157,69,.18); }.risk-item p { margin: 11px 0; color: #c4cedc; font-size: 12px; line-height: 1.75; }.risk-item footer { color: var(--muted); font-size: 9px; }.risk-links { display: flex; gap: 7px; }.risk-links a { color: var(--cyan); text-decoration: none; }.prevention-list { padding: 20px; }.prevention-list label { grid-template-columns: 18px 1fr; align-items: start; margin-bottom: 14px; line-height: 1.6; }.prevention-list input { width: 15px; height: 15px; margin: 1px 0 0; accent-color: var(--lime); }.empty-state { padding: 24px 0; }

.balance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.balance-card { min-height: 250px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, #141b27, #0d121a); display: flex; flex-direction: column; }.balance-top { display: flex; justify-content: space-between; align-items: flex-start; }.balance-top .platform-icon { width: 38px; height: 38px; }.balance-status { color: var(--muted); font: 9px/1.4 ui-monospace, monospace; text-align: right; }.balance-status.ok { color: var(--lime); }.balance-status.error { color: var(--red); }.balance-amount { margin: 28px 0 10px; }.balance-amount strong { font-size: 34px; letter-spacing: -.05em; }.balance-amount span { margin-left: 7px; color: var(--muted); font-size: 11px; }.balance-card p { color: var(--muted); font-size: 10px; line-height: 1.65; }.balance-actions { display: flex; gap: 8px; margin-top: auto; }.balance-actions a,.balance-actions button { flex: 1; min-height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 7px; color: #c6d0dd; background: #111823; text-decoration: none; font-size: 10px; }.balance-actions a:hover,.balance-actions button:hover { color: var(--lime); border-color: #4b5b39; }

.settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.form-panel { padding: 22px; }.span-settings { grid-column: 1 / -1; }.form-panel h3 { margin-bottom: 20px; }
.config-summary { margin-bottom: 18px; padding: 14px; border: 1px solid rgba(110,231,255,.14); border-radius: 10px; background: rgba(110,231,255,.035); }.config-summary strong,.config-summary small { display: block; }.config-summary strong { margin-bottom: 10px; color: var(--cyan); font-size: 12px; }.config-summary div { display: flex; flex-wrap: wrap; gap: 7px; }.config-summary span { padding: 5px 7px; border-radius: 6px; color: #c9d4e2; background: #151d29; font-size: 9px; }.config-summary small { margin-top: 10px; color: var(--muted); line-height: 1.6; }.form-panel textarea[readonly] { color: #aab5c4; background: #101620; cursor: default; }
.sync-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }.sync-head h3 { margin-bottom: 6px; }.asset-summary { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 17px; }.asset-stat { padding: 13px; border-radius: 9px; border: 1px solid var(--line); background: #0d121a; }.asset-stat strong,.asset-stat span { display: block; }.asset-stat strong { font-size: 20px; }.asset-stat span { margin-top: 6px; color: var(--muted); font-size: 9px; }.asset-warning { grid-column: 1 / -1; padding: 11px 13px; border-radius: 8px; color: var(--orange); background: rgba(255,157,69,.06); border: 1px solid rgba(255,157,69,.16); font-size: 10px; line-height: 1.6; }
label { display: grid; gap: 7px; color: #cbd3df; font-size: 11px; margin-bottom: 16px; }label small { color: var(--muted); font-weight: 400; }
.inline-check { display: flex; align-items: center; gap: 9px; }.inline-check input { width: 15px; height: 15px; margin: 0; accent-color: var(--lime); }
input, textarea, select { width: 100%; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: #0c1119; padding: 11px 12px; outline: none; resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: #62728a; box-shadow: 0 0 0 3px rgba(110,231,255,.05); }
.connection-list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }.connection { border: 1px solid var(--line); padding: 14px; border-radius: 10px; background: #0d121a; display: flex; flex-direction: column; min-height: 112px; }.connection strong, .connection span { display: block; }.connection span { margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.5; }.connection .connected { color: var(--lime); }.connection .manual { color: var(--orange); }.connection-error { color: var(--red); font-weight: 700; }.connection button { margin-top: auto; width: 100%; min-height: 30px; border: 1px solid var(--line); border-radius: 7px; color: #b9c4d3; background: #131a24; font-size: 10px; }.connection button:hover { color: var(--lime); border-color: #4b5b39; }
.compact-domain-list { padding-top: 3px; }.compact-domain-list .source-domain-row { grid-template-columns: 24px minmax(150px,1fr) minmax(120px,.8fr); }.discoverability-panel { margin-top: 14px; }.discoverability-item .risk-type { color: var(--cyan); border-color: rgba(110,231,255,.18); background: rgba(110,231,255,.06); }.collector-status { display: grid; grid-template-columns: 12px auto 1fr; align-items: center; gap: 8px; margin: 14px 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: #0d121a; }.collector-status strong { font-size: 11px; }.collector-status small { color: var(--muted); font-size: 9px; }.collector-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px rgba(255,93,115,.08); }.collector-dot.online { background: var(--lime); box-shadow: 0 0 0 4px rgba(196,255,77,.08); }.collector-steps { padding-left: 22px; color: #b8c5d5; font-size: 11px; line-height: 1.75; }.collector-steps code,.security-note code { color: var(--cyan); }#collector-dialog label { display: block; margin-top: 12px; color: var(--muted); font-size: 10px; }#collector-dialog input { box-sizing: border-box; width: 100%; margin-top: 6px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 7px; color: #dce7f5; background: #090d13; font: 10px/1.4 ui-monospace,monospace; }
.source-strategy { display: inline-block; margin-top: 7px; padding: 3px 6px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); font-size: 8px; }.source-strategy.content { color: var(--lime); border-color: rgba(196,255,77,.18); }.source-strategy.directory { color: var(--orange); border-color: rgba(255,157,69,.2); }.source-strategy.map { color: var(--cyan); border-color: rgba(110,231,255,.18); }
.collector-retries { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px; padding-top: 4px; }.collector-retries button { border: 1px solid rgba(255,157,69,.22); border-radius: 6px; padding: 6px 8px; color: var(--orange); background: rgba(255,157,69,.06); font-size: 9px; }
.collector-retries button:disabled { cursor: not-allowed; opacity: .6; color: var(--red); border-color: rgba(255,98,120,.22); background: rgba(255,98,120,.06); }
.role-chip { padding: 5px 8px; border: 1px solid rgba(110,231,255,.2); border-radius: 7px; color: var(--cyan); background: rgba(110,231,255,.05); font: 700 9px/1 ui-monospace,monospace; }
.enterprise-access { margin-top: 14px; padding-bottom: 18px; }.user-create-form { display: grid; grid-template-columns: 1fr 1fr 180px auto; align-items: end; gap: 10px; padding: 18px 20px 4px; }.user-create-form label { margin: 0; }.user-create-form input,.user-create-form select { box-sizing: border-box; }.enterprise-users { display: grid; gap: 8px; padding: 14px 20px 0; }.enterprise-user { display: grid; grid-template-columns: minmax(140px,1fr) 120px 90px minmax(150px,1fr); align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: #0d121a; }.enterprise-user strong,.enterprise-user small { display: block; }.enterprise-user small { margin-top: 4px; color: var(--muted); font-size: 8px; }.enterprise-user select { padding: 7px 8px; }.enterprise-user-actions { display: flex; gap: 7px; justify-content: flex-end; }.enterprise-user-actions button { border: 1px solid var(--line); border-radius: 6px; padding: 7px 8px; color: #c4cfdd; background: #151d29; font-size: 9px; }
.enterprise-audit-head { display: flex; align-items: center; justify-content: space-between; padding: 22px 20px 8px; }.enterprise-audit-head h3 { margin: 0; }.enterprise-audit-head a { color: var(--cyan); font-size: 10px; text-decoration: none; }.enterprise-audit { display: grid; gap: 6px; padding: 4px 20px; }.audit-row { display: grid; grid-template-columns: 150px 120px 170px 1fr; gap: 10px; padding: 9px 11px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; }.audit-row b { color: #cbd5e1; }.audit-row code { color: var(--cyan); }
body[data-role="viewer"] #run-web-scan,body[data-role="viewer"] #run-scan,body[data-role="viewer"] #open-manual,body:not([data-role="admin"]) #add-prompt,body:not([data-role="admin"]) .prompt-edit { display: none !important; }
body:not([data-role="admin"]) .nav-item[data-view="accounts"],body:not([data-role="admin"]) .nav-item[data-view="settings"] { display: none; }

dialog { width: min(620px, calc(100vw - 30px)); border: 1px solid #303a4a; border-radius: 16px; padding: 22px; color: var(--text); background: #111720; box-shadow: 0 30px 100px rgba(0,0,0,.6); }
dialog::backdrop { background: rgba(2,5,9,.75); backdrop-filter: blur(6px); }.dialog-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 22px; }.icon-btn { border: 0; color: var(--muted); background: transparent; font-size: 26px; }.dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }.split-actions { flex-wrap: wrap; }.action-spacer { flex: 1; }.security-note { display: flex; gap: 10px; align-items: flex-start; padding: 12px; margin: -4px 0 18px; border-radius: 9px; border: 1px solid rgba(110,231,255,.16); background: rgba(110,231,255,.05); }.security-note p { margin: 0; color: #aab8c9; font-size: 10px; line-height: 1.6; }pre { max-height: 55vh; overflow: auto; white-space: pre-wrap; color: #cbd5e1; font: 12px/1.75 ui-monospace, monospace; background: #090d13; padding: 16px; border-radius: 10px; border: 1px solid var(--line); }
#api-source-note { white-space: pre-line; }.config-warning { color: var(--orange); }.compact-notice { margin: 4px 0 0; padding: 10px 12px; }.compact-notice p { font-size: 10px; }
  .answer-links { display: grid; gap: 10px; margin-top: 12px; }.answer-links section { display: grid; gap: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #0a0f16; }.answer-links b { color: var(--lime); font-size: 10px; }.answer-links a { color: var(--cyan); font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; text-decoration: none; }.answer-links a:hover { text-decoration: underline; }
  .answer-source-item { display: grid; gap: 3px; padding: 7px 0; border-bottom: 1px solid var(--line); }.answer-source-item:last-child { border-bottom: 0; }.answer-source-item small { color: var(--muted); font-size: 8px; overflow-wrap: anywhere; }
.brand-choice-tools { display: flex; justify-content: flex-end; gap: 8px; margin: 12px 0 8px; }.brand-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }.brand-choice { display: flex; grid-template-columns: none; align-items: center; gap: 9px; min-height: 48px; margin: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: #0d121a; cursor: pointer; }.brand-choice:hover { border-color: #45546a; }.brand-choice input { width: 16px; height: 16px; margin: 0; accent-color: var(--lime); }.brand-choice b,.brand-choice small { display: block; }.brand-choice b { font-size: 11px; }.brand-choice small { margin-top: 4px; color: var(--muted); font-size: 8px; }.web-run-summary { margin: 14px 0 0; padding: 10px 12px; border-radius: 8px; color: var(--lime); background: rgba(200,255,72,.05); border: 1px solid rgba(200,255,72,.14); font-size: 10px; line-height: 1.6; }
#web-run-dialog { width: min(980px, calc(100vw - 30px)); }.web-run-section { margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); }.web-run-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }.web-run-section-head b { color: var(--cyan); font-size: 11px; }.location-choice-grid,.template-choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }.location-choice-grid { max-height: 250px; overflow: auto; padding-right: 4px; }.location-choice,.template-choice { display: flex; align-items: flex-start; gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #0d121a; cursor: pointer; }.location-choice:hover,.template-choice:hover { border-color: #45546a; }.location-choice input,.template-choice input { width: 16px; height: 16px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--lime); }.location-choice b,.location-choice small,.template-choice b,.template-choice small { display: block; }.location-choice b,.template-choice b { font-size: 10px; }.location-choice small,.template-choice small { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.5; }#web-run-location-search { width: 100%; box-sizing: border-box; margin: 0 0 9px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: #090d13; }.web-run-count { display: grid; grid-template-columns: 1fr 90px; align-items: center; gap: 12px; margin-top: 14px; color: var(--muted); font-size: 10px; }.web-run-count input { width: 100%; box-sizing: border-box; padding: 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--text); background: #090d13; }
.test-run-filter-bar { display: grid; grid-template-columns: repeat(3,minmax(180px,1fr)); gap: 10px; margin-bottom: 14px; }.test-run-filter-bar label { margin: 0; }.test-run-filter-bar select { box-sizing: border-box; }.test-run-list { display: grid; gap: 14px; }.test-run-card { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg,#131925,#0e131b); }.test-run-head,.test-run-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; }.test-run-head h3 { margin: 5px 0; font-size: 16px; }.test-run-head small,.test-run-actions > span { color: var(--muted); font-size: 9px; }.test-run-number { color: var(--lime); font: 700 9px/1 ui-monospace,monospace; letter-spacing: .1em; }.test-run-status { padding: 6px 9px; border-radius: 7px; font: 700 9px/1 ui-monospace,monospace; }.test-run-status.running { color: var(--cyan); background: rgba(110,231,255,.07); border: 1px solid rgba(110,231,255,.2); }.test-run-status.retry { color: var(--orange); background: rgba(255,157,69,.07); border: 1px solid rgba(255,157,69,.2); }.test-run-status.failed { color: var(--red); background: rgba(255,98,120,.07); border: 1px solid rgba(255,98,120,.2); }.test-run-status.completed { color: var(--lime); background: rgba(200,255,72,.06); border: 1px solid rgba(200,255,72,.18); }.test-run-selection { display: grid; gap: 8px; margin: 17px 0; padding: 14px; border: 1px solid #202a37; border-radius: 10px; background: #0c1119; }.test-run-chip-row { display: grid; grid-template-columns: 72px 1fr; gap: 10px; align-items: start; }.test-run-chip-row > b { padding-top: 4px; color: var(--muted); font-size: 9px; }.test-run-chip-row > div { display: flex; flex-wrap: wrap; gap: 6px; }.test-run-chip-row span,.test-run-locations span { padding: 5px 7px; border-radius: 6px; color: #cbd5e1; background: #171f2b; border: 1px solid #273142; font-size: 9px; }.test-run-progress { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin-bottom: 15px; }.test-run-progress > div { padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: #0d121a; }.test-run-progress strong,.test-run-progress span { display: block; }.test-run-progress strong { color: var(--cyan); font: 800 16px/1 ui-monospace,monospace; }.test-run-progress span { margin-top: 6px; color: var(--muted); font-size: 8px; }.test-run-actions { padding-top: 13px; border-top: 1px solid var(--line); }.test-run-actions .btn { min-height: 32px; padding: 0 11px; font-size: 9px; }.test-run-details { margin-top: 13px; border-top: 1px solid var(--line); }.test-run-details summary { padding: 13px 0 0; color: var(--cyan); cursor: pointer; font-size: 10px; }.test-run-locations { display: flex; flex-wrap: wrap; gap: 6px; margin: 13px 0; }.test-run-questions { max-height: 520px; overflow: auto; display: grid; gap: 7px; padding-right: 5px; }.test-run-questions > div { display: grid; grid-template-columns: 24px 1fr; gap: 9px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: #0a0f16; }.test-run-questions > div > span { color: var(--lime); font: 700 9px/1.5 ui-monospace,monospace; }.test-run-questions b,.test-run-questions small { display: block; }.test-run-questions b { font-size: 11px; }.test-run-questions small { margin-top: 4px; color: var(--muted); font-size: 8px; }.test-run-questions p { margin: 8px 0 0; color: #acb8c7; font-size: 10px; line-height: 1.65; }.evidence-run-filter { align-items: center; }.evidence-run-filter p { flex: 1; }.evidence-run-filter .btn { flex: 0 0 auto; min-height: 32px; font-size: 9px; }
#toast { position: fixed; right: 24px; bottom: 24px; z-index: 20; max-width: 360px; padding: 12px 15px; border-radius: 10px; background: #eafeb9; color: #11170b; font-size: 12px; font-weight: 700; transform: translateY(30px); opacity: 0; pointer-events: none; transition: .25s ease; }#toast.show { opacity: 1; transform: translateY(0); }#toast.error { background: #ffb8c2; color: #2b070d; }

@media (max-width: 1100px) { .span-8,.span-4,.span-7,.span-5 { grid-column: 1 / -1; }.kpi-grid { grid-template-columns: 1fr 1fr; }.connection-list { grid-template-columns: repeat(3,1fr); }.prompt-grid,.balance-grid { grid-template-columns: 1fr 1fr; }.asset-summary { grid-template-columns: repeat(3,1fr); }.risk-layout { grid-template-columns: 1fr; }.user-create-form { grid-template-columns: 1fr 1fr; }.enterprise-user { grid-template-columns: 1fr 110px 80px; }.enterprise-user-actions { grid-column: 1 / -1; justify-content: flex-start; } }
@media (max-width: 760px) { :root { --sidebar: 0px; }.sidebar { position: static; width: 100%; height: auto; padding: 14px; border-right: 0; border-bottom: 1px solid var(--line); }.brand-lockup { padding: 0 0 12px; }nav { display: flex; overflow-x: auto; }.nav-item { white-space: nowrap; }.sidebar-note { display: none; }main { margin-left: 0; padding: 0 14px 30px; }.topbar { align-items: flex-start; padding: 22px 0; gap: 18px; }.header-actions { flex-wrap: wrap; justify-content: flex-end; }.header-actions .muted { display: none; }.kpi-grid { grid-template-columns: 1fr; }.platform-row { grid-template-columns: 1.3fr .7fr .7fr .5fr; }.platform-row .metric-cell:nth-of-type(3), .platform-row > div:nth-last-child(2) { display: none; }.prompt-grid,.settings-grid,.balance-grid,.prompt-filter-bar,.test-run-filter-bar { grid-template-columns: 1fr; }.span-settings { grid-column: auto; }.connection-list { grid-template-columns: 1fr 1fr; }.asset-summary { grid-template-columns: 1fr 1fr; }.sync-head { flex-direction: column; }.source-domain-row { grid-template-columns: 24px 1fr; }.source-domain-row .domain-platforms,.source-domain-row .domain-links { grid-column: 2; }.brand-choice-grid,.location-choice-grid,.template-choice-grid { grid-template-columns: 1fr; }.test-run-progress { grid-template-columns: 1fr 1fr; }.test-run-head,.test-run-actions { align-items: flex-start; flex-direction: column; }.test-run-chip-row { grid-template-columns: 1fr; } }
