@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";html,body{background:#f5f7fa;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.uf{flex-direction:column;gap:12px;display:flex}.uf-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.uf-spacer{flex:1}.uf-seg{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:3px;display:inline-flex}.uf-seg button{height:28px;color:var(--text-secondary);font:600 12px var(--font-ui);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:0 11px}.uf-seg button:hover{color:var(--text-primary)}.uf-seg button.on{background:var(--gold-soft,var(--accent-dim));color:var(--gold-strong,var(--accent))}.uf-seg button:focus-visible{outline:2px solid var(--gold,var(--accent));outline-offset:1px}.uf-group{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.uf-group select,.uf-label-table select,.uf-label-table input{border:1px solid var(--border);background:var(--bg);height:32px;color:var(--text-primary);font:500 12.5px var(--font-ui);border-radius:7px;padding:0 10px}.uf-group select:focus,.uf-label-table select:focus,.uf-label-table input:focus{border-color:var(--gold,var(--accent));outline:none}.uf-body{transition:opacity .15s}.uf-body.loading{opacity:.55}.uf-chart{width:100%;height:420px}.uf-sankey-cols{letter-spacing:.04em;text-transform:uppercase;height:18px;color:var(--text-muted);font-size:11px;font-weight:700;position:relative}.uf-sankey-cols span{position:absolute;top:0}.uf-sankey-cols span:first-child{left:0}.uf-sankey-cols span:nth-child(2){left:calc((100% - var(--pad)) / 2)}.uf-sankey-cols span:nth-child(3){left:calc(100% - var(--pad) - 14px)}.uf-table-wrap{border:1px solid var(--border);border-radius:10px;margin-top:8px;overflow-x:auto}.uf-table{border-collapse:collapse;width:100%;font-size:13px}.uf-table th{text-align:left;letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);background:var(--surface-raised);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:11.5px;font-weight:700}.uf-table td{border-bottom:1px solid var(--border-soft);color:var(--text-primary);padding:10px 14px}.uf-table tr:last-child td{border-bottom:0}.uf-table .num{text-align:right;font-family:var(--font-mono);white-space:nowrap}.uf-table td:first-child,.uf-table th:first-child{width:28px;padding-right:0}.uf-name{font-weight:600}.uf-total td{background:var(--surface-raised);font-weight:700}.uf-swatch{vertical-align:middle;border-radius:4px;width:16px;height:16px;display:inline-block}.uf-swatch.total{background:var(--text-primary)}.uf-type{white-space:nowrap;background:var(--surface-raised);color:var(--text-secondary);border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-block}.uf-type.transit{color:#ec7f2c;background:#ec7f2c29}.uf-type.ix{color:#e0517f;background:#e0517f29}.uf-type.ggc{color:#6aa84f;background:#7cb85c2e}.uf-type.pni{color:#1aa3c4;background:#1aa3c429}.uf-foot{color:var(--text-muted);margin:6px 2px 0;font-size:11.5px}.uf-muted{color:var(--text-secondary);margin:0;font-size:13px}.uf-error{color:var(--down);margin:0;font-size:12.5px;font-weight:600}.uf-ok{color:var(--up);font-size:12px;font-weight:600}.uf-empty{text-align:center;border:1px dashed var(--border);border-radius:10px;padding:28px 16px}.uf-empty strong{color:var(--text-primary)}.uf-empty p{color:var(--text-secondary);margin:6px 0 0;font-size:13px}.uf-modal{flex-direction:column;width:min(880px,100vw - 32px);max-height:calc(100vh - 48px);display:flex}.uf-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.uf-modal-head h3{color:var(--text-primary);margin:0;font-size:16px}.uf-modal-head p{color:var(--text-secondary);max-width:60ch;margin:4px 0 0;font-size:12.5px}.uf-modal-body{padding:14px 20px 20px;overflow:auto}.uf-label-table{border-collapse:collapse;width:100%;font-size:13px}.uf-label-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:8px;font-size:11.5px}.uf-label-table td{border-bottom:1px solid var(--border-soft);vertical-align:top;padding:10px 8px}.uf-label-table td:first-child{flex-direction:column;gap:2px;min-width:200px;display:flex}.uf-label-table td:first-child b{color:var(--text-primary);font-size:12.5px}.uf-label-table code{font:600 12.5px var(--font-mono);color:var(--gold-strong,var(--accent))}.uf-label-table small{color:var(--text-muted);font-size:11.5px}.uf-label-table input{width:100%;min-width:180px}.uf-guess{background:var(--warn-dim);color:var(--warn);border-radius:4px;margin-top:4px;padding:1px 6px;font-size:10.5px;font-weight:700;display:inline-block}.uf-save-cell{white-space:nowrap;text-align:right}@media (width<=760px){.uf-chart{height:320px}.uf-sankey-cols{display:none}}@media (prefers-reduced-motion:reduce){.uf-body{transition:none}}.uf-flow-tabs{margin-bottom:12px}.uf-name-wrap{align-items:center;gap:6px;display:inline-flex}.uf-pencil{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;display:inline-grid}.uf-pencil:hover{color:var(--gold-strong,var(--accent));border-color:var(--border);background:var(--surface-raised)}.uf-pencil:focus-visible{outline:2px solid var(--gold,var(--accent));outline-offset:1px}.uf-rename{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.uf-rename input{border:1px solid var(--gold,var(--accent));background:var(--bg);min-width:220px;height:30px;color:var(--text-primary);font:600 13px var(--font-ui);border-radius:7px;outline:none;padding:0 10px}.uf-label-table select:disabled,.uf-label-table input:disabled{opacity:.45}.uf-modal-head code{font:600 12px var(--font-mono);color:var(--gold-strong,var(--accent))}.shl-open{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text-primary);font:600 13px var(--font-ui,inherit);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.shl-open:hover{border-color:var(--gold);color:var(--gold-strong,var(--gold))}.shl-open:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.shl-dash-actions{justify-content:flex-end;margin:-6px 0 14px;display:flex}.shl-modal{max-width:720px}.shl-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.shl-head h3{color:var(--text-primary);margin:0;font-size:16px}.shl-head p{color:var(--text-secondary);max-width:58ch;margin:4px 0 0;font-size:12.5px}.shl-body{flex-direction:column;gap:14px;padding:16px 20px 20px;display:flex;overflow:auto}.shl-create{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.shl-create label{color:var(--text-secondary);flex-direction:column;gap:5px;font-size:12px;display:flex}.shl-create label:first-child{flex:220px}.shl-create input,.shl-create select,.shl-row-link input{border:1px solid var(--border);background:var(--bg);height:36px;color:var(--text-primary);font:500 13px var(--font-ui,inherit);border-radius:8px;padding:0 11px}.shl-create input:focus,.shl-create select:focus,.shl-row-link input:focus{border-color:var(--gold);outline:none}.shl-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.shl-list li{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.shl-row-top{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.shl-row-top strong{color:var(--text-primary);font-size:14px}.shl-meta{color:var(--text-muted,var(--text-secondary));font-size:12px}.shl-row-link{gap:8px;display:flex}.shl-row-link input{min-width:0;font-family:var(--font-mono,monospace);flex:1;font-size:12px}.shl-revoke:hover:not(:disabled){color:var(--down);border-color:var(--down)}.shl-old summary{cursor:pointer;color:var(--text-secondary);font-size:12.5px}.shl-old ul{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.shl-old li{color:var(--text-secondary);justify-content:space-between;gap:10px;font-size:12.5px;display:flex}.shl-error{color:var(--down);margin:0;font-size:12.5px;font-weight:600}.shl-muted{color:var(--text-secondary);margin:0;font-size:13px}@media (width<=560px){.shl-row-link{flex-wrap:wrap}.shl-row-link input{flex-basis:100%}}.shv-shell{background:var(--bg);min-height:100vh}.shv-bar{z-index:50;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex;position:sticky;top:0}.shv-brand{align-items:center;gap:10px;min-width:0;display:flex}.shv-brand div{flex-direction:column;line-height:1.2;display:flex}.shv-brand strong{color:var(--text-primary);font-size:14px}.shv-brand span{color:var(--text-secondary);font-size:12px}.shv-right{align-items:center;gap:10px;display:flex}.shv-exp{color:var(--text-secondary);white-space:nowrap;font-size:12px}.shv-theme{border:1px solid var(--border);background:var(--bg);width:34px;height:34px;color:var(--text-primary);cursor:pointer;border-radius:9px;font-size:15px}.shv-theme:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.shv-center{background:var(--bg);min-height:100vh;color:var(--text-secondary);place-items:center;padding:24px 16px;display:grid}.shv-card{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:14px;max-width:420px;padding:28px}.shv-card h1{color:var(--text-primary);margin:12px 0 6px;font-size:20px}.shv-card p{margin:4px 0;font-size:14px}@media (width<=560px){.shv-bar{padding:10px 14px}.shv-exp{display:none}}.ddv{position:relative}.ddv-trigger{border:1px solid var(--border);background:var(--surface-raised);height:34px;color:var(--text-secondary);font:600 12.5px var(--font-ui);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.ddv-trigger:hover,.ddv-trigger.on{color:var(--text-primary);border-color:var(--gold,var(--accent))}.ddv-trigger:focus-visible{outline:2px solid var(--gold,var(--accent));outline-offset:2px}.ddv-badge{background:var(--gold-soft,var(--accent-dim));color:var(--gold-strong,var(--accent));border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.ddv-pop{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;width:min(460px,100vw - 32px);padding:14px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 44px #00000061}.ddv-head{flex-direction:column;gap:2px;display:flex}.ddv-head b{color:var(--text-primary);font-size:14px}.ddv-head span{color:var(--text-muted);font-size:12px}.ddv-empty{color:var(--text-secondary);margin:0;font-size:12.5px}.ddv-list{flex-direction:column;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.ddv-list li{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.ddv-list li:last-child{border-bottom:0}.ddv-name{flex-direction:column;min-width:0;display:flex}.ddv-name b{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ddv-name small{color:var(--text-muted);font-size:11.5px}.ddv-seg{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-shrink:0;padding:3px;display:inline-flex}.ddv-seg button{height:28px;color:var(--text-secondary);font:600 12px var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 10px}.ddv-seg button:hover{color:var(--text-primary)}.ddv-seg button.on.combined{background:var(--up-dim);color:var(--up)}.ddv-seg button.on.separate{color:#4c8dff;background:#4c8dff29}.ddv-seg button.on.hidden{background:var(--down-dim);color:var(--down)}.ddv-seg button:focus-visible{outline:2px solid var(--gold,var(--accent));outline-offset:1px}.ddv-legend{border-top:1px solid var(--border-soft);color:var(--text-muted);margin:0;padding-top:8px;font-size:11.5px;line-height:1.5}.ddv-legend b{color:var(--text-secondary)}.ddv-tabs{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.ddv-tabs button{border:1px solid var(--border);height:30px;color:var(--text-secondary);font:600 12px var(--font-ui);cursor:pointer;background:0 0;border-radius:999px;padding:0 12px}.ddv-tabs button:hover{color:var(--text-primary)}.ddv-tabs button.on{color:var(--text-primary);border-color:var(--gold,var(--accent));background:var(--gold-soft,var(--accent-dim))}.ddv-tabs button:focus-visible{outline:2px solid var(--gold,var(--accent));outline-offset:2px}.ddv-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mini-chart-card{--rx:#22d3ee;--tx:#fbbf24}.mtc-legend{border-top:1px solid var(--border-soft);flex-direction:column;gap:2px;margin-top:2px;padding:6px 2px 4px;font-size:11.5px;display:flex}.mtc-row{color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;grid-template-columns:44px minmax(74px,auto) 1fr 1fr;align-items:center;gap:8px;display:grid}.mtc-key{color:var(--text-secondary);align-items:center;gap:6px;font-weight:700;display:inline-flex}.mtc-key i{border-radius:2px;width:12px;height:4px}.mtc-row.rx .mtc-key i{background:var(--rx)}.mtc-row.tx .mtc-key i{background:var(--tx)}.mtc-row.rx .mtc-now{color:var(--rx);font-weight:700}.mtc-row.tx .mtc-now{color:var(--tx);font-weight:700}.mtc-sub{text-overflow:ellipsis;overflow:hidden}.tp-title{flex-direction:column;gap:2px;width:100%;min-width:0;display:flex}.tp-title-main{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;overflow:hidden}.tp-title-src{min-width:0;color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:flex;overflow:hidden}.tp-title-src code{font-family:var(--font-mono);background:var(--surface-raised);border:1px solid var(--border);color:var(--text-secondary);border-radius:5px;padding:1px 6px;font-size:11px}.tp-title-src span{text-overflow:ellipsis;overflow:hidden}.ine{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.ine-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-weight:700;overflow:hidden}.ine-empty{color:var(--warn);white-space:nowrap;font-style:italic;font-weight:500}.ine-btn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;place-items:center;padding:0;display:grid}.ine-btn:hover:not(:disabled){color:var(--gold-strong);border-color:var(--border);background:var(--surface-raised)}.ine-btn.ok{color:var(--up);border-color:color-mix(in srgb, var(--up) 40%, transparent)}.ine-btn:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.ine-btn:disabled{opacity:.5;cursor:progress}.ine-edit{flex-wrap:wrap;width:100%}.ine-edit input{border:1px solid var(--gold);background:var(--bg);min-width:140px;height:30px;color:var(--text-primary);font:600 13px var(--font-ui);box-shadow:0 0 0 3px var(--gold-soft);border-radius:7px;outline:0;flex:1;padding:0 9px}.ine-error{color:var(--down);flex-basis:100%;font-size:11.5px}.ine.compact .ine-value{font-size:12.5px;font-weight:600}.ine.compact .ine-empty{font-size:12px}.tp-title-row{justify-content:space-between;align-items:flex-start;gap:8px;width:100%;display:flex}.tp-title-row>.tp-title{flex:1}.ccp{flex-shrink:0;position:relative}.ccp-trigger{border:1px solid var(--border);background:var(--surface-raised);cursor:pointer;border-radius:7px;align-items:center;gap:3px;height:26px;padding:0 7px;display:inline-flex}.ccp-trigger i{border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 1px #00000040}.ccp-trigger:hover,.ccp-trigger.on{border-color:var(--gold)}.ccp-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.ccp-pop{z-index:30;border:1px solid var(--border);background:var(--surface);width:336px;font-family:var(--font-ui);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 40px #00000059}.ccp-head{flex-direction:column;gap:1px;display:flex}.ccp-head b{color:var(--text-primary);font-size:13px}.ccp-head span{color:var(--text-muted);font-size:11.5px}.ccp-row{flex-direction:column;gap:6px;display:flex}.ccp-label{font:700 11.5px var(--font-mono);color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.ccp-label i{border-radius:2px;width:14px;height:4px}.ccp-swatches{flex-wrap:wrap;gap:6px;display:flex}.ccp-swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;width:22px;height:22px;padding:0;box-shadow:inset 0 0 0 1px #0003}.ccp-swatch.on{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--surface) inset}.ccp-swatch:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.ccp-custom{border:1px dashed var(--text-muted);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;border-radius:6px;place-items:center;font-weight:700;display:grid;position:relative;overflow:hidden}.ccp-custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.ccp-custom:focus-within{outline:2px solid var(--gold);outline-offset:1px}.ccp-actions{border-top:1px solid var(--border-soft);align-items:center;gap:6px;padding-top:4px;display:flex}.ccp-spacer{flex:1}.ccp-error{color:var(--down);margin:0;font-size:12px}.trf-grid .mini-chart-card{position:relative;overflow:visible}.trf-grid .mini-chart-card:has(.ccp-pop){z-index:20}.mini-chart-title:has(.ccp){white-space:normal;overflow:visible}.sla-panel{--sla-ok:var(--up);--sla-warn:var(--warn);--sla-down:var(--down);--sla-violet:#a78bfa;--sla-gold:var(--gold,var(--accent));flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.sla-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.sla-head h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.sla-head p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.sla-period{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sla-month{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text-primary);font:500 13px var(--font-ui);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:0 10px}:root[data-theme=light] .sla-month{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.sla-month:focus-visible{outline:2px solid var(--sla-gold);outline-offset:2px}.sla-tabs{flex-wrap:wrap;gap:8px;display:flex}.sla-tabs button{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text-secondary);font:600 13px var(--font-ui);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.sla-tabs button:hover{color:var(--text-primary);border-color:var(--text-muted)}.sla-tabs button.active{color:var(--text-primary);border-color:var(--sla-gold);box-shadow:inset 0 0 0 1px var(--sla-gold)}.sla-tabs .pct{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.sla-tabs button:focus-visible{outline:2px solid var(--sla-gold);outline-offset:2px}.sla-dot{background:var(--sla-ok);border-radius:50%;flex-shrink:0;width:8px;height:8px}.sla-dot.warn{background:var(--sla-warn)}.sla-dot.down{background:var(--sla-down)}.sla-dot.muted{background:var(--text-muted)}.sla-body{flex-direction:column;gap:12px;transition:opacity .15s;display:flex}.sla-body.loading{opacity:.55}.sla-service{flex-direction:column;gap:12px;display:flex}.sla-hero{--c1:#16a34a;--c2:#0f766e;color:#fff;background:linear-gradient(120deg, var(--c1), var(--c2));border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex;position:relative;overflow:hidden}.sla-hero.warn{--c1:#d97706;--c2:#b45309}.sla-hero.down{--c1:#dc2626;--c2:#991b1b}.sla-hero:after{content:"";pointer-events:none;background:#ffffff12;border-radius:50%;width:340px;height:340px;position:absolute;bottom:-120px;right:-60px}.sla-hero-main{z-index:1;min-width:0;position:relative}.sla-hero h3{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0 0 10px;font-size:28px;font-weight:800}.sla-tags{flex-wrap:wrap;gap:6px;display:flex}.sla-tag{background:#ffffff2e;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.sla-tag.strong{color:var(--c2);background:#fff}.sla-alert{background:#00000038;border-radius:8px;margin-top:12px;padding:8px 12px;font-size:13px;font-weight:600}.sla-hero-ring{z-index:1;opacity:.95;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;font-size:12px;display:flex;position:relative}.sla-ring .track{fill:none;stroke:#ffffff40;stroke-width:11px}.sla-ring .value{fill:none;stroke:#fff;stroke-width:11px;stroke-linecap:round}.sla-ring .pct{fill:#fff;font:800 21px var(--font-ui)}.sla-ring .cap{fill:#ffffffd9;font:500 9.5px var(--font-ui)}.sla-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.sla-kpi{--kc:var(--sla-ok);border:1px solid var(--border);border-top:3px solid var(--kc);background:var(--surface);border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.sla-kpi.warn{--kc:var(--sla-warn)}.sla-kpi.down{--kc:var(--sla-down)}.sla-kpi.violet{--kc:var(--sla-violet)}.sla-kpi.gold{--kc:var(--sla-gold)}.sla-kpi small{color:var(--text-secondary);font-size:12px}.sla-kpi b{color:var(--text-primary);font-size:20px;font-weight:800;line-height:1.2}.sla-kpi b.small{font-size:15px}.sla-kpi em{color:var(--text-muted);font-size:12px;font-style:normal}.sla-cols{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;display:grid}.sla-box{margin:0;padding:16px 18px}.sla-box h4{color:var(--text-primary);margin:0 0 10px;font-size:14px;font-weight:700}.sla-chart{width:100%;height:auto;max-height:300px;color:var(--text-primary);display:block}.sla-grid{stroke:currentColor;stroke-opacity:.1}.sla-axis{fill:var(--text-muted);font:500 9.5px var(--font-ui)}.sla-axis.month{fill:var(--text-secondary);font-size:11px}.sla-bar.ok{fill:var(--sla-ok)}.sla-bar.warn{fill:var(--sla-warn)}.sla-bar.down{fill:var(--sla-down)}.sla-bar.empty{fill:currentColor;fill-opacity:.15}.sla-bar-count{fill:var(--text-primary);font:700 10px var(--font-ui)}.sla-legend{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:6px 0 0;font-size:12px;display:flex}.sla-legend>span{align-items:center;gap:6px;display:inline-flex}.sla-legend .dot{border-radius:3px;width:10px;height:10px;display:inline-block}.sla-legend .note{color:var(--text-muted)}.sla-chart-wrap{overflow-x:auto}.sla-legend .dot.ok{background:var(--sla-ok)}.sla-legend .dot.warn{background:var(--sla-warn)}.sla-legend .dot.down{background:var(--sla-down)}.sla-history{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.sla-history li{border-bottom:1px solid var(--border-soft);border-left:3px solid var(--sla-ok);color:var(--text-primary);justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;padding:9px 0 9px 12px;font-size:13px;display:flex}.sla-history li.running{border-left-color:var(--sla-down)}.sla-history li.running b{color:var(--sla-down);font-weight:600}.sla-history .dur{background:var(--surface-raised);border:1px solid var(--border);font:500 12px var(--font-mono);color:var(--text-secondary);border-radius:999px;flex-shrink:0;padding:2px 8px}.sla-empty{color:var(--text-secondary);margin:0;padding:12px 0;font-size:13px}.adm-card.sla-empty{text-align:center;padding:20px}.sla-error strong{color:var(--text-primary)}.sla-error p{color:var(--text-secondary);margin:6px 0 0;font-size:13px}.adm-card.sla-error{padding:16px 18px}.sla-stale{color:var(--sla-warn);margin:0;font-size:12px}@media (width<=1200px){.sla-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.sla-cols{grid-template-columns:1fr}}@media (width<=760px){.sla-hero{flex-direction:column;align-items:flex-start;padding:20px}.sla-hero h3{font-size:22px}.sla-hero-ring{align-self:center}.sla-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sla-kpi b{font-size:17px}.sla-chart{min-width:560px}.sla-history li{flex-direction:column;align-items:flex-start;gap:4px}}@media (prefers-reduced-motion:reduce){.sla-body{transition:none}}.dd-page{--dd-out:#4c8dff;flex-direction:column;gap:14px;display:flex}.dd-topbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dd-crumb{color:var(--text-secondary);font-size:13px}.dd-crumb b{color:var(--text-primary);font-weight:600}.dd-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dd-kpi{--kc:var(--up);border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:flex-start;gap:14px;min-width:0;padding:16px 18px;display:flex}.dd-kpi.down{--kc:var(--down)}.dd-kpi.gold{--kc:var(--gold)}.dd-kpi.blue{--kc:var(--dd-out)}.dd-kpi-icon{width:42px;height:42px;color:var(--kc);background:color-mix(in srgb, var(--kc) 14%, transparent);border:1px solid color-mix(in srgb, var(--kc) 30%, transparent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.dd-kpi-icon svg{width:20px;height:20px}.dd-kpi>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dd-kpi small{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.dd-kpi b{color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.15}.dd-kpi b>span{color:var(--text-muted);font-size:14px;font-weight:600}.dd-kpi em{color:var(--text-muted);font-size:12px;font-style:normal}.dd-bar{background:var(--border);border-radius:99px;height:5px;margin-top:6px;overflow:hidden}.dd-bar i{border-radius:inherit;background:var(--kc);height:100%;display:block}.dd-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}.dd-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.dd-layout>.adm-card{margin:0}.dd-info{position:sticky;top:12px}.dd-ifcard{min-width:0}.dd-info{flex-direction:column;gap:14px;padding:18px;display:flex}.dd-info-head{align-items:center;gap:12px;display:flex}.dd-avatar{background:var(--gold-soft);border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);width:46px;height:46px;color:var(--gold-strong);border-radius:10px;flex-shrink:0;place-items:center;font-size:18px;font-weight:800;display:grid}.dd-info-title{flex:1;min-width:0}.dd-info-title h2{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:800}.dd-info-title p{color:var(--text-secondary);overflow-wrap:anywhere;margin:2px 0 0;font-size:12px}.dd-pill{--pc:var(--up);background:color-mix(in srgb, var(--pc) 14%, transparent);color:var(--pc);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.dd-pill.down{--pc:var(--down)}.dd-pill i{background:currentColor;border-radius:50%;width:7px;height:7px}.dd-pill.sm{padding:2px 9px;font-size:11.5px}.dd-info-list{flex-direction:column;margin:0;display:flex}.dd-info-list>div{border-bottom:1px solid var(--border-soft);grid-template-columns:140px minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;display:grid}.dd-info-list>div:last-child{border-bottom:0}.dd-info-list dt{color:var(--text-secondary);align-items:center;gap:8px;font-size:12.5px;display:flex}.dd-info-list dt svg{color:var(--text-muted);flex-shrink:0}.dd-info-list dd{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600}.dd-info-list dd.mono{font-family:var(--font-mono);font-weight:500}.dd-ls{border-top:1px solid var(--border-soft);flex-direction:column;gap:6px;padding-top:4px;display:flex}.dd-ls>span{color:var(--text-secondary);padding-top:8px;font-size:12px}.dd-ls>div{flex-wrap:wrap;gap:5px;display:flex}.dd-chip{border:1px solid var(--border);background:var(--surface-raised);color:var(--text-secondary);white-space:nowrap;border-radius:6px;align-items:center;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.dd-chip.gold{background:var(--gold-soft);color:var(--gold-strong);border-color:#0000}.dd-chip.blue{background:color-mix(in srgb, var(--dd-out) 15%, transparent);color:var(--dd-out);border-color:#0000}.dd-head-count{background:color-mix(in srgb, var(--up) 14%, transparent);color:var(--up);vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:700}.dd-table .dd-idx{font-family:var(--font-mono);color:var(--text-muted);width:56px;font-size:12px}.dd-if{flex-direction:column;gap:1px;min-width:0;display:flex}.dd-if-name{font-family:var(--font-mono);color:var(--text-primary);font-size:13px;font-weight:600}.dd-if-desc{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px}.dd-roles{flex-wrap:wrap;gap:4px;display:flex}.dd-if-name{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.dd-added{background:var(--gold-soft);color:var(--gold-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.adm-table.dd-table tbody tr.is-added td:first-child{box-shadow:inset 3px 0 0 var(--gold)}.adm-table.dd-table tbody tr.is-added.is-down td:first-child{box-shadow:inset 3px 0 0 var(--down)}.adm-table.dd-table tbody tr.is-flash td{animation:1.6s ease-out dd-flash}@keyframes dd-flash{0%{background:var(--gold-soft)}to{background:0 0}}.dd-table td.actions{white-space:nowrap;width:1%}.adm-btn.dd-btn-add{color:var(--gold-strong);border-color:color-mix(in srgb, var(--gold) 45%, transparent);background:0 0;gap:5px}.adm-btn.dd-btn-add:hover:not(:disabled){background:var(--gold-soft);border-color:var(--gold)}.adm-btn.dd-btn-remove{color:var(--text-secondary);background:0 0}.adm-btn.dd-btn-remove:hover:not(:disabled){color:var(--down);border-color:var(--down)}.dd-flash{background:color-mix(in srgb, var(--up) 12%, transparent);border:1px solid color-mix(in srgb, var(--up) 35%, transparent);color:var(--up);border-radius:8px;align-items:center;gap:8px;margin:0 20px 10px;padding:9px 12px;font-size:13px;font-weight:600;display:flex}@media (width<=1100px){.dd-layout{grid-template-columns:1fr}.dd-info{position:static}}@media (width<=760px){.dd-kpis.three{grid-template-columns:1fr}.dd-info-list>div{grid-template-columns:120px minmax(0,1fr)}.dd-flash{margin:0 12px 10px}}@media (prefers-reduced-motion:reduce){.adm-table.dd-table tbody tr.is-flash td{animation:none}}:root[data-theme=light] .dd-page{--dd-out:#2f6fe0}.dd-if-alias{align-items:center;gap:8px;min-width:0;margin-top:4px;display:flex}.dd-if-alias-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;font-size:10.5px;font-weight:700}.dm-pw{display:flex;position:relative}.dm-pw input{flex:1;padding-right:96px!important}.dm-pw-btn{border:1px solid var(--border);background:var(--surface-raised);height:28px;color:var(--text-secondary);font:600 12px var(--font-ui);cursor:pointer;border-radius:6px;padding:0 10px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.dm-pw-btn:hover{color:var(--text-primary)}.dm-link{color:var(--gold-strong);font:600 12.5px var(--font-ui);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:6px;padding:0}.dm-link:hover{text-underline-offset:3px;text-decoration:underline}.dm-pw-btn:focus-visible,.dm-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.dm-choice-item.disabled{opacity:.55;cursor:not-allowed}.dm-cred{border:1px solid var(--border);background:var(--surface-raised);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.dm-cred>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.dm-cred span{color:var(--text-secondary);font-size:13px}.dm-cred code{font:600 15px var(--font-mono);color:var(--text-primary);background:var(--bg);border:1px solid var(--border);-webkit-user-select:all;user-select:all;border-radius:6px;padding:4px 10px}.dm-cred .adm-btn{align-self:flex-start}.lg-page{--lg-bg:#0d1019;--lg-card:#10141edb;--lg-line:#ffffff1a;--lg-line-strong:#ffffff2e;--lg-text:#f3f4f7;--lg-muted:#a3abbd;--lg-dim:#7c859a;--lg-gold:#f5b83d;--lg-gold-hover:#ffc857;--lg-red:#ff7b72;background:var(--lg-bg);min-height:100dvh;color:var(--lg-text);font-family:Inter,system-ui,sans-serif;display:flex;position:relative;overflow-x:hidden}.lg-page .sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lg-art{pointer-events:none;width:min(72vw,109.56dvh);position:fixed;inset:0 auto 0 0}.lg-art img{object-fit:cover;object-position:left center;width:100%;height:100%;display:block}.lg-art:after{content:"";background:linear-gradient(90deg, transparent 58%, var(--lg-bg) 99%), linear-gradient(180deg, transparent 82%, #0d10198c 100%);position:absolute;inset:0}.lg-panel{z-index:1;justify-content:center;align-items:center;width:min(600px,100%);min-height:100dvh;margin-left:auto;padding:40px clamp(20px,6vw,96px) 40px 24px;display:flex;position:relative}.lg-card{border:1px solid var(--lg-line);background:var(--lg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;border-radius:18px;width:100%;max-width:500px;padding:44px 44px 30px;box-shadow:0 30px 80px #00000073}.lg-logo{width:96px;height:auto;margin:0 auto 22px;display:block}.lg-card h1{letter-spacing:-.02em;color:var(--lg-text);margin:0;font-size:36px;font-weight:800;line-height:1.15}.lg-lead{max-width:28ch;color:var(--lg-muted);margin:10px auto 30px;font-size:17px;line-height:1.45}.lg-input{border:1px solid var(--lg-line-strong);text-align:left;background:#ffffff05;border-radius:10px;align-items:center;height:58px;margin-bottom:14px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.lg-input:focus-within{border-color:var(--lg-gold);box-shadow:0 0 0 3px #f5b83d2e}.lg-input:has(input[aria-invalid=true]){border-color:var(--lg-red)}.lg-input-icon{width:20px;height:20px;color:var(--lg-muted);flex-shrink:0;margin:0 12px 0 20px}.lg-input input{min-width:0;height:100%;color:var(--lg-text);background:0 0;border:0;outline:0;flex:1;padding:0 18px 0 0;font:400 17px Inter,system-ui,sans-serif}.lg-input input::placeholder{color:var(--lg-dim)}.lg-input input:-webkit-autofill{-webkit-text-fill-color:var(--lg-text);caret-color:var(--lg-text);-webkit-box-shadow:inset 0 0 0 100px #161a24}.lg-eye{width:44px;height:44px;color:var(--lg-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;margin-right:8px;display:grid}.lg-eye:hover{color:var(--lg-text);background:#ffffff0d}.lg-row{justify-content:space-between;align-items:center;margin:18px 2px 26px;font-size:15px;display:flex}.lg-check{color:var(--lg-muted);cursor:pointer;align-items:center;gap:12px;display:inline-flex;position:relative}.lg-check input{opacity:0;cursor:pointer;width:20px;height:20px;margin:0;position:absolute}.lg-check-box{border:1.5px solid var(--lg-line-strong);background:0 0;border-radius:5px;place-items:center;width:20px;height:20px;display:grid}.lg-check input:checked+.lg-check-box{background:var(--lg-gold);border-color:var(--lg-gold)}.lg-check input:checked+.lg-check-box:after{content:"";border:2.2px solid #1b1606;border-width:0 2.2px 2.2px 0;width:5px;height:10px;margin-top:-2px;transform:rotate(45deg)}.lg-check input:focus-visible+.lg-check-box{outline:2px solid var(--lg-gold);outline-offset:2px}.lg-link{color:var(--lg-gold);cursor:pointer;background:0 0;border:0;padding:0;font:500 15px Inter,system-ui,sans-serif}.lg-link:hover{color:var(--lg-gold-hover);text-underline-offset:3px;text-decoration:underline}.lg-note,.lg-error{text-align:left;border-radius:9px;margin:-10px 0 18px;padding:11px 14px;font-size:14px;line-height:1.45}.lg-note{color:#e9d3a1;background:#f5b83d17;border:1px solid #f5b83d38}.lg-error{color:var(--lg-red);background:#ff7b7217;border:1px solid #ff7b7247}.lg-submit{background:var(--lg-gold);color:#1b1606;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:100%;height:58px;font:700 18px Inter,system-ui,sans-serif;transition:background-color .15s,transform .15s;display:inline-flex}.lg-submit:hover:not(:disabled){background:var(--lg-gold-hover)}.lg-submit:hover:not(:disabled) svg{transform:translate(3px)}.lg-submit svg{transition:transform .15s}.lg-submit:disabled{opacity:.7;cursor:progress}.lg-divider{color:var(--lg-muted);align-items:center;gap:14px;margin:22px 0;font-size:15px;display:flex}.lg-divider:before,.lg-divider:after{content:"";background:var(--lg-line);flex:1;height:1px}.lg-sso{border:1px solid var(--lg-line-strong);height:56px;color:var(--lg-text);border-radius:10px;justify-content:center;align-items:center;gap:10px;font-size:17px;text-decoration:none;display:flex}.lg-sso:hover{background:#ffffff0a}.lg-foot{color:var(--lg-dim);margin:30px 0 0;font-size:14px}.lg-submit:focus-visible,.lg-link:focus-visible,.lg-eye:focus-visible,.lg-sso:focus-visible{outline:2px solid var(--lg-gold);outline-offset:3px}@media (width<=900px){.lg-art{width:100%}.lg-art img{object-position:40% center}.lg-art:after{background:linear-gradient(#0d10198c,#0d1019e0)}.lg-panel{width:100%;padding:28px 16px}.lg-card{padding:34px 22px 24px}.lg-card h1{font-size:30px}.lg-lead{margin-bottom:24px;font-size:15px}}@media (height<=820px){.lg-panel{padding-top:20px;padding-bottom:20px}.lg-card{padding-top:28px;padding-bottom:20px}.lg-logo{width:72px;margin-bottom:12px}.lg-card h1{font-size:30px}.lg-lead{margin:6px auto 20px;font-size:15px}.lg-input{height:50px;margin-bottom:10px}.lg-row{margin:12px 2px 18px}.lg-submit{height:50px;font-size:17px}.lg-divider{margin:14px 0}.lg-sso{height:48px;font-size:16px}.lg-foot{margin-top:18px}}@media (prefers-reduced-motion:reduce){.lg-submit,.lg-submit svg,.lg-input{transition:none}}.lg-page{flex-direction:column;gap:14px;display:flex}.lg-page>.adm-card{margin:0}.lg-form{flex-direction:column;gap:14px;padding:0 20px 20px;display:flex}.lg-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.lg-field{flex-direction:column;gap:6px;min-width:200px;display:flex}.lg-field.grow{flex:1;min-width:240px}.lg-field>span{color:var(--text-secondary);font-size:12.5px;font-weight:600}.lg-field select,.lg-field input{border:1px solid var(--border);background:var(--bg);height:40px;color:var(--text-primary);font:500 13.5px var(--font-ui);border-radius:8px;outline:none;padding:0 12px}.lg-field input{font-family:var(--font-mono)}.lg-field select{appearance:none;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b97a8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center;padding-right:32px}.lg-field select:focus,.lg-field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.lg-cmds{flex-wrap:wrap;gap:6px;display:flex}.lg-cmds button{border:1px solid var(--border);height:34px;color:var(--text-secondary);font:600 13px var(--font-ui);cursor:pointer;background:0 0;border-radius:999px;padding:0 14px}.lg-cmds button:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-muted)}.lg-cmds button.on{color:var(--gold-strong);border-color:var(--gold);background:var(--gold-soft)}.lg-cmds button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.lg-run{min-width:130px;height:40px}.lg-alert{border:1px solid var(--border);background:var(--surface-raised);color:var(--text-secondary);border-radius:8px;margin:0 20px 16px;padding:10px 14px;font-size:13px}.lg-alert.warn{border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:var(--warn-dim);color:var(--warn)}.lg-page>.lg-alert.error{border-color:color-mix(in srgb, var(--down) 40%, transparent);background:var(--down-dim);color:var(--down);margin:0;font-weight:600}.lg-output-card{padding:0;overflow:hidden}.lg-out-head{border-bottom:1px solid var(--border);background:var(--surface-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.lg-out-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.lg-out-title b{color:var(--text-primary);font-size:13.5px}.lg-out-title code{font:500 12.5px var(--font-mono);color:var(--gold-strong);overflow-wrap:anywhere}.lg-chip{border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:2px 8px;font-size:11.5px;font-weight:600}.lg-out-actions{align-items:center;gap:10px;display:flex}.lg-dur{font:500 12px var(--font-mono);color:var(--text-muted)}.lg-pre{background:var(--bg);max-height:560px;color:var(--text-primary);font:400 12.5px/1.55 var(--font-mono);white-space:pre;tab-size:8;margin:0;padding:16px;overflow:auto}.lg-note{color:var(--warn);border-top:1px solid var(--border);margin:0;padding:8px 16px;font-size:12px}.lg-running{color:var(--text-secondary);align-items:center;gap:12px;padding:28px 16px;font-size:13px;display:flex}.lg-spinner{border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite lg-spin}@keyframes lg-spin{to{transform:rotate(360deg)}}.lg-history{padding:14px 16px}.lg-history h3{color:var(--text-primary);margin:0 0 8px;font-size:13.5px}.lg-history ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.lg-history button{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:76px minmax(120px,220px) 1fr;align-items:center;gap:10px;padding:7px 8px;font-size:12.5px;display:grid}.lg-history button:hover{background:var(--surface-raised)}.lg-history button.on{background:var(--gold-soft);color:var(--text-primary)}.lg-history code{font:500 12px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lg-h-time{font-family:var(--font-mono);color:var(--text-muted)}.lg-h-router{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lg-empty{text-align:center;padding:24px}.lg-empty p{color:var(--text-secondary)}@media (width<=640px){.lg-form{padding:0 14px 16px}.lg-field,.lg-field.grow{min-width:100%}.lg-run{width:100%}.lg-history button{grid-template-columns:64px 1fr}.lg-history code{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.lg-spinner{animation-duration:2s}}.lg-source{border:1px solid var(--border);background:var(--surface-raised);color:var(--text-secondary);border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.lg-source-dot{background:var(--up);width:8px;height:8px;box-shadow:0 0 0 3px var(--up-dim);border-radius:50%;flex-shrink:0}.custom-range-bar{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.custom-range-bar label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:11px;font-weight:500;display:flex}.custom-range-bar input[type=datetime-local]{font-family:var(--font-mono);color:var(--text-primary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:7px 10px;font-size:12.5px;transition:border-color .15s}.custom-range-bar input[type=datetime-local]:focus{border-color:var(--accent)}.custom-range-bar .save-device-button,.custom-range-bar .test-snmp-button{flex:none;padding:8px 16px;font-size:12.5px}.custom-range-error{color:var(--down);align-self:center;font-size:12px;font-weight:500}.peer-list{flex-direction:column;gap:10px;display:flex}.peer-device-group{flex-direction:column;gap:8px;display:flex}.peer-device-group:not(:first-child){border-top:1px solid var(--border);margin-top:6px;padding-top:14px}.peer-device-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.peer-device-count{font-family:var(--font-mono);color:var(--up);text-transform:none;letter-spacing:normal;font-weight:600}.peer{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:12px 14px;display:flex}.peer-main{flex-direction:column;flex:1;gap:2px;display:flex}.peer-main strong{font-family:var(--font-mono);font-size:13.5px;font-weight:600}.peer-main span{font-family:var(--font-mono);color:var(--text-secondary);font-size:11.5px}.peer-status{text-align:right;flex-direction:column;gap:2px;display:flex}.peer-status b{color:var(--up);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.peer-status span{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.interface-picker{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);flex-direction:column;gap:4px;max-height:220px;padding:8px 10px;display:flex;overflow-y:auto}.interface-picker-item{color:var(--text-primary);align-items:center;gap:8px;padding:4px 2px;font-size:13px;font-weight:400;flex-direction:row!important;display:flex!important}.interface-picker-item input[type=checkbox]{width:auto;accent-color:var(--accent)}.login-page{--lp-bg:#0e0c07;--lp-card:#17140d;--lp-card-soft:#1e1a10;--lp-border:#2c2716;--lp-text:#f1ede1;--lp-text-dim:#9c9585;--lp-text-mute:#6b6656;background:radial-gradient(900px 420px at 18% -10%, #f2b90d1f, transparent 60%), var(--lp-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--lp-card);border:1px solid var(--lp-border);border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:30px 28px 26px;display:flex;box-shadow:0 24px 70px #0000008c}.login-header{align-items:center;gap:10px;display:flex}.login-logo{object-fit:contain;flex-shrink:0;width:32px;height:32px}.login-header strong{color:var(--lp-text);letter-spacing:.02em;font-size:13.5px;font-weight:700;display:block}.login-header span{color:var(--lp-text-mute);text-transform:uppercase;letter-spacing:.08em;margin-top:1px;font-size:10.5px;display:block}.login-intro{border-top:1px solid var(--lp-border);padding-top:16px}.login-intro h1{color:var(--lp-text);margin:0;font-size:21px;font-weight:700}.login-intro p{color:var(--lp-text-dim);margin:6px 0 0;font-size:12.5px;line-height:1.5}.login-field{color:var(--lp-text-dim);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:6px;font-size:11.5px;font-weight:600;display:flex}.login-input-wrap{background:var(--lp-bg);border:1px solid var(--lp-border);border-radius:10px;align-items:center;padding:0 12px;transition:border-color .15s;display:flex;position:relative}.login-input-wrap:focus-within{border-color:var(--gold)}.login-input-icon{color:var(--lp-text-mute);flex-shrink:0}.login-input-wrap input{min-width:0;font-family:var(--font-ui);color:var(--lp-text);background:0 0;border:none;outline:none;flex:1;padding:11px 10px;font-size:13.5px}.login-input-wrap input::placeholder{color:var(--lp-text-mute)}.login-check{width:20px;height:20px;color:var(--gold);background:#f2b90d29;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.login-eye-toggle{color:var(--lp-text-mute);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;display:flex}.login-eye-toggle:hover{color:var(--lp-text-dim)}.login-error{color:var(--down);background:var(--down-dim);border-radius:var(--radius-sm);border:1px solid #f871714d;padding:10px 12px;font-size:12.5px;font-weight:500}.login-cta-dock{justify-content:center;align-items:center;height:78px;display:flex;position:relative}.login-cta{min-width:168px;font-family:var(--font-ui);color:var(--lp-text-dim);background:var(--lp-card-soft);border:1px solid var(--lp-border);cursor:pointer;border-radius:999px;padding:13px 26px;font-size:14px;font-weight:700;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .2s,color .2s,border-color .2s,box-shadow .2s}.login-cta.locked{background:var(--gold);border-color:var(--gold);color:#1a1502;box-shadow:0 8px 24px #f2b90d47}.login-cta:disabled{cursor:default;opacity:.8}.login-status{text-align:center;color:var(--lp-text-mute);margin:-6px 0 0;font-size:11.5px}.login-back{border-top:1px solid var(--lp-border);color:var(--lp-text-dim);font-family:var(--font-ui);cursor:pointer;background:0 0;border-bottom:none;border-left:none;border-right:none;justify-content:center;align-items:center;gap:6px;margin-top:2px;padding-top:14px;font-size:12.5px;font-weight:500;display:flex}.login-back:hover{color:var(--gold)}@media (width<=1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.bgp-grid{grid-template-columns:1fr}}@media (width<=640px){.header{flex-direction:column;align-items:flex-start;gap:12px}.nav-tabs{width:100%}.nav-tab{flex:1}.kpi-grid,.form-row{grid-template-columns:1fr}.dashboard{padding:16px}.device-detail-header,.page-header-actions{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}:root{--bg:#0a0e14;--surface:#12171f;--surface-raised:#171d27;--border:#232b38;--border-soft:#1b222d;--text-primary:#e6eaf0;--text-secondary:#8b97a8;--text-muted:#5b6675;--accent:#e8a400;--accent-dim:#e8a40024;--up:#34d399;--up-dim:#34d39924;--down:#f87171;--down-dim:#f8717124;--warn:#fbbf24;--warn-dim:#fbbf2424;--font-ui:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", monospace;--radius-sm:6px;--radius-md:10px;--shadow-card:0 1px 0 #0006}*{box-sizing:border-box}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}.app{background:radial-gradient(1200px 500px at 15% -10%, #4c8dff12, transparent 60%), var(--bg);min-height:100vh}.header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:18px 28px;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:12px;display:flex}.header-logo{object-fit:contain;flex-shrink:0;width:auto;height:38px}.header h1{letter-spacing:.02em;margin:0;font-size:18px;font-weight:700}.header p{color:var(--text-secondary);margin:2px 0 0;font-size:12.5px}.header-actions{align-items:center;gap:14px;display:flex}.add-device-button{background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-ui);cursor:pointer;border:none;padding:9px 16px;font-size:13px;font-weight:600;transition:filter .15s}.add-device-button:hover{filter:brightness(1.1)}.nav-tabs{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);gap:4px;padding:3px;display:flex}.nav-tab{color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.nav-tab:hover{color:var(--text-primary)}.nav-tab.active{background:var(--accent);color:#fff}.system-status{color:var(--up);border:1px solid var(--border);background:var(--up-dim);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:600;display:flex}.system-status span{background:var(--up);width:7px;height:7px;box-shadow:0 0 0 3px var(--up-dim);border-radius:50%}.dashboard{flex-direction:column;gap:22px;max-width:1320px;margin:0 auto;padding:28px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px 22px}.panel-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.panel-header h2{margin:0;font-size:15px;font-weight:600}.panel-header p{color:var(--text-secondary);margin:3px 0 0;font-size:12.5px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:16px 18px}.kpi-title{letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:600}.kpi-value{font-family:var(--font-mono);color:var(--text-primary);font-size:22px;font-weight:600;line-height:1.2}.kpi-label{color:var(--text-secondary);margin:2px 0 10px;font-size:11px}.kpi-label:last-of-type{margin-bottom:0}.kpi-down{font-family:var(--font-mono);color:var(--down);margin-top:6px;font-size:12px;font-weight:600}.page-header-actions{align-items:center;gap:12px;display:flex}.device-count{color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border);border-radius:999px;align-self:center;padding:5px 12px;font-size:12px;font-weight:600}.device-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.empty-devices{text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-secondary);grid-column:1/-1;padding:40px 20px}.empty-devices strong{color:var(--text-primary);margin-bottom:4px;font-size:14px;display:block}.empty-devices p{margin:0;font-size:13px}.device-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:16px;transition:border-color .15s;display:flex}.device-card:hover{border-color:#313c4d}.device-card-top{justify-content:space-between;align-items:center;display:flex}.device-icon{border-radius:var(--radius-sm);background:var(--accent-dim);width:34px;height:34px;color:var(--accent);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.device-status{color:var(--text-secondary);text-transform:capitalize;align-items:center;gap:6px;font-size:11.5px;display:flex}.status-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px}.status-dot.online{background:var(--up);box-shadow:0 0 0 3px var(--up-dim)}.device-info h3{margin:0 0 3px;font-size:14.5px;font-weight:600}.device-info p{color:var(--text-secondary);margin:0 0 6px;font-size:12px}.device-info strong{font-family:var(--font-mono);color:var(--accent);font-size:13px;font-weight:500}.device-meta{flex-wrap:wrap;gap:6px;display:flex}.device-meta span{color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:3px 8px;font-size:11px}.device-actions{gap:8px;margin-top:2px;display:flex}.device-edit-button,.device-delete-button{border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:8px 10px;font-size:12.5px;font-weight:500;transition:background .15s,border-color .15s}.device-edit-button{border:1px solid var(--border);color:var(--text-primary);background:0 0}.device-edit-button:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.device-delete-button{border:1px solid var(--border);color:var(--down);background:0 0}.device-delete-button:hover:not(:disabled){background:var(--down-dim);border-color:var(--down)}.device-delete-button:disabled{opacity:.5;cursor:not-allowed}.device-detail-button{border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;margin-top:2px;padding:8px 10px;font-size:12.5px;font-weight:500;transition:background .15s,border-color .15s}.device-detail-button:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.period-buttons{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:4px;height:fit-content;padding:3px;display:flex}.period-buttons button{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:600}.period-buttons button.active{background:var(--accent);color:#fff}.panel:has(.period-buttons){min-height:360px}.bgp-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.peer-list{flex-direction:column;gap:8px;max-height:520px;padding-right:4px;display:flex;overflow-y:auto}.peer-list::-webkit-scrollbar{width:6px}.peer-list::-webkit-scrollbar-track{background:0 0}.peer-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.peer{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:11px 14px;transition:border-color .15s;display:flex}.peer:hover{border-color:#313c4d}.peer-dot{background:var(--up);width:8px;height:8px;box-shadow:0 0 0 3px var(--up-dim);border-radius:50%;flex-shrink:0}.peer[data-state=down] .peer-dot,.peer[data-state=idle] .peer-dot{background:var(--down);box-shadow:0 0 0 3px var(--down-dim)}.peer[data-state=active] .peer-dot,.peer[data-state=connect] .peer-dot{background:var(--warn);box-shadow:0 0 0 3px var(--warn-dim)}.peer-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.peer-main strong{font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.peer-main span{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.peer-status{text-align:right;flex-direction:column;flex-shrink:0;gap:2px;display:flex}.peer-status b{color:var(--up);text-transform:uppercase;letter-spacing:.04em;background:var(--up-dim);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.peer[data-state=down] .peer-status b,.peer[data-state=idle] .peer-status b{color:var(--down);background:var(--down-dim)}.peer[data-state=active] .peer-status b,.peer[data-state=connect] .peer-status b{color:var(--warn);background:var(--warn-dim)}.peer-status span{font-family:var(--font-mono);color:var(--text-muted);margin-top:2px;font-size:10.5px}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#06090ebf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.device-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:20px 22px;display:flex}.modal-header h2{margin:0;font-size:16px;font-weight:600}.modal-header p{color:var(--text-secondary);margin:3px 0 0;font-size:12.5px}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1}.modal-close:hover{background:var(--surface-raised);color:var(--text-primary)}.device-form{flex-direction:column;gap:14px;padding:20px 22px;display:flex}.device-form label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12.5px;font-weight:500;display:flex}.device-form input,.device-form select{font-family:var(--font-mono);color:var(--text-primary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:9px 11px;font-size:13px;transition:border-color .15s}.device-form input:focus,.device-form select:focus{border-color:var(--accent)}.device-form input::placeholder{color:var(--text-muted)}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.snmp-success,.snmp-error{border-radius:var(--radius-sm);border:1px solid #0000;flex-direction:column;gap:3px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.snmp-success{color:var(--up);background:var(--up-dim);border-color:#34d3994d}.snmp-error{color:var(--down);background:var(--down-dim);border-color:#f871714d}.snmp-success small,.snmp-error small{opacity:.85;font-size:12px;font-weight:400}.modal-actions{gap:10px;margin-top:4px;display:flex}.test-snmp-button,.save-device-button{font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:10px 14px;font-size:13px;font-weight:600;transition:filter .15s,opacity .15s}.test-snmp-button{background:var(--surface-raised);border:1px solid var(--border);color:var(--text-primary)}.test-snmp-button:hover:not(:disabled){border-color:var(--accent)}.save-device-button{background:var(--accent);color:#fff;border:none}.save-device-button:hover:not(:disabled){filter:brightness(1.1)}.test-snmp-button:disabled,.save-device-button:disabled{opacity:.5;cursor:not-allowed}.back-button{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-self:flex-start;padding:8px 14px;font-size:13px;font-weight:500;transition:border-color .15s,color .15s}.back-button:hover{border-color:var(--accent);color:var(--accent)}.device-detail-header{align-items:center;gap:18px;display:flex}.device-icon-lg{flex-shrink:0;width:52px;height:52px;font-size:20px}.device-detail-title{flex:1}.device-detail-title h2{margin:0 0 2px;font-size:18px;font-weight:700}.device-detail-title p{color:var(--text-secondary);margin:0 0 10px;font-size:13px}.device-detail-status{color:var(--text-secondary);text-transform:capitalize;background:var(--surface-raised);border:1px solid var(--border);border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.detail-item{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.detail-item span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.detail-item strong{font-family:var(--font-mono);font-size:14px;font-weight:600}.interface-list{flex-direction:column;gap:8px;display:flex}.interface-row{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 14px;display:flex}.interface-name{font-family:var(--font-mono);flex:1;font-size:13px}.interface-badge{color:var(--accent);background:var(--accent-dim);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.interface-badge.uplink{color:var(--up);background:var(--up-dim)}.distribution-toggle{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:600;transition:border-color .15s,color .15s}.distribution-toggle:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.distribution-toggle.active{color:var(--accent);background:var(--accent-dim);border-color:var(--accent)}.distribution-toggle:disabled{opacity:.5;cursor:not-allowed}.mini-chart-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.mini-chart-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px 4px}.mini-chart-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:11px;font-weight:600;overflow:hidden}@media (width<=1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.bgp-grid{grid-template-columns:1fr}}@media (width<=640px){.header{flex-direction:column;align-items:flex-start;gap:12px}.nav-tabs{width:100%}.nav-tab{flex:1}.kpi-grid,.form-row{grid-template-columns:1fr}.dashboard{padding:16px}.device-detail-header,.page-header-actions{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.bgp-donut-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.bgp-donut-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;align-items:center;padding:12px;display:flex}.bgp-donut-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-bottom:4px;font-size:11.5px;font-weight:600;overflow:hidden}.bgp-donut-legend{font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:5px;margin-top:4px;font-size:11px;display:flex}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot.up{background:var(--up)}.legend-dot.warn{background:var(--warn);margin-left:6px}.legend-dot.accent{background:var(--accent);margin-left:6px}.legend-dot.down{background:var(--down);margin-left:6px}:root[data-theme=light]{--bg:#f6f7fb;--surface:#fff;--surface-raised:#fafbfd;--border:#e4e8f0;--border-soft:#eef1f6;--text-primary:#23293b;--text-secondary:#64708a;--text-muted:#9aa4ba;--accent:#e8a400;--accent-dim:#e8a4001a;--up:#12a06e;--up-dim:#12a06e17;--down:#e0483f;--down-dim:#e0483f17;--warn:#d1911a;--warn-dim:#d1911a17;--shadow-card:0 1px 2px #1e293b0d, 0 1px 6px #1e293b0a}:root[data-theme=light] .modal-overlay{background:#1e293b59}:root[data-theme=light] .status-dot{box-shadow:none}:root[data-theme=light] .app{background:radial-gradient(1200px 500px at 15% -10%, #2563eb0d, transparent 60%), var(--bg)}.theme-toggle{border:1px solid var(--border);background:var(--surface-raised);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-size:15px;transition:border-color .15s,color .15s;display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.admin-link-button{border:1px solid var(--border);background:var(--surface-raised);height:34px;color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;padding:0 16px;font-size:12.5px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.admin-link-button:hover{border-color:var(--accent);color:var(--accent)}.login-cancel{width:100%;color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;margin-top:4px;padding:10px;font-size:12.5px}.login-cancel:hover{color:var(--text-primary)}.time-range-picker{position:relative}.time-range-trigger{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-primary);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;font-weight:500;transition:border-color .15s;display:flex}.time-range-trigger:hover{border-color:var(--accent)}.time-range-icon{font-size:13px}.time-range-caret{color:var(--text-muted);font-size:9px}.time-range-dropdown{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:560px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #00000059}.time-range-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:10.5px;font-weight:700}.time-range-quick-list{border-right:1px solid var(--border);flex-direction:column;gap:2px;width:180px;max-height:380px;padding:14px;display:flex;overflow-y:auto}.time-range-quick-item{text-align:left;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:12.5px;transition:background .12s,color .12s}.time-range-quick-item:hover{background:var(--surface-raised);color:var(--text-primary)}.time-range-quick-item.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.time-range-custom{flex-direction:column;flex:1;gap:10px;padding:14px 16px;display:flex}.time-range-custom label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:11px;font-weight:500;display:flex}.time-range-custom input[type=datetime-local]{font-family:var(--font-mono);color:var(--text-primary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:8px 10px;font-size:12.5px;transition:border-color .15s}.time-range-custom input[type=datetime-local]:focus{border-color:var(--accent)}.time-range-quick-fill{gap:6px;display:flex}.time-range-quick-fill button{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex:1;padding:6px 8px;font-size:11px;transition:border-color .15s,color .15s}.time-range-quick-fill button:hover{border-color:var(--accent);color:var(--accent)}.time-range-error{color:var(--down);font-size:12px}.time-range-actions{gap:8px;margin-top:4px;display:flex}.time-range-actions .save-device-button,.time-range-actions .test-snmp-button{flex:1;padding:9px 12px;font-size:12.5px}@media (width<=640px){.time-range-dropdown{border-radius:var(--radius-md) var(--radius-md) 0 0;flex-direction:column;min-width:0;max-height:80vh;position:fixed;inset:auto 0 0;overflow-y:auto}.time-range-quick-list{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:160px}}.route-graph-panel .panel-header{flex-wrap:wrap;gap:12px}.graph-role-filter{flex-shrink:0;gap:6px;display:flex}.graph-role-btn{color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:11.5px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.graph-role-btn:hover{color:var(--text-primary)}.graph-role-btn.active{color:#fff;background:var(--accent);border-color:var(--accent)}.route-graph-wrap{flex-direction:column;gap:10px;display:flex}.route-graph-svg{width:100%;height:auto;display:block}.route-group-band{fill:var(--surface-raised)}.route-edge-line{stroke:var(--border);stroke-width:1.4px;fill:none}.route-edge.status-established .route-edge-line{stroke:var(--up);stroke-opacity:.55}.route-edge.status-connecting .route-edge-line{stroke:var(--warn);stroke-opacity:.6;stroke-dasharray:4 3}.route-edge.status-down .route-edge-line{stroke:var(--down);stroke-opacity:.45;stroke-dasharray:2 4}.route-edge-pulse{fill:var(--up)}.route-node circle{stroke-width:1.5px}.route-node-device circle{fill:var(--accent-dim);stroke:var(--accent)}.route-node-as circle{fill:var(--surface-raised);stroke:var(--border)}.route-node text{font-family:var(--font-mono);fill:var(--text-secondary);font-size:10.5px}.route-node-device text{fill:var(--text-primary);font-weight:600}.route-graph-legend{border-top:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:16px;padding-top:6px;font-size:11px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.route-graph-empty{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:13px}.route-graph-overlay{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.route-graph-empty strong{color:var(--text-primary);margin-bottom:6px;font-size:13.5px;display:block}.peer-graph-toggle{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;width:30px;height:17px;padding:2px;transition:background .15s,border-color .15s;display:flex}.peer-graph-toggle:disabled{opacity:.5;cursor:default}.peer-graph-toggle-knob{background:var(--text-muted);border-radius:50%;width:11px;height:11px;transition:transform .15s,background .15s}.peer-graph-toggle.on{background:var(--accent-dim);border-color:var(--accent)}.peer-graph-toggle.on .peer-graph-toggle-knob{background:var(--accent);transform:translate(13px)}:root{--gold:#f2b90d;--gold-strong:#e8a400;--gold-soft:#f2b90d29;--sidebar-bg:#14120c;--sidebar-bg-soft:#1c1a12;--sidebar-text:#c7c2b4;--sidebar-text-dim:#8a8574}:root[data-theme=light]{--gold:#f2b90d;--gold-strong:#e8a400;--gold-soft:#f2b90d29}.nms-shell{background:var(--bg);min-height:100vh;display:flex}.nms-main{flex-direction:column;flex:1;min-width:0;display:flex}.nms-sidebar{background:var(--sidebar-bg);width:232px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.nms-sidebar-brand{align-items:center;gap:10px;padding:6px 8px 22px;display:flex}.nms-sidebar-logo{object-fit:contain;flex-shrink:0;width:34px;height:34px}.nms-sidebar-brand strong{color:#fff;font-size:14px;font-weight:700;display:block}.nms-sidebar-brand span{color:var(--sidebar-text-dim);margin-top:1px;font-size:10.5px;display:block}.nms-sidebar-nav{flex-direction:column;flex:1;gap:3px;display:flex}.nms-nav-item{color:var(--sidebar-text);font-family:var(--font-ui);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nms-nav-item svg{opacity:.85;flex-shrink:0}.nms-nav-item:hover{background:var(--sidebar-bg-soft);color:#fff}.nms-nav-item.active{background:var(--gold);color:#1a1502;font-weight:700}.nms-nav-item.active svg{opacity:1}.nms-nav-badge{background:var(--down);color:#fff;font-size:10.5px;font-weight:700;font-family:var(--font-mono);border-radius:999px;margin-left:auto;padding:1px 6px}.nms-sidebar-profile{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:10px;padding:12px 10px;display:flex}.nms-avatar{background:var(--gold-soft);width:34px;height:34px;color:var(--gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.nms-sidebar-profile-text{flex-direction:column;flex:1;min-width:0;display:flex}.nms-sidebar-profile-text strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.nms-sidebar-profile-text span{color:var(--sidebar-text-dim);font-size:10.5px}.nms-sidebar-logout{color:var(--sidebar-text-dim);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px;display:flex}.nms-sidebar-logout:hover{background:var(--sidebar-bg-soft);color:var(--down)}.nms-topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;display:flex;position:sticky;top:0}.nms-search{background:var(--bg);border:1px solid var(--border);max-width:420px;color:var(--text-muted);border-radius:999px;flex:1;align-items:center;gap:8px;padding:9px 14px;display:flex}.nms-search input{color:var(--text-primary);font-family:var(--font-ui);background:0 0;border:none;outline:none;flex:1;font-size:13px}.nms-topbar-actions{align-items:center;gap:10px;display:flex}.nms-icon-button{border:1px solid var(--border);background:var(--surface-raised);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.nms-icon-button:hover{color:var(--gold-strong);border-color:var(--gold-soft)}.nms-icon-badge{background:var(--down);color:#fff;min-width:15px;height:15px;font-size:9.5px;font-weight:700;font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;padding:0 3px;display:flex;position:absolute;top:-3px;right:-3px}.nms-topbar-date{color:var(--text-secondary);border-left:1px solid var(--border);align-items:center;gap:8px;padding-left:14px;display:flex}.nms-topbar-date div{flex-direction:column;line-height:1.25;display:flex}.nms-topbar-date strong{color:var(--text-primary);font-size:11.5px}.nms-topbar-date span{color:var(--text-muted);font-size:10.5px}.nms-welcome-banner{background:linear-gradient(120deg, var(--gold-soft), transparent 65%), var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:20px;padding:26px 30px;display:flex;position:relative;overflow:hidden}.nms-welcome-text h1{margin:0;font-size:21px;font-weight:700}.nms-welcome-text .wave{display:inline-block}.nms-welcome-text p{color:var(--text-secondary);margin:6px 0 0;font-size:13px}.nms-welcome-tagline{text-align:right;color:var(--text-primary);z-index:1;flex-direction:column;flex-shrink:0;font-size:15px;font-style:italic;font-weight:700;display:flex}.nms-welcome-illustration{opacity:.5;pointer-events:none;width:220px;height:100%;position:absolute;bottom:0;right:0}.nms-welcome-illustration .tower{background:var(--gold);width:2px;position:absolute;bottom:0}.nms-welcome-illustration .t1{height:60px;right:20px}.nms-welcome-illustration .t2{height:85px;right:70px}.nms-welcome-illustration .t3{height:45px;right:120px}.nms-kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.nms-kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.nms-kpi-icon{background:var(--gold-soft);width:38px;height:38px;color:var(--gold-strong);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nms-kpi-icon.warn{background:var(--down-dim);color:var(--down)}.nms-kpi-body{flex-direction:column;min-width:0;display:flex}.nms-kpi-title{color:var(--text-secondary);font-size:11.5px;font-weight:600}.nms-kpi-value{font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;margin-top:2px;font-size:21px;font-weight:700}.nms-kpi-sub{color:var(--text-muted);margin-top:3px;font-size:11px}.nms-kpi-sub.down{color:var(--down);font-weight:600}.nms-panel-title{align-items:flex-start;gap:10px;display:flex}.nms-panel-icon{background:var(--gold-soft);width:30px;height:30px;color:var(--gold-strong);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nms-panel-icon svg{width:16px;height:16px}.nms-bgp-row{grid-template-columns:1.1fr 1.3fr .9fr;align-items:stretch;gap:22px;display:grid}@media (width<=1080px){.nms-bgp-row{grid-template-columns:1fr}}.nms-network-map .peer-list,.nms-bgp-peers .peer-list{max-height:320px;overflow-y:auto}.nms-topology{height:220px;margin-top:6px;position:relative}.nms-topology-node{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:4px;width:78px;font-size:10.5px;font-weight:600;display:flex;position:absolute}.nms-topology-icon{background:var(--surface-raised);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:17px;display:flex}.nms-topology-node.center .nms-topology-icon{background:var(--gold);border-color:var(--gold);color:#1a1502}.nms-topology-node.center{color:var(--text-primary);top:42%;left:50%;transform:translate(-50%,-50%)}.nms-topology-node.top-left{top:2%;left:4%}.nms-topology-node.top-right{top:2%;right:4%}.nms-topology-node.bottom-left{bottom:0;left:4%}.nms-topology-node.bottom-right{bottom:0;right:4%}.nms-topology-lines{width:100%;height:100%;position:absolute;inset:0}.nms-topology-lines line{stroke:var(--border);stroke-width:1.5px;stroke-dasharray:3 3}.nms-subtabs{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);gap:4px;width:fit-content;margin:0 0 18px;padding:3px;display:flex}.nms-subtab{color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:600}.nms-subtab.active{background:var(--gold);color:#1a1502}.nms-settings-panel{width:100%;max-width:640px;margin:0 auto}.nms-settings-row{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.nms-settings-row:first-of-type{border-top:none}.nms-settings-row strong{font-size:13.5px;display:block}.nms-settings-row p{color:var(--text-secondary);margin:3px 0 0;font-size:12px}.nms-pill-button{background:var(--gold);color:#1a1502;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:9px 18px;font-size:12.5px;font-weight:700}.nms-pill-button:hover{filter:brightness(1.06)}.nms-coming-soon{text-align:center;max-width:480px;margin:40px auto;padding:40px 30px}.nms-coming-soon h2{margin:0 0 8px;font-size:17px}.nms-coming-soon p{color:var(--text-secondary);margin:0;font-size:13px}.nms-dashboard{max-width:1320px}@media (width<=900px){.nms-sidebar{display:none}.nms-kpi-grid{grid-template-columns:repeat(2,1fr)}.nms-welcome-banner{flex-direction:column;align-items:flex-start}.nms-welcome-tagline{text-align:left}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.adm-page{gap:0;width:100%;min-width:0}.adm-card{background:var(--surface);border:1px solid var(--border);min-width:0;max-width:100%;box-shadow:var(--shadow-card);border-radius:12px;overflow:hidden}.adm-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 14px;display:flex}.adm-head h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.adm-head p{color:var(--text-secondary);max-width:62ch;margin:4px 0 0;font-size:13px}.adm-head-actions{flex-shrink:0;gap:8px;display:flex}.adm-toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:0 22px 14px;display:flex}.adm-btn{border:1px solid var(--border);background:var(--surface);height:38px;color:var(--text-primary);font:600 13px/1 var(--font-ui);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 16px;transition:background-color .12s,border-color .12s;display:inline-flex}.adm-btn:hover:not(:disabled){border-color:var(--text-muted);background:var(--surface-raised)}.adm-btn:disabled{opacity:.5;cursor:not-allowed}.adm-btn.primary{background:var(--gold);border-color:var(--gold);color:#1a1502}.adm-btn.primary:hover:not(:disabled){background:var(--gold-strong);border-color:var(--gold-strong)}.adm-btn.small{height:32px;padding:0 11px;font-size:12px}.adm-btn.test{height:40px;padding:0 18px}.adm-btn.test svg{color:#3b82f6}.adm-btn:focus-visible,.adm-icon-btn:focus-visible,.adm-segmented button:focus-visible,.adm-th-btn:focus-visible,.adm-name-btn:focus-visible,.dm-tab:focus-visible,.dm-close:focus-visible,.adm-pager button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.adm-search{border:1px solid var(--border);background:var(--bg);min-width:260px;height:38px;color:var(--text-muted);border-radius:8px;flex:0 320px;align-items:center;gap:8px;padding:0 12px;display:flex}.adm-search:focus-within{border-color:var(--gold)}.adm-search input{min-width:0;color:var(--text-primary);font:400 13px var(--font-ui);background:0 0;border:0;outline:0;flex:1}.adm-search.small{flex:200px;min-width:0;height:32px}.adm-segmented{scrollbar-width:none;border:1px solid var(--border);background:var(--bg);border-radius:9px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.adm-segmented button{height:30px;color:var(--text-secondary);font:600 12.5px var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.adm-segmented button.active{background:var(--surface);color:var(--text-primary);box-shadow:0 0 0 1px var(--border)}.adm-seg-count{font:500 11px var(--font-mono);color:var(--text-muted)}.adm-table-wrap{border-top:1px solid var(--border);overflow-x:auto}.adm-table{border-collapse:collapse;width:100%;color:var(--text-primary);font-size:13px}.adm-table thead th{z-index:1;background:var(--surface-raised);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:0;font-weight:600;position:sticky;top:0}.adm-th-btn{width:100%;color:var(--text-secondary);font:600 12px var(--font-ui);cursor:pointer;text-align:inherit;background:0 0;border:0;align-items:center;gap:5px;padding:10px 14px;display:inline-flex}.adm-table th.num .adm-th-btn{justify-content:flex-end}.adm-th-btn:hover,.adm-table th[aria-sort=ascending] .adm-th-btn,.adm-table th[aria-sort=descending] .adm-th-btn{color:var(--text-primary)}.adm-table th:not(:has(.adm-th-btn)){font:600 12px var(--font-ui);color:var(--text-secondary);padding:10px 14px}.adm-table td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:9px 14px}.adm-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-raised) 60%, transparent)}.adm-table tbody tr:hover td{background:var(--gold-soft)}.adm-table tbody tr.is-down td:first-child{box-shadow:inset 3px 0 0 var(--down)}.adm-table td.num,.adm-table th.num{text-align:right}.adm-table td.actions,.adm-table th.actions{white-space:nowrap;text-align:right;width:1%}.mono{font-family:var(--font-mono);font-size:12.5px}.adm-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.adm-of{color:var(--text-muted)}.adm-muted{color:var(--text-muted);white-space:nowrap}.adm-warn-text{color:var(--warn)}.adm-empty-row td{text-align:center;color:var(--text-secondary);padding:36px 14px}.adm-table td:nth-child(2){min-width:190px}.adm-name-btn{color:var(--text-primary);font:600 13px var(--font-ui);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.adm-name-btn:hover{color:var(--gold-strong);text-underline-offset:3px;text-decoration:underline}.adm-status{white-space:nowrap;align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:inline-flex}.adm-status .dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.adm-status.up{color:var(--up)}.adm-status.up .dot{background:var(--up);box-shadow:0 0 0 3px var(--up-dim)}.adm-status.down{color:var(--down)}.adm-status.down .dot{background:var(--down);box-shadow:0 0 0 3px var(--down-dim)}.adm-status.disabled,.adm-status.unknown{color:var(--text-muted)}.adm-tag{background:var(--surface-raised);color:var(--text-secondary);border:1px solid var(--border);border-radius:5px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-block}.adm-tag.core,.adm-tag.superadmin{background:var(--gold-soft);color:var(--gold-strong);border-color:#0000}.adm-row-actions{gap:4px;display:inline-flex}.adm-icon-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;display:inline-grid}.adm-icon-btn:hover:not(:disabled){background:var(--surface-raised);border-color:var(--border);color:var(--text-primary)}.adm-icon-btn.danger:hover:not(:disabled){color:var(--down);border-color:var(--down-dim);background:var(--down-dim)}.adm-icon-btn:disabled{opacity:.35;cursor:not-allowed}.adm-user{align-items:center;gap:10px;display:flex}.adm-avatar{width:30px;height:30px;font:700 11px var(--font-ui);background:var(--surface-raised);color:var(--text-secondary);border:1px solid var(--border);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.adm-avatar.superadmin{background:var(--gold);color:#1a1502;border-color:var(--gold)}.adm-user-name{font-weight:600}.adm-me{background:var(--up-dim);color:var(--up);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600}.adm-chips{flex-wrap:wrap;gap:5px;display:flex}.adm-chip{background:var(--surface-raised);border:1px solid var(--border);max-width:260px;font:500 12px var(--font-mono);white-space:nowrap;text-overflow:ellipsis;border-radius:5px;align-items:baseline;gap:6px;padding:3px 8px;display:inline-flex;overflow:hidden}.adm-chip-sub{font-family:var(--font-ui);color:var(--text-muted);text-overflow:ellipsis;overflow:hidden}.adm-chip.more{color:var(--text-secondary);cursor:help}.adm-pager{border-top:1px solid var(--border);color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;font-size:12.5px;display:flex}.adm-pager-pages{align-items:center;gap:4px;display:flex}.adm-pager button{border:1px solid var(--border);background:var(--surface);min-width:32px;height:30px;color:var(--text-secondary);font:600 12px var(--font-ui);cursor:pointer;border-radius:6px;padding:0 9px}.adm-pager button.active{background:var(--gold);border-color:var(--gold);color:#1a1502}.adm-pager button:disabled{opacity:.4;cursor:not-allowed}.adm-pager-gap{color:var(--text-muted);padding:0 4px}.dm-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06080c9e;place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0}:root[data-theme=light] .dm-overlay{background:#1e293b61}.dm-modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:100%;max-width:760px;max-height:calc(100vh - 48px);animation:.16s ease-out dm-in;display:flex;overflow:hidden;box-shadow:0 30px 80px #00000073}.dm-modal.narrow{max-width:560px}@keyframes dm-in{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.dm-modal{animation:none}}.dm-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:26px 30px 18px;display:flex}.dm-header h2{letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:22px;font-weight:700}.dm-header p{color:var(--text-secondary);margin:6px 0 0;font-size:15px}.dm-header-right{align-items:center;gap:10px;display:flex}.dm-close{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.dm-close:hover:not(:disabled){background:var(--surface-raised);color:var(--text-primary)}.dm-status{border:1px solid;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.dm-status .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.dm-status.up{color:var(--up);background:var(--up-dim);border-color:color-mix(in srgb, var(--up) 35%, transparent)}.dm-status.down{color:var(--down);background:var(--down-dim);border-color:color-mix(in srgb, var(--down) 35%, transparent)}.dm-tabs{border-bottom:1px solid var(--border);gap:8px;padding:0 22px;display:flex}.dm-tab{color:var(--text-secondary);font:600 15px var(--font-ui);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:16px 14px 15px;display:inline-flex;position:relative}.dm-tab:hover:not(:disabled){color:var(--text-primary)}.dm-tab:disabled{opacity:.45;cursor:not-allowed}.dm-tab.active{color:var(--text-primary)}.dm-tab.active svg{color:#3b82f6}.dm-tab.active:after{content:"";background:#3b82f6;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:8px;right:8px}.dm-tab-count{background:var(--surface-raised);border:1px solid var(--border);min-width:20px;font:600 11px var(--font-mono);color:var(--text-secondary);border-radius:10px;padding:1px 6px}.dm-body{flex:1;padding:8px 30px 24px;overflow-y:auto}.dm-section{padding:22px 0 6px}.dm-section+.dm-section{border-top:1px solid var(--border)}.dm-section h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.dm-section>p{color:var(--text-secondary);max-width:70ch;margin:4px 0 16px;font-size:14px}.dm-grid{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.dm-field{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.dm-label{color:var(--text-secondary);font-size:14px;font-weight:500}.dm-label b{color:var(--down);margin-left:4px;font-weight:600}.dm-field-hint{color:var(--text-muted);font-size:12px}.dm-field textarea{border:1px solid var(--border);background-color:var(--bg);width:100%;min-height:96px;color:var(--text-primary);font:500 14px var(--font-mono);resize:vertical;border-radius:8px;outline:none;padding:12px 16px;line-height:1.55}.dm-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}:root[data-theme=light] .dm-field textarea{background-color:#fff}.dm-ls{background:var(--surface-raised);border:1px solid var(--border);font:500 11px var(--font-mono);color:var(--text-secondary);border-radius:4px;margin-left:8px;padding:1px 6px}.dm-field input,.dm-field select{border:1px solid var(--border);background-color:var(--bg);width:100%;height:48px;color:var(--text-primary);font:500 15px var(--font-ui);border-radius:8px;outline:none;padding:0 16px;transition:border-color .12s,box-shadow .12s}:root[data-theme=light] .dm-field input,:root[data-theme=light] .dm-field select{background-color:#fff}.dm-field input.mono{font-family:var(--font-mono);font-size:14px}.dm-field input::placeholder{color:var(--text-muted)}.dm-field input:focus,.dm-field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.dm-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238b97a8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:42px}.dm-inline{gap:10px;margin:-4px 0 12px;display:flex}.dm-alert{border:1px solid;border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:12px 0;padding:11px 14px;font-size:13px;display:flex}.dm-alert.success{color:var(--up);background:var(--up-dim);border-color:color-mix(in srgb, var(--up) 30%, transparent)}.dm-alert.error{color:var(--down);background:var(--down-dim);border-color:color-mix(in srgb, var(--down) 30%, transparent)}.dm-alert span{color:var(--text-secondary)}.dm-alert strong+span{flex-basis:100%}.dm-hint{color:var(--text-muted);margin:10px 2px;font-size:13px}.dm-list-bar{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.dm-list{border:1px solid var(--border);background:var(--bg);border-radius:10px;max-height:380px;overflow-y:auto}:root[data-theme=light] .dm-list{background:#fff}.dm-check-row{border-bottom:1px solid var(--border-soft);cursor:pointer;grid-template-columns:18px minmax(120px,auto) 1fr auto;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:grid}.dm-check-row:last-child{border-bottom:0}.dm-check-row:hover{background:var(--surface-raised)}.dm-check-row.checked{background:var(--gold-soft)}.dm-check-row input{width:16px;height:16px;accent-color:var(--gold-strong);margin:0}.dm-check-main{color:var(--text-primary);font-weight:600}.dm-check-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dm-pill{border-radius:10px;padding:2px 9px;font-size:11.5px;font-weight:600}.dm-pill.up{color:var(--up);background:var(--up-dim)}.dm-pill.down{color:var(--down);background:var(--down-dim)}.dm-pill.warn{color:var(--warn);background:var(--warn-dim)}.dm-picker-bar{align-items:center;gap:10px;margin-bottom:8px;display:flex}.dm-picker-list{border:1px solid var(--border);background:var(--bg);border-radius:10px;max-height:300px;overflow-y:auto}:root[data-theme=light] .dm-picker-list{background:#fff}.dm-picker .dm-check-row{grid-template-columns:18px auto 1fr}.dm-count{font:600 12px var(--font-mono);color:var(--text-secondary);white-space:nowrap}.dm-choice{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dm-choice-item{border:1px solid var(--border);cursor:pointer;background:var(--bg);border-radius:10px;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.dm-choice-item input{opacity:0;pointer-events:none;position:absolute}.dm-choice-item strong{color:var(--text-primary);font-size:14px}.dm-choice-item span{color:var(--text-secondary);font-size:12.5px}.dm-choice-item.checked{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.dm-choice-item:focus-within{outline:2px solid var(--gold);outline-offset:2px}.dm-footer{border-top:1px solid var(--border);background:var(--surface);justify-content:flex-end;align-items:center;gap:12px;padding:18px 30px;display:flex}.dm-footer .adm-btn{height:46px;padding:0 28px;font-size:15px}.dm-footer .adm-btn.primary{min-width:160px}.dm-footer-note{color:var(--text-secondary);margin-right:auto;font-size:13px}@media (width<=760px){.adm-page{padding:16px 12px}.adm-head{flex-direction:column;padding:16px 16px 12px}.adm-pager{padding:12px 16px}.adm-toolbar{padding:0 16px 12px}.adm-search{flex:100%;min-width:0}.dm-header,.dm-body,.dm-footer{padding-left:18px;padding-right:18px}.dm-tabs{padding:0 8px;overflow-x:auto}.dm-tab{padding:14px 10px;font-size:14px}.dm-grid,.dm-choice{grid-template-columns:1fr}.dm-check-row{grid-template-columns:18px 1fr auto}.dm-check-row .dm-check-sub{grid-column:2/-1}.dm-footer{flex-wrap:wrap}.dm-footer-note{flex-basis:100%}}.trf-page{gap:16px}.trf-search-card{overflow:visible}.trf-count{border:1px solid var(--border);background:var(--surface-raised);font:600 12px var(--font-mono);color:var(--text-secondary);white-space:nowrap;border-radius:999px;align-self:center;padding:5px 11px}.trf-search-wrap{padding:0 22px 20px;position:relative}.trf-search{border:1px solid var(--border);background:var(--bg);height:46px;color:var(--text-muted);border-radius:10px;align-items:center;gap:10px;padding:0 8px 0 14px;display:flex}.trf-search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.trf-search input{min-width:0;color:var(--text-primary);font:500 15px var(--font-ui);background:0 0;border:0;outline:0;flex:1}.trf-clear{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.trf-clear:hover{background:var(--surface-raised);color:var(--text-primary)}.trf-suggest{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:10px;max-height:320px;margin:0;padding:6px;list-style:none;position:absolute;top:50px;left:22px;right:22px;overflow-y:auto;box-shadow:0 16px 40px #00000059}.trf-suggest li{color:var(--text-primary);cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:14px;font-weight:600;display:flex}.trf-suggest li.active{background:var(--gold-soft)}.trf-suggest-count{font:500 12px var(--font-mono);color:var(--text-muted);white-space:nowrap}.trf-empty{text-align:center;color:var(--text-secondary);padding:36px 22px;font-size:14px}.trf-empty strong{color:var(--text-primary);margin-bottom:4px;font-size:15px;display:block}.trf-empty p{margin:0}.trf-hint{box-shadow:none;background:0 0;border-style:dashed}.trf-limit{background:var(--warn-dim);color:var(--warn);border-radius:8px;margin:0;padding:10px 14px;font-size:13px}.trf-group-head{align-items:baseline;gap:10px;margin:4px 2px 10px;display:flex}.trf-group-head h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.trf-group-head span{color:var(--text-muted);font-size:12.5px}.trf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.trf-grid .mini-chart-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:10px;min-width:0;padding:12px 14px 6px}.trf-grid .mini-chart-title{color:var(--text-primary);margin-bottom:6px;font-size:13px}.trf-title{align-items:baseline;gap:8px;min-width:0;display:flex}.trf-title-main{font-family:var(--font-mono);white-space:nowrap;font-weight:600}.trf-title-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}@media (width<=1200px){.trf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.trf-grid{grid-template-columns:1fr}.trf-search-wrap{padding:0 16px 16px}.trf-suggest{left:16px;right:16px}}
