:root{color-scheme:light;font-family:Inter,Segoe UI,system-ui,sans-serif;background:#f8fafb;color:#0f172a;--border: #d9e0ea;--border-light: #e9eef4;--muted: #667085;--panel: #ffffff;--blue: #0e86c7;--blue-dark: #076aa0;--blue-light: #2BA6D9;--green: #10b981;--amber: #f59e0b;--amber-dark: #b7791f;--red: #ef4444;--ink: #0f172a;--ink-2: #475569;--ink-3: #94a3b8;--bg-subtle: #fbf6ee;--bg-muted: #f3eadc;--orange-500: #f47e2a;--orange-600: #e0671a;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-card: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 16px rgba(15, 23, 42, .04);--shadow-hover: 0 6px 24px rgba(14, 134, 199, .1), 0 2px 4px rgba(15, 23, 42, .04)}*{box-sizing:border-box}body{margin:0;min-width:320px;font-family:Inter,Segoe UI,system-ui,sans-serif;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;letter-spacing:0}.display{font-family:Plus Jakarta Sans,system-ui,sans-serif;letter-spacing:0}.mono{font-family:JetBrains Mono,Cascadia Code,ui-monospace,monospace;font-variant-numeric:tabular-nums}button{font:inherit;cursor:pointer}input,select{font:inherit}::selection{background:#0e86c740;color:var(--ink)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#d9e0ea;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#b8c4d6}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#ffffffeb,#f8fafbfa),#eef3f8}.auth-panel{width:min(100%,460px);border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow-card);padding:28px}.auth-brand{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--border-light);margin-bottom:20px}.auth-brand p{margin:0 0 2px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.auth-brand h1{margin:0;font-size:24px;line-height:1.1;font-weight:700;font-family:Plus Jakarta Sans,system-ui,sans-serif;letter-spacing:0}.auth-form{display:grid;gap:14px}.auth-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:linear-gradient(135deg,#e7f4fb,#cfeaf7);color:var(--blue)}.auth-form h2{margin:0;font-size:22px;line-height:1.2;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:700;letter-spacing:0}.auth-form label{display:grid;gap:6px;color:#344054;font-size:13px;font-weight:600}.auth-form input{width:100%;min-height:42px;border:1px solid #cfd8e5;border-radius:10px;padding:0 12px;color:var(--ink);background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0e86c726}.auth-form button{min-height:42px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--blue-dark),var(--blue));color:#fff;font-weight:600;cursor:pointer;box-shadow:0 2px 4px #0e86c740;transition:all .2s ease}.auth-form button:hover{transform:translateY(-1px);box-shadow:0 8px 16px #0e86c74d}.auth-form button.secondary-auth{background:#fff;color:#344054;border:1px solid var(--border);box-shadow:none}.auth-form button.secondary-auth:hover{background:var(--bg-subtle);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.auth-form button:disabled{cursor:wait;opacity:.62;transform:none}.auth-message{margin-top:14px;border:1px solid #fac5bd;border-radius:10px;background:#fff2f0;color:#b42318;padding:11px 12px;font-size:13px;font-weight:600}.auth-message.good{border-color:#b7e4ca;background:#edf8f1;color:#087443}.recovery-button{width:100%;min-height:42px;margin-top:14px;border:1px solid var(--blue);border-radius:10px;background:linear-gradient(135deg,var(--blue-dark),var(--blue));color:#fff;font-weight:700;box-shadow:0 2px 4px #0e86c740}.recovery-button:hover{box-shadow:0 8px 16px #0e86c74d}.app-shell{min-height:100vh;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 auto 18px;max-width:1480px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--blue-dark) 0%,var(--blue) 40%,var(--blue-light) 100%);box-shadow:0 8px 20px #0e86c740}.brand-lockup p{margin:0 0 2px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.brand-lockup h1{margin:0;color:var(--ink);font-size:28px;line-height:1.1;font-weight:700;font-family:Plus Jakarta Sans,system-ui,sans-serif;letter-spacing:0}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.last-check,.refresh-button{min-height:38px;display:inline-flex;align-items:center;gap:7px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:#344054;padding:0 12px;font-size:13px;font-weight:600}.refresh-button:hover{border-color:#b8c4d6;background:#f8fafc;box-shadow:var(--shadow-sm)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.soft-reset-button{border-color:#f0b27a;background:#fff7ed;color:#9a3412}.soft-reset-button:hover{border-color:#e08e3c;background:#ffedd5}.main-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:10px;background:#fff}.main-tabs button{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#475569;font-size:13px;font-weight:600;transition:all .15s ease}.main-tabs button.active{background:linear-gradient(135deg,#e7f4fb,#cfeaf7);border-color:#bfd0f7;color:var(--blue)}.main-tabs button:hover:not(.active){background:#f8fafc}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1480px;margin:0 auto 14px}.ops-snapshot{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:12px;max-width:1480px;margin:0 auto 14px}.ops-panel{min-width:0;border:1px solid var(--border);border-radius:10px;background:#fff;padding:14px 16px;box-shadow:var(--shadow-sm)}.ops-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.ops-panel-head p{margin:0 0 3px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ops-panel-head h2{margin:0;color:var(--ink);font-size:20px;line-height:1.15;font-family:Plus Jakarta Sans,system-ui,sans-serif;letter-spacing:0}.ops-panel-head svg{color:var(--blue)}.health-bar{display:flex;gap:3px;height:12px;overflow:hidden;border-radius:999px;background:#eef2f7}.health-segment{min-width:3px}.health-segment.online{background:var(--green)}.health-segment.degraded{background:var(--amber)}.health-segment.down{background:var(--red)}.health-meta,.worker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.health-meta span,.worker-grid span{min-width:0;color:var(--muted);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.worker-grid strong{display:block;margin-top:2px;color:var(--ink);font-family:JetBrains Mono,monospace;font-size:12px}.worker-alert{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.worker-alert span{min-height:26px;display:inline-flex;align-items:center;border:1px solid #fac5bd;border-radius:999px;background:#fff2f0;color:#b42318;padding:0 9px;font-size:11px;font-weight:700}.control-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1480px;margin:0 auto 14px}.tabs{display:flex;flex-wrap:wrap;gap:6px}.tabs button{min-height:34px;border:1px solid var(--border);background:#fff;color:#475467;border-radius:8px;padding:0 14px;font-size:13px;font-weight:600;transition:all .15s ease}.tabs button:hover:not(.active){background:#f8fafc;border-color:#b8c4d6}.tabs button.active{background:linear-gradient(135deg,var(--blue-dark),var(--blue));border-color:var(--blue);color:#fff;box-shadow:0 2px 8px #0e86c740}.legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:13px;font-weight:600}.legend span{display:inline-flex;align-items:center;gap:6px}.legend .dot{width:9px;height:9px;border-radius:999px;background:#98a2b3}.legend .dot.online{background:var(--green)}.legend .dot.degraded{background:var(--amber)}.legend .dot.down{background:var(--red)}.filter-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:360px}.status-tabs{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:9px;background:#fff}.status-tabs button{min-height:30px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);padding:0 10px;font-size:12px;font-weight:700}.status-tabs button.active{border-color:#cfe0f2;background:#eef7fb;color:var(--blue-dark)}.search-box{min-width:270px;min-height:38px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 10px;color:var(--muted)}.search-box input{min-width:0;width:100%;border:0;outline:0;color:var(--ink);font-size:13px;font-weight:600}.notice{max-width:1480px;margin:0 auto 12px;padding:12px 14px;border:1px solid #bfd5ff;border-radius:10px;background:#edf4ff;color:#1b4f9c;white-space:pre-wrap;font-size:13px;font-weight:600}.notice.error{border-color:#fac5bd;background:#fff2f0;color:#b42318}button:disabled{cursor:wait;opacity:.6}.spin{animation:spin .9s linear infinite}.target-list{display:grid;gap:10px;max-width:1480px;margin:0 auto}.target-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(520px,1.55fr) minmax(330px,.9fr) minmax(250px,auto);gap:12px;align-items:center;border:1px solid var(--border);border-left-width:5px;border-radius:10px;background:var(--panel);padding:14px 16px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.target-row:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.target-row.online{border-left-color:var(--green)}.target-row.degraded{border-left-color:var(--amber)}.target-row.down{border-left-color:var(--red)}.target-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:6px}.status-pill{display:inline-flex;align-items:center;gap:5px;min-height:26px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:700;letter-spacing:.02em}.status-pill.online{background:#e9f7ef;color:var(--green)}.status-pill.degraded{background:#fff7df;color:#91620f}.status-pill.down{background:#fff0ed;color:var(--red)}.kind{color:var(--muted);font-size:12px;font-weight:600}.target-main h3{margin:0 0 5px;color:var(--ink);font-size:17px;line-height:1.25;font-weight:700;font-family:Plus Jakarta Sans,system-ui,sans-serif}.target-link{display:inline-flex;align-items:center;gap:5px;max-width:100%;color:var(--blue);text-decoration:none;font-size:13px;font-weight:600;overflow-wrap:anywhere;transition:color .15s ease}.target-link:hover{color:var(--blue-dark);text-decoration:underline}.target-meta-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px;color:var(--muted);font-size:11px;font-weight:700}.target-meta-line strong{border:1px solid #fac5bd;border-radius:999px;background:#fff2f0;color:#b42318;padding:2px 8px;font-size:11px}.target-health{display:grid;grid-template-columns:repeat(5,minmax(74px,1fr));gap:6px;align-items:start}.detail-line{min-width:0;padding-right:8px}.detail-line span,.check-pair span{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.detail-line strong{display:block;margin-top:3px;color:var(--ink-2);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-checks{display:grid;grid-template-columns:78px 78px 78px 84px;gap:8px;align-items:center}.latency{display:inline-flex;align-items:center;gap:6px;color:#344054;font-size:13px;font-weight:700}.check-pair{display:grid;gap:3px;min-height:34px}.check-pair strong{font-size:13px;font-weight:700}.ok{color:var(--green)}.bad{color:var(--red)}.muted{color:var(--muted)}.target-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px}.target-actions button{min-width:82px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:#344054;padding:0 12px;font-size:13px;font-weight:600;transition:all .15s ease}.target-actions button:hover:not(:disabled){border-color:#b8c4d6;background:#f8fafc;box-shadow:var(--shadow-sm)}.target-actions button.danger{color:var(--red);border-color:#fac5bd}.target-actions button.danger:hover:not(:disabled){background:#fff5f5;border-color:#f5c6cb}@media(max-width:1100px){.target-row{grid-template-columns:1fr 1fr}.target-health{grid-template-columns:repeat(3,minmax(0,1fr))}.target-checks{grid-template-columns:repeat(4,minmax(0,86px))}.target-actions{justify-content:flex-start}}@media(max-width:720px){.target-row,.target-health,.target-checks{grid-template-columns:1fr}}.security-page{max-width:1480px;margin:0 auto;display:grid;gap:14px}.security-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.security-toolbar p{margin:0 0 4px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.security-toolbar h2,.security-card h3{margin:0;color:var(--ink);letter-spacing:0;font-family:Plus Jakarta Sans,system-ui,sans-serif}.security-toolbar h2{font-size:22px;font-weight:700}.toolbar-meta{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:600}.security-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.security-actions button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:#344054;padding:0 12px;font-size:13px;font-weight:600;transition:all .15s ease}.security-actions button:hover:not(:disabled){border-color:#b8c4d6;background:#f8fafc;box-shadow:var(--shadow-sm)}.range-tabs{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:9px;background:#fff}.range-tabs button,.security-actions .range-tabs button{min-height:30px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);padding:0 11px;font-size:12px;font-weight:700;font-family:JetBrains Mono,monospace}.range-tabs button.active,.security-actions .range-tabs button.active{border-color:#cfe0f2;background:#eef7fb;color:var(--blue-dark)}.security-grid{display:grid;gap:12px}.security-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px}.security-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.security-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.security-card{border:1px solid var(--border);border-radius:10px;background:#fff;padding:16px 20px;min-width:0;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.security-card:hover{box-shadow:var(--shadow-hover)}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-light)}.card-heading h3{font-size:16px;font-weight:700}.card-heading span{color:var(--muted);font-size:11px;font-weight:600;font-family:JetBrains Mono,monospace}.section-label{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.traffic-card .card-heading{flex-wrap:wrap}.chart-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px;font-weight:700}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-item:before{content:"";width:10px;height:10px;border-radius:3px}.legend-low:before{background:#9db9e3}.legend-med:before{background:var(--amber)}.legend-high:before{background:var(--red)}.legend-blocked:before{background:#1e293b}.traffic-chart{position:relative}.traffic-chart svg{display:block;width:100%;height:230px}.chart-max{position:absolute;top:2px;left:4px;color:var(--ink-3);font-size:11px;font-weight:700}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px;font-weight:600}.chart-grid{stroke:var(--border-light);stroke-width:1;vector-effect:non-scaling-stroke}.bar-low{fill:#9db9e3}.bar-med{fill:var(--amber)}.bar-high{fill:var(--red)}.bar-blocked{fill:#1e293b}.bar-hover{fill:transparent}.chart-bar:hover .bar-hover{fill:#0e86c712}.chart-ticks{display:flex;justify-content:space-between;margin-top:6px;color:var(--ink-3);font-size:10px;font-weight:600}.chart-ticks span{white-space:nowrap}.security-lens{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px}.lens-item{min-width:0;border:1px solid var(--border-light);border-radius:8px;background:#fbfcfe;padding:11px 12px}.lens-item>span{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.lens-item button,.ratio-block{width:100%;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left}.lens-item button strong,.ratio-block strong{display:block;min-width:0;overflow:hidden;color:var(--ink);font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.lens-item button em{display:block;margin-top:3px;overflow:hidden;color:var(--muted);font-size:12px;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ratio-block i{display:block;height:8px;margin-top:7px;overflow:hidden;border-radius:999px;background:#eef2f7}.ratio-block b{display:block;height:100%;border-radius:inherit;background:var(--red)}.country-list,.threat-list,.severity-list{display:grid;gap:6px}.heading-action{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#344054;padding:0 10px;font-size:11px;font-weight:700;transition:all .15s ease}.heading-action:hover:not(:disabled){border-color:#b8c4d6;background:#f8fafc}.country-row{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) 70px;align-items:center;gap:10px;min-height:36px;padding:5px 10px;border:1px solid var(--border-light);border-radius:8px;background:#fbfcfe;color:inherit;font:inherit;text-align:left;transition:background .15s ease,border-color .15s ease}.country-row:hover{background:#f5f8ff;border-color:#cfddf0}.country-row strong{min-width:0;overflow:hidden;color:var(--ink);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.country-row i{display:block;height:8px;overflow:hidden;border-radius:999px;background:#eef2f7}.country-row i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-dark),var(--blue-light))}.country-row em,.threat-row em{color:var(--ink);font-size:12px;font-style:normal;font-weight:700;text-align:right}.severity-stack{display:flex;height:12px;margin-bottom:10px;overflow:hidden;border-radius:999px;background:#eef2f7}.severity-stack i{display:block;height:100%}.stack-critical{background:#b91c1c}.stack-high{background:var(--red)}.stack-med{background:var(--amber)}.stack-low{background:#9db9e3}.stack-info{background:#cdd9ea}.severity-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 56px;align-items:center;gap:10px;min-height:36px;padding:5px 10px;border:1px solid var(--border-light);border-radius:8px;background:#fbfcfe;color:inherit;font:inherit;text-align:left;transition:background .15s ease,border-color .15s ease}.severity-row:hover{background:#f5f8ff;border-color:#cfddf0}.severity-row em{color:var(--ink);font-size:12px;font-style:normal;font-weight:700;text-align:right}.severity-percent{color:var(--muted);font-size:11px;font-weight:700;text-align:right}.severity-pill{display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;overflow:hidden;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800;font-style:normal;text-transform:lowercase;white-space:nowrap;justify-self:start}.sev-critical{background:#fde2e2;color:#991b1b}.sev-high{background:#fee9e7;color:#c2410c}.sev-med{background:#fef3c7;color:#92400e}.sev-low{background:#e8effa;color:#3a5e8c}.sev-info{background:#eef2f7;color:var(--ink-2)}.threat-row{display:grid;grid-template-columns:minmax(0,1fr) 80px;align-items:center;gap:10px;min-height:44px;padding:7px 10px;border:1px solid var(--border-light);border-radius:8px;background:#fbfcfe;color:inherit;font:inherit;text-align:left;transition:background .15s ease,border-color .15s ease}.threat-row:hover{background:#f5f8ff;border-color:#cfddf0}.threat-row strong{display:block;min-width:0;overflow:hidden;color:var(--ink);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.threat-row div span{display:block;min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.posture-list,.event-list,.rules-list,.data-table{display:grid;gap:8px}.event-row{grid-template-columns:140px minmax(0,1fr) 80px}.event-row em{color:var(--amber);font-style:normal;font-size:12px;font-weight:700;text-align:right}.event-row em.severity-pill{justify-self:end}.table-row{grid-template-columns:minmax(0,1fr) 80px 80px 48px}.table-row b{text-align:right}.ip-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 72px 62px 92px;align-items:center;gap:10px;min-height:48px;padding:6px 12px;border:1px solid var(--border-light);border-radius:8px;background:#fbfcfe;transition:background .15s ease,border-color .15s ease}.ip-row:hover{background:#f5f8ff;border-color:#cfddf0}.ip-row-main{min-width:0;border:0;background:transparent;color:inherit;font:inherit;padding:0;text-align:left}.ip-row-main strong{display:block;min-width:0;overflow:hidden;color:var(--ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ip-row-main span{display:block;min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ip-row b{color:var(--ink);font-size:12px;text-align:right}.ip-row-actions{display:inline-flex;gap:6px;justify-content:flex-end}.ip-row-actions button{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#344054;transition:all .15s ease}.ip-row-actions button:hover:not(:disabled){border-color:#b8c4d6;background:#f8fafc}.ip-row-actions button.danger{color:var(--red);border-color:#fac5bd}.ip-row-actions button.danger:hover:not(:disabled){background:#fff5f5}.rep-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800;white-space:nowrap;justify-self:start}.rep-blocked{background:#fde2e2;color:#991b1b}.rep-trusted{background:#e9f7ef;color:#047857}.rep-watch{background:#fef3c7;color:#92400e}.rep-none{background:transparent;color:var(--ink-3)}.ip-lookup{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:10px;margin-bottom:12px}.ip-lookup input,.ip-actions input{min-height:38px;width:100%;border:1px solid #cfd8e5;border-radius:8px;background:#fff;color:var(--ink);padding:0 10px;font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.ip-lookup input:focus,.ip-actions input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #0e86c726}.ip-lookup button,.ip-actions button,.geo-test button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:#344054;padding:0 12px;font-size:12px;font-weight:700;transition:all .15s ease}.ip-lookup button:hover:not(:disabled),.ip-actions button:hover:not(:disabled),.geo-test button:hover:not(:disabled){border-color:#b8c4d6;background:#f8fafc}.ip-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:10px 0}.ip-summary div{min-width:0}.ip-summary strong{display:block;min-height:20px;overflow:hidden;color:var(--ink);font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ip-summary span{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:600}.ip-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ip-actions input{flex:1 1 180px}.ip-actions button.danger{color:var(--red);border-color:#fac5bd}.ip-actions button.danger:hover:not(:disabled){background:#fff5f5}.ip-actions button.safe{color:#047857;border-color:#b7e4c7}.ip-actions button.safe:hover:not(:disabled){background:#f0fdf6}.ip-actions button.current{border-color:var(--blue);background:#eef7fb}.ip-events{display:grid;gap:6px}.ip-event-row{display:grid;grid-template-columns:118px 130px minmax(0,1fr) 110px;align-items:center;gap:10px;min-height:34px;padding:5px 10px;border:1px solid var(--border-light);border-left-width:4px;border-radius:8px;background:#fbfcfe}.ip-event-row.severity-high,.ip-event-row.severity-critical{border-left-color:var(--red)}.ip-event-row.severity-med{border-left-color:var(--amber)}.ip-event-row.severity-low,.ip-event-row.severity-info{border-left-color:#9eb4d3}.ip-event-row span,.ip-event-row strong,.ip-event-row em{min-width:0;overflow:hidden;color:var(--ink-2);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.ip-event-row strong{color:var(--ink);font-weight:700}.ip-event-row em{text-align:right}.notice.compact{padding:8px 12px;font-size:12px;margin-bottom:10px}.geo-form,.rule-form{display:grid;gap:10px}.geo-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.geo-form label{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:600}.geo-form input,.geo-form select,.rule-form input,.rule-form select,.geo-test input{min-height:38px;width:100%;border:1px solid #cfd8e5;border-radius:8px;background:#fff;color:var(--ink);padding:0 10px;font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.geo-form input:focus,.geo-form select:focus,.rule-form input:focus,.rule-form select:focus,.geo-test input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #0e86c726}.geo-form .checkline{display:flex;align-items:center;gap:8px}.geo-form .checkline input{width:16px;min-height:16px}.geo-form>button,.rule-form button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;border:1px solid var(--blue);background:linear-gradient(135deg,var(--blue-dark),var(--blue));color:#fff;font-weight:600;box-shadow:0 2px 4px #0e86c740;transition:all .2s ease}.geo-form>button:hover:not(:disabled),.rule-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #0e86c74d}.geo-blocks{display:grid;gap:6px;margin-top:14px;border-top:1px solid var(--border-light);padding-top:12px}.geo-block-row{display:grid;grid-template-columns:96px minmax(0,1fr) 70px;align-items:center;gap:10px;min-height:28px}.geo-block-row strong{overflow:hidden;color:var(--ink);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.geo-block-row i{display:block;height:8px;overflow:hidden;border-radius:999px;background:#eef2f7}.geo-block-row i b{display:block;height:100%;border-radius:inherit;background:var(--red)}.geo-block-row em{color:var(--ink);font-size:12px;font-style:normal;font-weight:700;text-align:right}.geo-test{margin-top:14px;border-top:1px solid var(--border-light);padding-top:12px}.geo-test-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.geo-test-row input:first-child{flex:1 1 160px;width:auto}.geo-test-row input:nth-child(2){flex:0 1 110px;width:auto;text-transform:uppercase}.geo-decision{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800}.decision-allow{background:#e9f7ef;color:#047857}.decision-block{background:#fde2e2;color:#991b1b}.decision-error{background:#fef3c7;color:#92400e}.posture-row.posture-toggle{grid-template-columns:minmax(0,1fr) 52px 62px 30px}.posture-chevron{display:grid;place-items:center;color:var(--ink-3)}.posture-detail{margin-top:-2px;border:1px solid var(--border-light);border-top:0;border-radius:0 0 8px 8px;background:#f8fafd;padding:12px 14px}.posture-checks{display:flex;flex-wrap:wrap;gap:6px}.check-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;white-space:nowrap}.check-chip.pass{background:#e9f7ef;color:#047857}.check-chip.fail{background:#fde2e2;color:#991b1b}.posture-cert{margin:10px 0 0;color:var(--ink-2);font-size:11px}.posture-issues{margin:10px 0 0;padding-left:18px;color:var(--ink-2);font-size:12px;display:grid;gap:4px}.posture-scanned{margin:10px 0 0;color:var(--ink-3);font-size:11px;font-weight:600}.rule-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.rule-form input,.rule-form select{flex:1 1 130px;width:auto}.rule-form input:first-child{flex:2 1 170px}.rule-form input[placeholder=Pattern]{flex:2 1 200px}.rule-form button{flex:0 0 auto;padding:0 18px}.rule-row{grid-template-columns:minmax(0,1fr) 76px 82px 150px 92px 76px}.rule-row.rule-disabled>div,.rule-row.rule-disabled>span:not(.severity-pill){opacity:.55}.rule-row button.danger{color:var(--red);border-color:#fac5bd}.rule-row button.danger:hover:not(:disabled){background:#fff5f5}.rule-row button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:#344054;padding:0 10px;font-size:12px;font-weight:600;transition:all .15s ease}.rule-row button:hover:not(:disabled){border-color:#b8c4d6;background:#f8fafc}.security-detail-card{overflow:hidden}.detail-heading{align-items:flex-start}.back-button{min-height:34px;border:1px solid #cfd8e5;border-radius:8px;background:#fff;color:var(--ink);padding:0 14px;font-weight:600;transition:all .15s ease}.back-button:hover{background:var(--bg-subtle);border-color:#b8c4d6}.detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:12px 0}.log-workbench{display:grid;grid-template-columns:auto minmax(220px,1fr) 94px;align-items:center;gap:10px;margin-bottom:12px}.log-filter-tabs{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:9px;background:#fff}.log-filter-tabs button{min-height:30px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);padding:0 10px;font-size:12px;font-weight:700;text-transform:capitalize}.log-filter-tabs button.active{border-color:#cfe0f2;background:#eef7fb;color:var(--blue-dark)}.log-search{min-height:38px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 10px}.log-search span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.log-search input{min-width:0;width:100%;border:0;outline:0;color:var(--ink);font-size:13px;font-weight:600}.log-count{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;text-align:right}.detail-summary div{min-width:0}.detail-summary strong{display:block;color:var(--ink);min-height:22px;overflow:hidden;font-size:18px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:700}.detail-summary span{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:600}.access-log-table{display:grid;gap:8px;overflow-x:auto;padding-bottom:2px}.access-log-table .table-header,.access-log-row{min-width:1530px}.access-log-row{display:grid;grid-template-columns:var(--cols);align-items:center;gap:10px;min-height:44px;padding:9px 12px;border:1px solid var(--border-light);border-radius:8px;background:#fbfcfe;transition:background .15s ease}.access-log-row:hover{background:#f5f8ff}.access-log-row.severity-high,.access-log-row.severity-critical{border-left:4px solid var(--red)}.access-log-row.severity-med{border-left:4px solid var(--amber)}.access-log-row.severity-low,.access-log-row.severity-info{border-left:4px solid #9eb4d3}.access-log-row span,.access-log-row strong{min-width:0;overflow:hidden;color:var(--ink-2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.access-log-row strong{color:var(--ink);font-weight:600}@media(max-width:1240px){.security-grid.three{grid-template-columns:1fr}}@media(max-width:1100px){.security-grid.two,.security-lens{grid-template-columns:1fr}.ip-row{grid-template-columns:minmax(0,1fr) 72px 62px 92px}.ip-row .rep-pill{display:none}}@media(max-width:720px){.app-shell{padding:16px}.topbar,.security-toolbar,.control-strip,.topbar-actions,.filter-tools{align-items:stretch;flex-direction:column}.overview,.ops-snapshot,.log-workbench{grid-template-columns:1fr}.filter-tools,.search-box{min-width:0;width:100%}.health-meta,.worker-grid{grid-template-columns:1fr 1fr}.detail-summary,.ip-summary,.geo-form-grid{grid-template-columns:1fr}.brand-lockup h1{font-size:24px}.rule-row,.event-row,.table-row,.posture-row,.posture-row.posture-toggle,.ip-row,.ip-event-row,.country-row,.severity-row,.threat-row,.ip-lookup{grid-template-columns:1fr}.ip-row-actions,.severity-pill,.rep-pill{justify-self:start}.chart-ticks span:nth-child(2n){display:none}}.bot-list{display:grid;gap:8px}.bot-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 70px 64px;align-items:center;gap:10px;min-height:44px;padding:7px 10px;border:1px solid var(--border-light);border-radius:8px;background:#fbfcfe;color:inherit;font:inherit;text-align:left;transition:background .15s ease,border-color .15s ease}.bot-row:hover{background:#f5f8ff;border-color:#cfddf0}.bot-row strong{display:block;min-width:0;overflow:hidden;color:var(--ink);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.bot-row div span{display:block;min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.bot-row em{color:var(--muted);font-style:normal;font-size:11px;text-align:right}.bot-row b{font-size:12px;font-weight:700;text-align:right}.bot-pill{justify-self:start;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.bot-pill.verified{background:#dcf3e6;color:#166534}.bot-pill.uaonly{background:#eef2f7;color:var(--ink-2)}.ip-row.bot-spoof-row{grid-template-columns:minmax(0,1fr) 72px 62px 92px}@media(max-width:720px){.bot-row{grid-template-columns:1fr}.bot-pill{justify-self:start}}.geo-group{display:grid;gap:6px;padding:10px;border:1px solid var(--border-light);border-radius:8px;background:#fbfcfe}.geo-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 12px;max-height:168px;overflow-y:auto}.geo-checklist.providers{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:none}.geo-checklist .checkline{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geo-unknown{align-self:end}.geo-form.compact{gap:8px}.geo-form.compact .geo-group{padding:8px 10px;gap:4px}.geo-policy-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.geo-group-title{font-size:12px}.geo-group-title strong{font-weight:700}.geo-inline-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px}.geo-inline-row select,.geo-inline-row input{min-width:0;padding:5px 8px;font-size:12px}.geo-form.compact .geo-checklist{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1px 10px;max-height:120px}.geo-providers-inline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}.geo-providers-inline .section-label{margin:0}.geo-providers-inline .checkline{font-size:12px;white-space:nowrap}.geo-bottom-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px}.geo-bottom-row:has(.geo-providers-inline){grid-template-columns:1fr}.geo-bottom-row input{min-width:0;padding:5px 8px;font-size:12px}.geo-bottom-row button{justify-self:end;white-space:nowrap}@media(max-width:900px){.geo-policy-pair,.geo-bottom-row{grid-template-columns:1fr}}.metric-card{display:flex;align-items:center;gap:12px;min-height:92px;padding:16px 20px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.metric-action{width:100%;color:inherit;font:inherit;text-align:left;border:none}.metric-action:hover{border-color:#b8c7db;background:#f8fbff;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.metric-action:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.metric-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#e7f4fb,#cfeaf7);color:var(--blue)}.metric-card.good .metric-icon{background:linear-gradient(135deg,#e9f7ef,#d1fae5);color:var(--green)}.metric-card.warn .metric-icon{background:linear-gradient(135deg,#fff7df,#fef3c7);color:var(--amber-dark)}.metric-card.bad .metric-icon{background:linear-gradient(135deg,#fff0ed,#fee2e2);color:var(--red)}.metric-value{font-size:30px;font-weight:700;line-height:1;font-family:Plus Jakarta Sans,system-ui,sans-serif;letter-spacing:0}.metric-label{margin-top:4px;color:var(--muted);font-size:12px;font-weight:600}.table-header{display:grid;grid-template-columns:var(--cols);gap:10px;padding:0 12px 4px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.table-header span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:36px;padding-top:2px}.list-pager span{min-width:52px;color:var(--muted);font-size:12px;font-weight:600;text-align:center;font-family:JetBrains Mono,monospace}.list-pager button{min-height:32px;border:1px solid #cfd8e5;border-radius:8px;background:#fff;color:var(--ink);padding:0 12px;font-size:12px;font-weight:600;transition:all .15s ease}.list-pager button:hover:not(:disabled){border-color:#9eb4d3;background:#f6f8fc}.list-pager button:disabled{color:#98a2b3;cursor:not-allowed}.empty-state{padding:28px;text-align:center;color:var(--muted);border:1px solid var(--border);border-radius:10px;background:#fff;font-weight:600}.empty-state.compact{padding:14px;font-size:13px}.posture-row,.event-row,.rule-row,.table-row{display:grid;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--border-light);border-radius:8px;background:#fbfcfe;transition:background .15s ease,border-color .15s ease}.posture-row:hover,.event-row:hover,.rule-row:hover,.table-row:hover{background:#f5f8ff;border-color:#cfddf0}.row-action{width:100%;border-color:var(--border-light);color:inherit;font:inherit;text-align:left;transition:background .15s ease,border-color .15s ease}.row-action:hover{border-color:#b8c7db;background:#f5f8ff}.row-action:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.posture-row{grid-template-columns:minmax(0,1fr) 52px 62px}.posture-row strong,.event-row strong,.rule-row strong,.table-row strong{display:block;min-width:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600}.posture-row span,.event-row span,.rule-row span,.table-row span{min-width:0;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.grade{display:inline-grid;place-items:center;width:42px;height:30px;border-radius:8px;background:#eaf7ef;color:var(--green);font-weight:800;font-family:JetBrains Mono,monospace;font-size:13px}.grade-f,.grade-d{background:#fff2f0;color:var(--red)}.grade-c{background:#fff7e6;color:var(--amber)}.score{color:var(--ink);font-weight:700;text-align:right;font-family:JetBrains Mono,monospace}@media(max-width:720px){.posture-row,.event-row,.rule-row,.table-row{grid-template-columns:1fr}}.sk-line,.sk-block{display:block;background:linear-gradient(90deg,var(--border-light, #e9eef4) 25%,var(--border, #d9e0ea) 50%,var(--border-light, #e9eef4) 75%);background-size:200% 100%;animation:sk-shimmer 1.3s ease-in-out infinite;border-radius:6px}.sk-line{border-radius:5px}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.sk-line,.sk-block{animation:none;background:var(--border, #d9e0ea)}}.sk-mt{margin-top:8px}.sk-metric{align-items:center}.sk-metric-body{display:block;min-width:0}.sk-stack{display:grid;gap:12px;padding:4px 2px}.sk-row{background:#fbfcfe}.sk-row+.sk-row{margin-top:8px}.sk-chart{height:240px;border-radius:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.usage-row-wrap{border-bottom:1px solid var(--border)}.usage-row-wrap:last-child{border-bottom:0}.usage-row{display:grid;grid-template-columns:2.2fr 1.1fr 1.1fr .9fr 1.4fr .9fr 36px;gap:12px;align-items:center;width:100%;padding:10px 12px;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}.usage-row:hover{background:#2563eb0d}.usage-row-wrap.open .usage-row{background:#2563eb12}.usage-app{display:flex;flex-direction:column;gap:2px;min-width:0}.usage-app strong{font-size:13px;font-weight:600}.usage-app em,.usage-sub{font-style:normal;font-size:11px;color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-chevron{display:inline-flex;justify-content:flex-end;color:var(--muted)}.usage-sparkline{width:120px;height:28px;display:block}.usage-sparkline polyline{fill:none;stroke:#2563eb;stroke-width:1.6;vector-effect:non-scaling-stroke}.usage-detail{padding:12px 14px 14px;background:#0f172a05;border-top:1px dashed var(--border)}.usage-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.usage-detail-grid h4{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.usage-detail-row{display:grid;grid-template-columns:minmax(0,1.6fr) 1fr .8fr 1fr;gap:10px;align-items:center;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px}.usage-detail-row:last-child{border-bottom:0}.usage-detail-row em{font-style:normal;color:var(--muted)}.usage-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-empty{margin:0;font-size:12px;color:var(--muted)}@media(max-width:1100px){.usage-row{grid-template-columns:2fr 1fr 1fr 36px}.usage-row>span:nth-child(4),.usage-row>span:nth-child(5),.usage-row>span:nth-child(6){display:none}.usage-page .table-header{display:none}.usage-detail-grid{grid-template-columns:1fr}}.harness-panel{margin-top:16px}.harness-title{display:flex;align-items:center;gap:8px;margin:0}.harness-muted{color:var(--muted, #8a7a63)}.harness-catalog{margin-top:16px}.harness-catalog-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.harness-catalog-list li{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border, #ead9c2);border-radius:999px;background:var(--panel, #fff)}.harness-ver{color:var(--muted, #8a7a63);font-size:12px}.harness-projects{display:grid;gap:14px;margin-top:16px}.harness-project-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.harness-project-head strong{font-size:15px}.harness-module-table{width:100%;border-collapse:collapse;font-size:13px}.harness-module-table th,.harness-module-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border, #ead9c2);vertical-align:middle}.harness-module-table th{font-weight:600;color:var(--muted, #8a7a63);font-size:12px;text-transform:uppercase;letter-spacing:.02em}.harness-module-table tr:last-child td{border-bottom:0}.harness-module-table code{font-size:12.5px}.harness-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1;border:1px solid transparent;white-space:nowrap}.harness-pill-ok{background:#e7f6ec;color:#1f7a42;border-color:#b9e3c6}.harness-pill-plan{background:#eef2fb;color:#3a55a6;border-color:#c9d6f0}.harness-pill-off{background:#f1ece4;color:#8a7a63;border-color:#e0d4c0}.harness-pill-bad{background:#fdecec;color:#b3261e;border-color:#f3c5c2}.harness-pill-outdated{background:#fdf2e3;color:#9a6212;border-color:#f0d9ad}.harness-chip-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border, #ead9c2);border-radius:999px;background:var(--panel, #fff);cursor:pointer;font:inherit;transition:border-color .15s,background .15s}.harness-chip-btn:hover{border-color:#3a55a6;background:#f6f8fe}.harness-row{cursor:pointer;transition:background .12s}.harness-row:hover{background:#f6f8fe}.harness-row:focus-visible{outline:2px solid #3a55a6;outline-offset:-2px}.harness-row-go{color:var(--muted, #8a7a63);text-align:right;width:28px}.harness-detail{margin-top:16px}.detail-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.harness-detail-title{display:flex;flex-direction:column;gap:2px;min-width:0}.harness-detail-title strong{font-size:16px}.harness-detail-tags{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.harness-detail-body{margin-top:8px}.harness-detail-summary{font-size:14px;line-height:1.55;margin:0 0 14px}.harness-detail-block{margin-top:16px}.harness-detail-block h4{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted, #8a7a63)}.harness-detail-block p{margin:0 0 6px;line-height:1.55}.harness-detail-list,.harness-detail-struct{margin:0;padding-left:18px;display:grid;gap:6px}.harness-detail-list li,.harness-detail-struct li{line-height:1.5}.harness-detail-struct{list-style:none;padding-left:0}.harness-detail-struct code{font-size:12.5px}.harness-detail-code{margin:0;padding:12px 14px;background:#1f2430;color:#e6e1d8;border-radius:10px;overflow-x:auto;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.harness-doc-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.harness-doc-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:1px solid var(--border, #ead9c2);border-radius:10px;background:var(--panel, #fff);cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,background .15s}.harness-doc-btn:hover{border-color:#3a55a6;background:#f6f8fe}.harness-doc-title{font-weight:600;flex:1;min-width:0}.harness-doc-file{color:var(--muted, #8a7a63);font-size:12px}.harness-doc-go{color:var(--muted, #8a7a63)}.harness-doc-view .md-body{margin-top:8px;font-size:13.5px;line-height:1.6}.md-body .md-h{margin:18px 0 8px;line-height:1.3}.md-body h2.md-h{font-size:18px}.md-body h3.md-h{font-size:15.5px}.md-body h4.md-h,.md-body h5.md-h,.md-body h6.md-h{font-size:13.5px;text-transform:uppercase;letter-spacing:.02em;color:var(--muted, #8a7a63)}.md-body .md-p{margin:0 0 10px}.md-body .md-ul,.md-body .md-ol{margin:0 0 10px;padding-left:22px;display:grid;gap:4px}.md-body .md-quote{margin:0 0 12px;padding:8px 12px;border-left:3px solid #c9d6f0;background:#f6f8fe;border-radius:0 8px 8px 0;color:#3f4a63}.md-body .md-hr{border:0;border-top:1px solid var(--border, #ead9c2);margin:16px 0}.md-body code{background:#f1ece4;padding:1px 5px;border-radius:5px;font-size:12.5px}.md-body .md-pre{margin:0 0 12px;padding:12px 14px;background:#1f2430;border-radius:10px;overflow-x:auto}.md-body .md-pre code{background:transparent;color:#e6e1d8;padding:0;font-size:12.5px;line-height:1.5}.md-table-wrap{overflow-x:auto;margin:0 0 12px}.md-body .md-table{border-collapse:collapse;width:100%;font-size:12.5px}.md-body .md-table th,.md-body .md-table td{border:1px solid var(--border, #ead9c2);padding:6px 10px;text-align:left;vertical-align:top}.md-body .md-table th{background:#faf6ef;font-weight:600}.md-body a{color:#3a55a6}.seo-frame-wrap{margin:16px 0 0;border:1px solid var(--border, #ead9c2);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 1px 2px #0f172a0a,0 4px 16px #0f172a0a}.seo-frame{display:block;width:100%;height:calc(100vh - 140px);min-height:520px;border:0}
