:root,[data-theme=dark]{--brand: #3968F4;--brand-hi: #6E93FF;--brand-lo: #2B4FCC;--brand-soft: rgba(57, 104, 244, .12);--logo-filter: brightness(0) invert(1);--logo-mini-filter: none;--bg: #07080c;--bg-grid: rgba(110, 147, 255, .05);--surface: #0e1017;--surface-2: #12141d;--surface-3: #171a26;--line: #1f2334;--line-2: #2a2f45;--text-1: #ecf0fa;--text-2: #9aa3bc;--text-3: #5d657c;--ok: #2fcb8c;--warn: #f5a623;--err: #f45555;--code-bg: #0a0c12;--code-text: #c9d6f2;--topbar-bg: rgba(14, 16, 23, .85);--verdict-bg: linear-gradient(90deg, rgba(47, 203, 140, .07), var(--surface) 55%);--hero-bg: radial-gradient(ellipse 90% 70% at 20% 10%, rgba(16, 23, 54, .66) 0%, rgba(7, 8, 12, .42) 62%);--panel-glass: rgba(14, 16, 23, .72);--shadow-panel: 0 1px 0 rgba(0, 0, 0, .2);--mono: "JetBrains Mono", "Noto Sans SC", monospace;--sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--disp: "Space Grotesk", "Noto Sans SC", sans-serif;--ui-color-brand: var(--brand);--ui-color-brand-strong: rgba(57, 104, 244, .88);--ui-color-brand-soft: var(--brand-soft);--ui-color-brand-faint: rgba(57, 104, 244, .08);--ui-color-brand-glow: rgba(57, 104, 244, .35);--ui-color-success: var(--ok);--ui-color-warning: var(--warn);--ui-color-danger: var(--err);--ui-color-success-text: var(--ok);--ui-color-warning-text: var(--warn);--ui-color-danger-text: var(--err);--ui-canvas: var(--bg);--ui-surface-panel: var(--surface);--ui-surface-raised: var(--surface-2);--ui-surface-muted: var(--surface-2);--ui-line: var(--line);--ui-line-active: rgba(110, 147, 255, .5);--ui-text-primary: var(--text-1);--ui-text-secondary: var(--text-2);--ui-text-muted: var(--text-3);--ui-overlay: rgba(0, 0, 0, .7);--ui-radius-panel: 12px;--ui-radius-control: 8px;--ui-radius-small: 6px;--ui-shadow-panel: var(--shadow-panel);--ui-shadow-highlight: none;--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-5: 20px;--ui-space-6: 24px;--ui-space-8: 32px;--ui-space-10: 40px;--ui-focus-ring: 0 0 0 3px rgba(57, 104, 244, .16);--ui-font-family: var(--sans);--ui-font-mono: var(--mono)}[data-theme=light]{--brand: #3968f4;--brand-hi: #2b4fcc;--brand-lo: #3968f4;--brand-soft: rgba(57, 104, 244, .08);--logo-filter: none;--logo-mini-filter: brightness(0) invert(47%) sepia(47%) saturate(790%) hue-rotate(188deg) brightness(85%) contrast(133%);--bg: #eef0f7;--bg-grid: rgba(57, 104, 244, .05);--surface: #ffffff;--surface-2: #f6f7fb;--surface-3: #eceff6;--line: #e2e6f0;--line-2: #cbd2e4;--text-1: #141a2e;--text-2: #4e5a78;--text-3: #8a93ab;--ok: #12a76e;--warn: #d98a0b;--err: #e04040;--code-bg: #141a2e;--code-text: #c9d6f2;--topbar-bg: rgba(255, 255, 255, .82);--verdict-bg: linear-gradient(90deg, rgba(18, 167, 110, .08), var(--surface) 55%);--hero-bg: radial-gradient(ellipse 90% 70% at 20% 10%, rgba(217, 226, 255, .6) 0%, rgba(238, 240, 247, .42) 62%);--panel-glass: rgba(255, 255, 255, .78);--shadow-panel: 0 1px 3px rgba(20, 26, 46, .06), 0 8px 24px rgba(20, 26, 46, .05);--ui-color-brand-strong: rgba(57, 104, 244, .88);--ui-color-brand-faint: rgba(57, 104, 244, .08);--ui-color-brand-glow: rgba(57, 104, 244, .35);--ui-line-active: rgba(57, 104, 244, .38);--ui-overlay: rgba(15, 23, 42, .48);--ui-focus-ring: 0 0 0 3px rgba(57, 104, 244, .16)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--ui-font-family);font-size:14px;line-height:1.6;color:var(--ui-text-primary);background:var(--ui-canvas);-webkit-font-smoothing:antialiased}#root{min-height:100vh}:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page{display:flex;flex-direction:column;gap:var(--ui-space-4)}.filter-bar__actions{display:flex;gap:var(--ui-space-2);justify-content:flex-end}.form-page{max-width:720px}.data-panel__meta{display:flex;align-items:center;gap:var(--ui-space-2);font-size:12px;color:var(--ui-text-muted);margin-bottom:var(--ui-space-2);min-height:20px}.latest-packet-result{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}.latest-packet-result .code-block{display:flex;flex-direction:column;flex:1 1 0;min-height:96px}.latest-packet-result .code-block__toolbar{flex:none}.latest-packet-result .code-block__content{flex:1;min-height:0;max-height:none;overflow:auto}.latest-packet-result .pf-body{flex:1;min-height:0;overflow:auto}.latest-packet-result .parsed-fields .code-block__content{white-space:pre}.summary-cards{display:flex;flex-direction:column;gap:var(--ui-space-3)}.summary-card{border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-surface-muted);padding:var(--ui-space-3) var(--ui-space-4)}.summary-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-2);margin-bottom:var(--ui-space-2)}.summary-card__title{font-size:14px;font-weight:650;color:var(--ui-text-primary);font-family:var(--ui-font-mono);word-break:break-all}.summary-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-1) var(--ui-space-3);font-size:12px;color:var(--ui-text-secondary)}.summary-card__meta dt{color:var(--ui-text-muted)}.summary-card__meta dd{margin:0;color:var(--ui-text-primary);word-break:break-all}.summary-card__actions{display:flex;gap:var(--ui-space-2);margin-top:var(--ui-space-2);flex-wrap:wrap}.summary-card__actions .ant-btn{min-height:44px;display:inline-flex;align-items:center;padding:0 12px}.slider-captcha{display:flex;flex-direction:column;gap:var(--ui-space-2)}.slider-captcha__stage{position:relative;width:100%;overflow:hidden;border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-surface-muted);-webkit-user-select:none;user-select:none}.slider-captcha__stage--placeholder{display:flex;align-items:center;justify-content:center;gap:var(--ui-space-2);min-height:160px;font-size:12px;color:var(--ui-text-muted)}.slider-captcha__bg{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.slider-captcha__piece{position:absolute;display:block;pointer-events:none;will-change:left;-webkit-user-drag:none}.slider-captcha__decoy{position:absolute;display:block;pointer-events:none;filter:brightness(.25) opacity(.35);-webkit-user-drag:none}.slider-captcha__track{position:relative;height:44px;margin-top:var(--ui-space-2);border-radius:var(--ui-radius-control);background:var(--ui-surface-muted);box-shadow:inset 0 0 0 1px var(--ui-line);overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;cursor:pointer;outline:none}.slider-captcha__track:focus-visible{box-shadow:var(--ui-focus-ring)}.slider-captcha__track[aria-disabled=true]{opacity:.6;cursor:not-allowed}.slider-captcha__progress{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,var(--ui-color-brand-faint),var(--ui-color-brand-soft))}.slider-captcha__trackhint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ui-text-muted);transition:opacity .15s;pointer-events:none}.slider-captcha__handle{position:absolute;top:3px;bottom:3px;width:56px;display:flex;align-items:center;justify-content:center;border-radius:calc(var(--ui-radius-control) - 3px);background:var(--ui-color-brand);color:#fff;font-size:15px;box-shadow:0 2px 8px var(--ui-color-brand-glow);cursor:grab}.slider-captcha__track.is-dragging .slider-captcha__handle{cursor:grabbing}.slider-captcha__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-2);min-height:24px}.slider-captcha__status{font-size:12px;color:var(--ui-text-secondary)}.slider-captcha__status--error{color:var(--ui-color-danger-text)}.ant-modal.login-captcha-modal{position:absolute;top:50%;right:40px;margin:0;transform:translateY(-50%)}@media (max-width: 900px){.ant-modal.login-captcha-modal{position:relative;top:auto;right:auto;margin:100px auto 0;transform:none}}.dashboard-issues{display:flex;flex-direction:column;gap:var(--ui-space-3);margin:0;padding:0;list-style:none}.dashboard-issues__empty{padding:var(--ui-space-8) var(--ui-space-4)}.dashboard-issue{padding:var(--ui-space-4);border:1px solid var(--ui-line);border-left-width:3px;border-left-color:var(--ui-line-active);border-radius:var(--ui-radius-control);background:var(--ui-surface-muted)}.dashboard-issue--critical{border-left-color:var(--ui-color-danger)}.dashboard-issue--attention{border-left-color:var(--ui-color-warning)}.dashboard-issue--healthy{border-left-color:var(--ui-color-success)}.dashboard-issue__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-space-2)}.dashboard-issue__head strong{font-size:14px;color:var(--ui-text-primary)}.dashboard-issue__category{font-size:11px;color:var(--ui-text-muted)}.dashboard-issue__direction{margin-left:auto;font-size:12px;font-weight:600}.dashboard-issue__direction--worsening{color:var(--ui-color-danger-text)}.dashboard-issue__direction--recovering{color:var(--ui-color-success-text)}.dashboard-issue__direction--stable,.dashboard-issue__direction--unknown{color:var(--ui-text-secondary)}.dashboard-issue__summary{margin:var(--ui-space-2) 0 0;font-size:12px;line-height:1.6;color:var(--ui-text-secondary)}.dashboard-issue__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-space-2) var(--ui-space-4);margin-top:var(--ui-space-2);font-family:var(--ui-font-mono);font-size:11px;color:var(--ui-text-muted)}.dashboard-issue__link{margin-left:auto;font-family:var(--ui-font-family);font-size:12px}.text-secondary{color:var(--ui-text-secondary)}.text-muted{color:var(--ui-text-muted)}.text-danger{color:var(--ui-color-danger-text)}.mono{font-family:var(--ui-font-mono);font-variant-numeric:tabular-nums}.stack{display:flex;flex-direction:column;gap:var(--ui-space-3)}.row{display:flex;align-items:center;gap:var(--ui-space-2);flex-wrap:wrap}.product-matrix{display:flex;flex-direction:column}.product-matrix__head,.product-matrix__row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(100px,.8fr) minmax(110px,.9fr) minmax(110px,.9fr) minmax(110px,.8fr) 24px;gap:var(--ui-space-3);align-items:center;padding:var(--ui-space-2) var(--ui-space-3)}.product-matrix__head{font-size:11px;color:var(--ui-text-muted);border-bottom:1px solid var(--ui-line)}.product-matrix__row{min-width:0;border-radius:var(--ui-radius-control)}.product-matrix__row:hover{background:var(--ui-surface-muted)}.product-matrix__cell{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:12px;color:var(--ui-text-secondary)}.product-matrix__cell--product strong{font-size:13px;color:var(--ui-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-matrix__cell small{font-family:var(--ui-font-mono);font-size:10px;color:var(--ui-text-muted)}.product-matrix__cell--mono{display:block;font-family:var(--ui-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.product-matrix__count-link{color:var(--ui-color-brand)}.product-matrix__count-link:hover{color:var(--ui-color-brand-strong)}.product-matrix__row-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--ui-radius-small);color:var(--ui-text-muted)}.product-matrix__row-action:hover{color:var(--ui-color-brand);background:var(--ui-surface-muted)}.product-matrix__row-action:hover .product-matrix__arrow{color:var(--ui-color-brand)}.product-matrix__direction--worsening{color:var(--ui-color-danger-text)}.product-matrix__direction--recovering{color:var(--ui-color-success-text)}.product-matrix__direction--stable,.product-matrix__direction--unknown,.product-matrix__direction--missing,.product-matrix__arrow{color:var(--ui-text-muted)}.dashboard-inline-empty{padding:var(--ui-space-6) var(--ui-space-3);text-align:center;font-size:12px;color:var(--ui-text-secondary)}@media (max-width: 768px){.product-matrix__head{display:none}.product-matrix__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-2) var(--ui-space-4);margin-bottom:var(--ui-space-2);padding:var(--ui-space-3);border:1px solid var(--ui-line)}.product-matrix__cell:before{content:attr(data-label);display:block;font-size:11px;color:var(--ui-text-muted)}.product-matrix__cell--product{grid-column:1 / -1}}.latest-fill-page{flex:1;min-height:0}.latest-fill-page .page-enter,.latest-fill-panel,.latest-fill-panel .panel-body{flex:1;min-height:0;display:flex;flex-direction:column}.latest-fill-panel .panel-body>div{flex:1;min-height:0;display:flex;flex-direction:column}.ant-table-wrapper .ant-table{background:transparent}.ant-table-wrapper .ant-table-thead>tr>th{background:var(--ui-surface-muted);color:var(--ui-text-secondary);font-weight:650;border-bottom:1px solid var(--ui-line)}.ant-table-wrapper .ant-table-tbody>tr>td{border-bottom:1px solid var(--ui-line)}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--ui-color-brand-faint)}.ant-drawer .ant-drawer-content,.ant-modal .ant-modal-content{background:var(--ui-surface-raised);-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%);border:1px solid var(--ui-line);color:var(--ui-text-primary)}.ant-drawer .ant-drawer-header,.ant-modal .ant-modal-header{background:transparent;border-bottom:1px solid var(--ui-line)}.ant-drawer .ant-drawer-title,.ant-modal .ant-modal-title{color:var(--ui-text-primary)}.ant-popover .ant-popover-inner,.ant-dropdown .ant-dropdown-menu,.ant-select-dropdown,.ant-picker-dropdown .ant-picker-panel-container{background:var(--ui-surface-raised);-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%);border:1px solid var(--ui-line)}.ant-popconfirm .ant-btn-dangerous:not(:hover):not(:focus-visible){color:var(--ui-text-secondary);border-color:var(--ui-line);background:transparent}.ant-descriptions .ant-descriptions-item-label{color:var(--ui-text-muted)}.ant-alert{border-radius:var(--ui-radius-control)}.ant-skeleton .ant-skeleton-content .ant-skeleton-title,.ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph>li{background:var(--ui-surface-muted)}.ant-empty .ant-empty-description{color:var(--ui-text-secondary)}.ant-pagination .ant-pagination-item-active{border-color:var(--ui-color-brand)}.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--ui-color-brand)}.compact-list__actions .ant-btn{min-height:44px;display:inline-flex;align-items:center;padding:0 12px}.ant-segmented{background:var(--ui-surface-muted);color:var(--ui-text-secondary)}.ant-segmented .ant-segmented-item-selected{background:var(--ui-surface-raised);color:var(--ui-text-primary)}.ant-btn:focus-visible,.ant-input:focus-visible,.ant-input-affix-wrapper:focus-visible,.ant-select .ant-select-selector:focus-visible,.ant-select-focused .ant-select-selector,.ant-input-number:focus-visible,.ant-input-number-focused,.ant-radio-wrapper:focus-visible .ant-radio,.ant-switch:focus-visible{box-shadow:var(--ui-focus-ring)!important}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--text-1);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}::selection{background:var(--brand);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--brand-lo)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.logo-img{display:block;object-fit:contain;object-position:left center;filter:var(--logo-filter);transition:filter .25s}.logo-login{height:26px;width:auto}.logo-side{height:18px;width:auto}.logo-hero{height:34px;width:auto}.logo-side-mini{height:22px;width:auto;filter:var(--logo-mini-filter);display:none}.logo-suffix{font-family:var(--disp);font-weight:700;font-size:13px;line-height:1;color:var(--text-2);letter-spacing:.01em;margin-left:-52px;align-self:center;-webkit-user-select:none;user-select:none;white-space:nowrap}.logo-suffix--hero{font-size:24px;margin-left:-100px}.shell{display:flex;min-height:100vh}.side{width:216px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;transition:width .22s ease,background .25s,border-color .25s}.side-brand{height:56px;box-sizing:border-box;padding:0 12px 0 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;flex-shrink:0}.side-toggle{margin-left:auto;width:24px;height:24px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;color:var(--text-3);cursor:pointer;padding:0;transition:background .18s,color .18s}.side-toggle svg{width:15px;height:15px}.side-toggle:hover{background:var(--surface-2);color:var(--text-1)}.nav{flex:1;padding:14px 10px;overflow-y:auto;overflow-x:hidden}.nav-label{font-family:var(--mono);font-size:10px;letter-spacing:.28em;color:var(--text-3);padding:12px 12px 8px;white-space:nowrap}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:8px;color:var(--text-2);font-size:13.5px;font-weight:500;transition:background .18s,color .18s;position:relative;margin-bottom:2px;white-space:nowrap}.nav-item svg{width:17px;height:17px;opacity:.75;flex-shrink:0}.nav-item:hover{background:var(--surface-2);color:var(--text-1)}.nav-item.on{background:var(--brand-soft);color:var(--brand)}.nav-item.on svg{opacity:1}.nav-item.on:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.nav-item .nav-badge{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--text-3);background:var(--surface-3);padding:1px 7px;border-radius:20px}.nav-item.on .nav-badge{color:var(--brand);background:#3968f429}.side-foot{border-top:1px solid var(--line);padding:14px 16px;font-family:var(--mono);font-size:10.5px;color:var(--text-3)}.side-foot .dot-row{display:flex;align-items:center;gap:7px;margin-bottom:4px}.side.collapsed{width:64px}.side.collapsed .side-brand{padding:0;justify-content:center;position:relative}.side.collapsed .logo-suffix,.side.collapsed .logo-side{display:none}.side.collapsed .logo-side-mini{display:block}.side.collapsed .side-toggle{position:absolute;right:-11px;top:50%;transform:translateY(-50%);background:var(--surface);border:1px solid var(--line);border-radius:50%;width:22px;height:22px;z-index:60;margin-left:0;box-shadow:0 2px 6px #0f14281f}.side.collapsed .nav{padding:14px 10px}.side.collapsed .nav-label{visibility:hidden;height:0;padding:0 0 6px;margin:0;overflow:hidden}.side.collapsed .nav-item{justify-content:center;padding:10px 0;gap:0}.side.collapsed .nav-item span,.side.collapsed .nav-item .nav-badge{display:none}.side.collapsed .nav-item.on:before{left:-10px}.side.collapsed .side-foot{padding:14px 0}.side.collapsed .side-foot .dot-row{justify-content:center;margin-bottom:0}.side.collapsed .side-foot .sf-text{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:56px;flex-shrink:0;display:flex;align-items:center;gap:16px;padding:0 24px;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.crumbs{font-size:13px;color:var(--text-2);display:flex;align-items:center;gap:8px}.crumbs b{color:var(--text-1);font-weight:600}.crumbs .sep{color:var(--text-3);font-family:var(--mono)}.top-right{margin-left:auto;display:flex;align-items:center;gap:14px}.clock{font-family:var(--mono);font-size:12px;color:var(--text-2)}.clock b{color:var(--brand);font-weight:500}[data-theme=dark] .clock b{color:var(--brand-hi)}.theme-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:all .18s}.theme-btn:hover{border-color:var(--brand);color:var(--brand)}.theme-btn svg{width:16px;height:16px}.top-user{display:flex;align-items:center;gap:9px;padding:5px 12px 5px 5px;border:1px solid var(--line);border-radius:24px;background:var(--surface-2)}.avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-lo));display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.top-user span{font-size:12.5px;font-weight:500}.content{flex:1;padding:24px;background:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px);background-size:44px 44px;background-position:-1px -1px}.content.content-fill{display:flex;flex-direction:column;min-height:calc(100vh - 56px);box-sizing:border-box}.page-head{display:flex;align-items:flex-end;gap:18px;margin-bottom:20px}.page-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--brand);margin-bottom:5px}[data-theme=dark] .page-eyebrow{color:var(--brand-hi)}.page-title{font-family:var(--disp);font-size:24px;font-weight:700;letter-spacing:.01em}.page-desc{color:var(--text-2);font-size:12.5px;margin-top:5px;max-width:640px}.page-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-panel);transition:background .25s,border-color .25s}.panel-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.panel-title{font-size:13.5px;font-weight:600}.panel-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;color:var(--text-3);text-transform:uppercase}.panel-head .right{margin-left:auto;display:flex;align-items:center;gap:10px}.panel-body{padding:18px}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;border:1px solid var(--line-2);background:var(--surface-2);color:var(--text-1);transition:all .18s;white-space:nowrap}.btn:hover{border-color:var(--brand);color:var(--brand)}.btn-pri{background:var(--brand);border-color:var(--brand);color:#fff}.btn-pri:hover{background:#4a79f6;border-color:#4a79f6;color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{color:var(--brand);background:var(--brand-soft);border-color:transparent}.btn-sm{padding:5px 11px;font-size:12px;border-radius:6px}.btn:disabled{opacity:.4;cursor:not-allowed}.input,.select{width:100%;padding:9px 13px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;color:var(--text-1);font-size:13px;font-family:inherit;outline:none;transition:border .18s,box-shadow .18s}.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #3968f429}.input::placeholder{color:var(--text-3)}select.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-ok{background:var(--ok);box-shadow:0 0 8px #2fcb8c8c}.dot-warn{background:var(--warn);box-shadow:0 0 8px #f5a62380}.dot-err{background:var(--err);box-shadow:0 0 8px #f4555580}.dot-off{background:var(--text-3)}.dot-pulse{animation:pulse 1.8s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:500;padding:2.5px 10px;border-radius:20px;white-space:nowrap}.chip-ok{color:var(--ok);background:#2fcb8c1a;border:1px solid rgba(47,203,140,.28)}.chip-warn{color:var(--warn);background:#f5a6231a;border:1px solid rgba(245,166,35,.28)}.chip-err{color:var(--err);background:#f455551a;border:1px solid rgba(244,85,85,.28)}.chip-off{color:var(--text-2);background:var(--surface-3);border:1px solid var(--line-2)}.chip-brand{color:var(--brand);background:var(--brand-soft);border:1px solid rgba(57,104,244,.35)}[data-theme=dark] .chip-brand{color:var(--brand-hi)}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--text-3);font-weight:500;padding:10px 16px;border-bottom:1px solid var(--line);text-transform:uppercase;white-space:nowrap;background:var(--surface-2)}.tbl td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}.tbl tbody tr{transition:background .15s}.tbl tbody tr:hover{background:#3968f40d}.tbl tbody tr:last-child td{border-bottom:none}.mono{font-family:var(--mono)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.t-main{color:var(--text-1);font-weight:500}.t-sub{color:var(--text-3);font-size:11.5px;margin-top:2px}.link{color:var(--brand);font-size:12.5px;font-weight:500;cursor:pointer;transition:color .15s}[data-theme=dark] .link{color:var(--brand-hi)}.link:hover{opacity:.75}.link.warn-l{color:var(--warn)}button.link{background:none;border:none;padding:0;font-family:inherit}button.link:disabled{opacity:.4;cursor:not-allowed}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:3px;gap:2px}.seg button{border:none;background:transparent;color:var(--text-2);font-size:12px;font-weight:500;padding:5px 14px;border-radius:6px;transition:all .16s;white-space:nowrap}.seg button.on{background:var(--brand);color:#fff}.seg button:not(.on):hover{color:var(--text-1)}.empty{text-align:center;padding:56px 20px;color:var(--text-3)}.empty svg{width:40px;height:40px;opacity:.4;margin-bottom:12px}.empty .e-title{color:var(--text-2);font-weight:500;font-size:14px;margin-bottom:5px}.empty .e-sub{font-size:12px;max-width:380px;margin:0 auto}.login-wrap{display:flex;min-height:100vh;position:relative;z-index:1}.login-stream{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.9}.login-hero{flex:1.25;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;background:var(--hero-bg)}.hero-inner{position:relative;z-index:2;display:flex;align-items:center}.hero-mid{position:relative;z-index:2;max-width:560px}.hero-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.34em;color:var(--brand);margin-bottom:18px;display:flex;align-items:center;gap:12px}.hero-eyebrow:before{content:"";width:34px;height:1px;background:var(--brand)}.hero-title{font-family:var(--disp);font-size:46px;font-weight:700;line-height:1.16;letter-spacing:.01em;margin-bottom:20px}.hero-title em{font-style:normal;color:var(--brand)}[data-theme=dark] .hero-title em{color:var(--brand-hi)}.hero-sub{color:var(--text-2);font-size:14.5px;line-height:1.8;max-width:470px}.hero-stats{position:relative;z-index:2;display:flex;gap:44px}.hstat .h-num{font-family:var(--mono);font-size:24px;font-weight:600;color:var(--text-1)}.hstat .h-num i{font-style:normal;color:var(--brand);font-size:13px;margin-left:3px}.hstat .h-lab{font-size:11.5px;color:var(--text-3);margin-top:3px;letter-spacing:.06em}.login-panel{width:480px;flex-shrink:0;background:var(--panel-glass);-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:56px 64px;transition:background .25s}.lp-logo{margin-bottom:42px}.lp-title{font-family:var(--disp);font-size:26px;font-weight:700;margin-bottom:6px}.lp-sub{color:var(--text-2);font-size:13px;margin-bottom:34px}.field{margin-bottom:20px}.field label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;color:var(--text-2);margin-bottom:8px}.field .input{padding:12px 15px;font-size:14px}.login-btn{width:100%;padding:13px;margin-top:8px;background:var(--brand);border:none;border-radius:9px;color:#fff;font-size:14.5px;font-weight:600;letter-spacing:.3em;transition:background .18s,transform .1s}.login-btn:hover{background:#4a79f6}.login-btn:active{transform:scale(.985)}.login-btn:disabled{opacity:.55;cursor:not-allowed}.lp-foot{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;color:var(--text-3);display:flex;justify-content:space-between;letter-spacing:.1em}.verdict{display:flex;align-items:center;gap:20px;padding:18px 24px;border-radius:12px;background:var(--verdict-bg);border:1px solid rgba(47,203,140,.3);margin-bottom:16px}.verdict.warn{background:linear-gradient(90deg,rgba(245,166,35,.07),var(--surface) 55%);border-color:#f5a62352}.verdict.err{background:linear-gradient(90deg,rgba(244,85,85,.07),var(--surface) 55%);border-color:#f4555552}.verdict-icon{width:44px;height:44px;border-radius:50%;flex-shrink:0;background:#2fcb8c1f;border:1px solid rgba(47,203,140,.4);display:flex;align-items:center;justify-content:center}.verdict.warn .verdict-icon{background:#f5a6231f;border-color:#f5a62366}.verdict.err .verdict-icon{background:#f455551f;border-color:#f4555566}.verdict-icon svg{width:22px;height:22px}.verdict-title{font-size:15.5px;font-weight:700}.verdict-sub{color:var(--text-2);font-size:12px;margin-top:2px}.verdict-meta{margin-left:auto;display:flex;gap:34px}.vm-item .vm-l{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;color:var(--text-3)}.vm-item .vm-v{font-family:var(--mono);font-size:13px;color:var(--text-1);margin-top:3px}.link-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}.link-cell{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:13px 15px;position:relative;overflow:hidden;transition:border-color .2s}.link-cell:hover{border-color:var(--brand)}.link-cell .lc-name{font-size:13px;font-weight:600;margin:8px 0 3px}.link-cell .lc-sub{font-size:11px;color:var(--text-3)}.link-cell .lc-idx{position:absolute;top:8px;right:12px;font-family:var(--mono);font-size:20px;font-weight:600;color:var(--line-2)}.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;position:relative;box-shadow:var(--shadow-panel);transition:border-color .2s,transform .2s}.kpi:hover{border-color:var(--line-2);transform:translateY(-2px)}.kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.kpi-name{font-size:12.5px;color:var(--text-2);font-weight:500}.kpi-ico{width:30px;height:30px;border-radius:8px;background:var(--brand-soft);display:flex;align-items:center;justify-content:center}.kpi-ico svg{width:15px;height:15px}.kpi-val{font-family:var(--mono);font-size:32px;font-weight:600;line-height:1;letter-spacing:-.02em}.kpi-val i{font-style:normal;font-size:13px;color:var(--text-3);font-weight:400;margin-left:5px}.kpi-foot{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.kpi-desc{font-size:11px;color:var(--text-3);margin-top:10px;line-height:1.5}.trend{font-family:var(--mono);font-size:11px;display:inline-flex;align-items:center;gap:4px}.trend.down{color:var(--err)}.trend.up{color:var(--ok)}.trend.flat{color:var(--text-3)}.dash-bottom{display:grid;grid-template-columns:1.9fr 1fr;gap:12px}.range-tabs{display:inline-flex;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:3px}.range-tabs button{border:none;background:transparent;color:var(--text-2);font-size:12px;padding:4.5px 13px;border-radius:6px;transition:all .16s}.range-tabs button.on{background:var(--brand);color:#fff}.legend{display:flex;gap:14px}.legend span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-2)}.legend i{width:10px;height:3px;border-radius:2px;display:inline-block}.trend-chart{width:100%;height:300px;display:block}.anom-ok-box{text-align:center;padding:42px 20px}.anom-ok-box .a-ico{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:#2fcb8c1a;border:1px solid rgba(47,203,140,.35);display:flex;align-items:center;justify-content:center}.anom-ok-box .a-t{font-weight:600;margin-bottom:6px}.anom-ok-box .a-s{color:var(--text-3);font-size:12px;max-width:300px;margin:0 auto;line-height:1.7}.filter-bar{display:flex;gap:12px;align-items:center;padding:14px 16px;margin-bottom:16px}.filter-bar .grow{flex:1}.tbl-meta{padding:10px 18px;font-family:var(--mono);font-size:10.5px;color:var(--text-3);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;letter-spacing:.08em}.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.prod-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow-panel);transition:border-color .2s,transform .2s}.prod-card:hover{border-color:var(--brand);transform:translateY(-2px)}.pc-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.pc-icon{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;clip-path:polygon(25% 3%,75% 3%,98% 50%,75% 97%,25% 97%,2% 50%)}.pc-icon svg{width:20px;height:20px}.pc-icon.on{background:var(--brand-soft);border:none;color:var(--brand)}[data-theme=dark] .pc-icon.on{color:var(--brand-hi)}.pc-icon.off{background:#f455551a;color:var(--err)}.dev-icon{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;clip-path:polygon(25% 3%,75% 3%,98% 50%,75% 97%,25% 97%,2% 50%)}.dev-icon svg{width:20px;height:20px}.dev-icon.online{background:var(--brand-soft);color:var(--brand)}[data-theme=dark] .dev-icon.online{color:var(--brand-hi)}.dev-icon.offline{background:var(--surface-3);color:var(--text-3)}.dev-icon.unknown{background:#f5a6231f;color:var(--warn)}.dev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.dev-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow-panel);border-top:3px solid var(--line-2);transition:border-color .2s,transform .2s}.dev-card:hover{transform:translateY(-2px)}.dev-card.online{border-top-color:var(--brand)}.dev-card.offline{border-top-color:var(--line-2)}.dev-card.unknown{border-top-color:var(--warn)}.dev-card:hover.online{border-color:var(--brand)}.dc-top{display:flex;align-items:flex-start;gap:13px;margin-bottom:14px}.dc-id{font-family:var(--mono);font-size:16px;font-weight:600;letter-spacing:.02em}.dc-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:14px}.dc-foot{display:flex;align-items:center;gap:14px;padding-top:12px;border-top:1px solid var(--line)}.pc-name{font-size:15px;font-weight:700}.pc-code{font-family:var(--mono);font-size:11px;color:var(--text-3);margin-top:3px}.pc-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:16px}.pc-meta .m-l{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--text-3)}.pc-meta .m-v{font-family:var(--mono);font-size:13px;margin-top:2px}.pc-foot{display:flex;align-items:center;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.debug-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;align-items:start}.editor{width:100%;min-height:210px;resize:vertical;background:var(--code-bg);border:1px solid var(--line-2);border-radius:10px;color:var(--code-text);font-family:var(--mono);font-size:12.5px;line-height:1.75;padding:15px 17px;outline:none;transition:border-color .18s}.editor:focus{border-color:var(--brand)}.term{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-family:var(--mono);font-size:12px;line-height:1.8;max-height:300px;overflow-y:auto}.term .t-line{display:flex;gap:10px}.term .t-time{color:#5d657c;flex-shrink:0}.term .t-out{color:#6e93ff}.term .t-in{color:#2fcb8c}.term .t-err{color:#f45555}.hex-view{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:16px 18px;font-family:var(--mono);font-size:12.5px;line-height:1.9;color:var(--code-text);overflow-x:auto;white-space:pre}.kv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:10px;overflow:hidden}.kv-cell{background:var(--surface-2);padding:13px 16px}.kv-cell .k-l{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;color:var(--text-3)}.kv-cell .k-v{font-family:var(--mono);font-size:13.5px;margin-top:4px;word-break:break-all}.foot{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:.12em}.devdetail{display:flex;flex-direction:column;flex:1;min-height:0}.devdetail>.page-head{flex-shrink:0}.devdetail-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:14px;align-items:stretch;flex:1;min-height:0}.dd-col{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0}.dd-col>.panel:first-child{flex-shrink:0}.dd-col>.panel:last-child{flex:1;min-height:0;display:flex;flex-direction:column}.dd-col>.panel:last-child>.tbl,.dd-col>.panel:last-child>.empty{flex:1}.dd-col>.panel:last-child>.empty{display:flex;flex-direction:column;align-items:center;justify-content:center}.dd-latest{min-width:0;display:flex;flex-direction:column}.dd-latest>.panel-body{flex:1;min-height:0;display:flex;flex-direction:column}.dd-latest>.panel-body>.code-block:last-child{flex:1;min-height:0;display:flex;flex-direction:column}.dd-latest>.panel-body>.code-block:last-child>.pf-body{flex:1;min-height:0;overflow:auto}.dd-latest>.panel-body>.code-block:last-child>.code-block__content{flex:1;min-height:0}.dd-latest .parsed-table{height:100%}.desc-rows{display:flex;flex-direction:column}.desc-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 2px;border-bottom:1px solid var(--line)}.desc-row:last-child{border-bottom:none}.d-l{font-size:12.5px;color:var(--text-3);flex-shrink:0}.d-v{font-size:13px;color:var(--text-1);text-align:right;word-break:break-all}.pkt-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.alert{display:flex;gap:10px;align-items:baseline;border-radius:10px;padding:12px 16px;font-size:12.5px;line-height:1.7;margin-bottom:14px;border:1px solid}.alert b{color:var(--text-1);flex-shrink:0}.alert span{color:var(--text-2)}.alert-info{background:var(--brand-soft);border-color:#3968f459}.alert-err{background:#f4555514;border-color:#f4555559}.code-block{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--code-bg)}.code-block__toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:12px;color:var(--text-2)}.code-block__content{margin:0;padding:13px 15px;color:var(--code-text);font-family:var(--mono);font-size:11.5px;line-height:1.85;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow:auto}.parsed-table{width:100%;border-collapse:collapse;background:var(--surface)}.parsed-table td{padding:10px 15px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:top}.parsed-table tr:last-child td{border-bottom:none}.parsed-table td:first-child{width:34%;color:var(--text-3);font-family:var(--mono)}.parsed-table td:last-child{font-family:var(--mono);color:var(--text-1);word-break:break-all}.dd-col .tbl th{padding:9px 10px}.dd-col .tbl td{padding:11px 10px;font-size:12px}.page-enter{animation:pageIn .35s cubic-bezier(.25,.46,.45,.94)}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width: 1180px){.link-row,.kpi-row{grid-template-columns:repeat(3,1fr)}.dash-bottom,.debug-grid,.devdetail-grid{grid-template-columns:1fr}}@media (max-width: 860px){.side{display:none}.login-panel{width:100%;border-left:none}.login-hero{display:none}.kpi-row,.kv-grid{grid-template-columns:1fr 1fr}}.side--drawer{position:static;height:100%;width:100%;border-right:none}.nav-open-btn{display:none;margin-left:-8px}@media (max-width: 860px){.nav-open-btn{display:inline-flex}.topbar{padding:0 12px;gap:10px}.content{padding:16px}.foot{flex-direction:column;gap:4px;align-items:flex-start}.verdict{flex-wrap:wrap}.verdict-meta{margin-left:0;flex-wrap:wrap;gap:18px}.page-head{flex-wrap:wrap}.page-actions{margin-left:0}.clock,.top-user span{display:none}.top-user{padding-right:5px}.crumbs{white-space:nowrap;overflow:hidden}.top-right{gap:10px}.filter-bar{flex-wrap:wrap}}
