*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-6{height:1.5rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--brand:#06c;--brand-dark:#0059b3;--brand-deep:#014a96;--brand-light:#e6f0fb;--brand-faint:#f3f8fd;--orange:#f90;--orange-600:#e88a00;--orange-700:#c76f00;--orange-tint:#fff3e0;--blue:#06c;--blue-tint:#e6f0fb;--ink:#231f20;--green:#1faf6a;--green-soft:#e6f6ee;--red:#dc3a3a;--red-soft:#fbeaea;--cyan:#14b3cf;--cyan-soft:#e1f5f8;--amber:#cf8a14;--bg:#f5f7fa;--surface:#fff;--surface-2:#fafbfc;--surface-3:#f0f2f5;--border:#e6e9ee;--border-strong:#d6dae1;--text:#0f1729;--text-2:#475063;--text-3:#8a93a3;--text-inv:#fff;--shadow-sm:0 1px 2px rgba(15,23,41,.05);--shadow-md:0 4px 14px rgba(15,23,41,.08);--shadow-lg:0 30px 70px -18px rgba(15,23,41,.4);--r-sm:7px;--r:8px;--r-lg:10px;--sidebar-w:232px;--band-h:76px;--sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}html[data-theme=dark]{--brand:#3d86e8;--brand-dark:#2f77e4;--brand-light:#16243a;--brand-faint:#131a26;--orange-tint:#2a2113;--blue-tint:#16243a;--bg:#0e1116;--surface:#161a21;--surface-2:#1a1f27;--surface-3:#222832;--border:#262c36;--border-strong:#333a46;--text:#eef0f3;--text-2:#9aa3b2;--text-3:#6b7484;--green-soft:#14271d;--red-soft:#2a1717;--cyan-soft:#102329;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 14px rgba(0,0,0,.4);--shadow-lg:0 30px 70px -18px rgba(0,0,0,.6)}*{box-sizing:border-box}body,html{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;letter-spacing:-.003em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background:var(--brand);color:#fff}::selection{background:var(--brand);color:#fff}.tnum{font-variant-numeric:tabular-nums;font-family:var(--mono)}.layout{display:flex;flex-direction:column;height:100vh;min-height:760px;overflow:hidden}.body-row{display:flex;flex:1;min-height:0}.main-col{flex:1;min-width:0;overflow-y:auto;display:flex;flex-direction:column}.content{padding:4px 28px 30px;max-width:1680px;width:100%}.topband{height:var(--band-h);flex-shrink:0;background:var(--brand);color:#fff;display:flex;align-items:center;gap:16px;padding:0 22px 0 20px;position:relative;z-index:5}html[data-theme=dark] .topband{background:#10151d;border-bottom:1px solid var(--border)}.tb-logo{display:flex;align-items:center;gap:8px;width:70px;flex-shrink:0}.tb-logo svg{width:70px;height:22px}.tb-ctx{display:flex;align-items:center;gap:9px;height:38px;padding:0 13px;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.18);border-radius:var(--r);cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;color:#fff}html[data-theme=dark] .tb-ctx{background:var(--surface-3);border-color:var(--border)}.tb-ctx .dotc{width:7px;height:7px;border-radius:50%;background:var(--orange)}.tb-search{height:38px;display:flex;align-items:center;gap:10px;padding:0 13px;width:320px;flex-shrink:0;margin-right:10px;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.18);border-radius:var(--r);color:hsla(0,0%,100%,.82);cursor:pointer;font-size:13px;text-align:left}html[data-theme=dark] .tb-search{background:var(--surface-3);border-color:var(--border);color:var(--text-3)}.tb-search svg{width:15px;height:15px}.tb-search span{flex:1}.tb-search kbd{font-family:var(--mono);font-size:10.5px;padding:2px 6px;background:rgba(0,0,0,.18);border:1px solid hsla(0,0%,100%,.14);border-radius:4px}.tb-spacer{flex:1}.tb-btn{width:36px;height:36px;display:grid;place-items:center;position:relative;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.18);border-radius:var(--r);color:#fff;cursor:pointer}html[data-theme=dark] .tb-btn{background:var(--surface-3);border-color:var(--border)}.tb-btn:hover{background:hsla(0,0%,100%,.2)}.tb-btn svg{width:16px;height:16px}.tb-btn .ncount{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;background:var(--orange);color:#fff;border-radius:99px;font-family:var(--mono);font-size:10px;font-weight:600;display:grid;place-items:center;border:2px solid var(--brand)}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;position:relative;z-index:2}.sb-user,.sidebar{flex-shrink:0;display:flex}.sb-user{background:var(--brand);color:#fff;height:var(--band-h);padding:14px 16px;align-items:center;gap:12px}html[data-theme=dark] .sb-user{background:#10151d;border-bottom:1px solid var(--border)}.sb-user .av{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#ffc684,#f90);display:grid;place-items:center;font-size:14px;font-weight:700;color:#5a3818;border:2px solid hsla(0,0%,100%,.4)}.sb-user .who{min-width:0;flex:1}.sb-user .who b{font-size:13px;font-weight:600}.sb-user .who b,.sb-user .who small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-user .who small{font-family:var(--mono);font-size:10px;color:hsla(0,0%,100%,.72);letter-spacing:.02em}.nav{padding:6px 10px 8px;flex:1;display:flex;flex-direction:column;gap:1px;overflow-y:auto}.nav-label{padding:14px 12px 5px;font-size:10px;font-weight:600;color:var(--text-3);letter-spacing:.05em;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;background:transparent;border:none;border-radius:var(--r-sm);cursor:pointer;text-align:left;width:100%;text-decoration:none;white-space:nowrap;font-family:var(--sans);font-size:13.5px;color:var(--text);font-weight:450;transition:background .12s,color .12s}.nav-item:hover{background:var(--surface-3)}.nav-item svg{width:17px;height:17px;flex-shrink:0;stroke-width:1.6}.nav-item>span:first-of-type{flex:1}.nav-item.active{background:var(--brand-light);color:var(--brand);font-weight:600}.nav-item.active svg{stroke-width:1.9}.nav-item .ncount{font-family:var(--mono);font-size:10.5px;padding:1px 7px;border-radius:99px;font-weight:500;background:var(--surface-3);color:var(--text-2)}.nav-item.active .ncount{background:var(--brand);color:#fff}.nav-item .ncount.live{background:var(--green-soft);color:var(--green)}.nav-item .ncount.alert{background:var(--red);color:#fff}.sidebar-foot{padding:8px 10px 14px;border-top:1px solid var(--border)}.page-head{padding:20px 28px 14px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.page-head .crumb{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.page-head .crumb span{font-size:12px;color:var(--text-3);font-weight:400}.page-head .crumb .sep{color:var(--text-3);opacity:.6}.page-head .ph-title{font-size:22px;font-weight:600;color:var(--brand);letter-spacing:-.015em;line-height:1.1}.page-head .ph-sub{font-size:13px;color:var(--text-2);margin-top:6px}.page-head .spacer{flex:1}.toolbar{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.btn,.toolbar{align-items:center}.btn{display:inline-flex;gap:7px;justify-content:center;padding:8px 14px;height:36px;border-radius:var(--r-sm);font:inherit;font-weight:500;font-size:13px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:.12s;white-space:nowrap}.btn:hover{background:var(--surface-3)}.btn svg{width:15px;height:15px}.btn-primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn-primary:hover{background:var(--orange-600)}.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}.btn-brand:hover{background:var(--brand-dark)}.btn-dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn-dark:hover{background:#000}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-3);color:var(--text)}.btn-sm{padding:6px 11px;height:30px;font-size:12px}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 35%,transparent)}.btn-primary:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 38%,transparent)}.btn:active{transform:translateY(.5px)}.btn.is-disabled,.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn.loading{color:transparent!important;position:relative;pointer-events:none}.btn.loading:after{content:"";position:absolute;width:15px;height:15px;border:2px solid;border-top:2px solid transparent;border-radius:50%;color:#fff;animation:spin .6s linear infinite}.btn.btn-ghost.loading:after,.btn:not(.btn-primary):not(.btn-brand):not(.btn-dark).loading:after{color:var(--brand)}@keyframes spin{to{transform:rotate(1turn)}}.icon-btn{width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--text-2);position:relative;transition:.12s}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn svg{width:16px;height:16px}.search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:8px 12px;color:var(--text-3)}.search:focus-within{border-color:var(--brand)}.search input{border:none;background:none;outline:none;flex:1;font:inherit;color:var(--text);font-size:13px}.search svg{width:16px;height:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.card-head{display:flex;align-items:center;gap:12px;padding:14px 18px 12px}.card-head h3{font-size:14px;font-weight:600;letter-spacing:-.005em}.card-head .sub{font-size:12px;color:var(--text-3);margin-top:2px}.card-head .spacer{flex:1}.card-body{padding:16px 18px}.grid-x{display:grid;gap:16px}.g-cols-4{grid-template-columns:repeat(4,1fr)}.g-cols-3{grid-template-columns:repeat(3,1fr)}.g-cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width:1280px){.g-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:1000px){.g-cols-2,.g-cols-3{grid-template-columns:1fr}}.row{gap:16px}.kpi,.row{display:flex}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:15px 16px;box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;min-width:0}.kpi-top{display:flex;align-items:center;gap:10px}.kpi-ico{width:32px;height:32px;border-radius:var(--r-sm);display:grid;place-items:center;flex-shrink:0;background:var(--orange-tint);color:var(--orange-700)}.kpi-ico.blue{background:var(--blue-tint);color:var(--brand)}.kpi-ico svg{width:17px;height:17px}.kpi-label{font-size:12.5px;color:var(--text-2);font-weight:500}.kpi-val{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--text)}.kpi-val small{font-size:14px;font-weight:600;color:var(--text-3)}.kpi-foot{display:flex;gap:6px;font-size:12px;font-weight:500;color:var(--text-3)}.kpi-foot,.trend{align-items:center}.trend{display:inline-flex;gap:3px;font-weight:600}.trend.up{color:var(--green)}.trend.down{color:var(--red)}.trend svg{width:13px;height:13px}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:13px 15px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--text-3)}.stat-tile.green:before{background:var(--green)}.stat-tile.red:before{background:var(--red)}.stat-tile.cyan:before{background:var(--cyan)}.stat-tile.orange:before{background:var(--orange)}.stat-tile.blue:before{background:var(--brand)}.stat-tile .sv{font-size:24px;font-weight:600;letter-spacing:-.02em}.stat-tile .sl{font-size:12px;font-weight:500;color:var(--text-2);margin-top:1px}.stat-tile .ss{font-size:11px;color:var(--text-3);margin-top:4px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:99px;background:var(--surface-3);color:var(--text-2);white-space:nowrap}.badge .dotc{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.live{background:var(--green-soft);color:var(--green)}.badge.warn{background:var(--orange-tint);color:var(--orange-700)}.badge.danger{background:var(--red-soft);color:var(--red)}.badge.blue{background:var(--brand-light);color:var(--brand)}.badge.cyan{background:var(--cyan-soft);color:var(--cyan)}.pulse{animation:pulse 1.8s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:11px 14px;white-space:nowrap;position:sticky;top:0;background:var(--surface)}table.data td,table.data th{border-bottom:1px solid var(--border)}table.data td{padding:12px 14px;vertical-align:middle}table.data tbody tr{transition:background .1s}table.data tbody tr:hover{background:var(--surface-2)}table.data tbody tr:last-child td{border-bottom:none}.t-name{display:flex;align-items:center;gap:10px}.t-name b{font-weight:600}.t-name small{color:var(--text-3);display:block;font-size:11.5px}.ph-pick{transition:transform .12s ease}.ph-pick:hover{transform:scale(1.04)}.ph-cam{position:absolute;right:-3px;bottom:-3px;width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;border:2px solid var(--surface);opacity:.9}.ph-cam svg{width:9px;height:9px}.ph-pick:hover .ph-cam{opacity:1}.mini-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:11px;color:#fff;flex-shrink:0}.seg{display:inline-flex;background:var(--surface-3);border-radius:var(--r-sm);padding:3px;gap:2px}.seg button{border:none;background:none;font:inherit;font-weight:500;font-size:12.5px;color:var(--text-2);padding:5px 12px;border-radius:5px;cursor:pointer}.seg button.active{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm);font-weight:600}.bar{height:7px;background:var(--surface-3);overflow:hidden}.bar,.bar>i{border-radius:99px}.bar>i{display:block;height:100%;transition:width .4s}.bar>i,.bar>i.blue{background:var(--brand)}.bar>i.green{background:var(--green)}.bar>i.red{background:var(--red)}.bar>i.orange{background:var(--orange)}.section-title{font-size:13px;font-weight:600;letter-spacing:-.005em;margin-bottom:12px;display:flex;align-items:center;gap:8px}.muted{color:var(--text-3)}.divider{height:1px;background:var(--border);margin:4px 0}.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);padding:7px 11px;border-radius:var(--r-sm);font-size:13px;font-weight:500;color:var(--text);cursor:pointer;height:36px}.chip svg{width:14px;height:14px;color:var(--text-3)}.chip:hover{border-color:var(--border-strong)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:2px solid var(--surface)}::-webkit-scrollbar-track{background:transparent}.chart-tip{position:fixed;pointer-events:none;z-index:100;background:var(--ink);color:#fff;font-size:11.5px;font-weight:500;padding:6px 9px;border-radius:6px;box-shadow:var(--shadow-lg);white-space:nowrap;font-family:var(--mono)}.chart-tip b{color:var(--orange)}.feed{display:flex;flex-direction:column}.feed-item{display:flex;gap:11px;padding:11px 4px;border-bottom:1px solid var(--border);align-items:flex-start}.feed-item:last-child{border-bottom:none}.feed-ico{width:30px;height:30px;border-radius:var(--r-sm);flex-shrink:0;display:grid;place-items:center}.feed-ico svg{width:15px;height:15px}.feed-ico.enter{background:var(--green-soft);color:var(--green)}.feed-ico.exit{background:var(--red-soft);color:var(--red)}.feed-ico.move{background:var(--blue-tint);color:var(--brand)}.feed-txt{flex:1;min-width:0;font-size:13px}.feed-txt b{font-weight:600}.feed-txt .time{font-size:11.5px;color:var(--text-3);font-family:var(--mono)}.feed-new{animation:slideIn .4s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.status-dot.ok{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.status-dot.busy{background:var(--orange);box-shadow:0 0 0 3px var(--orange-tint)}.status-dot.full{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.status-dot.off{background:var(--text-3)}.cmdk-overlay{position:fixed;inset:0;background:rgba(15,23,41,.42);display:flex;justify-content:center;align-items:flex-start;padding-top:90px;z-index:200;backdrop-filter:blur(2px)}.cmdk{width:600px;max-width:calc(100vw - 40px);background:var(--surface);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;max-height:64vh;display:flex;flex-direction:column}.cmdk-search{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.cmdk-search input{flex:1;border:none;outline:none;background:none;font:inherit;font-size:14.5px;color:var(--text)}.cmdk-search svg{width:16px;height:16px;color:var(--text-3)}.cmdk-list{flex:1;overflow-y:auto;padding:6px 0}.cmdk-sec{padding:8px 18px 4px;font-size:10.5px;color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.cmdk-item{width:100%;display:flex;align-items:center;gap:12px;padding:9px 18px;background:none;cursor:pointer;font:inherit;font-size:13px;color:var(--text);border:none;border-left:2px solid transparent}.cmdk-item.sel,.cmdk-item:hover{background:var(--brand-faint);border-left-color:var(--brand);color:var(--brand)}.cmdk-item svg{width:15px;height:15px}.cmdk-item span{flex:1;text-align:left}.field{margin-bottom:14px}.field>label,.form-label{display:block;font-size:11.5px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.input,.select,.textarea{width:100%;padding:9px 12px;height:38px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);font:inherit;font-size:13px;font-weight:500;color:var(--text);transition:border-color .12s,box-shadow .12s}.textarea{height:auto;min-height:80px;resize:vertical}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--text-3);font-weight:400}.input::placeholder,.textarea::placeholder{color:var(--text-3);font-weight:400}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light)}.input:disabled,.select:disabled{background:var(--surface-3);color:var(--text-3);cursor:not-allowed}.input.invalid,.select.invalid,.textarea.invalid{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.field .hint{color:var(--text-3)}.field .err,.field .hint{font-size:11.5px;margin-top:5px}.field .err{color:var(--red);font-weight:500}.input-group{position:relative}.input-group svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-3);pointer-events:none}.input-group .input{padding-left:34px}.check{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:500;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.check input{position:absolute;opacity:0;width:0;height:0}.check .box{width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:5px;display:grid;place-items:center;transition:.12s;flex-shrink:0;background:var(--surface)}.check .box svg{width:12px;height:12px;color:#fff;opacity:0;stroke-width:3}.check input:checked+.box{background:var(--brand);border-color:var(--brand)}.check input:checked+.box svg{opacity:1}.switch{width:42px;height:24px;border-radius:99px;background:var(--border-strong);position:relative;cursor:pointer;flex-shrink:0;transition:background .15s;border:none;padding:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}.switch.on{background:var(--orange)}.switch.on:after{left:21px}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,41,.46);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:80px 24px 24px;z-index:200;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:560px;max-width:100%;max-height:calc(100vh - 120px);background:var(--surface);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:popIn .18s cubic-bezier(.2,.8,.3,1)}.modal.lg{width:820px}.modal.sm{width:440px}@keyframes popIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:14px}.modal-head .mh-ic{width:36px;height:36px;border-radius:var(--r);background:var(--brand-faint);color:var(--brand);display:grid;place-items:center;flex-shrink:0}.modal-head .mh-ic svg{width:18px;height:18px}.modal-head h2{font-size:16px;font-weight:600;letter-spacing:-.005em;display:flex;align-items:center;gap:8px}.modal-head p{font-size:13px;color:var(--text-2);margin-top:3px}.modal-head .mh-x{width:32px;height:32px;display:grid;place-items:center;background:none;border:none;border-radius:6px;color:var(--text-3);cursor:pointer;flex-shrink:0}.modal-head .mh-x:hover{background:var(--surface-3);color:var(--text)}.modal-head .mh-x svg{width:16px;height:16px}.modal-body{padding:20px 22px;overflow-y:auto;flex:1}.modal-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--surface-2)}.modal-foot .mf-note{font-size:12px;color:var(--text-3)}.modal-foot .mf-btns{display:flex;gap:8px;margin-left:auto}.steps{gap:12px;padding:12px 22px;border-bottom:1px solid var(--border)}.step,.steps{display:flex;align-items:center}.step{gap:8px}.step .sn{width:22px;height:22px;border-radius:50%;background:var(--bg);border:1px solid var(--border);color:var(--text-3);display:grid;place-items:center;font-size:11px;font-weight:600}.step.active .sn{background:var(--brand);border-color:var(--brand);color:#fff}.step.done .sn{background:var(--green);border-color:var(--green);color:#fff}.step .sl{font-size:12.5px;color:var(--text-3);font-weight:500}.step.active .sl{color:var(--text);font-weight:600}.step-line{flex:1;height:1px;background:var(--border);max-width:70px}.opt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.opt{position:relative;padding:14px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:9px;min-height:92px;justify-content:center;transition:.12s;color:var(--text);font:inherit}.opt:hover{border-color:var(--text-3)}.opt.sel{background:var(--brand-faint);border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-faint)}.opt .opt-mark{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:var(--surface-3);color:var(--text-2)}.opt.sel .opt-mark{background:var(--brand);color:#fff}.opt .opt-mark svg{width:19px;height:19px}.opt span{font-size:12px;font-weight:500}.drawer-overlay{position:fixed;inset:0;background:rgba(15,23,41,.4);z-index:200;animation:fadeIn .15s ease}.drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:92vw;background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:201;animation:slideLeft .22s cubic-bezier(.2,.8,.3,1)}@keyframes slideLeft{0%{transform:translateX(100%)}to{transform:none}}.drawer-head{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.drawer-head h2{font-size:16px;font-weight:600;flex:1}.drawer-body{flex:1;overflow-y:auto}.notif{display:flex;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);cursor:pointer}.notif:hover{background:var(--surface-2)}.notif.unread{background:var(--brand-faint)}.notif .ni{width:32px;height:32px;border-radius:var(--r-sm);display:grid;place-items:center;flex-shrink:0}.notif .ni svg{width:16px;height:16px}.notif .nt{font-size:13px;font-weight:600}.notif .nd{font-size:12px;color:var(--text-2);margin-top:2px}.notif .nm{font-size:11px;color:var(--text-3);font-family:var(--mono);margin-top:4px}.toast-wrap{position:fixed;bottom:22px;right:22px;z-index:300;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:flex-start;gap:11px;min-width:300px;max-width:380px;padding:13px 14px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--r);box-shadow:var(--shadow-md);animation:toastIn .25s cubic-bezier(.2,.8,.3,1)}.toast.success{border-left-color:var(--green)}.toast.error{border-left-color:var(--red)}.toast.warn{border-left-color:var(--orange)}@keyframes toastIn{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}.toast .ti{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;flex-shrink:0}.toast .ti svg{width:16px;height:16px}.toast .tt{flex:1}.toast .tt b{font-size:13px;font-weight:600;display:block}.toast .tt span{font-size:12px;color:var(--text-2)}.toast .tx{background:none;border:none;color:var(--text-3);cursor:pointer;padding:2px}.toast .tx svg{width:14px;height:14px}.sk{background:linear-gradient(90deg,var(--surface-3) 25%,color-mix(in srgb,var(--surface-3) 60%,var(--surface)) 37%,var(--surface-3) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:6px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 24px}.empty.compact{padding:40px 24px}.empty .e-ill{position:relative;width:84px;height:84px;margin-bottom:20px;border-radius:21px;background:var(--brand-faint);color:var(--brand);display:grid;place-items:center}.empty .e-ill.danger{background:var(--red-soft);color:var(--red)}.empty .e-ill.warn{background:var(--orange-tint);color:var(--orange-700)}.empty .e-ill svg{width:36px;height:36px}.empty h3{font-size:17px;font-weight:600;letter-spacing:-.01em}.empty p{font-size:13.5px;color:var(--text-2);line-height:1.6;max-width:380px;margin-top:8px}.empty .e-actions{display:flex;gap:10px;margin-top:20px}.swatch{border-radius:var(--r);overflow:hidden;border:1px solid var(--border)}.swatch .sw-c{height:60px}.swatch .sw-meta{padding:8px 10px;background:var(--surface)}.swatch .sw-meta b{font-size:12px;font-weight:600;display:block}.swatch .sw-meta code{font-size:11px;color:var(--text-3);font-family:var(--mono)}