@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-foreground:var(--foreground);--color-card:var(--card);--color-muted:var(--muted)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{border-color:var(--border)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text)}body{font-variant-numeric:tabular-nums;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:14px;line-height:1.5;overflow:hidden}button{font:inherit;color:inherit}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-10{height:calc(var(--spacing) * 10)}.w-full{width:100%}.max-w-full{max-width:100%}.min-w-0{min-width:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-visible{overflow-y:visible}.overscroll-x-contain{overscroll-behavior-x:contain}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-card{background-color:var(--color-card)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-10{padding-block:calc(var(--spacing) * 10)}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--color-foreground)}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[push\:sim\]{push:sim}.running{animation-play-state:running}.zoom-out{--tw-exit-scale:0}@media (hover:hover){.hover\:bg-muted\/50:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:#0b0e14;--foreground:#e8eff7;--card:#121826;--card-foreground:#e8eff7;--popover:#161f2e;--popover-foreground:#e8eff7;--primary:#2dd4bf;--primary-foreground:#04211c;--secondary:#161f2e;--secondary-foreground:#e8eff7;--muted:#161f2e;--muted-foreground:#93a3b8;--accent:#2dd4bf1a;--accent-foreground:#2dd4bf;--destructive:#f45b5b;--destructive-foreground:#fff;--border:#1e2a3a;--input:#1e2a3a;--ring:#2dd4bf66;--bg:#0b0e14;--panel:#121826;--panel-2:#161f2e;--line:#1e2a3a;--line-soft:#182233;--text:#e8eff7;--text-2:#93a3b8;--text-3:#5c6b7e;--brand:#2dd4bf;--data:#38cff5;--ok:#34d399;--warn:#fbbf24;--crit:#f45b5b;--info:#46a9ff;--r:10px;--zebra:repeating-linear-gradient(-45deg, #f5c51d 0 8px, #141414 8px 16px)}.light{--background:#eef1f6;--foreground:#18222f;--card:#fff;--card-foreground:#18222f;--popover:#fff;--popover-foreground:#18222f;--primary:#0ea08a;--primary-foreground:#fff;--secondary:#f2f5f9;--secondary-foreground:#18222f;--muted:#f2f5f9;--muted-foreground:#51617a;--accent:#0ea08a1a;--accent-foreground:#0ea08a;--destructive:#d6453d;--border:#dce3ec;--input:#dce3ec;--ring:#0ea08a59;--bg:#eef1f6;--panel:#fff;--panel-2:#f2f5f9;--line:#dce3ec;--line-soft:#e7ecf3;--text:#18222f;--text-2:#51617a;--text-3:#8593a6;--brand:#0ea08a;--data:#0b87be;--ok:#0e9b69;--warn:#c07f06;--crit:#d6453d;--info:#2477d0}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
.ssp-root{height:100vh;display:flex;overflow:hidden}.side{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:2px;width:186px;padding:12px 10px;transition:width .18s;display:flex}.side .logo{align-items:center;gap:9px;padding:2px 8px 12px;display:flex}.side .logo .name{letter-spacing:.05em;font-size:14.5px;font-weight:700}.side .logo .sub{color:var(--text-3);letter-spacing:.16em;font-size:9.5px}.nav-l{color:var(--text-2);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:600;text-decoration:none;display:flex;position:relative}.nav-l svg{opacity:.85;flex-shrink:0}.nav-l:hover{background:var(--panel-2);color:var(--text)}.nav-l.on{color:var(--brand);background:#2dd4bf1a}.nav-l.on:before{content:"";background:var(--brand);border-radius:2px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.nav-l .n-badge{color:#ff9b9b;background:#f45b5b29;border-radius:999px;margin-left:auto;padding:0 7px;font-size:10.5px;font-weight:700;line-height:17px}.nav-sec{letter-spacing:.14em;color:var(--text-3);padding:12px 12px 4px;font-size:10.5px;font-weight:700}.nav-l.nav-back{color:var(--text-3);font-weight:600}.nav-l.nav-back:hover{color:var(--brand)}.nav-l.soon{cursor:default;opacity:.5}.nav-l.soon:hover{color:var(--text-2);background:0 0}.nav-l .soon-tag{color:var(--text-3);border:1px solid var(--line-soft);border-radius:999px;margin-left:auto;padding:0 6px;font-size:9.5px;font-weight:700;line-height:15px}.side .grow{flex:1}.side .tip{color:var(--text-3);border-top:1px solid var(--line-soft);padding:8px 10px;font-size:10.5px;line-height:1.5}.nav-tg{border:1px solid var(--line);background:var(--panel-2);color:var(--text-3);cursor:pointer;border-radius:8px;margin:4px 6px;padding:5px;font-size:13px;line-height:1}.nav-tg:hover{color:var(--brand);border-color:var(--brand)}body.nav-min .side{width:62px;padding:12px 7px}body.nav-min .side .logo{justify-content:center;padding:2px 0 12px}body.nav-min .side .logo>div{display:none}body.nav-min .nav-l{justify-content:center;padding:11px 0}body.nav-min .nav-l .nl-t{display:none}body.nav-min .n-badge{margin:0;padding:0 5px;font-size:9px;line-height:14px;position:absolute;top:3px;right:5px}body.nav-min .side .tip{display:none}body.nav-min .nav-sec{background:var(--line);border-radius:1px;height:1px;margin:10px 12px;padding:0;font-size:0}.main{flex-direction:column;flex:1;gap:9px;min-width:0;padding:10px 14px;display:flex;overflow:hidden}.ssp-header{align-items:center;gap:12px;padding:0 2px;display:flex}.pg-title{letter-spacing:.04em;font-size:16px;font-weight:800}.pg-title small{color:var(--text-3);letter-spacing:.08em;font-size:11px;font-weight:400;display:block}.site-switch{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.site-switch:hover{border-color:var(--brand)}.site-switch .dot{background:var(--ok);border-radius:50%;width:7px;height:7px}.site-menu{position:relative}.site-pop{z-index:50;background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;min-width:240px;padding:6px;position:absolute;top:40px;left:0;box-shadow:0 8px 28px #00000040}.site-pop-i{width:100%;color:var(--text-1);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.site-pop-i:hover{background:var(--bg)}.site-pop-i.on{color:var(--brand);background:#2dd4bf1f;font-weight:700}.site-pop-i .grow{flex:1}.site-pop-i .dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:7px;height:7px}.site-pop-i .dot.off{background:var(--text-3)}.site-pop-code{color:var(--text-3);font-size:11px}.site-pop-empty{color:var(--text-3);text-align:center;padding:10px;font-size:12px}.site-pop-add{border:1px dashed var(--line);width:100%;color:var(--brand);cursor:pointer;background:0 0;border-radius:7px;margin-top:4px;padding:8px 10px;font-size:13px;font-weight:600}.site-pop-add:hover{border-color:var(--brand);background:#2dd4bf1a}.site-err{color:var(--crit);background:#ef44441f;border-radius:7px;margin-top:8px;padding:8px 10px;font-size:12.5px}.h-spacer{flex:1}.chip{background:var(--panel);border:1px solid var(--line);color:var(--text-2);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:12.5px;display:inline-flex}.chip b{color:var(--text);font-weight:600}.clock{letter-spacing:.04em;font-size:20px;font-weight:700}.clock small{color:var(--text-3);letter-spacing:.1em;text-align:right;font-size:10.5px;font-weight:400;display:block}.avatar{color:#04211c;cursor:pointer;background:linear-gradient(135deg,#1f6e64,#2dd4bf);border:none;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.user-menu{position:relative}.user-pop{z-index:50;background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;min-width:160px;padding:10px 12px;position:absolute;top:40px;right:0;box-shadow:0 8px 28px #00000040}.user-pop-name{color:var(--text-1);font-size:14px;font-weight:700}.user-pop-sub{color:var(--text-3);margin-bottom:8px;font-size:12px}.user-pop-logout{border:1px solid var(--line-soft);background:var(--bg);width:100%;height:34px;color:var(--crit);cursor:pointer;border-radius:8px;font-size:13px;font-weight:600}.user-pop-logout:hover{background:var(--crit);color:#fff}.ro-tag{color:var(--text-3);border:1px solid var(--line-soft);border-radius:999px;margin-left:auto;padding:2px 10px;font-size:11px}.hdr-gear{border:1px solid var(--line);background:var(--panel);width:32px;height:32px;color:var(--text-2);border-radius:8px;flex-shrink:0;place-items:center;font-size:15px;text-decoration:none;display:grid}.hdr-gear:hover{border-color:var(--brand);color:var(--brand)}.hdr-gear.router-link-active{border-color:var(--brand);color:var(--brand);background:#2dd4bf24}.theme-tg{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex}.theme-tg button{color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:2px 11px;font-size:12px}.theme-tg button.on{color:var(--brand);background:#2dd4bf24;font-weight:700}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}.card-h{border-bottom:1px solid var(--line-soft);letter-spacing:.14em;color:var(--text-2);align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:700;display:flex}.card-h .sub{color:var(--text-3);letter-spacing:0;font-size:11px;font-weight:400}.card-h .live{color:var(--crit);letter-spacing:.1em;align-items:center;gap:6px;margin-left:auto;font-size:11px;display:flex}.pulse{background:var(--crit);border-radius:50%;width:7px;height:7px;position:relative}.pulse:after{content:"";border:1.5px solid var(--crit);border-radius:50%;animation:1.6s ease-out infinite pulse;position:absolute;inset:-4px}@keyframes pulse{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.3)}}.btn{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.hdr-gear,.nav-tg,.cw-x,.theme-tg button{justify-content:center;align-items:center;gap:4px;display:inline-flex}.chip,.hdr-warn,.cert-file-link{align-items:center;gap:5px;display:inline-flex}.tip{align-items:flex-start;gap:5px;display:flex}.tip svg{flex-shrink:0;margin-top:1px}.btn:hover{border-color:var(--brand);color:var(--brand)}.btn.primary{color:var(--brand);background:#2dd4bf24;border-color:#2dd4bf66}.btn.danger{color:#ff9b9b;background:#f45b5b1f;border-color:#f45b5b66}.btn.sm{border-radius:6px;padding:2px 10px;font-size:12px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{border-color:var(--line);color:var(--text)}.kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px;display:grid}.kpi{border-top:2px solid var(--line);text-align:left;padding:9px 16px 8px;position:relative}.kpi .label{color:var(--text-2);letter-spacing:.12em;align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:flex}.kpi .value{letter-spacing:-.015em;margin-top:1px;font-size:36px;font-weight:800;line-height:1.1}.kpi .value small{color:var(--text-3);margin-left:4px;font-size:13px;font-weight:500}.kpi .meta{color:var(--text-2);gap:13px;margin-top:1px;font-size:12px;display:flex}.kpi .meta b{color:var(--text);font-weight:700}.kpi.brand{border-top-color:var(--brand)}.kpi.brand .value{color:var(--brand)}.kpi.data{border-top-color:var(--data)}.kpi.crit{border-top-color:var(--crit)}.kpi.crit .value{color:var(--crit)}.kpi.ok{border-top-color:var(--ok)}.kpi.warn{border-top-color:var(--warn)}.kpi.warn .value{color:var(--warn)}.trend-up{color:var(--ok);font-weight:600}.kico{opacity:.4;width:42px;height:42px;color:var(--text-3);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.kico svg{width:100%;height:100%;display:block}.kpi.brand .kico{color:var(--brand);opacity:.55}.kpi.data .kico{color:var(--data);opacity:.5}.kpi.crit .kico{color:var(--crit);opacity:.8}.kpi.ok .kico{color:var(--ok);opacity:.5}.kpi.warn .kico{color:var(--warn);opacity:.6}@keyframes swing{0%,to{transform:rotate(-11deg)}50%{transform:rotate(11deg)}}.kico .bell{transform-box:fill-box;transform-origin:50% 10%;animation:1.3s ease-in-out infinite swing}@media (max-width:1280px){.kico{display:none}}.st{border:1px solid var(--line);border-radius:999px;padding:0 9px;font-size:11px;line-height:19px;display:inline-block}.st.new{color:#ff9b9b;border-color:#f45b5b66}.st.ack{color:#ffd97a;border-color:#fbbf2459}.st.done{color:#7ce0b8;border-color:#34d39959}.st.off{color:var(--text-3)}.sev{letter-spacing:.08em;border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.sev.crit{color:#ff9b9b;background:#f45b5b29}.sev.warn{color:#ffd97a;background:#fbbf2424}.sev.info{color:#8fc8ff;background:#46a9ff24}.dot-s{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dot-s.ok{background:var(--ok)}.dot-s.alert{background:var(--crit)}.dot-s.off{background:var(--text-3)}.dot-s.warn{background:var(--warn)}.page{flex-direction:column;flex:1;gap:9px;min-height:0;display:flex}.tabs{background:var(--panel-2);border:1px solid var(--line);border-radius:7px;gap:2px;padding:2px;display:flex}.tabs button{color:var(--text-3);cursor:pointer;letter-spacing:.05em;background:0 0;border:0;border-radius:5px;padding:3px 13px;font-size:12.5px}.tabs button.on{color:var(--brand);background:#2dd4bf26;font-weight:700}.tabs button .tab-badge{color:var(--warn);vertical-align:middle;background:#e6a82d29;border-radius:999px;margin-left:6px;padding:0 6px;font-size:10.5px;font-weight:700;line-height:16px;display:inline-block}.grid3{flex:1;grid-template-columns:330px minmax(0,1fr) 330px;gap:9px;min-height:0;display:grid}.env-rail{flex-direction:column;min-height:0;display:flex}.env-list{flex:1;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:6px;min-height:0;padding:8px;display:grid;overflow:auto}.m{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:8px;flex-direction:column;min-height:0;padding:8px 13px 6px;display:flex;position:relative;overflow:hidden}.m .k{color:var(--text-2);letter-spacing:.06em;align-items:center;gap:7px;font-size:18px;font-weight:700;line-height:1.3;display:flex}.m .row{margin-top:2px}.m .v{letter-spacing:-.015em;font-size:34px;font-weight:800;line-height:1.08}.m .v small{color:var(--text-3);margin-left:3px;font-size:13px;font-weight:500}.m .th{color:var(--text-3);margin-top:auto;font-size:10.5px;line-height:1.3}.m.warn .v{color:var(--warn)}.m.crit{border-color:#f45b5b73}.m.crit .v{color:var(--crit)}.m.crit:before{content:"";background:var(--crit);width:3px;position:absolute;top:0;bottom:0;left:0}.m .over{color:#ff9b9b;background:#f45b5b26;border-radius:4px;padding:0 6px;font-size:10px;font-weight:700}.env-list .m:first-child{grid-column:1/-1}.ec .k{font-size:15px}.ico{width:38px;height:38px;color:var(--data);opacity:.55;pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.ico svg{width:100%;height:100%;display:block}.m.warn .ico,.ec.warn .ico{color:var(--warn);opacity:.9}.m.crit .ico,.ec.crit .ico{color:var(--crit);opacity:.95}.m .ico,.ec .ico{opacity:.8;width:22px;height:22px;top:9px;right:11px;transform:none}.m .k,.ec .k{padding-right:28px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes merc{0%,to{transform:scaleY(.72)}50%{transform:scaleY(1)}}@keyframes wavep{0%,to{opacity:.15}50%{opacity:1}}@keyframes drift{0%{opacity:.25;transform:translateY(2px)}55%{opacity:1}to{opacity:.15;transform:translateY(-3.5px)}}@keyframes fume{0%{opacity:.2;transform:translateY(2.5px)}50%{opacity:.95}to{opacity:.15;transform:translateY(-3px)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.ico .fan{transform-box:fill-box;transform-origin:50%;animation:2.4s linear infinite spin}.ico .drop{animation:3s ease-in-out infinite bob}.ico .merc{transform-origin:20px 26px;animation:3.2s ease-in-out infinite merc}.ico .w1{animation:1.6s ease-in-out infinite wavep}.ico .w2{animation:1.6s ease-in-out .4s infinite wavep}.m.crit .ico .w1,.m.crit .ico .w2,.ec.crit .ico .w1,.ec.crit .ico .w2{animation-duration:.85s}.ico .pa{animation:2.6s ease-in-out infinite drift}.ico .pb{animation:2.6s ease-in-out .7s infinite drift}.ico .pc{animation:2.6s ease-in-out 1.3s infinite drift}.ico .pd{animation:2.6s ease-in-out 1.9s infinite drift}.ico .f1{animation:2.4s ease-in-out infinite fume}.ico .f2{animation:2.4s ease-in-out .6s infinite fume}.ico .f3{animation:2.4s ease-in-out 1.2s infinite fume}.ico .cl{transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite breathe}.ico .rays{transform-box:fill-box;transform-origin:50%;animation:14s linear infinite spin}@media (max-width:1380px){.env-list .m .ico{display:none}}@media (prefers-reduced-motion:reduce){.ico *{animation:none!important}}.heat{gap:4px;margin-top:6px;display:flex}.heat i{background:var(--line);border-radius:3px;flex:1;height:8px}.heat i.on1{background:#34d399}.heat i.on2{background:#fbbf24}.heat i.on3{background:#fb923c}.heat i.on4{background:#f45b5b}.ec .over{color:#ff9b9b;background:#f45b5b26;border-radius:4px;padding:0 6px;font-size:10px;font-weight:700}.heat-note{color:var(--warn);margin-top:3px;font-size:10px;font-weight:600}.hz-wrap{flex:1;align-items:center;gap:8px;min-height:0;display:flex}.hz-left{flex:none;min-width:120px}.hz-g{flex-shrink:1;width:auto;height:100%;min-height:0;max-height:104px;margin:0 auto}.gnd{transition:transform .8s cubic-bezier(.34,1.3,.5,1)}.tbar{background:var(--line);border-radius:3px;height:6px;margin-top:9px;position:relative}.tbar .fill{background:var(--ok);border-radius:3px;transition:width .8s cubic-bezier(.34,1.3,.5,1),background-color .3s;position:absolute;top:0;bottom:0;left:0}.tbar .fill:after{content:"";background:inherit;width:10px;height:10px;box-shadow:0 0 0 2.5px var(--panel-2);border-radius:50%;position:absolute;top:50%;right:-2px;transform:translateY(-50%)}.tbar.warn .fill{background:var(--warn)}.tbar.over .fill{background:var(--crit)}.tbar .notch{background:var(--warn);opacity:.55;border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.tbar .notch.lim{background:var(--crit);opacity:.8}.ec .tbar{margin-top:7px}.wall{flex-direction:column;min-height:0;display:flex}.wall-grid{flex:1;gap:8px;min-height:0;padding:10px;display:grid}.wall-grid.g4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.wall-grid.g4 .cam:nth-child(n+5){display:none}.wall-grid.g9{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr)}.wall-grid.g9 .zone,.wall-grid.g9 .ol-bot{display:none}.wall-grid.g9 .id{font-size:11px}.cam{border:1px solid var(--line);background:#0a0f17;border-radius:8px;min-height:0;position:relative;overflow:hidden}.cam.empty{border:1.5px dashed var(--line);background:0 0;overflow:visible}.cam.add{cursor:pointer;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:border-color .15s,color .15s,background .15s;display:flex}.cam.add:hover{border-color:var(--brand);color:var(--brand);background:#2dd4bf0f}.cam.add .add-ico{font-size:30px;font-weight:300;line-height:1}.cam.add .add-t{font-size:12.5px;font-weight:600}.wall-grid.g9 .cam.add .add-ico{font-size:22px}.wall-grid.g9 .cam.add .add-t{font-size:11px}.wall-foot{border-top:1px solid var(--line-soft);color:var(--text-3);align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:flex}.wall-count b{color:var(--text-1)}.wall-pager{gap:4px;margin-left:auto;display:flex}.wall-pager button{border:1px solid var(--line);background:var(--panel);min-width:26px;height:26px;color:var(--text-2);cursor:pointer;border-radius:6px;padding:0 6px;font-size:12px}.wall-pager button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.wall-pager button.on{border-color:var(--brand);color:var(--brand);background:#2dd4bf24;font-weight:700}.wall-pager button:disabled{opacity:.4;cursor:default}.cam .scene{position:absolute;inset:0}.cam.c1 .scene{background:radial-gradient(120% 90% at 70% -10%,#20354b,#12202f 45%,#0a121d)}.cam.c2 .scene{background:radial-gradient(130% 100% at 25% -15%,#233348,#152232 50%,#0b131e)}.cam.c3 .scene{background:radial-gradient(120% 95% at 55% -10%,#1d3038,#122029 48%,#0a1218)}.cam .scene:before{content:"";background:linear-gradient(#303f528c,#141c26e6);height:38%;position:absolute;bottom:0;left:0;right:0}.cam .scene:after{content:"";background:repeating-linear-gradient(0deg,#ffffff07 0 1px,#0000 1px 3px),radial-gradient(120% 120%,#0000 55%,#00000080 100%);position:absolute;inset:0}.cam .ol-top{z-index:2;align-items:flex-start;display:flex;position:absolute;top:7px;left:9px;right:9px}.cam .id{letter-spacing:.05em;text-shadow:0 1px 3px #000c;color:#e8eff7;font-size:12px;font-weight:700}.cam .zone{color:#93a3b8;font-size:11px;font-weight:400;display:block}.cam .live-b{letter-spacing:.12em;color:#ff8a8a;background:#0000008c;border-radius:5px;align-items:center;gap:5px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700;display:flex}.cam .live-b .pulse{width:6px;height:6px}.cam .ol-bot{color:#5c6b7e;z-index:2;justify-content:space-between;font-size:10.5px;display:flex;position:absolute;bottom:6px;left:9px;right:9px}.bbox{z-index:2;border:1.5px solid var(--crit);border-radius:3px;width:17%;height:44%;position:absolute;top:34%;left:56%;box-shadow:0 0 18px #f45b5b59}.bbox .tag{background:var(--crit);color:#2b0707;white-space:nowrap;border-radius:4px 4px 4px 0;padding:1px 7px;font-size:10.5px;font-weight:700;position:absolute;top:-22px;left:-1.5px}.cam.offline .scene{background:#0d1119}.cam.offline .off-c{z-index:2;text-align:center;color:#5c6b7e;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.cam.offline .off-c b{color:#93a3b8;margin-top:4px;display:block}.plan-wrap{flex:1;min-height:0;padding:10px;position:relative}.plan-wrap>svg{width:100%;height:100%;display:block}.plan-wrap.binding,.plan-wrap.binding svg *{cursor:crosshair}.plan-legend{color:var(--text-2);border:1px solid var(--line);background:#0b0e148c;border-radius:7px;gap:13px;padding:4px 12px;font-size:11px;display:flex;position:absolute;bottom:14px;left:18px}.light .plan-legend{background:#ffffffbf}.plan-legend i{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.bind-hint{z-index:9;color:var(--brand);background:#2dd4bf29;border:1px solid #2dd4bf80;border-radius:999px;padding:5px 18px;font-size:12.5px;font-weight:700;position:absolute;top:16px;left:50%;transform:translate(-50%)}.cdot{cursor:pointer}.cdot circle.core{fill:var(--ok);stroke:var(--bg);stroke-width:2px}.cdot .fov{fill:#34d39924}.cdot.alert circle.core{fill:var(--crit)}.cdot.alert .fov{fill:#f45b5b24}.cdot.off circle.core{fill:var(--text-3)}.cdot.off .fov{fill:#5c6b7e1a}.cdot circle.ring{fill:none;stroke:var(--crit);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite pulse}.cdot:hover circle.core{stroke:var(--brand)}.cdot text{fill:var(--text-2);letter-spacing:.05em;font-size:10px}.plan-pop{z-index:10;background:var(--panel-2);border:1px solid var(--line);pointer-events:none;border-radius:9px;width:180px;position:absolute;overflow:hidden;box-shadow:0 8px 28px #00000080}.pp-scene{background:radial-gradient(120% 90% at 60% -10%,#22364c,#13212f 50%,#0a121d);height:96px;position:relative}.pp-scene:after{content:"";background:repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 3px);position:absolute;inset:0}.pp-live{color:#ff8a8a;z-index:2;background:#0000008c;border-radius:4px;padding:1px 7px;font-size:9.5px;font-weight:700;position:absolute;top:6px;right:7px}.plan-pop.is-off .pp-scene{background:#0d1119}.pp-body{padding:6px 10px 7px}.pp-name{color:var(--text);font-size:12px;font-weight:700}.pp-zone{color:var(--text-2);font-size:11px}.pp-hint{color:var(--text-3);margin-top:2px;font-size:10px}.cam-win{background:var(--panel);border:1px solid var(--line);z-index:100;border-radius:10px;width:330px;position:fixed;overflow:hidden;box-shadow:0 16px 44px #0000008c}.cw-bar{background:var(--panel-2);border-bottom:1px solid var(--line-soft);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:8px;padding:6px 11px;font-size:12px;display:flex}.cw-bar b{font-weight:700}.cw-zone{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.cw-dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:7px;height:7px}.cam-win.is-alert .cw-dot{background:var(--crit)}.cam-win.is-off .cw-dot{background:var(--text-3)}.cw-x{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:13px}.cw-x:hover{color:var(--crit)}.cw-scene{aspect-ratio:16/9;background:radial-gradient(120% 90% at 60% -10%,#22364c,#13212f 50%,#0a121d);position:relative}.cw-scene:before{content:"";background:linear-gradient(#303f5280,#141c26e6);height:38%;position:absolute;bottom:0;left:0;right:0}.cw-scene:after{content:"";background:repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 3px);position:absolute;inset:0}.cw-live{z-index:2;color:#ff8a8a;background:#0000008c;border-radius:4px;padding:1px 8px;font-size:10px;font-weight:700;position:absolute;top:7px;right:8px}.cw-ts{z-index:2;color:#5c6b7e;font-size:10px;position:absolute;bottom:6px;right:9px}.cam-win.is-off .cw-scene{background:#0d1119}.cw-rs{cursor:nwse-resize;z-index:4;opacity:.75;touch-action:none;background:linear-gradient(135deg, transparent 0 55%, var(--text-3) 55% 60%, transparent 60% 70%, var(--text-3) 70% 75%, transparent 75% 85%, var(--text-3) 85% 90%, transparent 90%);width:20px;height:20px;position:absolute;bottom:0;right:0}.cw-rs:hover{opacity:1}.col-mid{flex-direction:column;gap:9px;min-width:0;min-height:0;display:flex}.col-mid .wall{flex:1;min-height:0}.io-card{flex-shrink:0}.io-wrap{grid-template-columns:1.35fr 1fr;gap:0;padding:6px 0;display:grid}.io-people,.io-veh{min-width:0;padding:2px 12px}.io-people{border-right:1px solid var(--line-soft)}.io-h{letter-spacing:.1em;color:var(--text-2);align-items:center;gap:6px;margin:2px 0 8px;font-size:13.5px;font-weight:700;display:flex}.more-link{color:var(--text-3);align-items:center;gap:3px;font-size:11px;text-decoration:none;display:inline-flex}.more-link:hover{color:var(--brand)}.pc-grid{grid-template-columns:1fr 1fr;grid-auto-rows:min-content;align-content:start;align-items:start;gap:6px;min-height:158px;display:grid}.veh-list{min-height:158px}.io-empty{min-height:150px;color:var(--text-3);border:1px dashed var(--line-soft);border-radius:10px;grid-column:1/-1;justify-content:center;align-items:center;font-size:13px;display:flex}.pc{background:var(--bg);border:1px solid var(--line-soft);border-radius:10px;align-items:center;gap:12px;min-width:0;padding:11px 14px;display:flex}.pc .pa{background:var(--panel-2);border:2.5px solid var(--ok);border-radius:10px;flex-shrink:0;width:56px;height:56px;position:relative;overflow:visible}.pc .pa svg{border-radius:6px;width:100%;height:100%;display:block}.pc .pa i{background:var(--ok);color:#04211c;border:2px solid var(--panel);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-style:normal;font-weight:800;display:grid;position:absolute;bottom:-4px;right:-4px}.pc.block .pa{border-color:var(--crit)}.pc.block .pa i{background:var(--crit);color:#2b0707}.pc .pinfo{min-width:0;line-height:1.45}.pc .pinfo b{white-space:nowrap;text-overflow:ellipsis;font-size:16px;display:block;overflow:hidden}.pc .pinfo span{color:var(--text-3);white-space:nowrap;font-size:12.5px}.pc .pinfo .whytxt{color:#ff9b9b;font-style:normal;font-weight:700}.light .pc .pinfo .whytxt{color:#b23730}.pc.incoming{animation:.45s slidein}.vr{border-bottom:1px dashed var(--line-soft);align-items:center;gap:10px;min-width:0;padding:11px 0;display:flex}.vr:last-child{border-bottom:0}.plate{color:#16181b;letter-spacing:.12em;white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 1px #ffffffe6,0 -.5px #00000059;background:linear-gradient(#fff,#f2f4f6);border:2px solid #23272c;border-radius:5px;padding:0 15px;font-family:Arial Narrow,Arial,sans-serif;font-size:13.5px;font-weight:900;line-height:25px;position:relative;box-shadow:inset 0 0 0 1.5px #e2e6ea}.plate:before,.plate:after{content:"";background:#aeb6bd;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:inset 0 .5px 1px #00000080}.plate:before{left:5px}.plate:after{right:5px}.vr.block .plate{color:#b23730;border-color:#b23730}.vr .vt{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.vr .vtime{color:var(--text-3);margin-left:auto;font-size:11.5px}.vr .st{flex-shrink:0}.vr.incoming{animation:.45s slidein}.feed{flex-direction:column;min-height:0;display:flex}.feed-list{flex-direction:column;flex:1;gap:7px;padding:9px;display:flex;overflow:auto}.evt{background:var(--panel-2);border:1px solid var(--line-soft);border-left-width:3px;border-radius:8px;gap:10px;padding:8px 11px;display:flex}.evt.crit{border-left-color:var(--crit)}.evt.warn{border-left-color:var(--warn)}.evt.info{border-left-color:var(--info)}.evt .t{color:var(--text-3);min-width:38px;padding-top:1px;font-size:12px}.evt .body{flex:1;min-width:0}.evt .title{align-items:flex-start;gap:8px;font-size:13px;font-weight:600;display:flex}.evt .title .sev{white-space:nowrap;flex:none;margin-top:1px;margin-left:auto}.evt .meta{color:var(--text-2);margin-top:1px;font-size:12px}.evt .meta .zone{color:var(--data)}.evt .state{color:var(--text-3);align-items:center;gap:8px;margin-top:3px;font-size:11px;display:flex}@keyframes slidein{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.evt.incoming{animation:.45s slidein}.cctv-grid{flex:1;grid-template-columns:300px minmax(0,1fr);gap:9px;min-height:0;display:grid}.cam-list{flex-direction:column;min-height:0;display:flex}.cam-list .search{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:7px;width:calc(100% - 18px);margin:9px 9px 4px;padding:6px 11px;font-size:12.5px}.cam-list .search::placeholder{color:var(--text-3)}.cl-items{flex-direction:column;flex:1;gap:5px;padding:6px 9px 9px;display:flex;overflow:auto}.cl-i{background:var(--panel-2);border:1px solid var(--line-soft);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:7px 11px;display:flex}.cl-i:hover{border-color:var(--brand)}.cl-i .nm{font-size:12.5px;font-weight:700}.cl-i .zn{color:var(--text-3);font-size:11px}.cl-i .grow{flex:1;min-width:0}.cl-i .unbound{color:#ffd97a;background:#fbbf241f;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.light .cl-i .unbound{color:#8f5f05;background:#c07f061f}.cl-i .bound-mark{color:var(--text-3);font-size:10.5px}.cl-i .btn.sm{display:none}.cl-i:hover .btn.sm{display:inline-block}.cl-gear{color:var(--text-3);opacity:.65;flex-shrink:0;font-size:13px}.cl-i:hover .cl-gear,.cl-i:hover .bound-mark,.cl-i:hover .unbound{display:none}.modal-bg{z-index:200;background:#04070ca8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:430px;max-width:calc(100vw - 32px);overflow:hidden;box-shadow:0 24px 70px #0009}.modal.wide{width:600px}.modal .mh{border-bottom:1px solid var(--line-soft);align-items:center;padding:12px 18px;font-size:14px;font-weight:800;display:flex}.modal .mh .cw-x{margin-left:auto}.modal .mb{flex-direction:column;gap:11px;padding:14px 18px;display:flex}.modal .mf{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:8px;padding:11px 18px;display:flex}.modal .mf.det-mf{justify-content:flex-start;align-items:center}.btn.ico{text-align:center;width:26px;min-width:26px;padding:0}.det-row{border-bottom:1px dashed var(--line-soft);align-items:center;gap:10px;padding:5px 0;font-size:13px;display:flex}.det-k{width:68px;color:var(--text-3);flex-shrink:0;font-size:12px}.det-v{color:var(--text-1);align-items:center;gap:8px;display:flex}.det-v.mono code{background:var(--bg);border:1px solid var(--line-soft);color:var(--brand);border-radius:6px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.det-hint{color:var(--text-3);margin-top:8px;font-size:11.5px;line-height:1.6}.fld label{color:var(--text-2);letter-spacing:.1em;margin-bottom:4px;font-size:11.5px;font-weight:700;display:block}.fld input,.fld select,.fld textarea{background:var(--panel-2);border:1px solid var(--line);width:100%;color:var(--text);font:inherit;border-radius:7px;padding:7px 11px;font-size:13px}.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--brand);outline:none}.modal.danger .mh{color:#ff9b9b}.bc-grid{flex:1;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:9px;min-height:0;display:grid}.bc-left{flex-direction:column;gap:9px;min-height:0;display:flex}.quick-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;display:grid}.qb{background:var(--panel-2);border:1px solid var(--line-soft);cursor:pointer;text-align:left;color:var(--text);border-radius:10px;flex-direction:column;gap:3px;padding:13px 12px 11px;display:flex}.qb:hover{border-color:var(--brand)}.qb.sel{border-color:var(--brand);background:#2dd4bf14}.qb .qi{font-size:20px;line-height:1}.qb .qt{font-size:13.5px;font-weight:800}.qb .qd{color:var(--text-3);font-size:11px;line-height:1.4}.qb.emg{border-color:#f45b5b66}.qb.emg .qt{color:#ff9b9b}.light .qb.emg .qt{color:#b23730}.qb.emg:hover{border-color:var(--crit);background:#f45b5b12}.zone-chips{flex-wrap:wrap;gap:6px;padding:0 10px;display:flex}.zc{border:1px solid var(--line);background:var(--panel-2);color:var(--text-2);cursor:pointer;border-radius:999px;padding:4px 14px;font-size:12.5px;font-weight:600}.zc.sel{border-color:var(--brand);color:var(--brand);background:#2dd4bf1a}.bc-actions{align-items:center;gap:9px;padding:10px;display:flex}.bc-go{cursor:pointer;letter-spacing:.1em;color:var(--brand);background:#2dd4bf29;border:1px solid #2dd4bf80;border-radius:10px;flex:1;padding:12px;font-size:15px;font-weight:800}.bc-go:hover{background:#2dd4bf40}.bc-live{color:#ff9b9b;background:#f45b5b1a;border:1px solid #f45b5b66;border-radius:10px;align-items:center;gap:10px;margin:0 10px 10px;padding:9px 16px;font-size:13px;font-weight:700;display:flex}.light .bc-live{color:#b23730}.tts{padding:0 10px 10px}.tts textarea{background:var(--panel-2);border:1px solid var(--line);width:100%;height:52px;color:var(--text);font:inherit;resize:none;border-radius:8px;padding:8px 12px;font-size:13px}.tts textarea:focus{border-color:var(--brand);outline:none}.rules{flex-direction:column;flex:1;gap:7px;min-height:0;padding:9px;display:flex;overflow:auto}.rule{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:9px;align-items:center;gap:11px;padding:9px 13px;display:flex}.rule .sentence{flex:1;min-width:0;font-size:13px;line-height:1.7}.rule .sentence .cond{color:#8fc8ff;background:#46a9ff1f;border-radius:5px;padding:1px 8px;font-size:12px;font-weight:700}.rule .sentence .val{color:#ffd97a;background:#fbbf241f;border-radius:5px;padding:1px 8px;font-size:12px;font-weight:700}.rule .sentence .act{color:var(--brand);background:#2dd4bf1f;border-radius:5px;padding:1px 8px;font-size:12px;font-weight:700}.rule .cnt{color:var(--text-3);white-space:nowrap;font-size:11px}.sw{background:var(--line);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;width:36px;height:20px;transition:background .15s;position:relative}.sw:after{content:"";background:var(--text-2);border-radius:50%;width:16px;height:16px;transition:left .15s,background .15s;position:absolute;top:2px;left:2px}.sw.on{background:#2dd4bf66}.sw.on:after{background:var(--brand);left:18px}.rule.off-r{opacity:.5}.soon-badge{color:var(--text-3);border:1px solid var(--line-soft);vertical-align:middle;border-radius:999px;margin-left:6px;padding:0 7px;font-size:9.5px;font-weight:700;line-height:15px}.action-picks{flex-wrap:wrap;gap:6px;display:flex}.al-grid{flex:1;grid-template-rows:auto minmax(0,1fr);gap:9px;min-height:0;display:grid}.filters{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.fc{border:1px solid var(--line);background:var(--panel-2);color:var(--text-2);cursor:pointer;border-radius:999px;padding:3px 13px;font-size:12px;font-weight:600}.fc.sel{border-color:var(--brand);color:var(--brand);background:#2dd4bf1a}.fc.c-crit.sel{border-color:var(--crit);color:#ff9b9b;background:#f45b5b14}.light .fc.c-crit.sel{color:#b23730}.fc.c-warn.sel{border-color:var(--warn);color:#ffd97a;background:#fbbf2414}.light .fc.c-warn.sel{color:#8f5f05}.env-cards{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.ec{padding:11px 15px 10px;position:relative}.ec .k{color:var(--text-2);letter-spacing:.08em;align-items:center;gap:7px;font-size:17px;font-weight:700;display:flex}.ec .v{letter-spacing:-.01em;margin-top:2px;font-size:34px;font-weight:800;line-height:1.15}.ec .v small{color:var(--text-3);margin-left:3px;font-size:13px;font-weight:500}.ec .thline{color:var(--text-3);align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.ec .thline button{color:var(--text-3);cursor:pointer;background:0 0;border:0;font-size:11px}.ec .thline button:hover{color:var(--brand)}.ec svg.spark{width:100%;height:26px;margin-top:6px;display:block}.ec.warn{border-top:2px solid var(--warn)}.ec.warn .v{color:var(--warn)}.ec.crit{border-top:2px solid var(--crit)}.ec.crit .v{color:var(--crit)}.ec.okc{border-top:2px solid var(--line)}.ssp-footer{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:18px;padding:5px 15px;font-size:12px;display:flex}.st-dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.st-dot.ok{background:var(--ok)}.st-dot.warn{background:var(--warn)}.ssp-footer .right{color:var(--text-3);margin-left:auto}.ssp-footer b{color:var(--text);font-weight:600}.tbl-wrap{flex:1;min-height:0;overflow:auto}.tbl-wrap thead th{background:var(--panel);z-index:1;position:sticky;top:0}.p-ava{background:var(--panel-2);border:1px solid var(--line);width:26px;height:26px;color:var(--text-2);vertical-align:middle;border-radius:50%;place-items:center;margin-right:8px;font-size:11.5px;font-weight:700;display:inline-grid}@media (max-width:1280px){.grid3{grid-template-columns:270px minmax(0,1fr) 300px}.kpi .value{font-size:30px}}@media (max-width:1100px){.grid3,.cctv-grid,.bc-grid{grid-template-columns:1fr}.main{overflow-y:auto}.page,.grid3{flex:none}.env-list{flex:none;grid-auto-rows:min-content;overflow:visible}.kpis,.env-cards{grid-template-columns:repeat(2,1fr)}.cam{aspect-ratio:16/9}.plan-wrap{min-height:380px}.feed-list,.cl-items,.rules,.tbl-wrap{max-height:420px}}.hamburger{border:1px solid var(--line);background:var(--panel);width:36px;height:36px;color:var(--text-2);cursor:pointer;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:none}.hamburger:hover{color:var(--brand);border-color:var(--brand)}.nav-scrim{z-index:210;background:#00000080;animation:.18s scrim-in;position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}}@media (max-width:860px){.hamburger{display:inline-flex}.side{z-index:220;width:246px;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:8px 0 40px #00000073}.side.open{transform:translate(0)}body.nav-min .side{width:246px;padding:12px 10px}body.nav-min .side .logo{justify-content:flex-start;padding:2px 8px 12px}body.nav-min .side .logo>div{display:block}body.nav-min .nav-l{justify-content:flex-start;padding:9px 12px}body.nav-min .nav-l .nl-t{display:block}body.nav-min .nav-sec{background:0 0;height:auto;margin:0;padding:12px 12px 4px;font-size:10.5px}body.nav-min .side .tip{display:block}.nav-tg{display:none}.main{gap:8px;padding:8px 10px}.ssp-header{flex-wrap:wrap;gap:8px}.pg-title{font-size:15px}.pg-title small,.ssp-header .chip,.ssp-header .clock,.theme-tg{display:none}.h-spacer{flex:1}.site-switch{max-width:46vw}.site-switch>span:not(.dot){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ssp-footer{flex-wrap:wrap;gap:10px 16px}.ssp-footer .right{display:none}.io-wrap{grid-template-columns:1fr}.io-people{border-right:none;border-bottom:1px solid var(--line-soft);padding-bottom:12px}.io-veh{padding-top:12px}.pc-grid{grid-template-columns:1fr}}.board-fab{background:var(--brand);width:52px;height:52px;color:var(--bg);cursor:pointer;z-index:60;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:84px;right:28px;box-shadow:0 4px 14px #00000059}.board-fab:hover{opacity:.9}@media (prefers-reduced-motion:reduce){.pulse:after,.cdot circle.ring,.evt.incoming{animation:none}}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:32px 28px;display:flex}.login-card .brand{align-items:center;gap:12px;margin-bottom:4px;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:10px;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.brand-name{color:var(--text);font-size:17px;font-weight:800}.brand-sub{letter-spacing:.18em;color:var(--text-3);font-size:10px}.login-title{color:var(--text);margin:8px 0 2px;font-size:18px;font-weight:700}.fld{flex-direction:column;gap:5px;display:flex}.fld span{color:var(--text-2);font-size:12.5px;font-weight:600}.fld input{border:1px solid var(--line-soft);background:var(--bg);height:40px;color:var(--text);border-radius:9px;outline:none;padding:0 12px;font-size:14px}.fld input:focus{border-color:var(--brand)}.login-err{color:var(--crit);margin:0;font-size:12.5px}.login-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:9px;height:42px;margin-top:6px;font-size:15px;font-weight:700}.login-btn:disabled{opacity:.6;cursor:default}.settings-page{padding:18px}.mtag{color:var(--text-3);border:1px solid var(--line-soft);border-radius:999px;margin-left:10px;padding:2px 9px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.ss-body{max-width:820px;padding:6px 20px 12px}.sec-t{letter-spacing:.08em;color:var(--brand);margin:16px 0 8px;font-size:11.5px;font-weight:700}.sec-t:first-child{margin-top:4px}.grid2{grid-template-columns:1fr 1fr;gap:11px;display:grid}.ss-hint{color:var(--text-3);margin-top:8px;font-size:11.5px}.ss-body .fld input:disabled,.ss-body .fld select:disabled{opacity:.75;cursor:default}.mtbl{border-collapse:collapse;width:100%;font-size:13px}.mtbl th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--line);padding:10px 12px;font-size:11.5px;font-weight:600}.mtbl td{border-bottom:1px solid var(--line-soft);color:var(--text);padding:11px 12px}.mtbl .mono{color:var(--text-2);font-family:ui-monospace,Menlo,monospace}.mtbl .dim{color:var(--text-3);font-size:12px}.self-tag{color:var(--brand);border:1px solid var(--brand);border-radius:4px;margin-left:6px;padding:0 5px;font-size:10px}.st-pill{border-radius:999px;padding:2px 9px;font-size:11.5px}.st-pill.active{color:var(--ok);background:#2dd4bf24}.st-pill.suspended{color:var(--text-3);background:#94a3b82e}.mtbl td .btn.sm{margin-left:6px}.empty-row{text-align:center;color:var(--text-3);padding:28px 0}.two-col{grid-template-columns:1fr 1fr;gap:11px;display:grid}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{background:var(--panel);color:var(--text-3);cursor:pointer;border:0;padding:7px 14px;font-size:12.5px}.seg button.on{color:var(--brand);background:#2dd4bf24;font-weight:700}.matrix-label{color:var(--text-2);letter-spacing:.08em;margin:6px 0;font-size:11.5px;font-weight:700;display:block}.matrix{border:1px solid var(--line-soft);border-radius:8px;overflow:hidden}.matrix-h,.matrix-r{grid-template-columns:1fr 64px 64px;align-items:center;display:grid}.matrix-h{background:var(--bg);color:var(--text-3);padding:7px 12px;font-size:11px}.matrix-h span:not(:first-child),.matrix-r input{text-align:center;justify-self:center}.matrix-r{border-top:1px solid var(--line-soft);padding:7px 12px;font-size:13px}.matrix-r .m-name{color:var(--text)}.matrix-r input{cursor:pointer;width:16px;height:16px;accent-color:var(--brand)}.expiry-strip{color:var(--text-2);background:#f45b5b14;border:1px solid #f45b5b4d;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;display:flex}.expiry-strip .es-ic{color:var(--crit);font-size:16px}.es-bad{color:var(--crit);font-weight:700}.es-soon{color:var(--warn);font-weight:700}.es-list{color:var(--text-3)}.units-grid{grid-template-columns:340px 1fr;align-items:start;gap:14px;display:grid}.unit-list{flex-direction:column;gap:2px;padding:4px;display:flex}.unit-i{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;display:flex}.unit-i:hover{background:var(--bg)}.unit-i.on{background:#2dd4bf1a}.unit-i .nm{font-size:13.5px;font-weight:600}.unit-i .sub2{color:var(--text-3);margin-top:2px;font-size:11.5px}.role-tag{color:var(--text-3);border:1px solid var(--line-soft);border-radius:4px;margin-left:4px;padding:0 5px;font-size:10px}.role-tag.self{color:var(--brand);border-color:var(--brand)}.unit-i .wc{color:var(--text-2);font-size:12px}.btn.sm.iconbtn{opacity:.5;min-width:0;padding:3px 7px;transition:opacity .12s}.unit-i:hover .btn.sm.iconbtn,.unit-i.on .btn.sm.iconbtn{opacity:1}.hdr-warn{color:var(--warn);margin-left:12px;font-size:12px}.paired-y{color:var(--ok);font-size:12px}.paired-n{color:var(--text-3);font-size:12px}.exp-badge{background:var(--panel-2);color:var(--text-2);border-radius:999px;margin:1px 3px 1px 0;padding:1px 7px;font-size:10.5px;display:inline-block}.exp-badge.exp-bad{color:#ff9b9b;background:#f45b5b29}.exp-badge.exp-soon{color:var(--warn);background:#e6a82d29}.worker-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.wp-head{border-bottom:1px solid var(--line-soft);flex-shrink:0;align-items:center;gap:10px;margin-bottom:12px;padding:4px 2px 10px;display:flex}.wp-head .grow{flex:1}.wp-title{letter-spacing:.04em;font-size:15px;font-weight:800}.back-btn{font-weight:600}.wp-body{flex:1;min-height:0;padding:16px 22px 20px;overflow-y:auto}.wp-body .sec-t:first-child{margin-top:2px}@media (max-width:900px){.wp-body .grid3{grid-template-columns:1fr 1fr}}@media (max-width:600px){.wp-body .grid3{grid-template-columns:1fr}}@media (max-width:860px){.worker-page,.wp-body{flex:none;overflow:visible}.wp-head{z-index:5;background:var(--bg);position:sticky;top:0}}.cert-tbl{border-collapse:collapse;width:100%;font-size:12.5px}.cert-tbl td{border-bottom:1px solid var(--line-soft);padding:5px 6px}.cert-tbl td.exp-bad{color:#ff9b9b;font-weight:700}.cert-tbl td.exp-soon{color:var(--warn);font-weight:700}.cert-add{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.cert-add input{border:1px solid var(--line);background:var(--bg);min-width:120px;height:30px;color:var(--text);border-radius:7px;flex:1;padding:0 9px;font-size:12.5px}.cert-hint{color:var(--text-3);font-size:12px}.cert-file-link{color:var(--brand);cursor:pointer;margin-right:8px;font-weight:600}.cert-file-link:hover{text-decoration:underline}.cert-up{color:var(--text-3);border:1px solid var(--line);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;display:inline-flex}.cert-up:hover{color:var(--brand);border-color:var(--brand)}.cert-up-inline{white-space:nowrap;text-overflow:ellipsis;max-width:180px;height:30px;overflow:hidden}.live-feed{background:#000;position:absolute;inset:0}.live-feed video{object-fit:cover;width:100%;height:100%;display:block}.live-feed-msg{color:var(--text-3);text-align:center;justify-content:center;align-items:center;padding:12px;font-size:12px;display:flex;position:absolute;inset:0}.board-overlay{--bd-ink:#eef4f8;--bd-ink-2:#eef4f894;--bd-ink-3:#eef4f85c;--bd-glass:#ffffff0b;--bd-glass-2:#ffffff12;--bd-line:#ffffff17;--bd-brand:#2dd4bf;--bd-ok:#34d399;--bd-crit:#ff5c6e;--bd-warn:#fbbf24;--bd-data:#38bdf8;z-index:400;color:var(--bd-ink);font-feature-settings:"tnum" 1;background:radial-gradient(1200px 700px at 82% -8%,#2dd4bf24,#0000 60%),radial-gradient(900px 600px at 8% 108%,#38bdf81a,#0000 55%),linear-gradient(160deg,#0b1017 0%,#0a0f16 45%,#070b11 100%);flex-direction:column;padding:40px 48px 32px;display:flex;position:fixed;inset:0;overflow:hidden}.board-overlay:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff07 1px,#0000 1px),linear-gradient(90deg,#ffffff07 1px,#0000 1px);background-size:46px 46px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 100%);mask-image:linear-gradient(#000 0% 55%,#0000 100%)}.board-overlay:after{content:"";background:linear-gradient(90deg, transparent, var(--bd-brand), transparent);opacity:.55;pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.board-overlay>*{z-index:1;position:relative}.board-head{border-bottom:1px solid var(--bd-line);align-items:center;gap:20px;margin-bottom:26px;padding-bottom:22px;display:flex}.board-head-brand{align-items:center;gap:16px;display:flex}.board-mark{background:linear-gradient(180deg, var(--bd-brand), #0ea5a0);border-radius:4px;flex-shrink:0;align-self:stretch;width:12px;min-height:52px;box-shadow:0 0 18px #2dd4bf99}.board-title{letter-spacing:.02em;color:#fff;text-shadow:0 2px 24px #0006;font-size:46px;font-weight:900;line-height:1.05}.board-sub{color:var(--bd-brand);letter-spacing:.04em;align-items:center;gap:8px;margin-top:8px;font-size:21px;font-weight:600;display:flex}.board-sub .live-dot{background:var(--bd-brand);width:9px;height:9px;box-shadow:0 0 10px var(--bd-brand);border-radius:50%;animation:1.4s ease-in-out infinite bd-pulse}@keyframes bd-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.board-clock{text-align:right;margin-left:auto}.board-time{color:#fff;letter-spacing:.02em;font-variant-numeric:tabular-nums;text-shadow:0 0 30px #2dd4bf40;font-size:58px;font-weight:800;line-height:1}.board-date{color:var(--bd-ink-3);letter-spacing:.06em;margin-top:6px;font-size:16px;font-weight:600}.board-close{border:1px solid var(--bd-line);background:var(--bd-glass);color:var(--bd-ink-2);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;transition:all .15s;display:flex}.board-close:hover{color:var(--bd-brand);border-color:var(--bd-brand);background:#2dd4bf1a}.flash-zone{pointer-events:none;z-index:10;justify-content:center;align-items:center;gap:20px;display:flex;position:absolute;inset:0}.flash-queue-hint{color:var(--bd-ink-3);font-size:14px;font-weight:600;position:absolute;bottom:20px;right:28px}.board-kpis{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px;display:grid}.board-kpi{background:var(--bd-glass);border:1px solid var(--bd-line);--kpi-accent:var(--bd-ok);border-radius:16px;padding:20px 26px 18px;position:relative;overflow:hidden}.board-kpi.data{--kpi-accent:var(--bd-data)}.board-kpi.crit{--kpi-accent:var(--bd-crit)}.board-kpi.warn{--kpi-accent:var(--bd-warn)}.board-kpi.ok{--kpi-accent:var(--bd-ok)}.board-kpi:before{content:"";background:var(--kpi-accent);height:3px;box-shadow:0 0 16px var(--kpi-accent);position:absolute;top:0;left:0;right:0}.board-kpi:after{content:"";background:radial-gradient(circle, var(--kpi-accent), transparent 70%);opacity:.12;pointer-events:none;border-radius:50%;width:130px;height:130px;position:absolute;top:-40px;right:-40px}.board-kpi-label{color:var(--bd-ink-2);letter-spacing:.05em;font-size:22px;font-weight:700}.board-kpi-value{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:8px;font-size:84px;font-weight:900;line-height:1.02}.board-kpi-value small{color:var(--bd-ink-3);margin-left:6px;font-size:26px;font-weight:600}.board-cols{flex:1;grid-template-columns:1fr 1fr;gap:24px;min-height:0;display:grid}.board-col{flex-direction:column;min-height:0;display:flex}.board-col-h{color:#fff;letter-spacing:.04em;align-items:center;gap:12px;margin-bottom:16px;font-size:24px;font-weight:800;display:flex}.board-col-h:before{content:"";background:var(--bd-brand);width:4px;height:20px;box-shadow:0 0 12px var(--bd-brand);border-radius:2px}.board-col-h-sub{letter-spacing:.02em;color:var(--bd-brand);font-variant-numeric:tabular-nums;margin-left:auto;font-size:17px;font-weight:700}.board-entries{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.board-entry{background:var(--bd-glass);border:1px solid var(--bd-line);border-radius:16px;align-items:center;gap:20px;padding:20px 24px;display:flex}.board-entry.bad{background:#ff5c6e14;border-color:#ff5c6e8c}.board-entry-avatar{width:62px;height:62px;color:var(--bd-ok);background:#34d3991f;border:1px solid #34d3994d;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:26px;font-weight:800;display:flex}.board-entry-avatar.bad{color:var(--bd-crit);background:#ff5c6e1f;border-color:#ff5c6e59}.board-entry-photo{object-fit:cover;border-radius:14px;width:100%;height:100%;display:block}.board-entry-plate{border:2px solid var(--bd-ink-3);color:#fff;letter-spacing:1px;font-variant-numeric:tabular-nums;border-radius:10px;flex-shrink:0;padding:10px 16px;font-size:24px;font-weight:800}.board-entry-plate.bad{border-color:var(--bd-crit);color:var(--bd-crit)}.board-entry-body{flex:1;min-width:0}.board-entry-name{color:#fff;font-size:30px;font-weight:800}.board-entry-desc{color:var(--bd-ink-2);margin-top:4px;font-size:19px}.board-entry-right{text-align:right;flex-shrink:0}.board-entry-time{color:#fff;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1}.board-entry-badge{color:var(--bd-ok);letter-spacing:.05em;background:#34d39929;border:1px solid #34d3994d;border-radius:999px;margin-top:8px;padding:4px 14px;font-size:17px;font-weight:800;display:inline-block}.board-entry-badge.bad{color:var(--bd-crit);background:#ff5c6e29;border-color:#ff5c6e59}.board-crew{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow:hidden}.board-crew.cols2{grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:12px;display:grid}.board-crew.cols2 .board-crew-count{font-size:46px}.board-crew-row{background:var(--bd-glass);border:1px solid var(--bd-line);color:var(--bd-ink);border-radius:16px;flex:1 1 0;justify-content:space-between;align-items:center;gap:16px;min-height:0;padding:8px 24px;font-size:20px;font-weight:700;display:flex}.board-crew-row>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-crew-count{color:var(--bd-brand);font-variant-numeric:tabular-nums;text-shadow:0 0 20px #2dd4bf4d;font-size:38px;font-weight:900;line-height:1}.board-crew-count.data{color:var(--bd-data);text-shadow:0 0 20px #38bdf84d}.board-statusbar{border-top:1px solid var(--bd-line);align-items:center;gap:28px;margin-top:24px;padding-top:20px;display:flex}.board-stat{color:var(--bd-ink-2);letter-spacing:.03em;align-items:center;gap:10px;font-size:18px;font-weight:600;display:flex}.board-stat b{color:var(--bd-ink);font-variant-numeric:tabular-nums;font-weight:800}.board-stat .dot{background:var(--bd-ok);width:9px;height:9px;box-shadow:0 0 10px var(--bd-ok);border-radius:50%}.board-statusbar .spacer{color:var(--bd-ink-3);letter-spacing:.05em;margin-left:auto;font-size:16px}.flash-card{opacity:1;background:linear-gradient(165deg,#141e26fa,#0a1016fa);border:3px solid #34d399;border-radius:28px;flex-direction:column;align-items:center;gap:16px;width:520px;max-width:90vw;max-height:82vh;padding:34px;transition:opacity .24s,transform .24s;animation:.22s flash-pop-in;display:flex;overflow:hidden;transform:scale(1);box-shadow:0 0 0 1px #34d39940,0 24px 80px #0009,0 0 60px #34d39947}.flash-card.warn{border-color:#fbbf24;box-shadow:0 0 0 1px #fbbf2440,0 24px 80px #0009,0 0 60px #fbbf244d}.flash-card.leaving{opacity:0;position:absolute;transform:scale(.92)}@keyframes flash-pop-in{0%{opacity:0;transform:translateY(-16px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.flash-avatar{color:#34d399;background:radial-gradient(circle at 50% 35%,#34d39929,#ffffff08);border:2px solid #34d39959;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:176px;height:176px;display:flex}.flash-card.warn .flash-avatar{color:#fbbf24;background:radial-gradient(circle at 50% 35%,#fbbf2429,#ffffff08);border-color:#fbbf2466}.flash-photo{aspect-ratio:16/9;color:#eef4f866;background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:100%;display:flex}.flash-card.warn .flash-photo{color:#fbbf24}.flash-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.flash-photo-img{object-fit:cover;border-radius:18px;width:100%;height:100%;display:block}.flash-plate{letter-spacing:2px;color:#fff;font-variant-numeric:tabular-nums;border:4px solid #eef4f866;border-radius:16px;padding:12px 28px;font-size:42px;font-weight:800}.flash-plate.warn{color:#ff5c6e;border-color:#ff5c6e}.flash-title{color:#fff;text-align:center;letter-spacing:.02em;font-size:40px;font-weight:900}.flash-sub{color:#eef4f88c;margin-top:-6px;font-size:22px;font-weight:600}.flash-checks{flex-direction:column;gap:8px;width:100%;margin-top:4px;display:flex}.flash-check{align-items:center;gap:12px;font-size:22px;font-weight:600;display:flex}.flash-check.ok{color:#34d399}.flash-check.bad{color:#ff5c6e}.flash-bar{background:#ffffff14;border-radius:4px;flex-shrink:0;width:100%;height:7px;margin-top:4px;overflow:hidden}.flash-bar-fill{background:#34d399;width:100%;height:100%;animation:4.5s linear forwards shrink;display:block;box-shadow:0 0 12px #34d39999}.flash-bar-fill.warn{background:#fbbf24;box-shadow:0 0 12px #fbbf2499}@keyframes shrink{0%{width:100%}to{width:0%}}.board-crew-count.data{color:var(--data)}.dev-alert-strip{color:var(--text);background:#f45b5b17;border:1px solid #f45b5b73;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:12px 16px;font-size:13.5px;animation:2.2s ease-in-out infinite dev-strip-pulse;display:flex}@keyframes dev-strip-pulse{0%,to{box-shadow:0 0 #f45b5b00}50%{box-shadow:0 0 18px 2px #f45b5b38}}.dev-alert-strip b{color:var(--crit)}.dev-alert-strip .das-item{color:var(--text-2);background:var(--panel-2);border:1px solid #f45b5b59;border-radius:999px;padding:3px 12px;font-size:12.5px}.dev-sec{margin-bottom:18px}.dev-sec-h{color:var(--text);letter-spacing:.03em;align-items:center;gap:10px;margin-bottom:10px;font-size:13.5px;font-weight:800;display:flex}.dev-sec-h .cnt{color:var(--text-3);font-size:12px;font-weight:600}.dev-sec-h .cnt b.off{color:var(--crit)}.dev-sec-h .cnt b.warn2{color:var(--warn)}.dev-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.dev-card{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:10px;padding:12px 14px;position:relative;overflow:hidden}.dev-card .dc-top{align-items:center;gap:8px;display:flex}.dev-dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:9px;height:9px}.dev-card.warning .dev-dot{background:var(--warn)}.dev-card.offline .dev-dot{background:var(--crit);animation:1s ease-in-out infinite dev-dot-blink}@keyframes dev-dot-blink{0%,to{opacity:1;box-shadow:0 0 8px var(--crit)}50%{opacity:.3;box-shadow:none}}.dev-card .dc-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;font-weight:700;overflow:hidden}.dev-card .dc-seen{color:var(--text-3);flex-shrink:0;font-size:11px}.dev-card .dc-loc{color:var(--text-2);margin-top:5px;font-size:12px}.dev-card .dc-detail{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11.5px;overflow:hidden}.dev-card.offline{background:#f45b5b0f;border-color:#f45b5b8c;animation:2.2s ease-in-out infinite dev-card-pulse}@keyframes dev-card-pulse{0%,to{box-shadow:0 0 #f45b5b00}50%{box-shadow:0 0 16px 1px #f45b5b40}}.dev-card.offline .dc-detail{color:var(--crit)}.dev-card.warning{border-color:#e6a82d80}.dev-card.warning .dc-detail{color:var(--warn)}.bde-grid{flex:1;grid-template-columns:repeat(3,1fr);align-content:stretch;gap:18px;min-height:0;display:grid}.bde-card{background:var(--bd-glass);border:1px solid var(--bd-line);border-radius:16px;flex-direction:column;padding:14px 24px 12px;display:flex;position:relative;overflow:hidden}.bde-card.warn{border-color:#fbbf2473}.bde-card.crit{background:#ff5c6e0f;border-color:#ff5c6e99;animation:2s ease-in-out infinite bde-crit-pulse}@keyframes bde-crit-pulse{0%,to{box-shadow:0 0 0 1px #ff5c6e26,0 0 18px #ff5c6e1a}50%{box-shadow:0 0 0 1px #ff5c6e8c,0 0 42px #ff5c6e59}}.bde-k{color:var(--bd-ink-2);letter-spacing:.05em;align-items:center;gap:12px;font-size:24px;font-weight:700;line-height:1.2;display:flex}.bde-chip{color:#fff;background:var(--bd-crit);letter-spacing:.1em;border-radius:999px;padding:2px 12px;font-size:16px;font-weight:800;animation:1.2s ease-in-out infinite bd-pulse}.bde-v{color:#fff;font-variant-numeric:tabular-nums;margin-top:6px;font-size:64px;font-weight:900;line-height:1}.bde-card.crit .bde-v{color:var(--bd-crit);text-shadow:0 0 24px #ff5c6e66}.bde-card.warn .bde-v{color:var(--bd-warn)}.bde-v small{color:var(--bd-ink-3);margin-left:5px;font-size:26px;font-weight:600}.bde-v{margin-top:2px}.bde-v.bump{animation:.55s bde-bump}@keyframes bde-bump{0%{transform:scale(1)}35%{transform:scale(1.05)}to{transform:scale(1)}}.bde-bar{background:#ffffff1a;border-radius:5px;flex-shrink:0;height:11px;margin-top:auto;position:relative;overflow:visible}.bde-bar .fill{background:linear-gradient(90deg, #2dd4bf8c, var(--bd-brand));border-radius:5px;height:100%;transition:width .9s cubic-bezier(.22,1,.36,1);display:block;box-shadow:0 0 12px #2dd4bf73}.bde-bar.warn .fill{background:linear-gradient(90deg, #fbbf248c, var(--bd-warn));box-shadow:0 0 12px #fbbf2480}.bde-bar.over .fill{background:linear-gradient(90deg, #ff5c6e8c, var(--bd-crit));box-shadow:0 0 14px #ff5c6e99}.bde-bar .notch{background:#fbbf24b3;width:3px;height:19px;position:absolute;top:-4px}.bde-bar .notch.lim{background:#ff5c6ed9}.bde-th{color:var(--bd-ink-3);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;margin-top:6px;font-size:17px;line-height:1.25;overflow:hidden}.bde-card.crit .bde-th{color:#ff5c6ed9;font-weight:600}.bde-gauge-wrap{flex:1;align-items:flex-start;gap:14px;display:flex}.bde-gauge-wrap .hz-left{padding-top:2px}.bde-gauge-wrap .hz-left .v{color:#fff;font-variant-numeric:tabular-nums;font-size:64px;font-weight:900;line-height:1}.bde-gauge-wrap .hz-left .v small{color:var(--bd-ink-3);margin-left:4px;font-size:24px}.bde-gauge-wrap .heat-note2{color:var(--bd-warn);margin-top:6px;font-size:18px;font-weight:600}.bde-gauge-wrap svg{flex:1;align-self:center;min-width:0;max-height:156px}.bde-gauge-wrap .gnd{transform-origin:100px 100px;transform-box:view-box;transition:transform .9s cubic-bezier(.22,1,.36,1)}.bde-gauge-wrap .gnd line{stroke:#fff;stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 0 6px #ffffff80)}.bde-gauge-wrap .hub{fill:#fff;filter:drop-shadow(0 0 8px #ffffff73)}.bde-gauge-wrap .hub-ring{fill:none;stroke:#ffffff59;stroke-width:2px}.bdd-alert{background:#ff5c6e1a;border:1px solid #ff5c6e8c;border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;padding:14px 20px;animation:2s ease-in-out infinite bde-crit-pulse;display:flex}.bdd-alert .ttl{color:var(--bd-crit);letter-spacing:.04em;align-items:center;gap:10px;font-size:24px;font-weight:900;display:flex}.bdd-alert .item{color:#fff;background:#ff5c6e29;border:1px solid #ff5c6e66;border-radius:999px;padding:5px 16px;font-size:19px;font-weight:700}.bdd-alert .item small{color:#fff9;margin-left:6px;font-weight:500}.bdd-groups{flex:1;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:14px;min-height:0;display:grid;overflow:auto}.bdd-group{background:var(--bd-glass);border:1px solid var(--bd-line);border-radius:16px;padding:13px 16px}.bdd-group-h{color:#fff;letter-spacing:.04em;align-items:center;gap:10px;margin-bottom:12px;font-size:24px;font-weight:800;display:flex}.bdd-group-h:before{content:"";background:var(--bd-brand);width:4px;height:16px;box-shadow:0 0 10px var(--bd-brand);border-radius:2px}.bdd-group-h .gcnt{color:var(--bd-ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:18px;font-weight:700}.bdd-group-h .gcnt b.ok2{color:var(--bd-ok)}.bdd-group-h .gcnt b.off{color:var(--bd-crit)}.bdd-tiles{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;display:grid}.bdd-tile{border:1px solid var(--bd-line);background:#ffffff08;border-radius:10px;align-items:center;gap:9px;min-width:0;padding:11px 14px;display:flex}.bdd-tile .dot{background:var(--bd-ok);border-radius:50%;flex-shrink:0;width:11px;height:11px}.bdd-tile .nm{color:var(--bd-ink);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:19px;font-weight:700;overflow:hidden}.bdd-tile .st2{color:var(--bd-ink-3);flex-shrink:0;margin-left:auto;font-size:15px;font-weight:700}.bdd-tile.warning{border-color:#fbbf2473}.bdd-tile.warning .dot{background:var(--bd-warn);box-shadow:0 0 8px #fbbf2499}.bdd-tile.warning .st2{color:var(--bd-warn)}.bdd-tile.offline{background:#ff5c6e1a;border-color:#ff5c6ea6;animation:1.8s ease-in-out infinite bde-crit-pulse}.bdd-tile.offline .dot{background:var(--bd-crit);animation:1s ease-in-out infinite dev-dot-blink}.bdd-tile.offline .nm,.bdd-tile.offline .st2{color:var(--bd-crit)}.board-ticker{background:var(--bd-glass);border:1px solid var(--bd-line);border-radius:14px;flex-shrink:0;align-items:stretch;height:72px;margin-top:12px;display:flex;overflow:hidden}.board-ticker .bt-label{border-right:1px solid var(--bd-line);color:var(--bd-brand);letter-spacing:.1em;white-space:nowrap;background:#2dd4bf1f;flex-shrink:0;align-items:center;gap:10px;padding:0 26px;font-size:25px;font-weight:800;display:flex}.board-ticker .bt-viewport{flex:1;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 2.5% 97.5%,#0000);mask-image:linear-gradient(90deg,#0000,#000 2.5% 97.5%,#0000)}.board-ticker .bt-track{white-space:nowrap;will-change:transform;align-items:center;animation:linear infinite bt-scroll;display:flex;position:absolute;top:0;bottom:0}@keyframes bt-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.board-ticker .bt-item{color:var(--bd-ink-2);letter-spacing:.02em;align-items:center;font-size:28px;font-weight:600;display:inline-flex}.board-ticker .bt-item.crit{color:var(--bd-crit);text-shadow:0 0 18px #ff5c6e59;font-weight:800}.board-ticker .bt-item.warn{color:var(--bd-warn);font-weight:700}.board-ticker .bt-item.tip{color:var(--bd-brand)}.board-ticker .bt-sep{color:var(--bd-ink-3);opacity:.55;margin:0 32px;font-size:14px}.dev-list{flex:1;min-height:0;padding-bottom:16px;padding-right:6px;overflow-y:auto}.dev-sec-h .dev-sec-ico{color:var(--text-3)}.dev-card .dev-ico{color:var(--text);opacity:.07;pointer-events:none;position:absolute;bottom:10px;right:14px}.dev-card.warning .dev-ico{color:var(--warn);opacity:.16}.dev-card.offline .dev-ico{color:var(--crit);opacity:.18}.bdd-group-h .bdd-g-ico{color:var(--bd-brand);filter:drop-shadow(0 0 8px #2dd4bf66)}.toast-stack{z-index:1200;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--panel-2);border:1px solid var(--line);min-width:260px;max-width:440px;color:var(--text);border-radius:13px;align-items:center;gap:11px;padding:13px 18px 13px 15px;animation:.32s cubic-bezier(.22,1,.36,1) toast-in;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 34px #00000047,0 2px 6px #00000024}.toast:before{content:"";background:var(--toast-accent,var(--accent));border-radius:4px 0 0 4px;width:4px;position:absolute;top:0;bottom:0;left:0}.toast-ico{color:#fff;background:var(--toast-accent,var(--accent));border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.toast-body{flex-direction:column;gap:2px;min-width:0;display:flex}.toast-text{letter-spacing:.01em;font-size:13.5px;font-weight:650;line-height:1.35}.toast-detail{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.3}.toast--success{--toast-accent:#16b981}.toast--error{--toast-accent:#f0475f}.toast--warn{--toast-accent:#eab308}.toast--info{--toast-accent:#3b82f6}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ticker-preview-shell{--bd-ink:#eef4f8;--bd-ink-2:#b9c6d2;--bd-line:#ffffff1a;--bd-glass:#ffffff0a;--bd-brand:#2dd4bf;--bd-crit:#ff5c6e;--bd-warn:#fbbf24;--bd-data:#38bdf8;background:radial-gradient(120% 140% at 0 0,#0f1b24 0%,#0a1219 60%,#070d12 100%);border:1px solid #ffffff14;border-radius:14px;padding:10px 14px;overflow:hidden;box-shadow:inset 0 0 0 1px #2dd4bf0d}.ticker-preview-shell .board-ticker{border-top:0;margin-top:0;padding-top:0}.tk-form{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;flex-direction:column;gap:10px;margin-bottom:14px;padding:14px;display:flex}.tk-input{width:100%}.tk-input.sm{flex:1;width:auto;min-width:0}.tk-form-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tk-tone{border:1px solid var(--line);background:var(--panel);border-radius:9px;display:inline-flex;overflow:hidden}.tk-tone-btn{color:var(--text-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.tk-tone-btn+.tk-tone-btn{border-left:1px solid var(--line)}.tk-tone.sm .tk-tone-btn{padding:6px 10px}.tk-dot{border:1.5px solid;border-radius:50%;flex-shrink:0;width:11px;height:11px}.tk-tone-btn.info .tk-dot{color:#94a3b8}.tk-tone-btn.warn .tk-dot{color:#eab308}.tk-tone-btn.on{color:var(--text)}.tk-tone-btn.info.on{background:#94a3b833}.tk-tone-btn.warn.on{background:#eab30833}.tk-tone-btn.on .tk-dot{background:currentColor}.tk-chip{border:1px solid var(--line);background:var(--panel);color:var(--text-2);cursor:pointer;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s}.tk-chip.on{color:#14b8a6;background:#14b8a61f;border-color:#14b8a68c}.tk-list{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.tk-row{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;align-items:center;gap:12px;padding:9px 12px;transition:opacity .15s,border-color .15s;display:flex}.tk-row.editing{background:var(--panel);border-color:#14b8a680}.tk-row.off{opacity:.5}.tk-sentence{min-width:0;color:var(--text);flex:1;align-items:center;gap:8px;font-size:13.5px;line-height:1.4;display:flex}.tk-sentence.warn{color:var(--warn)}.tk-tag{color:var(--text-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11.5px}.tk-badge{color:#14b8a6;letter-spacing:.04em;white-space:nowrap;border:1px solid #14b8a666;border-radius:6px;padding:1px 7px;font-size:10.5px;font-weight:700}.tk-empty{color:var(--text-3);padding:14px 4px;font-size:12.5px}.tk-solo{background:radial-gradient(120% 140% at 0 0,#0f1b24 0%,#0a1219 60%,#070d12 100%);border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:14px;margin-top:4px;padding:12px 16px;display:flex}.tk-solo-label{color:#2dd4bf;letter-spacing:.06em;white-space:nowrap;background:#2dd4bf1f;border-radius:8px;flex-shrink:0;align-items:center;gap:7px;padding:5px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.tk-solo-item{color:#eef4f8;word-break:break-word;min-width:0;font-size:19px;font-weight:600;line-height:1.35}.tk-solo-item.warn{color:#fbbf24;font-weight:700}.report-scroll{flex:1;min-height:0;padding:20px 24px 0;overflow:hidden}.report-layout{height:100%;min-height:0}.report-empty{text-align:center;color:var(--text-3);padding:60px 0;font-size:14px}.report{flex-direction:column;align-self:stretch;min-height:0;display:flex}.report-head{border-bottom:2px solid var(--line);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;padding-bottom:16px;display:flex}.report-body{flex:1;min-height:0;padding-bottom:40px;overflow-y:auto}.report-kicker{letter-spacing:.22em;color:#14b8a6;font-size:12px;font-weight:700}.report-title{color:var(--text);margin:3px 0 4px;font-size:30px;font-weight:900;line-height:1.15}.report-site{color:var(--text-2);font-size:15px;font-weight:600}.report-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;display:flex}.report-date{color:var(--text);font-variant-numeric:tabular-nums;font-size:21px;font-weight:800}.report-gen{color:var(--text-3);font-size:12px}.report-datenav{align-items:center;gap:6px;display:flex}.report-arrow{border:1px solid var(--line);background:var(--panel);width:30px;height:30px;color:var(--text-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.report-arrow:hover:not(:disabled){color:var(--text);border-color:#14b8a6}.report-arrow:disabled{opacity:.4;cursor:not-allowed}.report-datepick{border:1px solid var(--line);background:var(--panel);height:30px;color:var(--text);font-variant-numeric:tabular-nums;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:8px;padding:0 8px;font-size:13px}@media (prefers-color-scheme:dark){.report-datepick{--lightningcss-light: ;--lightningcss-dark:initial}}.report-today-btn{color:#14b8a6;cursor:pointer;background:#14b8a61a;border:1px solid #14b8a666;border-radius:8px;height:30px;padding:0 12px;font-size:12.5px;font-weight:700}.report-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-flex}.report-status.live{color:#14b8a6;background:#14b8a61f;border:1px solid #14b8a64d}.report-status.locked{color:#64748b;background:#64748b24;border:1px solid #64748b4d}.report-sec{background:var(--panel-2);border:1px solid var(--line);break-inside:avoid;border-radius:14px;margin-bottom:16px;padding:18px 20px}.report-sec-h{color:var(--text);align-items:center;gap:9px;margin-bottom:14px;font-size:16px;font-weight:800;display:flex}.report-sec-h svg{color:#14b8a6}.report-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.report-stat{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 16px}.report-stat-label{color:var(--text-2);margin-bottom:4px;font-size:12.5px;font-weight:600}.report-stat-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:30px;font-weight:900;line-height:1}.report-stat-value small{color:var(--text-3);margin-left:4px;font-size:13px;font-weight:600}.report-stat.ok .report-stat-value{color:#10b981}.report-stat.data .report-stat-value{color:#3b82f6}.report-stat.warn .report-stat-value{color:#eab308}.report-stat.crit .report-stat-value{color:#ef4444}.report-sub{color:var(--text-2);margin:16px 0 9px;font-size:13px;font-weight:700}.report-chips{flex-wrap:wrap;gap:8px;display:flex}.report-chip{color:var(--text-2);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:13px}.report-chip b{color:#14b8a6;font-variant-numeric:tabular-nums;margin-left:3px}.report-note{color:var(--text-2);border-top:1px dashed var(--line);margin-top:14px;padding-top:12px;font-size:13px;line-height:1.6}.report-note b{color:var(--text);font-variant-numeric:tabular-nums}.report-table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;width:100%;margin-top:4px;font-size:13.5px}.report-table th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 12px;font-size:12px;font-weight:700}.report-table td{color:var(--text);border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 12px}.report-table tbody tr:last-child td{border-bottom:0}.report-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.report-badge.ok{color:#10b981;background:#10b9811f}.report-badge.warn{color:#b8860b;background:#eab30829}.report-badge.crit{color:#ef4444;background:#ef444421}.report-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.report-dot.crit{background:#ef4444}.report-dot.warn{background:#eab308}.report-dot.info{background:#3b82f6}.report-highlights{flex-direction:column;gap:9px;list-style:none;display:flex}.report-highlights .rh{color:var(--text);background:var(--panel);border:1px solid var(--line);border-left-width:3px;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:13.5px;line-height:1.55;display:flex}.report-highlights .rh-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.rh.crit{border-left-color:#ef4444}.rh.crit .rh-dot{background:#ef4444}.rh.warn{border-left-color:#eab308}.rh.warn .rh-dot{background:#eab308}.rh.info{border-left-color:#3b82f6}.rh.info .rh-dot{background:#3b82f6}.report-foot{text-align:center;color:var(--text-3);border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font-size:12px}@media print{.side,.ssp-header,.no-print,.board-fab,.cam-windows-layer{display:none!important}.main,.report-scroll,.report,.report-body{height:auto!important;overflow:visible!important}.report-scroll{padding:0}.report-sec{background:#fff;border-color:#ddd}}.report-layout{grid-template-columns:268px minmax(0,1fr);align-items:start;gap:28px;max-width:1220px;margin:0 auto;display:grid}.report-layout .report{max-width:none;margin:0}.report-side{align-self:start}.report-side-title{letter-spacing:.1em;color:var(--text-3);margin:0 2px 8px;font-size:12px;font-weight:700}.report-datenav{display:none}@media (max-width:900px){.report-layout{grid-template-columns:1fr}.report-side{display:none}.report-datenav{display:flex}}.report-cal{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:14px 14px 16px}.rc-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.rc-title{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.rc-navbtn{border:1px solid var(--line);background:var(--panel);width:28px;height:28px;color:var(--text-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:color .12s,border-color .12s;display:inline-flex}.rc-navbtn:hover:not(:disabled){color:var(--text);border-color:#14b8a6}.rc-navbtn:disabled{opacity:.35;cursor:not-allowed}.rc-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.rc-dow{text-align:center;color:var(--text-3);padding:3px 0 5px;font-size:11px;font-weight:700}.rc-day{aspect-ratio:1;color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1.5px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:13px;transition:background .12s;display:flex}.rc-day:hover:not(:disabled):not(.sel){background:var(--panel)}.rc-day.muted{color:var(--text-3);opacity:.5}.rc-day.today{color:#14b8a6;border-color:#14b8a6;font-weight:800}.rc-day.sel{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:800}.rc-day.future{color:var(--text-3);opacity:.3;cursor:not-allowed}input:not([type=checkbox]):not([type=radio]):not([type=date]):not([type=range]),select,textarea{background:var(--panel-2);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:9px;padding:8px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s,background .15s}input:not([type=checkbox]):not([type=radio]):not([type=date]):not([type=range]):focus,select:focus,textarea:focus{border-color:var(--brand);background:var(--panel);outline:none;box-shadow:0 0 0 3px #2dd4bf29}input::placeholder,textarea::placeholder{color:var(--text-3)}input:hover:not(:focus):not([type=checkbox]):not([type=radio]):not([type=date]),select:hover:not(:focus),textarea:hover:not(:focus){border-color:var(--line-strong,#9aa7b8)}.row-acts{opacity:0;align-items:center;gap:6px;transition:opacity .14s;display:inline-flex}.mtbl tr:hover .row-acts,.mtbl tr:focus-within .row-acts,.unit-i:hover .row-acts,.unit-i.on .row-acts,.unit-i:focus-within .row-acts,.row-acts .btn.sm.iconbtn{opacity:1}.btn.del,.btn.danger{color:#e5484d;background:#e5484d14;border-color:#e5484d66}.btn.del:hover,.btn.danger:hover{color:#fff;background:#e5484d;border-color:#e5484d}.btn.del svg{color:inherit}.mtbl tr[data-state=selected]{background:#2dd4bf14}.cam .live-b.nostream{color:#9aa7b8;letter-spacing:.04em}.cam .off-c.nostream{z-index:2;text-align:center;color:#6b7a8d;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.cam .off-c.nostream b{color:#8595a8;margin-top:4px;font-weight:600;display:block}.lg-root{color:#e8eff7;background:#0b0e14;min-height:100vh;position:relative;overflow-x:hidden}.lg-switch{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121826d1;border:1px solid #24324a;border-radius:999px;align-items:center;gap:3px;padding:5px 7px;display:flex;position:fixed;top:14px;right:14px}.lg-switch>span{letter-spacing:.16em;color:#5c6b7e;padding:0 5px 0 3px;font-size:10px}.lg-switch button{color:#93a3b8;cursor:pointer;background:0 0;border:none;border-radius:999px;width:27px;height:24px;font-size:12px;font-weight:800}.lg-switch button.on{color:#04201c;background:#2dd4bf}.lg-brand{align-items:center;gap:12px;display:flex}.lg-mark{color:#04201c;background:linear-gradient(150deg,#2dd4bf,#38cff5);border-radius:13px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 22px #2dd4bf59}.lg-name{font-size:18px;font-weight:800}.lg-tag{letter-spacing:.14em;color:#7c8ea5;margin-top:2px;font-size:11px}.lg-h{letter-spacing:.01em;text-wrap:balance;margin:0;font-size:26px;font-weight:800}.lg-p{color:#93a3b8;max-width:32ch;margin:0;font-size:13.5px;line-height:1.75}.lg-eyebrow,.lg-c-status{letter-spacing:.16em;color:#93a3b8;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;display:inline-flex}.lg-dot{background:#34d399;border-radius:50%;width:7px;height:7px;animation:2s infinite lg-pulse}@keyframes lg-pulse{0%,to{box-shadow:0 0 #34d39980}50%{box-shadow:0 0 0 5px #34d39900}}.lg-form{flex-direction:column;gap:13px;margin-top:8px;display:flex}.lg-field{flex-direction:column;gap:6px;display:flex}.lg-field span{color:#93a3b8;letter-spacing:.02em;font-size:12px;font-weight:600}.lg-field input{color:#e8eff7;background:#090d1499;border:1px solid #24324a;border-radius:11px;outline:none;height:46px;padding:0 14px;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.lg-field input::placeholder{color:#47576b}.lg-field input:focus{border-color:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf29}.lg-btn{cursor:pointer;color:#04201c;background:linear-gradient(120deg,#2dd4bf,#25b7d6);border:none;border-radius:11px;justify-content:center;align-items:center;gap:8px;height:48px;margin-top:4px;font-size:15.5px;font-weight:800;transition:transform .12s,box-shadow .2s;display:flex;box-shadow:0 8px 24px #2dd4bf42}.lg-btn:hover{transform:translateY(-1px);box-shadow:0 12px 30px #2dd4bf5c}.lg-btn:disabled{opacity:.6;cursor:default;transform:none}.lg-err{color:#f45b5b;margin:0;font-size:12.5px}.lg-demo{text-align:center;letter-spacing:.08em;color:#5c6b7e;margin:3px 0 0;font-size:11.5px}.lg-a{grid-template-columns:1.12fr .88fr;min-height:100vh;display:grid}.lg-stage{background:radial-gradient(120% 92% at 42% 42%,#16202f,#0b111b 72%);border-right:1px solid #17202e;position:relative;overflow:hidden}.lg-stage-top{z-index:2;position:absolute;top:32px;left:36px}.lg-scene{width:100%;height:100%;position:absolute;inset:0}.lg-stats{z-index:2;gap:28px;display:flex;position:absolute;bottom:30px;left:36px}.lg-stat b{font-variant-numeric:tabular-nums;font-size:27px;font-weight:800;line-height:1;display:block}.lg-stat span{letter-spacing:.08em;color:#7c8ea5;font-size:11px}.lg-stat-ok b{color:#34d399}.lg-panel{background:#0d1420;justify-content:center;align-items:center;padding:40px;display:flex}.lg-panel-in{flex-direction:column;gap:14px;width:100%;max-width:360px;display:flex}.lg-b{background:radial-gradient(125% 100% at 50% 6%,#163150,#0a1526 60%);flex-direction:column;align-items:center;min-height:100vh;display:flex;position:relative}.lg-b-head{z-index:3;justify-content:space-between;align-items:center;width:100%;max-width:1060px;padding:26px 30px 0;display:flex;position:relative}.lg-b-chips{gap:8px;display:flex}.lg-b-chips span{color:#a9c0d6;background:#38cff514;border:1px solid #38cff538;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:11.5px;display:inline-flex}.lg-b-scene{width:100%;max-width:880px;max-height:58vh;margin-top:-4px}.lg-glass{z-index:3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0d1626b8;border:1px solid #78b4dc29;border-radius:18px;flex-direction:column;gap:11px;width:100%;max-width:380px;margin:-9vh 0 34px;padding:22px 26px 18px;display:flex;position:relative;box-shadow:0 24px 60px #00000080}.lg-c{background:radial-gradient(135% 120% at 78%,#0c1522,#05080e 70%);min-height:100vh;position:relative;overflow:hidden}.lg-c-scene{opacity:.92;filter:drop-shadow(0 0 42px #2dd4bf1f);width:72%;max-width:880px;position:absolute;top:50%;right:-3%;transform:translateY(-50%)}.lg-c:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#05080e 24%,#05080e40 54%,#0000 74%);position:absolute;inset:0}.lg-scan{z-index:1;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(90deg,#0000 0%,#2dd4bf0d 47%,#2dd4bf29 50%,#2dd4bf0d 53%,#0000 100%) 0 0/42% 100% no-repeat;animation:6.5s linear infinite lg-scan;position:absolute;inset:0}@keyframes lg-scan{0%{background-position:-42% 0}to{background-position:142% 0}}.lg-c-panel{z-index:3;flex-direction:column;justify-content:center;gap:16px;max-width:430px;min-height:100vh;padding:0 6vw;display:flex;position:relative}.lg-c-panel:before{content:"";background:linear-gradient(#2dd4bf,#2dd4bf00);border-radius:3px;width:3px;position:absolute;top:22%;bottom:22%;left:0}.iso-blink{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite iso-blink}@keyframes iso-blink{0%,to{opacity:1}50%{opacity:.35}}.iso-flow{animation:1.2s linear infinite iso-flow}.iso-flow-up{animation:1s linear infinite iso-flow}@keyframes iso-flow{to{stroke-dashoffset:-16px}}.iso-hook{animation:4.5s ease-in-out infinite iso-hook}@keyframes iso-hook{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.iso-ring{transform-box:fill-box;transform-origin:50%;opacity:0;animation:3s ease-out infinite iso-ring}.iso-ring2{animation-delay:1s}.iso-ring3{animation-delay:2s}@keyframes iso-ring{0%{opacity:.6;transform:scale(.3)}80%{opacity:0}to{opacity:0;transform:scale(2.6)}}.iso-bar{animation:1.8s ease-in-out infinite iso-bar}@keyframes iso-bar{0%,to{opacity:.32}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.iso-blink,.iso-flow,.iso-flow-up,.iso-hook,.iso-ring,.iso-bar,.lg-scan,.lg-dot{animation:none!important}}@media (max-width:880px){.lg-a{grid-template-columns:1fr}.lg-stage{border-bottom:1px solid #17202e;border-right:none;min-height:42vh}.lg-stats{gap:18px;left:22px}.lg-stat b{font-size:22px}.lg-panel{padding:30px 22px 42px}.lg-b-head{flex-direction:column;align-items:flex-start;gap:12px}.lg-b-scene{max-height:44vh}.lg-glass{margin-top:-40px}.lg-c-scene{opacity:.34;width:128%;right:-34%}.lg-c:after{background:linear-gradient(#05080e80,#05080ed1)}.lg-c-panel{max-width:none;padding:0 8vw}}.lg3{overflow:hidden}.lg3-links{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.lg3-chip{z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;will-change:transform;background:#0a0f17d9;border:1px solid;border-radius:10px;align-items:stretch;gap:9px;padding:7px 13px 7px 9px;transition:opacity .7s;display:flex;position:absolute;top:0;left:0;box-shadow:0 6px 20px #00000059}.lg3-chip i{border-radius:2px;width:3px}.lg3-chip span{color:#93a3b8;letter-spacing:.05em;white-space:nowrap;font-size:10px;display:block}.lg3-chip b{color:#e8eff7;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:800;display:block}.lg3-cloud{z-index:3;pointer-events:none;will-change:transform;background:#0a1019e6;border:1px solid #2dd4bfd9;border-radius:13px;width:176px;padding:11px 13px 10px;transition:opacity .7s;position:absolute;top:0;left:0;box-shadow:0 0 26px #2dd4bf29,0 10px 30px #00000073}.lg3-cloud-h{align-items:center;gap:9px;display:flex}.lg3-cloud-ring{border:2.5px solid #2dd4bf;border-radius:50%;width:12px;height:12px;animation:2.4s infinite lg-pulse}.lg3-cloud-h b{color:#e8eff7;font-size:12.5px;font-weight:800;display:block}.lg3-cloud-h em{letter-spacing:.16em;color:#5c6b7e;font-size:8px;font-style:normal;display:block}.lg3-cloud-bars{gap:5px;margin-top:9px;display:flex}.lg3-cloud-bars span{opacity:.4;background:#2dd4bf;border-radius:2px;flex:1;height:6px;animation:1.8s ease-in-out infinite iso-bar}.lg3-cloud-bars span:nth-child(2n){background:#38cff5}.lg-b-scene{height:52vh;max-height:none;position:relative}.lg-c-scene{height:96vh}@media (prefers-reduced-motion:reduce){.lg3-cloud-ring,.lg3-cloud-bars span{animation:none!important}}@media (max-width:880px){.lg-b-scene{height:40vh}.lg-c-scene{height:100vh}.lg3-chip b{font-size:12px}.lg3-cloud{width:150px}}
