.app-root{min-height:100vh}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;flex-direction:column;gap:8px}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--ink-950: #0B1422;--ink-900: #101C2E;--ink-800: #1A293E;--ink-700: #26374F;--paper: #F4F6F9;--paper-2: #EDF1F6;--surface: #FFFFFF;--surface-soft: #F8FAFC;--line: #E1E6EE;--line-2: #EDF1F6;--line-strong: #C9D2DF;--text: #122031;--text-2: #485A70;--muted: #62718A;--faint: #68788D;--brand: #1E4FD8;--brand-dark: #163CA8;--brand-soft: #EBF0FE;--brand-line: #C7D5F8;--crit: #B42318;--crit-soft: #FDECEA;--crit-line: #F3C6C0;--high: #B54708;--high-soft: #FFF3E4;--high-line: #F6D6B2;--mid: #7A5600;--mid-soft: #FFF7D9;--mid-line: #EFDDA2;--low: #175CD3;--low-soft: #EAF2FF;--low-line: #C6D9F8;--unk: #4F5F73;--unk-soft: #EEF2F6;--unk-line: #D6DEE8;--ok: #067647;--ok-soft: #E7F6EF;--ok-line: #B7E4CE;--warn-ink: #7A4A00;--warn-bg: #FFF8EB;--warn-line: #F2D49B;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", "Menlo", "Consolas", "Liberation Mono", monospace;--radius: 14px;--radius-sm: 10px;--shadow-float: 0 18px 42px -18px rgba(11, 20, 34, .28), 0 2px 8px rgba(11, 20, 34, .06)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.55;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,dl,dd,dt,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--brand);text-decoration:none}.masthead a:hover,.sidebar a:hover,.login-brand a:hover,.status-band a:hover{color:#fff}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}img,svg{display:block}::-moz-selection{background:#c9d8ff;color:#0b1422}::selection{background:#c9d8ff;color:#0b1422}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}input,select,textarea{caret-color:var(--brand)}.sprite{position:absolute;width:0;height:0;overflow:hidden}.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}.skip-link{position:fixed;top:-48px;left:16px;z-index:200;background:var(--ink-900);color:#fff;padding:10px 16px;border-radius:0 0 10px 10px;transition:top .18s ease}.skip-link:focus{top:0;color:#fff}.icon{width:18px;height:18px;flex:none;stroke-width:1.6}.mono{font-family:var(--mono);font-variant-ligatures:none;letter-spacing:-.01em}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.hairline{height:1px;background:var(--line);border:0;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:13.5px;font-weight:550;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.btn:hover{border-color:#aebacb;background:#f7f9fc;color:var(--text)}.btn:active{transform:translateY(.5px)}.btn .icon{width:16px;height:16px}.btn--primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn--primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.btn--dark{background:var(--ink-900);border-color:var(--ink-900);color:#fff}.btn--dark:hover{background:var(--ink-800);border-color:var(--ink-800);color:#fff}.btn--ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn--ghost:hover{background:var(--paper-2);color:var(--text);border-color:transparent}.btn--ghost-light{border-color:#ffffff2e;background:#ffffff0a;color:#e7edf7}.btn--ghost-light:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.btn--sm{height:30px;padding:0 10px;font-size:12.5px;border-radius:8px}.btn--lg{height:42px;padding:0 20px;font-size:14.5px;border-radius:10px}.btn--block{width:100%}.btn[disabled],.btn[aria-disabled=true]{cursor:not-allowed;opacity:.55;transform:none}.btn[disabled] .icon{animation:spin 1.15s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn--primary[disabled]:hover{background:var(--brand);border-color:var(--brand)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--muted);border:1px solid transparent;transition:.16s ease}.icon-btn:hover{background:var(--paper-2);color:var(--text);border-color:var(--line)}.icon-btn .icon{width:17px;height:17px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field__label{font-size:12.5px;font-weight:600;color:var(--text-2);letter-spacing:.01em}.field__hint{font-size:12px;color:var(--muted);line-height:1.5}.field__error{font-size:12px;color:var(--crit);display:flex;gap:5px;align-items:flex-start}.field__error .icon{width:13px;height:13px;margin-top:2px}.input,.select{height:38px;width:100%;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);padding:0 12px;font-size:13.5px;color:var(--text);transition:border-color .16s ease,box-shadow .16s ease}.input::-moz-placeholder{color:var(--faint)}.input::placeholder{color:var(--faint)}.input:hover,.select:hover{border-color:#aebacb}.input:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #1e4fd81f}.input[disabled],.select[disabled]{background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath d='m5.5 8 4.5 4.5L14.5 8' fill='none' stroke='%2364748B' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:32px}.input--mono{font-family:var(--mono);font-size:13px}textarea.input{height:auto;min-height:84px;padding:10px 12px;resize:vertical;line-height:1.6}.sev{display:inline-flex;align-items:center;gap:6px;height:23px;padding:0 8px;border-radius:6px;border:1px solid transparent;font-size:12px;font-weight:600;white-space:nowrap}.sev:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.sev--crit{color:var(--crit);background:var(--crit-soft);border-color:var(--crit-line)}.sev--high{color:var(--high);background:var(--high-soft);border-color:var(--high-line)}.sev--mid{color:var(--mid);background:var(--mid-soft);border-color:var(--mid-line)}.sev--low{color:var(--low);background:var(--low-soft);border-color:var(--low-line)}.sev--unk{color:var(--unk);background:var(--unk-soft);border-color:var(--unk-line)}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:600;white-space:nowrap;border:1px solid transparent}.badge .icon{width:12px;height:12px}.badge--ok{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-line)}.badge--fail{color:var(--crit);background:var(--crit-soft);border-color:var(--crit-line)}.badge--run{color:var(--brand);background:var(--brand-soft);border-color:var(--brand-line)}.badge--muted{color:var(--unk);background:var(--unk-soft);border-color:var(--unk-line)}.badge--warn{color:var(--warn-ink);background:var(--warn-bg);border-color:var(--warn-line)}.status-dot{width:7px;height:7px;border-radius:50%;flex:none;display:inline-block}.status-dot--ok{background:#12a76a;box-shadow:0 0 0 3px #12a76a24}.status-dot--run{background:var(--brand);box-shadow:0 0 0 3px #1e4fd829;animation:pulse 1.6s ease-in-out infinite}.status-dot--fail{background:var(--crit);box-shadow:0 0 0 3px #b4231824}.status-dot--idle{background:#97a3b5}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #1e4fd829}50%{box-shadow:0 0 0 6px #1e4fd80d}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px}.panel__title{font-size:15px;font-weight:650;letter-spacing:-.005em}.panel__sub{font-size:12.5px;color:var(--muted);margin-top:3px}.panel__actions{display:flex;align-items:center;gap:8px;flex:none}.panel__body{padding:0 20px 20px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.data-table th{text-align:left;font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.04em;padding:10px 14px;background:var(--surface-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .13s ease}.data-table tbody tr:hover{background:#f8fafd}.data-table .cell-title{font-weight:550;color:var(--text);line-height:1.4}.data-table .cell-sub{font-size:11.5px;color:var(--muted);margin-top:2px}.t-right{text-align:right}.t-nowrap{white-space:nowrap}.cell-mono{font-family:var(--mono);font-size:12.5px;letter-spacing:-.01em}.table-empty{padding:36px 20px;text-align:center;color:var(--muted);font-size:13px}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch__track{width:38px;height:22px;border-radius:999px;background:#cbd4e0;position:relative;transition:background .18s ease;flex:none}.switch__track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0b142238;transition:transform .18s cubic-bezier(.16,1,.3,1)}.switch input:checked+.switch__track{background:var(--brand)}.switch input:checked+.switch__track:after{transform:translate(16px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--brand);outline-offset:2px}.switch input:disabled+.switch__track{opacity:.5;cursor:not-allowed}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,18px);z-index:120;display:flex;align-items:center;gap:9px;max-width:min(560px,calc(100vw - 32px));padding:11px 16px;border-radius:10px;background:var(--ink-900);color:#f2f6fc;font-size:13.5px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .24s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-float)}.toast.is-visible{opacity:1;transform:translate(-50%)}.toast .icon{width:16px;height:16px;color:#6fd3a3}.chart-tooltip{position:fixed;z-index:130;pointer-events:none;transform:translate(-50%,-120%);background:var(--ink-900);color:#f2f6fc;font-size:12px;line-height:1.45;padding:7px 9px;border-radius:7px;opacity:0;transition:opacity .12s ease;white-space:nowrap;box-shadow:0 8px 20px -10px #0b142280}.chart-tooltip.is-visible{opacity:1}.skeleton{background:linear-gradient(90deg,#eef2f7 25%,#f7f9fc 37%,#eef2f7 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:6px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 24px;gap:6px}.state-block__icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);color:var(--muted);margin-bottom:10px}.state-block__icon .icon{width:21px;height:21px}.state-block__title{font-size:15px;font-weight:650}.state-block__desc{font-size:13px;color:var(--muted);max-width:380px;line-height:1.6}.state-block__actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;justify-content:center}.state-block--error .state-block__icon{color:var(--crit);border-color:var(--crit-line);background:var(--crit-soft)}.demo-toggle{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:#fffffff0;color:var(--text-2);font-size:12px;font-weight:600;box-shadow:0 8px 22px -12px #0b14224d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.demo-toggle:hover{color:var(--text);border-color:#aebacb}.demo-toggle .icon{width:15px;height:15px;color:var(--brand)}.demo-panel{position:fixed;right:18px;bottom:62px;z-index:101;width:252px;background:var(--surface);border:1px solid var(--line-strong);border-radius:13px;box-shadow:var(--shadow-float);overflow:hidden}.demo-panel__head{display:flex;align-items:flex-start;justify-content:space-between;padding:13px 14px 10px;border-bottom:1px solid var(--line)}.demo-panel__head strong{font-size:13px}.demo-panel__head p{font-size:11px;color:var(--muted);margin-top:2px}.demo-panel__body{padding:8px;max-height:52vh;overflow:auto}.demo-group{display:flex;flex-direction:column;padding:4px 0}.demo-group+.demo-group{border-top:1px solid var(--line-2);margin-top:4px;padding-top:8px}.demo-group__label{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--faint);padding:3px 8px 5px}.demo-group a,.demo-group button{text-align:left;padding:7px 8px;border-radius:6px;font-size:12.5px;color:var(--text-2)}.demo-group a:hover,.demo-group button:hover{background:var(--paper-2);color:var(--text)}.demo-panel__note{font-size:12px;color:var(--muted);padding:9px 14px;border-top:1px solid var(--line);background:var(--surface-soft);line-height:1.5}.brand{display:inline-flex;align-items:center;gap:10px;color:inherit}.brand:hover{color:inherit}.brand__mark{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:#f2f5fa;border:1px solid rgba(255,255,255,.32);color:#0b1422;--logo-dot: #1E4FD8;flex:none}.brand__mark .icon{width:21px;height:21px}.brand__name{display:flex;flex-direction:column;line-height:1.15}.brand__name strong{font-size:15.5px;font-weight:700;letter-spacing:-.015em}.brand__name small{font-family:var(--font);font-size:10.5px;letter-spacing:.1em;color:#ffffff94;margin-top:3px}.severity-rail{display:flex;width:100%;height:3px;overflow:hidden;background:#ffffff14}.severity-rail span{height:100%;width:var(--w);background:var(--c)}.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:48px}.site-footer__inner{max-width:1320px;margin:0 auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.site-footer__inner p{line-height:1.6}.site-footer__links{display:flex;gap:16px}.site-footer__links a{color:var(--text-2);font-size:12px}.site-footer__links a:hover{color:var(--brand)}.masthead{background:var(--ink-950);color:#e8eef7;position:relative}.masthead__inner{max-width:1320px;margin:0 auto;padding:0 32px;height:64px;display:flex;align-items:center;gap:28px}.masthead__nav{display:flex;align-items:center;gap:2px}.masthead__nav a{padding:7px 11px;border-radius:7px;color:#e8eef7a8;font-size:13px;transition:.15s ease}.masthead__nav a:hover{color:#fff;background:#ffffff0f}.masthead__nav a[aria-current=page]{color:#fff;background:#ffffff17}.masthead__spacer{flex:1}.masthead__build{font-family:var(--mono);font-size:11px;color:#e8eef79e;letter-spacing:.03em}.public-page{max-width:1320px;margin:0 auto;padding:34px 32px 0;min-height:calc(100vh - 154px)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{font-size:29px;line-height:1.2;letter-spacing:-.025em;font-weight:700}.page-head p{font-size:13.5px;color:var(--muted);margin-top:7px;max-width:72ch;line-height:1.65}.page-head__aside{font-size:11.5px;color:var(--muted);text-align:right;line-height:1.7}.page-head__aside strong{display:block;font-family:var(--mono);font-size:13px;color:var(--text-2);font-weight:600}.search-console{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:20px}.search-row{display:flex;gap:10px}.search-field{position:relative;flex:1;min-width:0}.search-field .icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--muted)}.search-field .input{height:42px;padding-left:38px;font-size:14px;border-color:var(--line-strong)}.search-field .input:focus{border-color:var(--brand)}.quick-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:10px;font-size:11.5px;color:var(--faint)}.quick-links span{margin-right:2px}.quick-chip{padding:3px 7px;border-radius:5px;color:var(--text-2);font-size:11.5px;transition:.14s ease}.quick-chip:hover{background:var(--paper-2);color:var(--brand-dark)}.list-layout{display:grid;grid-template-columns:246px minmax(0,1fr);gap:20px;align-items:start}.filters{padding:16px;position:sticky;top:20px}.filters__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.filters__head h2{font-size:13px;font-weight:650}.filters__reset{font-size:11.5px;color:var(--muted);padding:3px 6px;border-radius:5px}.filters__reset:hover{color:var(--brand);background:var(--brand-soft)}.filter-group{padding-top:14px}.filter-group+.filter-group{border-top:1px solid var(--line-2);margin-top:14px}.filter-group__title{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--faint);margin-bottom:7px}.sev-options{display:flex;flex-direction:column;gap:1px}.sev-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;border-radius:6px;font-size:12.5px;color:var(--text-2)}.sev-option:hover{background:var(--paper-2);color:var(--text)}.sev-option.is-active{background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.sev-option__label{display:flex;align-items:center;gap:7px}.sev-option__dot{width:6px;height:6px;border-radius:50%;background:var(--c, #97A3B5)}.sev-option__count{font-family:var(--mono);font-size:10.5px;color:var(--faint)}.sev-option.is-active .sev-option__count{color:var(--brand)}.filter-select{margin-top:2px}.filter-note{font-size:12px;color:var(--faint);line-height:1.55;padding-top:14px;margin-top:14px;border-top:1px solid var(--line-2)}.filter-toggle{display:none}.results{min-width:0}.results__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.results__count{font-size:12.5px;color:var(--muted)}.results__count strong{color:var(--text);font-weight:600}.results__count .proto-tag{display:inline-flex;align-items:center;height:18px;padding:0 5px;margin-left:7px;border:1px solid var(--line-strong);border-radius:4px;font-size:11px;color:var(--muted);background:var(--surface)}.results__controls{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.results__controls .select{height:30px;width:auto;padding:0 28px 0 9px;font-size:12px;border-radius:7px;background-position:right 8px center}.vuln-table-wrap{overflow:hidden}.vuln-table{width:100%;border-collapse:collapse;table-layout:fixed}.vuln-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.vuln-table .col-id{width:188px}.vuln-table .col-type{width:126px}.vuln-table .col-date{width:104px}.vuln-table .col-level{width:82px}.vuln-table .col-score{width:74px}.vuln-table th{text-align:left;font-size:11px;font-weight:650;letter-spacing:.05em;color:var(--muted);padding:9px 16px;background:var(--surface-soft);border-bottom:1px solid var(--line);white-space:nowrap}.vuln-table td{padding:12px 16px;border-bottom:1px solid var(--line-2);vertical-align:middle}.vuln-table tbody tr{transition:background .13s ease}.vuln-table tbody tr:hover{background:#f8fafd}.vuln-table tbody tr:last-child td{border-bottom:0}.vuln-id{font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:var(--text);white-space:nowrap}.vuln-id:hover{color:var(--brand)}.vuln-avd{font-family:var(--mono);font-size:11px;color:var(--faint);margin-top:3px;letter-spacing:0}.vuln-name{font-size:13.5px;font-weight:550;line-height:1.45;color:var(--text);display:block;min-width:0}.vuln-name:hover{color:var(--brand)}.vuln-name span{display:-webkit-box;max-width:560px;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;line-height:1.45}.vuln-type{display:block;font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vuln-date{font-size:12.5px;color:var(--text-2);white-space:nowrap}.vuln-score{text-align:right;white-space:nowrap}.vuln-score strong{font-family:var(--mono);font-size:14.5px;font-weight:600;color:var(--text)}.vuln-score strong.is-high{color:var(--crit)}.vuln-score span{display:block;font-size:10px;color:var(--faint);margin-top:1px}.vuln-table .col-score{text-align:right}.vuln-cards{display:none;padding:2px 16px;flex-direction:column}.vuln-card{display:block;padding:14px 0;border-bottom:1px solid var(--line-2);color:inherit}.vuln-card:last-child{border-bottom:0}.vuln-card:hover{color:inherit}.vuln-card:hover .vuln-card__name{color:var(--brand)}.vuln-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}.vuln-card__id{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--brand-dark)}.vuln-card__name{font-size:13.5px;font-weight:550;line-height:1.5;margin-top:7px}.vuln-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;font-size:11.5px;color:var(--muted)}.vuln-card__meta span{display:flex;align-items:center;gap:6px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap;background:var(--surface)}.pagination__range{font-size:12px;color:var(--muted)}.pagination__pages{display:flex;align-items:center;gap:4px}.page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 7px;border-radius:7px;font-size:12px;color:var(--text-2);border:1px solid transparent}.page-btn:hover:not(:disabled){background:var(--paper-2);color:var(--text)}.page-btn.is-current{background:var(--ink-900);color:#fff;font-weight:600}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn .icon{width:14px;height:14px}.page-ellipsis{font-size:12px;color:var(--faint);padding:0 2px}.detail-page{max-width:1320px;margin:0 auto;padding:26px 32px 0}.crumbs{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:18px;flex-wrap:wrap}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--brand)}.crumbs .icon{width:12px;height:12px;color:var(--faint)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:18px}.detail-head__main{min-width:0}.detail-title{font-size:27px;line-height:1.32;letter-spacing:-.02em;font-weight:700}.detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:var(--muted)}.detail-meta .divider{width:1px;height:12px;background:var(--line-strong)}.detail-meta .mono{color:var(--text-2)}.detail-head__aside{display:flex;align-items:stretch;gap:10px;flex:none}.detail-score{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:10px 16px;text-align:right;min-width:116px}.detail-score__label{font-size:11px;color:var(--muted);letter-spacing:.03em}.detail-score__value{font-family:var(--mono);font-size:30px;font-weight:600;line-height:1.1;margin-top:2px;letter-spacing:-.03em}.detail-score__value small{font-size:12px;color:var(--faint);font-weight:400}.alert-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:10px;color:var(--warn-ink);font-size:12.8px;line-height:1.65;margin-bottom:18px}.alert-banner .icon{width:17px;height:17px;margin-top:1px;flex:none;color:var(--high)}.alert-banner strong{font-weight:650}.fact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:20px}.fact{padding:11px 17px;border-left:1px solid var(--line-2);min-width:0}.fact:first-child{border-left:0}.fact dt{font-size:11px;color:var(--muted);letter-spacing:.04em;margin-bottom:4px}.fact dd{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fact dd .mono{font-size:12.5px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 344px;gap:20px;align-items:start}.article-panel{padding:4px 24px 24px;min-width:0}.section{padding-top:22px}.section+.section{margin-top:22px;border-top:1px solid var(--line-2)}.section__title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:650;letter-spacing:-.005em;margin-bottom:11px}.section__title .icon{width:16px;height:16px;color:var(--muted)}.section__count{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);background:var(--paper-2);border-radius:5px;padding:1px 6px}.section__body{font-size:13.5px;line-height:1.8;color:var(--text-2)}.section__body p+p{margin-top:10px}.version-empty{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px dashed var(--line-strong);border-radius:8px;color:var(--muted);font-size:12.5px;background:var(--surface-soft)}.version-empty .icon{width:15px;height:15px}.version-chips{display:flex;flex-wrap:wrap;gap:6px}.version-chip{font-family:var(--mono);font-size:12px;padding:4px 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--text-2)}.affected-table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:8px;overflow:hidden}.affected-table th{font-size:11px;font-weight:650;color:var(--muted);letter-spacing:.04em;text-align:left;padding:8px 11px;background:var(--surface-soft);border-bottom:1px solid var(--line);white-space:nowrap}.affected-table td{font-size:12.5px;padding:9px 11px;border-bottom:1px solid var(--line-2);color:var(--text-2);vertical-align:top}.affected-table tr:last-child td{border-bottom:0}.affected-table .mono{font-size:12px;color:var(--text)}.ref-list{display:flex;flex-direction:column}.ref-item{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid var(--line-2);min-width:0}.ref-item:last-child{border-bottom:0;padding-bottom:0}.ref-item:first-child{padding-top:0}.ref-item .icon{width:13px;height:13px;color:var(--faint);margin-top:3px;flex:none}.ref-item a{font-size:12.5px;line-height:1.55;word-break:break-all;color:var(--text-2)}.ref-item a:hover{color:var(--brand)}.ref-item .ref-host{font-family:var(--mono);font-size:10.5px;color:var(--faint);margin-left:6px;white-space:nowrap}.empty-inline{padding:14px;border:1px dashed var(--line-strong);border-radius:8px;color:var(--muted);font-size:12.5px;background:var(--surface-soft)}.sidebar-stack{display:flex;flex-direction:column;gap:14px;position:sticky;top:20px}.side-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.side-panel__head{padding:12px 16px;border-bottom:1px solid var(--line-2);font-size:12px;font-weight:650;color:var(--text-2);display:flex;align-items:center;justify-content:space-between;gap:8px}.side-panel__head span{font-weight:500;color:var(--muted);font-size:11px}.side-panel__body{padding:14px 16px}.score-value{display:flex;align-items:flex-end;gap:8px}.score-value strong{font-family:var(--mono);font-size:38px;font-weight:600;line-height:1;letter-spacing:-.04em}.score-value span{font-size:11px;color:var(--muted);padding-bottom:4px}.score-scale{position:relative;display:flex;gap:2px;height:7px;margin:14px 0 6px;border-radius:3px;overflow:visible}.score-scale__seg{height:7px;border-radius:2px;opacity:.9}.score-scale__marker{position:absolute;top:-4px;width:2px;height:15px;background:var(--ink-900);border-radius:1px;transform:translate(-1px)}.score-scale__labels{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--faint);margin-bottom:12px}.metric-list{display:flex;flex-direction:column}.metric-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:12px}.metric-row:last-child{border-bottom:0;padding-bottom:0}.metric-row dt{color:var(--muted);flex:none}.metric-row dd{color:var(--text);font-weight:550;text-align:right}.cwe-list{display:flex;flex-direction:column}.cwe-row{display:flex;gap:9px;padding:8px 0;border-bottom:1px solid var(--line-2);font-size:12px;align-items:flex-start}.cwe-row:last-child{border-bottom:0;padding-bottom:0}.cwe-row:first-child{padding-top:0}.cwe-row .mono{font-size:11px;color:var(--brand-dark);flex:none;padding-top:1px}.cwe-row span:last-child{color:var(--text-2);line-height:1.5}.disabled-page{max-width:760px;margin:0 auto;padding:76px 32px;text-align:center;min-height:calc(100vh - 139px);display:flex;flex-direction:column;justify-content:center}.disabled-page__code{font-family:var(--mono);font-size:11px;letter-spacing:.28em;color:var(--faint);margin-bottom:18px}.disabled-page__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:13px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);margin-bottom:16px}.disabled-page__icon .icon{width:24px;height:24px}.disabled-page h1{font-size:25px;letter-spacing:-.02em;font-weight:700}.disabled-page p{font-size:13.5px;color:var(--muted);line-height:1.75;max-width:48ch;margin:9px auto 0}.disabled-page__actions{display:flex;justify-content:center;gap:9px;margin-top:22px;flex-wrap:wrap}.disabled-page__hint{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:11.5px;color:var(--faint)}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(400px,46%) minmax(0,1fr);background:var(--surface)}.login-brand{position:relative;display:flex;flex-direction:column;padding:42px 52px 34px;background:var(--ink-950);color:#f0f4fa;overflow:hidden}.login-brand__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.login-brand__tag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:#f0f4faa8;border:1px solid rgba(255,255,255,.18);border-radius:5px;padding:4px 7px}.login-brand__main{margin:auto 0;padding:56px 0}.login-brand h1{font-size:clamp(28px,2.6vw,36px);line-height:1.32;letter-spacing:-.03em;font-weight:650;max-width:16ch}.login-brand__lead{font-size:14px;line-height:1.8;color:#f0f4faa8;max-width:40ch;margin-top:16px}.login-facts{margin-top:38px;border-top:1px solid rgba(255,255,255,.12);max-width:420px}.login-fact{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.09)}.login-fact dt{font-size:12px;color:#f0f4fa8c}.login-fact dd{font-family:var(--mono);font-size:14.5px;font-weight:600;color:#f0f4fa}.login-fact dd small{font-family:var(--font);font-size:10.5px;font-weight:400;color:#f0f4fa73;margin-left:4px}.login-brand__foot{font-size:12px;color:#f0f4fa94;display:flex;justify-content:space-between;gap:12px}.login-brand .severity-rail{position:absolute;left:0;right:0;bottom:0;height:4px}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:48px 32px;background:var(--paper)}.login-form{width:100%;max-width:376px}.login-form h2{font-size:23px;font-weight:700;letter-spacing:-.02em}.login-form__sub{font-size:13px;color:var(--muted);margin-top:6px;margin-bottom:24px;line-height:1.65}.login-form form{display:flex;flex-direction:column;gap:15px}.password-wrap{position:relative}.password-wrap .input{padding-right:44px}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--muted);font-size:11px}.password-toggle:hover{background:var(--paper-2);color:var(--text)}.login-error{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border:1px solid var(--crit-line);background:var(--crit-soft);border-radius:8px;color:var(--crit);font-size:12.5px;line-height:1.55}.login-error .icon{width:14px;height:14px;margin-top:1px;flex:none}.login-demo{margin-top:18px;padding:11px 13px;border:1px dashed var(--line-strong);background:var(--surface-soft);border-radius:8px;font-size:11.5px;color:var(--muted);line-height:1.7}.login-demo code{font-family:var(--mono);font-size:11px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.login-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}.login-foot a{display:inline-flex;align-items:center;gap:5px;color:var(--text-2)}.login-foot a:hover{color:var(--brand)}.login-foot a .icon{width:12px;height:12px}.admin-shell{display:flex;min-height:100vh;background:var(--paper)}.sidebar{width:236px;flex:none;background:var(--ink-950);color:#e8eef7;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar__brand{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 18px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar__close{display:none;color:#fff9}.sidebar__nav{flex:1;overflow-y:auto;padding:14px 10px 10px}.nav-group+.nav-group{margin-top:18px}.nav-group__label{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;color:#e8eef78f;padding:0 9px 7px}.nav-link{display:flex;align-items:center;gap:10px;height:37px;padding:0 10px;border-radius:7px;color:#e8eef7a8;font-size:13px;transition:.14s ease;position:relative}.nav-link:hover{background:#ffffff0d;color:#fff}.nav-link[aria-current=page]{background:#ffffff17;color:#fff;font-weight:550}.nav-link[aria-current=page]:after{content:"";position:absolute;right:9px;width:5px;height:5px;border-radius:50%;background:#6e93ff}.nav-link .icon{width:17px;height:17px;color:#e8eef780}.nav-link[aria-current=page] .icon{color:#8fadff}.sidebar__foot{border-top:1px solid rgba(255,255,255,.08);padding:12px 12px 14px}.sidebar__user{display:flex;align-items:center;gap:9px;padding:6px 6px 10px}.avatar{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:#ffffff17;border:1px solid rgba(255,255,255,.12);font-family:var(--mono);font-size:11px;color:#dce6f5;flex:none}.sidebar__user-meta{min-width:0;flex:1;line-height:1.25}.sidebar__user-meta strong{display:block;font-size:12px;font-weight:600;color:#edf2fa}.sidebar__user-meta span{display:block;font-size:11px;color:#e8eef799;margin-top:2px}.sidebar__logout{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;border-radius:6px;color:#e8eef78c;font-size:12px}.sidebar__logout:hover{background:#ffffff0f;color:#fff}.sidebar__logout .icon{width:15px;height:15px}.sidebar .severity-rail{flex:none;height:3px}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;height:63px;padding:0 26px;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar__menu{display:none}.topbar__title{min-width:0;line-height:1.25}.topbar__title h1{font-size:16.5px;font-weight:650;letter-spacing:-.01em}.topbar__title p{font-size:11px;color:var(--muted);margin-top:3px}.topbar__spacer{flex:1}.status-pill{display:inline-flex;align-items:center;gap:7px;height:29px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);font-size:11.5px;color:var(--text-2);white-space:nowrap;transition:.15s ease}a.status-pill:hover{border-color:var(--line-strong);color:var(--text);background:var(--surface)}.status-pill strong{font-family:var(--mono);font-weight:600;color:var(--text)}.topbar__user{display:flex;align-items:center;gap:9px;padding-left:14px;border-left:1px solid var(--line)}.topbar__user .avatar{background:var(--ink-900);border-color:var(--ink-900);color:#fff}.topbar__user-meta{line-height:1.2}.topbar__user-meta strong{display:block;font-size:12px;font-weight:600}.topbar__user-meta span{display:block;font-size:11px;color:var(--muted);margin-top:1px}.topbar__logout{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;color:var(--muted)}.topbar__logout:hover{background:var(--paper-2);color:var(--text)}.topbar__logout .icon{width:16px;height:16px}.admin-page{width:100%;max-width:1440px;margin:0 auto;padding:24px 26px 44px}.page-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.page-bar__desc{font-size:12.5px;color:var(--muted);line-height:1.6;max-width:70ch}.page-bar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-bar h2{font-size:19px;font-weight:650;letter-spacing:-.015em}.page-bar p{font-size:12.5px;color:var(--muted);margin-top:4px}.status-band{position:relative;background:var(--ink-900);color:#edf2fa;border-radius:16px;padding:19px 22px 23px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;overflow:hidden;margin-bottom:14px}.status-band__status{display:flex;align-items:center;gap:8px;font-size:11px;color:#a7b8ce;letter-spacing:.02em}.status-band h2{font-size:17.5px;font-weight:600;letter-spacing:-.01em;margin-top:7px}.status-band__sub{font-size:11.5px;color:#93a7c0;margin-top:5px;line-height:1.5}.status-band__stats{display:flex;align-items:stretch;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);flex-wrap:wrap}.stat{padding:0 20px;border-left:1px solid rgba(255,255,255,.12)}.stat:first-child{padding-left:0;border-left:0}.stat dt{font-size:11px;color:#a2b5cb;letter-spacing:.04em;white-space:nowrap}.stat dd{font-family:var(--mono);font-size:19px;font-weight:600;color:#fff;margin-top:3px;line-height:1.2;letter-spacing:-.02em}.stat dd small{font-family:var(--font);font-size:11px;font-weight:500;color:#7fd6aa;margin-left:4px}.stat dd small.is-warn{color:#f3c46b}.status-band__actions{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:12px}.btn--light{background:#fff;border-color:#fff;color:var(--ink-900)}.btn--light:hover{background:#e9eff9;border-color:#e9eff9;color:var(--ink-900)}.status-band__link{font-size:11.5px;color:#a7b8ce;display:inline-flex;align-items:center;gap:5px}.status-band__link:hover{color:#fff}.status-band__link .icon{width:13px;height:13px}.status-band__rail{position:absolute;left:0;right:0;bottom:0;height:4px;display:flex}.status-band__rail span{height:100%;width:var(--w);background:var(--c)}.band-progress{margin-top:14px;max-width:460px}.band-progress__meta{display:flex;justify-content:space-between;font-size:10.5px;color:#a7b8ce;margin-bottom:5px}.band-progress__track{height:5px;border-radius:4px;background:#ffffff24;overflow:hidden}.band-progress__bar{height:100%;border-radius:4px;background:#7ea0ff;transition:width .35s ease}.dash-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.chart-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;min-width:0;display:flex;flex-direction:column}.chart-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 18px 6px}.chart-panel__title{font-size:13.5px;font-weight:650;letter-spacing:-.005em}.chart-panel__sub{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.45}.chart-panel__body{padding:4px 14px 12px;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.chart-panel__body svg{width:100%;height:auto;display:block;overflow:visible}.chart-panel__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px 14px;font-size:11px;color:var(--muted);flex-wrap:wrap}.chart-scroll-hint{display:none;align-items:center;gap:5px;color:var(--faint);font-size:12px}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:var(--text-2)}.chart-legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.chart-legend i{width:6px;height:6px;border-radius:50%;background:var(--c);flex:none}.chart-legend b{font-family:var(--mono);font-weight:600;color:var(--text-2)}.chart-axis{font-family:var(--mono);font-size:11px;fill:var(--faint)}.chart-grid{stroke:var(--line-2);stroke-width:1}.chart-baseline{stroke:var(--line-strong);stroke-width:1}.chart-hit{cursor:crosshair}.chart-value{font-family:var(--mono);font-size:11px;fill:var(--text-2)}.chart-line{fill:none;stroke:var(--brand);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:url(#areaFill)}.chart-dot{fill:var(--brand);stroke:#fff;stroke-width:2}.chart-bar{fill:#34527f;transition:opacity .14s ease}.chart-bar:hover{opacity:.78}.chart-bar--brand{fill:var(--brand)}.chart-anim-line{stroke-dasharray:1;stroke-dashoffset:1;animation:drawLine 1.05s cubic-bezier(.16,1,.3,1) forwards}.chart-anim-fade{opacity:0;animation:fadeIn .7s ease .12s forwards}@keyframes drawLine{to{stroke-dashoffset:0}}@keyframes fadeIn{to{opacity:1}}.donut-center-value{font-family:var(--mono);font-size:19px;font-weight:600;fill:var(--text);letter-spacing:-.02em}.donut-center-label{font-size:11px;fill:var(--muted)}.donut-arc{transition:opacity .14s ease;cursor:default}.donut-arc:hover{opacity:.82}.rank-list{display:flex;flex-direction:column;gap:9px;padding:6px 2px 4px}.rank-row{display:grid;grid-template-columns:20px minmax(64px,112px) minmax(0,1fr) 48px;align-items:center;gap:9px;font-size:11.5px}.rank-index{font-family:var(--mono);font-size:11px;color:var(--faint);text-align:right}.rank-label{color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-track{height:6px;border-radius:3px;background:var(--paper-2);overflow:hidden}.rank-fill{display:block;height:100%;border-radius:3px;background:var(--brand);opacity:.85}.rank-value{font-family:var(--mono);font-size:11px;color:var(--text-2);text-align:right}.rank-row:hover .rank-fill{opacity:1}.admin-table{width:100%;border-collapse:collapse;font-size:12.5px}.admin-table th{text-align:left;font-size:10.5px;font-weight:650;letter-spacing:.05em;color:var(--muted);padding:9px 14px;background:var(--surface-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}.admin-table td{padding:10px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle;color:var(--text-2)}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr{transition:background .13s ease}.admin-table tbody tr:hover{background:#f8fafd}.admin-table .mono{font-size:11.5px;color:var(--text)}.admin-table .strong{color:var(--text);font-weight:550}.trigger-tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;font-size:11px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text-2);white-space:nowrap}.stage-tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;font-size:11px;font-family:var(--mono);border:1px solid var(--crit-line);background:var(--crit-soft);color:var(--crit);white-space:nowrap}.stage-tag--list{border-color:var(--brand-line);background:var(--brand-soft);color:var(--brand-dark)}.stage-tag--parse{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn-ink)}.stage-tag--store{border-color:var(--line-strong);background:var(--unk-soft);color:var(--unk)}.stage-cell{display:inline-flex;align-items:center;gap:5px}.lvl-tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;font-size:11px;border:1px solid var(--warn-line);background:var(--warn-bg);color:var(--warn-ink);white-space:nowrap}.cell-ellipsis{display:block;max-width:430px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crawl-error-table td:nth-child(4){white-space:nowrap}.cell-ellipsis--msg{max-width:300px;color:var(--text-2)}.ce-url-mobile{display:none}.err-count-link{border:0;background:none;padding:0;font:inherit;font-family:var(--mono);color:var(--crit);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.err-count-link:hover{color:#8f1d14}.ce-search{height:32px;width:186px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px}.ce-search:focus{outline:2px solid var(--brand-line);outline-offset:1px}.run-row{cursor:pointer}.run-row td:first-child{position:relative}.run-message td{background:var(--crit-soft);border-bottom:1px solid var(--crit-line);padding:11px 14px}.run-message__inner{display:flex;gap:8px;align-items:flex-start;color:var(--crit);font-size:11.5px;line-height:1.6}.run-message__inner .icon{width:13px;height:13px;margin-top:2px;flex:none}.run-chevron{display:inline-flex;transition:transform .16s ease;color:var(--faint)}.run-chevron .icon{width:13px;height:13px}.run-row.is-open .run-chevron{transform:rotate(90deg)}.crawl-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:14px;align-items:start;margin-bottom:14px}.crawl-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px}.crawl-panel__head{padding:16px 18px 0}.crawl-panel__title{font-size:14px;font-weight:650}.crawl-panel__sub{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.5}.crawl-panel__body{padding:14px 18px 18px}.run-now{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border-radius:8px;background:var(--surface-soft);flex-wrap:wrap}.run-now__status{display:flex;align-items:flex-start;gap:9px;min-width:0}.run-now__status .status-dot{margin-top:5px}.run-now__text strong{display:block;font-size:12.5px;font-weight:600}.run-now__text span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.run-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:9px;overflow:hidden;margin-top:12px}.run-stat{background:var(--surface);padding:10px 12px}.run-stat dt{font-size:11px;color:var(--muted);letter-spacing:.03em}.run-stat dd{font-family:var(--mono);font-size:15px;font-weight:600;margin-top:2px}.run-progress{margin-top:14px}.run-progress__meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:6px}.run-progress__meta strong{font-family:var(--mono);color:var(--text)}.progress{height:7px;border-radius:5px;background:var(--paper-2);overflow:hidden}.progress__bar{height:100%;border-radius:5px;background:var(--brand);transition:width .3s ease}.run-params{margin-top:14px;border-top:1px solid var(--line-2)}.run-param{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line-2);font-size:11.5px}.run-param:last-child{border-bottom:0;padding-bottom:0}.run-param dt{color:var(--muted)}.run-param dd{color:var(--text);font-weight:550;text-align:right}.run-param dd.mono{font-weight:400;font-size:11px}.run-steps{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:11px;color:var(--faint)}.step{display:inline-flex;align-items:center;gap:6px}.step__dot{width:14px;height:14px;border-radius:50%;border:1px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;flex:none;background:var(--surface)}.step__dot .icon{width:9px;height:9px}.step.is-done{color:var(--ok)}.step.is-done .step__dot{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok)}.step.is-active{color:var(--brand);font-weight:600}.step.is-active .step__dot{border-color:var(--brand);background:var(--brand-soft)}.step.is-active .step__dot:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--brand)}.switch-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line-2)}.switch-row__text strong{display:block;font-size:12.5px;font-weight:600}.switch-row__text span{display:block;font-size:11px;color:var(--muted);margin-top:2px;line-height:1.5}.schedule-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.schedule-form .field:first-child{grid-column:1/-1}.schedule-form .field{min-width:0}.range-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.range-form .field{min-width:0}.range-preview{margin-top:12px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.range-preview__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:11.5px;color:var(--muted)}.range-preview__row strong{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--text);text-align:right}.range-preview p{margin-top:5px;font-size:11px;line-height:1.55;color:var(--faint)}.lock-note{display:flex;gap:9px;padding:10px 12px;margin-bottom:13px;border:1px solid var(--brand-line);border-radius:8px;background:var(--brand-soft);font-size:11.5px;line-height:1.65;color:var(--brand-dark)}.lock-note .icon{width:14px;height:14px;flex:none;margin-top:2px;color:var(--brand)}.overwrite-row{padding:12px 0 0;margin:12px 0 0;border-top:1px solid var(--line-2);border-bottom:0}.cursor-card{margin-bottom:14px;padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}.cursor-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.cursor-card__value{display:block;margin-top:3px;font-family:var(--mono);font-size:19px;font-weight:650;letter-spacing:-.02em;color:var(--text)}.cursor-card p{margin-top:3px;font-size:11px;line-height:1.6;color:var(--muted)}.cursor-card p strong{font-family:var(--mono);font-weight:600;color:var(--text)}.schedule-note{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-2);font-size:11px;line-height:1.65;color:var(--muted)}.run-range{font-family:var(--mono);font-size:11.5px;color:var(--text);white-space:nowrap}.run-range span{display:block;margin-top:2px;font-family:var(--font);font-size:10px;color:var(--faint);white-space:nowrap}.next-runs{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}.next-runs__title{font-size:10.5px;font-weight:650;letter-spacing:.05em;color:var(--muted);margin-bottom:7px}.next-runs li{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;color:var(--text-2);padding:3px 0}.next-runs .icon{width:12px;height:12px;color:var(--faint)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px}.log-viewer{background:#0c1626;border:1px solid #1C2C44;border-radius:12px;overflow:hidden}.log-toolbar{display:flex;align-items:center;gap:9px;padding:9px 12px;background:#101f35;border-bottom:1px solid rgba(255,255,255,.08);color:#a9b7cb;font-size:11px;flex-wrap:wrap}.log-toolbar__file{font-family:var(--mono);font-size:11px;color:#c7d3e4;display:flex;align-items:center;gap:6px;min-width:0}.log-toolbar__file .icon{width:13px;height:13px;color:#6f86a6}.log-toolbar__spacer{flex:1}.log-toolbar .select{height:27px;width:auto;background-color:#16263d;border-color:#2a3f5e;color:#dce6f3;font-size:11px;padding:0 26px 0 8px;background-position:right 7px center}.log-toolbar .btn{height:27px;font-size:11px;background:#16263d;border-color:#2a3f5e;color:#dce6f3}.log-toolbar .btn:hover{background:#1d3050;border-color:#3a5378;color:#fff}.log-toolbar .check{display:inline-flex;align-items:center;gap:5px;color:#8fa4be;font-size:10.5px;cursor:pointer}.log-toolbar .check input{accent-color:#7EA0FF}.log-lines{max-height:408px;overflow:auto;padding:11px 0;font-family:var(--mono);font-size:11px;line-height:1.78;scrollbar-color:#3B5477 #0C1626;scrollbar-width:thin}.log-lines::-webkit-scrollbar{width:10px;height:10px}.log-lines::-webkit-scrollbar-thumb{background:#2b405f;border-radius:6px;border:2px solid #0C1626}.log-lines::-webkit-scrollbar-track{background:#0c1626}.log-line{display:flex;gap:10px;padding:0 13px;white-space:pre;min-width:-moz-max-content;min-width:max-content}.log-line:hover{background:#ffffff08}.log-ln{width:34px;flex:none;text-align:right;color:#405571;-webkit-user-select:none;-moz-user-select:none;user-select:none}.log-content{color:#c7d3e4}.log-time{color:#5d789c}.log-level{font-weight:600}.level-info{color:#7fb2ff}.level-warn{color:#f3c46b}.level-error{color:#ff8f86}.level-debug{color:#8ea0b8}.level-done{color:#6fd3a3}.log-msg{color:#d5deeb}.log-key{color:#8fa4be}.log-viewer__foot{display:flex;align-items:center;justify-content:space-between;padding:8px 13px;background:#101f35;border-top:1px solid rgba(255,255,255,.08);color:#6f86a6;font-size:10px;gap:10px;flex-wrap:wrap}.log-summary{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.log-summary strong{font-family:var(--mono);font-size:14px;color:var(--text);font-weight:600}.log-summary .sep{width:1px;height:18px;background:var(--line)}.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-bar .select{height:32px;width:auto;font-size:12px;border-radius:7px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:14px;align-items:start}.settings-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px}.settings-panel__head{padding:16px 18px 0}.settings-panel__title{font-size:14px;font-weight:650}.settings-panel__sub{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.55}.settings-panel__body{padding:15px 18px 18px}.password-form{display:flex;flex-direction:column;gap:13px;max-width:400px}.form-error{margin-top:10px}.danger-note{display:flex;gap:9px;padding:10px 12px;border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:8px;color:var(--warn-ink);font-size:11.5px;line-height:1.65;margin-top:13px}.danger-note .icon{width:14px;height:14px;flex:none;margin-top:2px;color:var(--high)}.session-list{display:flex;flex-direction:column}.session-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:12px}.session-row:last-child{border-bottom:0;padding-bottom:0}.session-row:first-child{padding-top:0}.session-row dt{color:var(--muted);flex:none}.session-row dd{color:var(--text);text-align:right}.session-row dd .mono{font-size:11.5px}.access-panel{margin-top:2px;padding:0}.access-panel__row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.access-panel__text strong{display:block;font-size:12.5px}.access-panel__text span{display:block;font-size:11px;color:var(--muted);margin-top:3px;line-height:1.55}.access-panel__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.access-link{font-size:11.5px;color:var(--brand);display:inline-flex;align-items:center;gap:4px}.access-link .icon{width:12px;height:12px}.sec-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.sec-kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px 14px;min-width:0}.sec-kpi__label{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}.sec-kpi__label .icon{width:14px;height:14px;color:var(--faint)}.sec-kpi__value{display:block;font-family:var(--mono);font-size:21px;font-weight:650;letter-spacing:-.02em;margin-top:3px;line-height:1.2;color:var(--text)}.sec-kpi__meta{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--faint);margin-top:3px;line-height:1.4}.sec-kpi__meta .is-warn{color:var(--high)}.sec-kpi__meta .is-crit{color:var(--crit)}.sec-kpi__meta .is-ok{color:var(--ok)}.req-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.req-toolbar .select{height:32px;width:auto;font-size:12px;border-radius:7px}.req-toolbar .input{height:32px;width:210px;font-size:12px}.req-time{white-space:nowrap}.req-time span{display:inline}.req-path{display:flex;flex-direction:column;gap:2px;min-width:0}.req-path code{display:block;max-width:340px;font-family:var(--mono);font-size:11.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.req-path span{font-size:10.5px;color:var(--faint)}.method-tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;border:1px solid var(--line);background:var(--surface-soft);font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--text-2)}.method-tag--post{color:var(--brand);border-color:var(--brand-line);background:var(--brand-soft)}.status-code{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--text)}.status-code--429{color:var(--high)}.status-code--401,.status-code--403{color:var(--crit)}.req-ip{display:flex;align-items:center;gap:6px;min-width:0}.req-ip .mono{font-size:11.5px;color:var(--text);white-space:nowrap}.req-internal{display:inline-flex;align-items:center;height:17px;padding:0 4px;border-radius:3px;border:1px solid var(--line);background:var(--surface-soft);font-size:9.5px;font-weight:600;color:var(--muted);letter-spacing:.02em}.req-block-btn{font-size:11.5px;color:var(--crit);padding:4px 7px;border-radius:5px;border:1px solid var(--crit-line);background:var(--crit-soft);white-space:nowrap}.req-block-btn:hover{background:#fbe2de;border-color:#e6ada5}.req-blocked{font-size:11px;color:var(--faint);white-space:nowrap}.sec-note{display:flex;gap:8px;padding:11px 16px;border-top:1px solid var(--line);background:var(--surface-soft);border-radius:0 0 14px 14px;font-size:11.5px;color:var(--muted);line-height:1.65}.sec-note .icon{width:14px;height:14px;color:var(--faint);margin-top:2px;flex:none}.req-skel{height:11px;border-radius:4px}.rate-band{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;background:var(--ink-900);color:#edf2fa;border-radius:16px;padding:18px 21px 21px;margin-bottom:14px}.rate-band__status{display:flex;align-items:center;gap:8px;font-size:11px;color:#a7b8ce;letter-spacing:.02em}.rate-band h2{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-top:7px}.rate-band__sub{font-size:11.5px;color:#93a7c0;margin-top:5px;line-height:1.55;max-width:76ch}.rate-band__stats{display:flex;align-items:stretch;margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.12);flex-wrap:wrap}.rate-band__actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:12px}.rate-band__switch{display:flex;align-items:center;gap:10px;font-size:12px;color:#c7d3e4;white-space:nowrap}.rate-band__switch .switch__track{background:#3a4a61}.rate-band__switch input:checked+.switch__track{background:#6e93ff}.rate-band__link{font-size:11.5px;color:#a7b8ce;display:inline-flex;align-items:center;gap:5px}.rate-band__link:hover{color:#fff}.rate-band__link .icon{width:13px;height:13px}.rate-band.is-off{background:var(--ink-800)}.rate-band.is-off .rate-band__status{color:#e3b269}.rate-band.is-off .rate-band__rail{opacity:.45}.rate-band__rail{position:absolute;left:0;right:0;bottom:0;height:4px;display:flex}.rate-band__rail span{height:100%;width:var(--w);background:var(--c)}.rule-list{display:flex;flex-direction:column}.rule-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 84px 46px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2)}.rule-row:last-child{border-bottom:0;padding-bottom:0}.rule-row--head{padding:0 0 7px;border-bottom:1px solid var(--line);font-size:10.5px;font-weight:650;letter-spacing:.05em;color:var(--muted)}.rule-row--head span:not(:first-child){text-align:right;padding-right:6px}.rule-row--head span:last-child{text-align:center;padding-right:0}.rule-switch{display:flex;justify-content:flex-end}.rule-switch .switch__track{width:34px;height:20px}.rule-switch .switch__track:after{width:14px;height:14px}.rule-switch input:checked+.switch__track:after{transform:translate(14px)}.rule-name strong{display:block;font-size:12.5px;font-weight:550;color:var(--text)}.rule-name span{display:block;font-family:var(--mono);font-size:10.5px;color:var(--faint);margin-top:1px}.rule-row .input{height:32px;padding:0 9px;font-family:var(--mono);font-size:12px}.rate-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rate-fields .input{font-family:var(--mono)}.rate-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 8px;padding-top:14px;border-top:1px solid var(--line-2);font-size:10.5px;font-weight:650;letter-spacing:.05em;color:var(--muted)}.rate-subhead:first-child{margin-top:0;padding-top:0;border-top:0}.ip-list{display:flex;flex-direction:column;margin-bottom:10px}.ip-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-2)}.ip-row:last-child{border-bottom:0}.ip-row__main{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.ip-row__main code{font-family:var(--mono);font-size:11.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ip-tag{display:inline-flex;align-items:center;height:19px;padding:0 5px;border-radius:4px;border:1px solid transparent;font-size:10px;font-weight:600;white-space:nowrap}.ip-tag--allow{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-line)}.ip-tag--deny{color:var(--crit);background:var(--crit-soft);border-color:var(--crit-line)}.ip-tag--auto{color:var(--high);background:var(--high-soft);border-color:var(--high-line)}.ip-row__sub{font-size:10.5px;color:var(--faint);white-space:nowrap}.ip-remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;color:var(--faint)}.ip-remove:hover{color:var(--crit);background:var(--crit-soft)}.ip-remove .icon{width:12px;height:12px}.ip-remove--text{width:auto;height:22px;padding:0 7px;border:1px solid var(--line);background:var(--surface);font-size:11px;color:var(--muted)}.ip-remove--text:hover{border-color:var(--crit-line)}.ip-add{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-2)}.ip-add .input,.ip-add .select{height:34px;font-size:12px}.ip-add .btn{grid-column:1/-1}.rate-savebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap}.rate-savebar__meta{font-size:11.5px;color:var(--muted);line-height:1.5}.rate-savebar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.trusted-proxies{min-height:92px;font-family:var(--mono);font-size:12px;line-height:1.8}.rate-off-note{display:flex;gap:9px;padding:10px 12px;border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:8px;color:var(--warn-ink);font-size:11.5px;line-height:1.65;margin-bottom:13px}.rate-off-note .icon{width:14px;height:14px;flex:none;margin-top:2px;color:var(--high)}.kpi-inline{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.kpi-inline span{font-size:11.5px;color:var(--muted)}.kpi-inline strong{font-family:var(--mono);color:var(--text);font-weight:600}.section-stack{display:flex;flex-direction:column;gap:14px}.inline-note{font-size:11.5px;color:var(--muted);line-height:1.6}.pagination--admin{padding:10px 14px}#view>*{animation:viewIn .28s cubic-bezier(.16,1,.3,1) both}@keyframes viewIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sidebar :focus-visible,.login-brand :focus-visible,.status-band :focus-visible{outline-color:#8fb0ff}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#070d1785;z-index:70;opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar-overlay.is-open{opacity:1;pointer-events:auto}@media (max-width:1180px){.detail-layout{grid-template-columns:minmax(0,1fr) 318px}.masthead__inner,.public-page,.detail-page{padding-left:24px;padding-right:24px}}@media (max-width:1024px){.sidebar{position:fixed;left:0;top:0;z-index:80;width:252px;height:100dvh;transform:translate(-100%);transition:transform .26s cubic-bezier(.16,1,.3,1);box-shadow:24px 0 60px -30px #070d1799}.sidebar.is-open{transform:none}.sidebar__close{display:flex;color:#ffffff9e}.sidebar__close:hover{background:#ffffff14;color:#fff;border-color:transparent}.topbar__menu{display:inline-flex}.detail-layout{grid-template-columns:1fr}.sidebar-stack{position:static;display:grid;grid-template-columns:1fr 1fr;align-items:start}.sidebar-stack .side-panel:first-child{grid-column:1/-1}.dash-grid .span-8,.dash-grid .span-7,.dash-grid .span-5{grid-column:span 12}.dash-grid .span-4,.dash-grid .span-6{grid-column:span 6}.status-band__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 0}}@media (max-width:960px){.list-layout{grid-template-columns:1fr}.filters{position:static;display:none}.filters.is-open{display:block}.filter-toggle{display:inline-flex}.crawl-grid,.settings-grid{grid-template-columns:1fr}.masthead__build,.page-head__aside{display:none}}@media (max-width:880px){.vuln-table-wrap{display:none}.vuln-cards{display:flex}.results__controls .select{display:none}.pagination{border-top:0;border-top:1px solid var(--line-2)}}@media (max-width:820px){.login-shell{grid-template-columns:1fr}.login-brand{padding:22px 22px 26px;min-height:0}.login-brand__main{margin:0;padding:30px 0 0}.login-brand h1{font-size:26px;max-width:20ch}.login-brand__lead{margin-top:10px;font-size:13px}.login-facts,.login-brand__foot,.login-brand__tag{display:none}.login-brand .severity-rail{bottom:0}.login-form-wrap{padding:34px 22px 56px}.login-brand__top .brand__name small{color:#ffffffa3}}@media (max-width:720px){.masthead__inner{height:58px;gap:14px;padding:0 16px}.masthead__nav{display:none}.public-page,.detail-page{padding-left:16px;padding-right:16px;padding-top:24px}.page-head h1{font-size:24px}.page-head p{font-size:12.5px}.search-row{flex-direction:column}.search-row .btn{height:40px}.detail-head{flex-direction:column;gap:14px}.detail-title{font-size:23px}.detail-head__aside{width:100%}.detail-score{flex:1;text-align:left;padding:9px 14px}.detail-score__value{font-size:25px}.fact-strip{grid-template-columns:1fr 1fr}.fact:nth-child(3){border-left:0}.fact:nth-child(n+3){border-top:1px solid var(--line-2)}.article-panel{padding:2px 17px 20px}.sidebar-stack{grid-template-columns:1fr}.sidebar-stack .side-panel:first-child{grid-column:auto}.admin-page{padding:18px 16px 40px}.topbar{padding:0 14px;gap:10px;height:58px}.topbar__title p{display:none}.topbar__title h1{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__status,.topbar .status-pill,.topbar__user-meta{display:none}.chart-scroll-hint{display:inline-flex}.recent-runs .admin-table th:nth-child(1),.recent-runs .admin-table td:nth-child(1),.recent-runs .admin-table th:nth-child(3),.recent-runs .admin-table td:nth-child(3),.recent-runs .admin-table th:nth-child(5),.recent-runs .admin-table td:nth-child(5){display:none}.run-history-panel .admin-table th:nth-child(1),.run-history-panel .admin-table td:nth-child(1),.run-history-panel .admin-table th:nth-child(3),.run-history-panel .admin-table td:nth-child(3),.run-history-panel .admin-table th:nth-child(7),.run-history-panel .admin-table td:nth-child(7),.run-history-panel .admin-table th:nth-child(8),.run-history-panel .admin-table td:nth-child(8){display:none}.crawl-log-runs .admin-table th:nth-child(1),.crawl-log-runs .admin-table td:nth-child(1),.crawl-log-runs .admin-table th:nth-child(5),.crawl-log-runs .admin-table td:nth-child(5),.crawl-error-table th:nth-child(3),.crawl-error-table td:nth-child(3){display:none}.cell-ellipsis{max-width:180px}.topbar__user{padding-left:10px}.status-band{grid-template-columns:1fr;gap:16px;padding:17px 16px 22px}.status-band__actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.status-band__stats{grid-template-columns:1fr 1fr;gap:12px 0}.stat{padding:0 14px}.stat:nth-child(3){padding-left:0;border-left:0}.stat:nth-child(4){padding-left:14px}.dash-grid .span-4,.dash-grid .span-6{grid-column:span 12}.chart-panel__body{padding-left:8px;padding-right:8px;overflow-x:auto;scrollbar-width:thin}.chart-panel__body svg.chart-wide{min-width:680px}.chart-panel__head{padding-left:14px;padding-right:14px}.run-now{align-items:flex-start}.run-now .btn{width:100%}.range-form,.schedule-form{grid-template-columns:1fr}.page-bar__actions{width:100%}.page-bar__actions .btn{flex:1}.log-toolbar__file{width:100%}.log-toolbar__spacer{display:none}.log-lines{font-size:10.5px}.log-line{padding:0 10px;gap:8px}.log-ln{width:26px}.pagination__range{order:3;width:100%}.pagination__pages{margin-left:auto}.site-footer__inner{padding:18px 16px;flex-direction:column;align-items:flex-start;gap:8px}.site-footer__links{width:100%;flex-wrap:wrap;gap:6px 14px}.site-footer__links span:first-child{flex-basis:100%;white-space:nowrap}.demo-toggle{right:12px;bottom:12px}.demo-panel{right:12px;left:12px;width:auto;bottom:56px}.demo-panel__body{max-height:46vh}.detail-score__label{font-size:10px}.page-head__aside{display:none}.sec-kpis{grid-template-columns:1fr 1fr}.rate-band{grid-template-columns:1fr;gap:14px;padding:17px 16px 21px}.rate-band__actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.rate-band__stats{grid-template-columns:1fr 1fr;gap:12px 0}.rate-band__stats .stat:nth-child(3){padding-left:0;border-left:0}.request-log-table th:nth-child(3),.request-log-table td:nth-child(3),.request-log-table th:nth-child(6),.request-log-table td:nth-child(6){display:none}.req-toolbar,.req-toolbar .input{width:100%}.req-toolbar .select{flex:1}}@media (max-width:560px){.brand__name small{display:none}.run-history-panel .admin-table th:nth-child(2),.run-history-panel .admin-table td:nth-child(2){display:none}.results__toolbar{align-items:flex-start}.results__controls{display:none}.filter-toggle{width:100%}.search-console{padding:11px}.vuln-cards{padding:8px}.vuln-card{padding:12px}.vuln-card__name{font-size:13px}.vuln-card__meta{font-size:11px}.detail-meta{gap:6px}.detail-meta .divider{display:none}.detail-meta .badge{height:21px}.fact{padding:10px 12px}.fact dd{font-size:12px}.ref-item .ref-host{display:none}.affected-table{display:block;overflow-x:auto;white-space:nowrap}.status-pill span:not(.status-dot){max-width:120px;overflow:hidden;text-overflow:ellipsis}.run-stats{grid-template-columns:1fr 1fr}.run-stat:last-child{grid-column:1/-1}.affected-table th:last-child,.affected-table td:last-child{display:none}.login-log-table th:nth-child(3),.login-log-table td:nth-child(3),.login-log-table th:nth-child(4),.login-log-table td:nth-child(4){display:none}.crawl-log-runs .admin-table th:nth-child(2),.crawl-log-runs .admin-table td:nth-child(2),.crawl-error-table th:nth-child(4),.crawl-error-table td:nth-child(4),.crawl-error-table th:nth-child(5),.crawl-error-table td:nth-child(5){display:none}.crawl-error-table .cell-ellipsis--msg{max-width:168px}.ce-url-mobile{display:block;max-width:168px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:11px;color:var(--muted)}.crawl-log-errors .panel__head{flex-wrap:wrap;align-items:center;gap:10px}.crawl-log-errors .panel__actions{width:100%;flex-wrap:wrap}.ce-search{flex:1 1 140px;width:auto}.request-log-table th:nth-child(5),.request-log-table td:nth-child(5),.request-log-table th:nth-child(7),.request-log-table td:nth-child(7){display:none}.request-log-table{table-layout:fixed}.request-log-table th,.request-log-table td{padding-left:8px;padding-right:8px}.request-log-table th:nth-child(1),.request-log-table td:nth-child(1){width:64px}.request-log-table th:nth-child(2),.request-log-table td:nth-child(2){width:98px}.request-log-table th:nth-child(8),.request-log-table td:nth-child(8){width:50px}.req-time .req-date{display:none}.sec-kpis{gap:10px}.sec-kpi{padding:11px 12px 12px}.sec-kpi__value{font-size:19px}.rule-row{grid-template-columns:minmax(0,1fr) 64px 64px 40px;gap:6px}.rule-row .input{padding:0 5px;font-size:11px}.rule-switch .switch__track{width:32px;height:19px}.rule-switch input:checked+.switch__track:after{transform:translate(13px)}.rate-fields,.ip-add{grid-template-columns:1fr}.ip-add .select,.ip-add .btn{grid-column:auto}.rate-savebar__actions{width:100%}.rate-savebar__actions .btn{flex:1}.admin-table th,.admin-table td{padding-left:10px;padding-right:10px}.run-steps{gap:7px 12px}.login-form h2{font-size:21px}.login-brand h1{font-size:23px}.state-block{padding:48px 18px}.toast{left:12px;right:12px;transform:translateY(16px);bottom:58px;max-width:none}.toast.is-visible{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}#view>*{animation:none}}
