.fb-overlay[data-v-f9fa4f6f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:center;justify-content:center;background:#08090d9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.fb-saving-card[data-v-f9fa4f6f]{display:flex;flex-direction:column;align-items:center;gap:18px;padding:38px 52px;background:var(--bg-card, var(--bg-card));border:1px solid var(--border, var(--border));border-radius:20px;box-shadow:0 24px 60px #0000008c}.fb-logo-ring[data-v-f9fa4f6f]{position:relative;width:78px;height:78px;display:flex;align-items:center;justify-content:center}.fb-logo-ring[data-v-f9fa4f6f]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid rgba(115,103,240,.18);border-top-color:#7367f0;animation:fb-spin-f9fa4f6f .85s linear infinite}.fb-logo-icon[data-v-f9fa4f6f]{width:56px;height:56px;border-radius:15px;background:linear-gradient(135deg,#7367f0,#9c93f7);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #7367f080;animation:fb-pulse-f9fa4f6f 1.6s ease-in-out infinite}@keyframes fb-spin-f9fa4f6f{to{transform:rotate(360deg)}}@keyframes fb-pulse-f9fa4f6f{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.fb-saving-text[data-v-f9fa4f6f]{font-size:18px;font-weight:800;letter-spacing:1px;color:var(--text, var(--text))}.fb-saving-dots[data-v-f9fa4f6f]{display:flex;gap:6px}.fb-saving-dots span[data-v-f9fa4f6f]{width:7px;height:7px;border-radius:50%;background:#7367f0;animation:fb-bounce-f9fa4f6f 1.2s ease-in-out infinite}.fb-saving-dots span[data-v-f9fa4f6f]:nth-child(2){animation-delay:.2s}.fb-saving-dots span[data-v-f9fa4f6f]:nth-child(3){animation-delay:.4s}@keyframes fb-bounce-f9fa4f6f{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.fb-toasts[data-v-f9fa4f6f]{position:fixed;top:22px;right:22px;z-index:4600;display:flex;flex-direction:column;gap:12px;max-width:min(92vw,400px);pointer-events:none}.fb-toast[data-v-f9fa4f6f]{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:13px;background:var(--bg-card, var(--bg-card));border:1px solid var(--border, var(--border));border-left-width:4px;box-shadow:0 12px 30px #0006;cursor:pointer}.fb-toast-icon[data-v-f9fa4f6f]{flex-shrink:0;display:flex}.fb-toast-text[data-v-f9fa4f6f]{flex:1;font-size:15px;font-weight:700;line-height:1.45;color:var(--text, var(--text));word-break:break-word}.fb-toast-close[data-v-f9fa4f6f]{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-muted);width:36px;height:36px;margin:-6px -6px -6px 0;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:color .15s}.fb-toast-close[data-v-f9fa4f6f]:hover{color:var(--text, var(--text))}.fb-success[data-v-f9fa4f6f]{border-left-color:#28c76f}.fb-success .fb-toast-icon[data-v-f9fa4f6f]{color:#28c76f}.fb-error[data-v-f9fa4f6f]{border-left-color:#ea5455}.fb-error .fb-toast-icon[data-v-f9fa4f6f]{color:#ea5455}.fb-warning[data-v-f9fa4f6f]{border-left-color:#ff9f43}.fb-warning .fb-toast-icon[data-v-f9fa4f6f]{color:#ff9f43}.fb-info[data-v-f9fa4f6f]{border-left-color:#7367f0}.fb-info .fb-toast-icon[data-v-f9fa4f6f]{color:#7367f0}:root[data-theme=light] .fb-overlay[data-v-f9fa4f6f]{background:#e9ecf699;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%)}:root[data-theme=light] .fb-saving-card[data-v-f9fa4f6f]{background:#fffffff0;border-color:#1c23401a;box-shadow:0 24px 60px #1c234038,inset 0 1px #fffc}:root[data-theme=light] .fb-toast[data-v-f9fa4f6f]{background:#fffffff5;border-color:#1c23401a;box-shadow:0 12px 30px #1c234029}.fb-fade-enter-active[data-v-f9fa4f6f],.fb-fade-leave-active[data-v-f9fa4f6f]{transition:opacity .22s ease}.fb-fade-enter-from[data-v-f9fa4f6f],.fb-fade-leave-to[data-v-f9fa4f6f]{opacity:0}.fb-toast-enter-active[data-v-f9fa4f6f]{transition:all .3s cubic-bezier(.21,1.02,.73,1)}.fb-toast-leave-active[data-v-f9fa4f6f]{transition:all .25s ease;position:absolute;right:0}.fb-toast-enter-from[data-v-f9fa4f6f],.fb-toast-leave-to[data-v-f9fa4f6f]{opacity:0;transform:translate(120%)}.fb-toast-move[data-v-f9fa4f6f]{transition:transform .25s ease}@media(max-width:560px){.fb-toasts[data-v-f9fa4f6f]{top:14px;right:12px;left:12px;max-width:none}.fb-saving-card[data-v-f9fa4f6f]{padding:30px 36px}}.cf-overlay[data-v-b50b2e3e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4500;display:flex;align-items:center;justify-content:center;background:#08090da8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:20px}.cf-box[data-v-b50b2e3e]{background:var(--bg-card, var(--bg-sidebar));border:1px solid var(--border, var(--border-sidebar));border-radius:18px;width:100%;max-width:440px;padding:28px 26px 22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 24px 60px #0000008c;outline:none;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:hidden}.cf-icon[data-v-b50b2e3e],.cf-title[data-v-b50b2e3e],.cf-msg[data-v-b50b2e3e],.cf-require[data-v-b50b2e3e],.cf-actions[data-v-b50b2e3e]{flex-shrink:0}.cf-icon[data-v-b50b2e3e]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--primary-dim);color:var(--primary)}.cf-box.danger .cf-icon[data-v-b50b2e3e]{background:var(--danger-dim);color:var(--danger)}.cf-box.warning .cf-icon[data-v-b50b2e3e]{background:var(--warning-dim);color:var(--warning)}.cf-title[data-v-b50b2e3e]{font-size:19px;font-weight:900;color:var(--text)}.cf-msg[data-v-b50b2e3e]{font-size:16px;color:var(--text-soft);line-height:1.6;white-space:pre-line}.cf-details[data-v-b50b2e3e]{align-self:stretch;text-align:left;margin:4px 0 0;padding:10px 14px 10px 30px;flex:0 1 auto;min-height:72px;overflow-y:auto;overscroll-behavior:contain;border-radius:10px;background:var(--bg-inner);border:1px solid var(--border-inner);font-size:15px;line-height:1.6;color:var(--text)}.cf-box.danger .cf-details[data-v-b50b2e3e]{border-color:#ea545559}.cf-box.warning .cf-details[data-v-b50b2e3e]{border-color:#ff9f4366}.cf-require[data-v-b50b2e3e]{align-self:stretch;display:flex;flex-direction:column;gap:6px;text-align:left;font-size:14px;color:var(--text-secondary);font-weight:700;margin-top:4px}.cf-input[data-v-b50b2e3e]{padding:11px 12px;border-radius:10px;border:1px solid var(--border-light);background:var(--bg-deep);color:var(--text);font-size:16px;font-family:inherit;outline:none}.cf-input[data-v-b50b2e3e]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.cf-actions[data-v-b50b2e3e]{display:flex;gap:12px;margin-top:16px;width:100%}.cf-cancel[data-v-b50b2e3e],.cf-confirm[data-v-b50b2e3e]{flex:1;min-height:48px;padding:12px 0;border-radius:10px;font-size:16px;font-weight:800;font-family:inherit;cursor:pointer;transition:all .15s}.cf-cancel[data-v-b50b2e3e]{border:1px solid var(--border-light);background:var(--bg-card2);color:var(--text-soft)}.cf-cancel[data-v-b50b2e3e]:hover{border-color:var(--border-strong)}.cf-confirm[data-v-b50b2e3e]{border:none;background:#7367f0;color:#fff}.cf-confirm[data-v-b50b2e3e]:hover{background:#5e54d6}.cf-box.danger .cf-confirm[data-v-b50b2e3e]{background:#e04b4c}.cf-box.danger .cf-confirm[data-v-b50b2e3e]:hover{background:#c93a3b}.cf-box.warning .cf-confirm[data-v-b50b2e3e]{background:#d9822b}.cf-box.warning .cf-confirm[data-v-b50b2e3e]:hover{background:#c06f1d}.cf-confirm[data-v-b50b2e3e]:disabled{opacity:.45;cursor:not-allowed}.cf-cancel[data-v-b50b2e3e]:focus-visible,.cf-confirm[data-v-b50b2e3e]:focus-visible{outline:3px solid var(--primary-glow);outline-offset:2px}.cf-box.large[data-v-b50b2e3e]{max-width:520px}.cf-box.large .cf-title[data-v-b50b2e3e]{font-size:23px;line-height:1.4}.cf-box.large .cf-msg[data-v-b50b2e3e]{font-size:18px;color:var(--text)}.cf-box.large .cf-actions[data-v-b50b2e3e]{flex-direction:column;gap:10px}.cf-box.large .cf-cancel[data-v-b50b2e3e],.cf-box.large .cf-confirm[data-v-b50b2e3e]{flex:none;width:100%;min-height:54px;font-size:18px;padding:12px 14px}@media(max-height:640px){.cf-box[data-v-b50b2e3e]{padding:16px 18px 14px;gap:6px}.cf-icon[data-v-b50b2e3e]{width:40px;height:40px}.cf-actions[data-v-b50b2e3e]{margin-top:8px}}.cf-fade-enter-active[data-v-b50b2e3e],.cf-fade-leave-active[data-v-b50b2e3e]{transition:opacity .2s ease}.cf-fade-enter-from[data-v-b50b2e3e],.cf-fade-leave-to[data-v-b50b2e3e]{opacity:0}.nb[data-v-5f616b8e]{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:4200;display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px 18px;border-radius:14px;background:#b7791f;color:#fff;font-size:15px;font-weight:800;box-shadow:0 8px 24px #0000004d;max-width:calc(100vw - 24px)}.nb.off[data-v-5f616b8e]{background:#c0392b}.nb-slide-enter-active[data-v-5f616b8e],.nb-slide-leave-active[data-v-5f616b8e]{transition:opacity .2s,transform .2s}.nb-slide-enter-from[data-v-5f616b8e],.nb-slide-leave-to[data-v-5f616b8e]{opacity:0;transform:translate(-50%,-12px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes alertPulse{0%,to{opacity:.25}50%{opacity:.95}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes glowPulse{0%,to{box-shadow:0 0 #ea545500}50%{box-shadow:0 0 0 6px #ea54552e}}@keyframes glowPurple{0%,to{box-shadow:0 0 #7367f000}50%{box-shadow:0 0 0 6px #7367f038}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}:root{--bg-main: #0e1015;--bg-dark: #0e1015;--bg-sidebar: #14161d;--bg-card: #181b23;--bg-card2: #1f232d;--bg-inner: #1f232d;--bg-deep: #191c24;--bg-hover: #262b36;--bg-panel: #1b2233;--bg-page-alt: #101218;--border: #262b36;--border-light: #2a2f3b;--border-inner: #23272f;--border-sidebar: #20242e;--border-strong: #3a3f4d;--line-deep: #1c1f27;--gray-mid: #4a5264;--primary: #7367f0;--primary-dim: rgba(115,103,240,.14);--primary-glow:rgba(115,103,240,.42);--primary-soft:#a99dff;--success: #28c76f;--success-dim: rgba(40,199,111,.14);--warning: #ff9f43;--warning-dim: rgba(255,159,67,.15);--warning-soft:#ffce5a;--danger: #ea5455;--danger-dim: rgba(234,84,85,.14);--info: #00cfe8;--info-dim: rgba(0,207,232,.14);--text: #e8eaf0;--text-soft: #cfd3dc;--text-secondary: #9aa0ad;--text-muted: #868d9b;--font-xs: 12px;--font-sm: 13px;--font-md: 15px;--font-lg: 18px;--font-xl: 22px;--font-2xl: 29px;--font-3xl: 36px;--font-mono: "JetBrains Mono", monospace;--radius: 14px;--radius-sm: 10px;--radius-lg: 18px;--shadow: 0 4px 24px rgba(0,0,0,.5)}:root[data-theme=light]{--bg-main: #e8ecf7;--bg-dark: #e8ecf7;--bg-sidebar: rgba(255,255,255,.2);--bg-card: rgba(255,255,255,.75);--bg-card2: rgba(255,255,255,.2);--bg-inner: rgba(255,255,255,.3);--bg-deep: rgba(255,255,255,.42);--bg-hover: rgba(255,255,255,.85);--bg-panel: rgba(255,255,255,.55);--bg-page-alt:rgba(255,255,255,.5);--border: rgba(120,120,170,.22);--border-light: rgba(120,120,170,.3);--border-inner: rgba(120,120,170,.16);--border-sidebar:rgba(120,120,170,.16);--border-strong: rgba(100,100,150,.42);--line-deep: rgba(120,120,170,.18);--gray-mid: #a6adc2;--primary-dim: rgba(115,103,240,.14);--primary-glow:rgba(115,103,240,.28);--primary-soft:#5b50d6;--success: #1f9e5b;--success-dim: rgba(31,158,91,.14);--warning: #c46f0e;--warning-dim: rgba(196,111,14,.14);--warning-soft:#9a6b00;--danger: #dc4a4b;--danger-dim: rgba(220,74,75,.13);--info: #0093ad;--info-dim: rgba(0,147,173,.13);--text: #262b45;--text-soft: #3a4060;--text-secondary: #545a78;--text-muted: #5c6380;--shadow: 0 8px 32px rgba(90,84,160,.14)}:root[data-theme=light] body{background:radial-gradient(600px 400px at 15% 0%,rgba(124,92,255,.22),transparent 60%),radial-gradient(700px 460px at 90% 20%,rgba(58,164,255,.25),transparent 60%),radial-gradient(500px 400px at 60% 100%,rgba(94,234,212,.18),transparent 60%),linear-gradient(160deg,#eef1fb,#e6ecf9,#eae8f7);background-attachment:fixed}:root[data-theme=light] .main-content{background:radial-gradient(600px 400px at 15% 0%,rgba(124,92,255,.22),transparent 60%),radial-gradient(700px 460px at 90% 20%,rgba(58,164,255,.25),transparent 60%),radial-gradient(500px 400px at 60% 100%,rgba(94,234,212,.18),transparent 60%)}:root[data-theme=light] .sidebar,:root[data-theme=light] .top-header{background:#ffffffbf}:root[data-theme=light] .card,:root[data-theme=light] .sidebar,:root[data-theme=light] .top-header,:root[data-theme=light] .modal,:root[data-theme=light] .modal-box,:root[data-theme=light] .equip-modal,:root[data-theme=light] .session-card{backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}:root[data-theme=light] .card{box-shadow:var(--shadow),inset 0 1px #fff9}:root[data-theme=light] [class*=card],:root[data-theme=light] [class*=panel],:root[data-theme=light] [class*=board-],:root[data-theme=light] [class*=-board]{backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%)}:root[data-theme=light] [class*=card] [class*=card]{background:#f9fafd;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}:root[data-theme=light] .mini-cards>.mini-card{background:#ffffffbf;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%)}:root[data-theme=light] th{background:#ffffff80}:root[data-theme=light] tr:hover td{background:#7367f012}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#7878aa66}:root[data-theme=light] .nav-item.router-link-active{color:var(--primary);background:#7367f024}@media(max-width:900px){:root[data-theme=light] .sidebar{background:#fffffff2;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}}:root[data-theme=light] select,:root[data-theme=light] .dark-select,:root[data-theme=light] .form-select,:root[data-theme=light] .dark-input,:root[data-theme=light] .form-input,:root[data-theme=light] input[type=text],:root[data-theme=light] input[type=number],:root[data-theme=light] input[type=email],:root[data-theme=light] input[type=password],:root[data-theme=light] input[type=date],:root[data-theme=light] textarea{background-color:#fff;color:var(--text)}:root[data-theme=light] option{background-color:#fff;color:var(--text)}:root[data-theme=light] .modal,:root[data-theme=light] .modal-box,:root[data-theme=light] .ref-modal,:root[data-theme=light] .pc-modal,:root[data-theme=light] .equip-modal,:root[data-theme=light] .doc-modal,:root[data-theme=light] .add-modal,:root[data-theme=light] .confirm-modal,:root[data-theme=light] .cf-box,:root[data-theme=light] .session-card{background:#eef1f8;backdrop-filter:none;-webkit-backdrop-filter:none}:root[data-theme=light] .region-tab{background:#fff;border-color:var(--border-strong);color:var(--text-secondary)}:root[data-theme=light] .region-tab:hover{color:var(--text);border-color:var(--primary)}:root[data-theme=light] .bh-stage,:root[data-theme=light] .am-stage{background:radial-gradient(circle at 50% 46%,#525a9e61,#525a9e1f 70%);border-radius:12px}:root[data-theme=light] .sa-panel{background-color:#525a9e42;border-radius:12px}:root[data-theme=light] .fe-head-panel{background:radial-gradient(circle at 50% 40%,rgba(82,90,158,.34),transparent 64%),linear-gradient(160deg,#7c5cff1f,#ffffff80 60%);border-color:var(--border-light)}:root[data-theme=light] .fe-glass{background:#ffffff8c;border-top-color:var(--border-light)}:root[data-theme=light] .chart-tooltip,:root[data-theme=light] .offline-global-tip{background:#fffffff7;box-shadow:0 4px 18px #5a54a038}:root[data-theme=light] .cam-empty{background:repeating-linear-gradient(45deg,#e9ecf6,#e9ecf6 14px,#dfe3f0 14px,#dfe3f0 28px)}:root[data-theme=light] .cam-placeholder-txt{color:var(--text-secondary)}:root[data-theme=light] .cam-main,:root[data-theme=light] .cam-thumb-img{background:#3a4258}input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time]{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator,input[type=week]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px}html{font-size:var(--font-md)}body{font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,Noto Sans CJK TC,Heiti TC,sans-serif;background:var(--bg-main);color:var(--text);line-height:1.5;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.w-full{width:100%}.h-full{height:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.mono{font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius-sm);font-size:var(--font-md);font-weight:700;font-family:inherit;cursor:pointer;transition:all .18s;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px var(--primary-glow)}.btn-primary:hover{background:#8579f3;box-shadow:0 8px 20px var(--primary-glow)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#33da82}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#ef6667}.btn-outline{background:transparent;color:var(--primary);border:1px solid rgba(115,103,240,.5)}.btn-outline:hover{background:var(--primary-dim);border-color:var(--primary)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--border-light);background:var(--bg-hover)}.btn-sm{padding:7px 14px;font-size:var(--font-sm)}.btn-lg{padding:14px 28px;font-size:var(--font-lg)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-fill{background:var(--primary);color:#fff;font-weight:800;padding:10px 18px}.btn-soft{background:var(--bg-card2);border:1px solid var(--border-light);color:var(--text);font-weight:800;padding:10px 18px}.btn-fill:disabled,.btn-soft:disabled{opacity:.6;cursor:default}.btn.btn-compact{padding:6px 12px;min-height:40px;font-size:14.5px}.m-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.m-title{font-size:19px;font-weight:900;color:var(--text)}.m-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;background:none;border:none;color:var(--text-secondary);font-size:22px;font-family:inherit;cursor:pointer}.m-close:disabled{opacity:.5;cursor:default}.m-foot{display:flex;justify-content:flex-end;gap:10px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.card-header{font-size:var(--font-lg);font-weight:800;color:var(--text);margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-title{display:flex;align-items:center;gap:8px}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;font-size:var(--font-xs);font-weight:800}.badge-success{background:var(--success-dim);color:var(--success);border:1px solid rgba(40,199,111,.35)}.badge-warning{background:var(--warning-dim);color:var(--warning);border:1px solid rgba(255,159,67,.35)}.badge-danger{background:var(--danger-dim);color:var(--danger);border:1px solid rgba(234,84,85,.35)}.badge-primary{background:var(--primary-dim);color:var(--primary);border:1px solid rgba(115,103,240,.35)}.badge-info{background:var(--info-dim);color:var(--info);border:1px solid rgba(0,207,232,.35)}.badge-muted{background:#6b728033;color:var(--text-secondary);border:1px solid var(--border)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:var(--font-sm);color:var(--text-secondary);font-weight:700}.form-input{width:100%;padding:11px 14px;background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--font-md);font-family:inherit;outline:none;transition:border-color .18s,box-shadow .18s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.form-input::placeholder{color:var(--text-muted)}.form-select{width:100%;padding:11px 14px;background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--font-md);font-family:inherit;outline:none;cursor:pointer;transition:border-color .18s}.form-select:focus{border-color:var(--primary)}.sel-arrow{position:absolute;right:13px;pointer-events:none;color:var(--text-secondary);font-size:11px}optgroup{color:var(--text-muted);font-size:var(--font-xs);font-style:normal}optgroup option{color:var(--text);font-size:var(--font-md)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:12px 16px;font-size:var(--font-sm);font-weight:700;color:var(--text-secondary);background:var(--bg-deep);border-bottom:1px solid var(--border)}td{padding:13px 16px;font-size:var(--font-md);border-bottom:1px solid var(--border-inner);color:var(--text)}tr:hover td{background:#7367f00f}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-success{background:var(--success);box-shadow:0 0 6px var(--success)}.dot-warning{background:var(--warning);box-shadow:0 0 6px var(--warning)}.dot-danger{background:var(--danger);box-shadow:0 0 6px var(--danger)}.dot-info{background:var(--info);box-shadow:0 0 6px var(--info)}.dot-primary{background:var(--primary);box-shadow:0 0 6px var(--primary)}.dot-muted{background:var(--text-muted)}.sensor-value{font-size:var(--font-3xl);font-weight:800;font-family:var(--font-mono);line-height:1}.sensor-unit{font-size:var(--font-md);color:var(--text-secondary);margin-left:4px}.sensor-label{font-size:var(--font-sm);color:var(--text-secondary);margin-top:4px}.loading-overlay{display:flex;align-items:center;justify-content:center;height:200px}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.fade-enter-active,.fade-leave-active{transition:opacity .18s}.fade-enter-from,.fade-leave-to{opacity:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:460px;max-width:90vw;animation:fadeIn .2s ease}.modal-lg{min-width:560px;max-width:660px;width:100%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:var(--font-lg);font-weight:800}.modal-body{padding:22px 24px;display:flex;flex-direction:column;gap:16px;max-height:70vh;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border)}@media(max-width:768px){.card{padding:16px}.modal{min-width:unset;width:95vw}}html[data-font=lg] .layout,html[data-font=lg] .fz,html[data-font=lg] .cf-box,html[data-font=lg] .fb-toasts{zoom:1.12}html[data-font=xl] .layout,html[data-font=xl] .fz,html[data-font=xl] .cf-box,html[data-font=xl] .fb-toasts{zoom:1.25}html[data-font=lg] .layout{height:calc(100vh / 1.12);height:calc(100dvh / 1.12)}html[data-font=xl] .layout{height:80vh;height:80dvh}html[data-font=lg] .cf-box{max-height:calc((100dvh - 40px) / 1.12)}html[data-font=xl] .cf-box{max-height:calc((100dvh - 40px)*.8)}html[data-font=lg] .fz-ov>*,html[data-font=lg] .modal-overlay>*{max-height:calc(100vh / 1.12 - 32px);max-height:calc(100dvh / 1.12 - 32px)}html[data-font=xl] .fz-ov>*,html[data-font=xl] .modal-overlay>*{max-height:calc(80vh - 32px);max-height:calc(80dvh - 32px)}:root{color-scheme:dark}:root[data-theme=light]{color-scheme:light}:root{--offline: #8a91a0;--offline-dim: rgba(138,145,160,.16)}:root[data-theme=light]{--offline: #5c6380;--offline-dim: rgba(92,99,128,.14)}.btn{min-height:44px}.btn-sm{min-height:38px}.btn:focus-visible{outline:3px solid var(--primary-glow);outline-offset:2px}canvas{max-width:100%}table.sticky-first th:first-child,table.sticky-first td:first-child{position:sticky;left:0;z-index:1;background-color:var(--bg-card)}:root[data-theme=light] table.sticky-first th:first-child,:root[data-theme=light] table.sticky-first td:first-child{background-color:#f6f7fc}@media(max-width:640px){table.rtable,table.rtable tbody,table.rtable tr,table.rtable td{display:block;width:100%}table.rtable{min-width:0!important}table.rtable thead{display:none}table.rtable tr{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:6px 12px;background:var(--bg-card)}table.rtable td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--border-inner);text-align:right;font-size:15px;white-space:normal}table.rtable td:last-child{border-bottom:none}table.rtable td:before{content:attr(data-label);flex-shrink:0;text-align:left;font-size:14px;font-weight:700;color:var(--text-secondary)}table.rtable td:not([data-label]):before,table.rtable td[data-label=""]:before{content:none}table.rtable td.rt-title{font-size:17px;font-weight:800;justify-content:flex-start;text-align:left}table.rtable td.rt-actions{justify-content:flex-end;flex-wrap:wrap;gap:8px;padding-top:10px}table.rtable td.rt-actions:before{content:none}table.rtable tr:hover td{background:transparent}.rtable-wrap,.rtable-wrap>.hs-view{overflow-x:visible!important}}.lv-cold{color:var(--info)}.lv-ok{color:var(--success)}.lv-warm{color:var(--warning)}.lv-hot{color:var(--danger)}.lv-off{color:var(--offline)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.main-content .ix-card{transition:border-color .2s ease,box-shadow .2s ease}.main-content .ix-card:hover{border-color:#7367f052;box-shadow:0 10px 28px #1e185a1a;background-image:radial-gradient(460px circle at var(--mx, 50%) var(--my, 50%),rgba(115,103,240,.07),transparent 70%)}:root:not([data-theme=light]) .main-content .ix-card:hover{box-shadow:0 10px 28px #00000047}.main-content .ix-tile{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.main-content .ix-tile:hover{transform:translateY(-3px);border-color:#7367f073;box-shadow:0 12px 26px #1e185a24;background-image:radial-gradient(220px circle at var(--mx, 50%) var(--my, 50%),rgba(115,103,240,.14),transparent 70%)}:root:not([data-theme=light]) .main-content .ix-tile:hover{box-shadow:0 12px 26px #00000052}.main-content .ix-tile:is(.loc-cell,.lu-cell):hover{transform:scale(1.04);background-image:none}.main-content tr.ix-row>td{transition:background-color .15s ease,box-shadow .15s ease}.main-content tr.ix-row:hover>td{background-image:linear-gradient(#7367f012,#7367f012)}.main-content tr.ix-row:hover>td:first-child{box-shadow:inset 3px 0 #7367f0}.main-content .ix-row:not(tr){transition:background-color .15s ease,box-shadow .15s ease}.main-content .ix-row:not(tr):hover{background-image:linear-gradient(#7367f012,#7367f012);box-shadow:inset 3px 0 #7367f0}.main-content .ix-btn{transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease,filter .15s ease}.main-content .ix-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 6px 14px #7367f038}.main-content .ix-btn:not(:disabled):active{transform:scale(.97);box-shadow:none}.main-content .ix-tab{transition:background-color .15s ease,color .15s ease,transform .15s ease}.main-content .ix-tab:not(.active):not(.on):not([aria-selected=true]):hover{background-image:linear-gradient(#7367f01a,#7367f01a);color:var(--text)}.main-content .ix-tab:active{transform:scale(.97)}.main-content :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea):not(:disabled):not(:focus):hover{border-color:#7367f08c}.main-content input:is([type=checkbox],[type=radio]):not(:disabled){cursor:pointer;transition:transform .15s ease}.main-content input:is([type=checkbox],[type=radio]):not(:disabled):hover{transform:scale(1.12)}.main-content .bar-col .bar-seg,.main-content .hbar-row .hb-fill{transition:filter .15s ease}.main-content .bar-col:hover .bar-seg,.main-content .hbar-row:hover .hb-fill{filter:brightness(1.2) saturate(1.1)}.main-content .bar-col:hover{background:#7367f014;border-radius:4px}@media(prefers-reduced-motion:reduce){.main-content :is(.ix-card,.ix-tile,.ix-row,.ix-btn,.ix-tab,tr.ix-row>td,input){transition:none}.main-content :is(.ix-tile,.ix-btn,.ix-tab,input):hover,.main-content :is(.ix-btn,.ix-tab):active{transform:none}}
