:root{--primary:#2563eb;--primary-hover:#1d4ed8;--bg:#fff;--bg-secondary:#f8fafc;--text:#334155;--text-light:#94a3b8;--border:#e2e8f0;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Noto Sans TC,sans-serif;font-size:24px;line-height:1.65}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}[data-theme=light]{--d-bg:#f0f2f5;--d-surface-low:#fff;--d-surface:#f7f8fa;--d-surface-mid:#eef0f4;--d-surface-high:#e4e7ec;--d-surface-highest:#d4d8e0;--d-border:#00000012;--d-text:#111827;--d-text-dim:#1e293b;--d-text-muted:#374151;--d-accent:#0284c7;--d-accent-dim:#0369a1;--d-green:#16a34a;--d-amber:#d97706;--d-red:#dc2626;--d-red-strong:#dc2626;--d-radius:12px}[data-theme=light] .dash{--d-bg:#e8eaef;--d-surface-low:#f0f1f5;--d-surface:#eaecf0;--d-surface-mid:#e2e4e9;--d-surface-high:#d8dbe1;--d-surface-highest:#cdd0d7;--d-border:#00000014;--d-text:#111827;--d-text-dim:#1e293b;--d-text-muted:#374151;--d-accent:#0284c7;--d-accent-dim:#0369a1;--d-green:#16a34a;--d-amber:#d97706;--d-red:#dc2626;--d-red-strong:#dc2626;color:#111827;background:#e8eaef}[data-theme=light] .dash-main{background:#e8eaef}[data-theme=light] .dash-main *,[data-theme=light] .dash-main span,[data-theme=light] .dash-main p,[data-theme=light] .dash-main h1,[data-theme=light] .dash-main h2,[data-theme=light] .dash-main h3,[data-theme=light] .dash-main h4,[data-theme=light] .dash-main h5,[data-theme=light] .dash-main label,[data-theme=light] .dash-main td,[data-theme=light] .dash-main th,[data-theme=light] .dash-main small,[data-theme=light] .dash-main div{color:#1e293b}[data-theme=light] .dash-summary-value--blue{color:#0284c7!important}[data-theme=light] .dash-summary-value--green{color:#16a34a!important}[data-theme=light] .dash-summary-value--red{color:#dc2626!important}[data-theme=light] .dash-summary-footer--green{color:#16a34a!important}[data-theme=light] .dash-summary-footer--red{color:#dc2626!important}[data-theme=light] .dash-topbar-title,[data-theme=light] .dash-badge--accent{color:#0284c7!important}[data-theme=light] .dash-alert-icon--critical{color:#dc2626!important}[data-theme=light] .dash-alert-icon--warning{color:#d97706!important}[data-theme=light] .dash-alert-icon--info{color:#0284c7!important}[data-theme=light] .dash-alert-action{color:#dc2626!important}[data-theme=light] .dash-clear-btn,[data-theme=light] .dash-network-label{color:#0284c7!important}[data-theme=light] .dash-map-stat-val--red{color:#dc2626!important}[data-theme=light] .pf-oee--good{color:#16a34a!important}[data-theme=light] .pf-oee--warn{color:#d97706!important}[data-theme=light] .pf-oee--bad{color:#dc2626!important}[data-theme=light] .pf-zone-badge--good{color:#16a34a!important}[data-theme=light] .pf-zone-badge--warning{color:#d97706!important}[data-theme=light] .pf-zone-badge--critical{color:#dc2626!important}[data-theme=light] .pf-legend-val{color:#1e293b!important}[data-theme=light] .dash-edit-banner,[data-theme=light] .dash-tile-handle{color:#0284c7!important}[data-theme=light] .rpt-status-badge,[data-theme=light] .sh-status-badge,[data-theme=light] .log-severity-badge,[data-theme=light] .ml-filter-btn.active,[data-theme=light] .bk-tech-status{color:inherit!important}[data-theme=light] .dash-icon-btn:hover{color:#1e293b!important}[data-theme=light] .auth-submit,[data-theme=light] .dash-export-btn,[data-theme=light] .bk-btn-primary,[data-theme=light] .md-btn-primary,[data-theme=light] .rpt-btn-primary,[data-theme=light] .rpt-generate-btn,[data-theme=light] .sh-book-btn{color:#fff!important}[data-theme=light] .dash-avatar{color:#0284c7!important}[data-theme=light] .ai-chat-container,[data-theme=light] .ai-messages{background:#f0f2f5}[data-theme=light] .ai-msg--assistant .ai-msg-content,[data-theme=light] .ai-msg--system .ai-msg-content{color:#1e293b!important;background:#fff!important;border-color:#00000012!important}[data-theme=light] .ai-msg--user .ai-msg-content{color:#fff!important;background:#0284c7!important}[data-theme=light] .ai-input-area{background:#f0f1f5;border-top-color:#00000012}[data-theme=light] .ai-input-wrap{background:#eceef2;border-color:#0000001a}[data-theme=light] .ai-input{color:#1e293b}[data-theme=light] .ai-input::placeholder{color:#94a3b8}[data-theme=light] .ai-quick-btn{color:#1e293b!important;background:#fff!important;border-color:#00000012!important}[data-theme=light] .ai-quick-btn:hover{border-color:#0284c74d!important}[data-theme=light] .ai-typing span{background:#94a3b8}[data-theme=light] .ai-clear-btn{color:#1e293b!important;background:#e4e7ec!important}[data-theme=light] .ai-disclaimer,[data-theme=light] .ai-msg-time{color:#64748b!important}[data-theme=light] .dash-sidebar{background:#f0f1f5;border-right-color:#0000000f}[data-theme=light] .dash-sidebar-logo{box-shadow:0 4px 16px #0077cc26}[data-theme=light] .dash-nav-item{color:#64748b}[data-theme=light] .dash-nav-item:hover{color:#334155;background:#e4e6eb}[data-theme=light] .dash-nav-item.active{color:#07c;background:linear-gradient(90deg,#0077cc0f,#0000)}[data-theme=light] .dash-topbar{background:#ffffffd9;border-bottom-color:#0000000f}[data-theme=light] .dash-topbar-title{color:#07c}[data-theme=light] .dash-summary-card,[data-theme=light] .dash-panel,[data-theme=light] .dash-metric-card,[data-theme=light] .pf-kpi,[data-theme=light] .pf-chart-card,[data-theme=light] .pf-zone-card,[data-theme=light] .pf-table-wrap,[data-theme=light] .rpt-kpi,[data-theme=light] .rpt-chart-card,[data-theme=light] .rpt-table-wrap,[data-theme=light] .ml-table-wrap,[data-theme=light] .log-list,[data-theme=light] .sh-card,[data-theme=light] .sh-stat,[data-theme=light] .bk-tech-card,[data-theme=light] .bk-section,[data-theme=light] .bk-summary-card,[data-theme=light] .md-section,[data-theme=light] .md-status-panel,[data-theme=light] .md-diagnostic-panel{background:#f0f1f5;border-color:#0000000f;box-shadow:0 1px 3px #0000000a}[data-theme=light] .dash-search,[data-theme=light] .ml-search,[data-theme=light] .log-search,[data-theme=light] .sh-search,[data-theme=light] .bk-search,[data-theme=light] .rpt-search,[data-theme=light] .md-field input,[data-theme=light] .md-field textarea,[data-theme=light] .bk-field input,[data-theme=light] .bk-field textarea{color:#1a202c;background:#eceef2;border-color:#0000001a}[data-theme=light] .dash-icon-btn{color:#64748b}[data-theme=light] .dash-icon-btn:hover{color:#334155;background:#e4e6eb}[data-theme=light] .dash-alert,[data-theme=light] .log-entry{background:#fafbfc}[data-theme=light] .dash-avatar{color:#07c;background:#e2e8f0;border-color:#07c3}[data-theme=light] .dash-network-card{background:#f0f7ff}[data-theme=light] .dash-network-overlay{background:linear-gradient(#0000,#f0f7ff)}[data-theme=light] .dash-region-panel{background:#fafbfc}[data-theme=light] .dash-progress,[data-theme=light] .pf-zone-bar,[data-theme=light] .rpt-cat-bar-track,[data-theme=light] .md-health-bar,[data-theme=light] .pf-bar-track{background:#e2e8f0}[data-theme=light] .ml-filter-btn,[data-theme=light] .log-filter-btn,[data-theme=light] .sh-filter-btn,[data-theme=light] .rpt-type-btn,[data-theme=light] .bk-spec-btn,[data-theme=light] .pf-range-btn{color:#64748b;background:#e4e6eb;border-color:#00000014}[data-theme=light] .dash-mobile-nav{background:#ffffffe6;border-top-color:#0000000f}[data-theme=light] .dash-fab{box-shadow:0 4px 20px #0077cc40}.dash-theme-toggle{width:100%;color:var(--d-text-muted,#4d5d75);cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:10px;margin-bottom:4px;padding:10px 24px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s;display:flex}.dash-theme-toggle:hover{color:var(--d-text-dim,#8b9ab5);background:var(--d-surface,#151e2d)}[data-theme=light] .dash-theme-toggle:hover{color:#334155;background:#e4e6eb}.auth-page{--c-bg:#0d141d;--c-surface-low:#111a27;--c-surface:#151e2d;--c-surface-high:#1a2435;--c-surface-highest:#222e42;--c-border:#ffffff0f;--c-border-focus:#7ad0ff73;--c-text:#dce3f0;--c-text-dim:#8b9ab5;--c-text-muted:#4d5d75;--c-accent:#00bfff;--c-accent-dim:#7ad0ff;--c-accent-glow:#00bfff1f;--c-green:#66dd8b;--c-green-glow:#66dd8b26;--c-red:#f87171;--c-amber:#fbbf24;--radius:12px;background:var(--c-bg);min-height:100vh;color:var(--c-text);flex-direction:column;justify-content:center;align-items:center;padding:24px;font-family:system-ui,-apple-system,Noto Sans TC,Segoe UI,sans-serif;display:flex;position:relative;overflow:hidden}.auth-ambient{pointer-events:none;filter:blur(120px);border-radius:50%;position:fixed}.auth-ambient--top{background:#00bfff0f;width:500px;height:500px;top:-200px;right:-100px}.auth-ambient--bottom{background:#66dd8b0a;width:500px;height:500px;bottom:-200px;left:-100px}.auth-shell{z-index:1;background:var(--c-surface-low);border:1px solid var(--c-border);border-radius:16px;grid-template-columns:1fr 1fr;width:100%;max-width:1100px;animation:.6s cubic-bezier(.22,1,.36,1) shell-in;display:grid;position:relative;overflow:hidden;box-shadow:0 25px 80px #00000080,inset 0 0 0 1px #ffffff05}@keyframes shell-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-left{background:var(--c-bg);flex-direction:column;justify-content:space-between;min-height:600px;padding:48px 44px;display:flex;position:relative;overflow:hidden}.auth-left-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-circle{border:1px solid #00bfff14;border-radius:50%;position:absolute}.auth-circle--1{background:radial-gradient(circle,#00bfff0a 0%,#0000 70%);width:500px;height:500px;top:50%;left:50%;transform:translate(-40%,-45%)}.auth-circle--2{border-color:#00bfff1f;width:350px;height:350px;top:50%;left:50%;transform:translate(-35%,-40%)}.auth-circle--3{background:radial-gradient(circle,#00bfff0f 0%,#0000 70%);border-color:#00bfff2e;width:200px;height:200px;top:50%;left:50%;transform:translate(-30%,-35%)}.auth-left-content{z-index:1;flex-direction:column;justify-content:space-between;height:100%;display:flex;position:relative}.auth-left-brand{align-items:center;gap:12px;margin-bottom:48px;display:flex}.auth-logo{background:linear-gradient(135deg, var(--c-accent), #3b82f6);width:40px;height:40px;color:var(--c-bg);border-radius:10px;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex;box-shadow:0 4px 20px #00bfff40}.auth-logo-text{letter-spacing:.2em;color:var(--c-accent);font-size:14px;font-weight:700}.auth-left-hero{flex-direction:column;flex:1;justify-content:center;display:flex}.auth-headline{letter-spacing:-.02em;color:var(--c-text);margin-bottom:20px;font-size:44px;font-weight:800;line-height:1.2}.auth-headline-accent{color:var(--c-accent-dim)}.auth-subline{color:var(--c-text-dim);max-width:400px;font-size:16px;line-height:1.7}.auth-stats{grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;display:grid}.auth-stat-card{border-radius:var(--radius);border:1px solid var(--c-border);background:#242a3480;padding:20px}.auth-stat-badge{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:10px;font-size:11px;font-weight:700;display:inline-flex}.auth-stat-badge--green{color:var(--c-green)}.auth-stat-badge--blue{color:var(--c-accent)}.auth-stat-value{letter-spacing:-.02em;color:var(--c-text);font-size:28px;font-weight:800}.auth-stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-muted);margin-top:2px;font-size:11px}.auth-right{background:var(--c-surface);flex-direction:column;justify-content:center;padding:48px 44px;display:flex;overflow:hidden}.auth-right-inner{width:100%;max-width:400px;margin:0 auto;overflow:hidden}.auth-tabs{border-bottom:1px solid var(--c-border);margin-bottom:8px;display:flex;position:relative}.auth-tab{color:var(--c-text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:16px 0;font-family:inherit;font-size:16px;font-weight:600;transition:color .3s}.auth-tab.active{color:var(--c-text)}.auth-tab:hover:not(.active){color:var(--c-text-dim)}.auth-tab-indicator{background:var(--c-accent);width:50%;height:2px;box-shadow:0 0 10px var(--c-accent-glow);border-radius:2px;transition:transform .4s cubic-bezier(.4,0,.15,1);position:absolute;bottom:-1px;left:0}.auth-tab-indicator.right{transform:translate(100%)}.auth-form-hint{color:var(--c-text-dim);margin:16px 0 28px;font-size:13px}.auth-forms-viewport{width:100%;position:relative;overflow:hidden}.auth-forms-slider{will-change:transform;width:200%;transition:transform .5s cubic-bezier(.4,0,.15,1);display:flex}.auth-forms-slider.show-register{transform:translate(-50%)}.auth-form-panel{flex-shrink:0;width:50%}.auth-field{margin-bottom:20px}.auth-label{letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-dim);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.auth-label-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.auth-label-row .auth-label{margin-bottom:0}.auth-input-wrap{position:relative}.auth-input-icon{color:var(--c-text-muted);pointer-events:none;transition:color .3s;display:flex;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.auth-input{background:var(--c-surface-high);border:1px solid var(--c-border);border-radius:var(--radius);width:100%;color:var(--c-text);padding:14px 16px 14px 48px;font-family:inherit;font-size:15px;transition:border-color .3s,box-shadow .3s}.auth-input::placeholder{color:var(--c-text-muted);font-size:14px}.auth-input:focus{border-color:var(--c-border-focus);box-shadow:0 0 0 3px var(--c-accent-glow);outline:none}.auth-input:focus~.auth-input-icon{color:var(--c-accent)}.auth-toggle-pw{color:var(--c-text-muted);cursor:pointer;background:0 0;border:none;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.auth-toggle-pw:hover{color:var(--c-text-dim)}.auth-forgot{color:var(--c-accent);font-size:12px;font-weight:600;text-decoration:none;transition:opacity .2s}.auth-forgot:hover{opacity:.8;text-decoration:none}.auth-remember{cursor:pointer;color:var(--c-text-dim);align-items:center;gap:10px;margin-top:4px;margin-bottom:24px;font-size:14px;display:flex}.auth-remember input[type=checkbox]{appearance:none;border:1.5px solid var(--c-text-muted);background:var(--c-surface-high);cursor:pointer;border-radius:5px;flex-shrink:0;width:18px;height:18px;transition:all .2s;position:relative}.auth-remember input[type=checkbox]:checked{background:var(--c-accent);border-color:var(--c-accent)}.auth-remember input[type=checkbox]:checked:after{content:"";border:solid var(--c-bg);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.auth-submit{border-radius:var(--radius);letter-spacing:.03em;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-family:inherit;font-size:16px;font-weight:700;transition:all .3s;display:flex}.auth-submit.login{background:var(--c-accent);color:var(--c-bg);box-shadow:0 6px 24px #00bfff40}.auth-submit.login:hover{transform:translateY(-1px);box-shadow:0 8px 32px #00bfff66}.auth-submit.register{background:var(--c-green);color:var(--c-bg);box-shadow:0 6px 24px var(--c-green-glow)}.auth-submit.register:hover{transform:translateY(-1px);box-shadow:0 8px 32px #66dd8b4d}.auth-submit:active{transform:translateY(0)scale(.99)}.auth-submit svg{transition:transform .3s}.auth-submit:hover svg{transform:translate(3px)}.auth-divider{color:var(--c-text-muted);letter-spacing:.08em;align-items:center;gap:16px;margin:24px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--c-border);flex:1;height:1px}.auth-social-row{gap:12px;display:flex}.auth-social-btn{border-radius:var(--radius);background:var(--c-surface-high);border:1px solid var(--c-border);color:var(--c-text-dim);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:inherit;font-size:13px;font-weight:500;transition:all .25s;display:flex}.auth-social-btn:hover{background:var(--c-surface-highest);color:var(--c-text);border-color:#ffffff1f}.auth-social-btn--line:hover{background:#06c75514;border-color:#06c7554d}.auth-strength-bar{gap:4px;margin-top:8px;display:flex}.auth-strength-seg{background:var(--c-surface-highest);border-radius:3px;flex:1;height:3px;transition:background .3s}.auth-strength-label{color:var(--c-text-muted);margin-top:6px;font-size:11px}.auth-terms{color:var(--c-text-muted);text-align:center;margin-top:20px;font-size:12px;line-height:1.7}.auth-terms a{color:var(--c-accent);text-decoration:none}.auth-terms a:hover{text-decoration:underline}.auth-page-footer{z-index:1;text-align:center;letter-spacing:.12em;color:var(--c-text-muted);text-transform:uppercase;margin-top:24px;font-size:11px;position:relative}@media (width<=860px){.auth-shell{grid-template-columns:1fr;max-width:480px}.auth-left{display:none}.auth-right{padding:36px 28px}}:root{--d-bg:#0d141d;--d-surface-low:#111a27;--d-surface:#151e2d;--d-surface-mid:#19202a;--d-surface-high:#1f2937;--d-surface-highest:#2e353f;--d-border:#ffffff0d;--d-text:#dce3f0;--d-text-dim:#8b9ab5;--d-text-muted:#4d5d75;--d-accent:#00bfff;--d-accent-dim:#8fd6ff;--d-green:#66dd8b;--d-amber:#ffc539;--d-red:#ffb4ab;--d-red-strong:#f87171;--d-radius:12px}.dash{background:var(--d-bg);min-height:100vh;color:var(--d-text);width:100%;font-family:system-ui,-apple-system,Noto Sans TC,sans-serif;display:flex;overflow-x:hidden}.dash-sidebar{background:var(--d-bg);border-right:1px solid var(--d-border);z-index:50;flex-direction:column;width:250px;padding:28px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.dash-sidebar-brand{align-items:center;gap:12px;margin-bottom:36px;padding:0 24px;display:flex}.dash-sidebar-logo{background:linear-gradient(135deg, var(--d-accent), #3b82f6);width:36px;height:36px;color:var(--d-bg);border-radius:10px;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex;box-shadow:0 4px 16px #00bfff33}.dash-sidebar-logo-text{letter-spacing:.2em;color:var(--d-text-dim);font-size:12px;font-weight:700}.dash-sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.dash-nav-item{color:var(--d-text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-right:2px solid #0000;align-items:center;gap:12px;width:100%;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.dash-nav-item:hover{color:var(--d-text-dim);background:var(--d-surface);text-decoration:none}.dash-nav-item.active{color:var(--d-accent);border-right-color:var(--d-accent);background:linear-gradient(90deg,#00bfff14,#0000)}.dash-nav-item.subtle{padding:10px 24px;font-size:13px}.dash-sidebar-footer{flex-direction:column;gap:2px;padding:0 16px;display:flex}.dash-sidebar-footer .dash-nav-item.subtle{padding:10px 8px}.dash-export-btn{background:var(--d-accent);color:var(--d-bg);border-radius:var(--d-radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;padding:12px;font-family:inherit;font-size:13px;font-weight:700;transition:opacity .2s;display:flex}.dash-export-btn:hover{opacity:.9}.dash-main{flex-direction:column;flex:1;min-width:0;margin-left:250px;display:flex;overflow-x:hidden}.dash-topbar{z-index:40;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--d-border);background:#151e2db3;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.dash-topbar-title{letter-spacing:.15em;color:var(--d-accent);font-size:16px;font-weight:700}.dash-topbar-actions{align-items:center;gap:20px;display:flex}.dash-search{background:var(--d-bg);border:1px solid var(--d-border);color:var(--d-text-muted);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;display:flex}.dash-search input{color:var(--d-text);background:0 0;border:none;outline:none;width:200px;font-family:inherit;font-size:13px}.dash-search input::placeholder{color:var(--d-text-muted)}.dash-topbar-icons{align-items:center;gap:4px;display:flex}.dash-icon-btn{color:var(--d-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;transition:all .2s;display:flex}.dash-icon-btn:hover{background:var(--d-surface-high);color:var(--d-text-dim)}.dash-avatar{background:var(--d-surface-high);width:32px;height:32px;color:var(--d-accent);border:1px solid #00bfff33;border-radius:50%;justify-content:center;align-items:center;margin-left:8px;font-size:11px;font-weight:700;display:flex}.dash-content{box-sizing:border-box;width:100%;max-width:1280px;margin:0 auto;padding:28px;overflow-x:hidden}.dash-summary{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px;display:grid}.dash-summary-card{background:var(--d-surface-low);border-radius:var(--d-radius);padding:24px;position:relative;overflow:hidden}.dash-summary-card-glow{opacity:.5;border-radius:50%;width:120px;height:120px;transition:opacity .4s;position:absolute;top:-40px;right:-40px}.dash-summary-card:hover .dash-summary-card-glow{opacity:1}.dash-summary-card--blue .dash-summary-card-glow{background:#00bfff0f}.dash-summary-card--green .dash-summary-card-glow{background:#66dd8b0f}.dash-summary-card--red .dash-summary-card-glow{background:#f871710f}.dash-summary-label{text-transform:uppercase;letter-spacing:.12em;color:var(--d-text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.dash-summary-value-row{align-items:baseline;gap:8px;display:flex}.dash-summary-value{letter-spacing:-.02em;font-size:42px;font-weight:800;line-height:1}.dash-summary-value--blue{color:var(--d-text)}.dash-summary-value--green{color:var(--d-green)}.dash-summary-value--red{color:var(--d-red-strong)}.dash-summary-suffix{color:var(--d-text-muted);font-size:16px}.dash-summary-footer{align-items:center;gap:6px;margin-top:16px;font-size:12px;font-weight:500;display:flex}.dash-summary-footer--green{color:var(--d-green)}.dash-summary-footer--red{color:var(--d-red-strong)}.dash-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dash-dot--green{background:var(--d-green);box-shadow:0 0 6px var(--d-green)}.dash-bento{grid-template-columns:1fr 380px;gap:20px;display:grid}.dash-bento-main{min-width:0}.dash-bento-side{flex-direction:column;gap:20px;display:flex}.dash-panel{background:var(--d-surface-low);border-radius:var(--d-radius);padding:24px}.dash-panel-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dash-panel-title{color:var(--d-text);font-size:16px;font-weight:700}.dash-panel-badges{gap:8px;display:flex}.dash-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--d-bg);color:var(--d-text-muted);border-radius:999px;padding:4px 10px;font-size:10px;font-weight:700}.dash-badge--accent{background:var(--d-surface-highest);color:var(--d-accent)}.dash-metrics{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.dash-metric-card{background:var(--d-surface-mid);border-radius:var(--d-radius);border:1px solid var(--d-border);padding:16px}.dash-metric-head{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.dash-metric-label{text-transform:uppercase;color:var(--d-text-muted);font-size:10px;font-weight:700}.dash-metric-value-row{align-items:baseline;gap:4px;margin-bottom:16px;display:flex}.dash-metric-value{letter-spacing:-.02em;font-size:28px;font-weight:800}.dash-metric-unit{color:var(--d-text-muted);font-size:13px}.dash-mini-chart{align-items:flex-end;gap:3px;height:48px;display:flex}.dash-mini-bar{border-radius:2px;flex:1;transition:height .3s}.dash-mini-bar--blue{background:var(--d-accent)}.dash-mini-bar--green{background:var(--d-green)}.dash-mini-bar--amber{background:var(--d-amber)}.dash-detail-row{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}.dash-region-panel{background:var(--d-bg);border-radius:var(--d-radius);padding:20px}.dash-region-title{text-transform:uppercase;letter-spacing:.1em;color:var(--d-text-muted);margin-bottom:20px;font-size:11px;font-weight:700}.dash-region-item{margin-bottom:14px}.dash-region-item:last-child{margin-bottom:0}.dash-region-row{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;display:flex}.dash-region-units{font-variant-numeric:tabular-nums;font-weight:600}.dash-progress{background:var(--d-surface-high);border-radius:5px;height:5px;overflow:hidden}.dash-progress-fill{background:var(--d-accent);border-radius:5px;height:100%;transition:width .6s}.dash-network-card{border-radius:var(--d-radius);background:var(--d-bg);align-items:flex-end;min-height:180px;display:flex;position:relative;overflow:hidden}.dash-network-bg{background:radial-gradient(circle at 30% 40%,#00bfff14 0%,#0000 50%),radial-gradient(circle at 70% 60%,#66dd8b0d 0%,#0000 50%);position:absolute;inset:0}.dash-network-overlay{z-index:1;background:linear-gradient(to top, var(--d-bg), transparent);width:100%;padding:20px;position:relative}.dash-network-label{text-transform:uppercase;letter-spacing:.1em;color:var(--d-accent);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.dash-network-value{font-size:18px;font-weight:700}.dash-alerts-panel{flex:1}.dash-clear-btn{color:var(--d-accent);text-transform:uppercase;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:10px;font-weight:700}.dash-clear-btn:hover{text-decoration:underline}.dash-alerts-list{flex-direction:column;gap:12px;display:flex}.dash-alert{background:var(--d-surface-mid);border-radius:var(--d-radius);border-left:3px solid #0000;gap:12px;padding:14px;display:flex}.dash-alert--critical{border-left-color:var(--d-red-strong)}.dash-alert--warning{border-left-color:var(--d-amber)}.dash-alert--info{border-left-color:var(--d-accent)}.dash-alert-icon{margin-top:2px}.dash-alert-icon--critical{color:var(--d-red-strong)}.dash-alert-icon--warning{color:var(--d-amber)}.dash-alert-icon--info{color:var(--d-accent)}.dash-alert-body{flex:1;min-width:0}.dash-alert-head{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.dash-alert-head h5{font-size:13px;font-weight:600}.dash-alert-time{color:var(--d-text-muted);flex-shrink:0;font-size:10px}.dash-alert-desc{color:var(--d-text-dim);font-size:12px;line-height:1.5}.dash-alert-action{color:var(--d-red-strong);text-transform:uppercase;cursor:pointer;background:#f8717126;border:none;border-radius:6px;margin-top:8px;padding:4px 10px;font-family:inherit;font-size:10px;font-weight:700}.dash-view-all-btn{background:var(--d-surface-high);border-radius:var(--d-radius);width:100%;color:var(--d-text-muted);text-transform:uppercase;cursor:pointer;border:none;margin-top:16px;padding:12px;font-family:inherit;font-size:11px;font-weight:700;transition:color .2s}.dash-view-all-btn:hover{color:var(--d-text)}.dash-map{border-radius:var(--d-radius);border:1px solid var(--d-border);background:var(--d-bg);height:180px;margin-top:16px;position:relative;overflow:hidden}.dash-map-visual{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.dash-map-grid{opacity:.3;grid-template-columns:repeat(8,1fr);gap:6px;padding:20px;display:grid}.dash-map-cell{background:var(--d-surface-highest);border-radius:3px;width:12px;height:12px}.dash-map-cell.active{background:var(--d-accent);box-shadow:0 0 8px var(--d-accent);opacity:1}.dash-map-ping{position:absolute;top:50%;left:55%;transform:translate(-50%,-50%)}.dash-map-ping-ring{background:var(--d-accent);opacity:.3;border-radius:50%;width:24px;height:24px;animation:1.5s ease-out infinite ping}.dash-map-ping-dot{background:var(--d-accent);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #00bfff99}@keyframes ping{0%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}.dash-map-label{text-transform:uppercase;letter-spacing:.05em;color:var(--d-text-dim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d141dd9;border-radius:4px;padding:4px 8px;font-size:9px;font-weight:600;position:absolute;bottom:8px;left:8px}.dash-map-stats{flex-direction:column;gap:8px;margin-top:14px;display:flex}.dash-map-stat{color:var(--d-text-muted);justify-content:space-between;font-size:12px;display:flex}.dash-map-stat-val{color:var(--d-text);font-variant-numeric:tabular-nums;font-weight:600}.dash-map-stat-val--red{color:var(--d-red-strong)}.dash-fab{background:var(--d-accent);width:56px;height:56px;color:var(--d-bg);cursor:pointer;z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 20px #00bfff59}.dash-fab:hover{transform:scale(1.1)}.dash-fab:active{transform:scale(.95)}.dash-mobile-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:50;border-top:1px solid var(--d-border);background:#151e2dd9;justify-content:space-around;align-items:center;height:64px;display:none;position:fixed;bottom:0;left:0;right:0}.dash-mobile-nav-item{color:var(--d-text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:4px 8px;font-family:inherit;display:flex}.dash-mobile-nav-item span{text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:700}.dash-mobile-nav-item.active{color:var(--d-accent)}.dash-grid-free{grid-template-columns:repeat(12,1fr);gap:16px;width:100%;min-width:0;display:grid}.dash-tile{border-radius:var(--d-radius);min-width:0;transition:transform .2s,box-shadow .2s,opacity .2s;overflow:hidden}.dash-tile--sm,.dash-tile--md{grid-column:span 4}.dash-tile--half{grid-column:span 6}.dash-tile--lg{grid-column:span 8}.dash-tile--full{grid-column:span 12}.dash-tile--editing{outline-offset:-2px;border-radius:var(--d-radius);resize:both;outline:2px dashed #00bfff26;min-height:120px;position:relative;overflow:auto}.dash-tile-handle{cursor:grab;color:var(--d-accent);letter-spacing:.05em;text-transform:uppercase;-webkit-user-select:none;user-select:none;background:linear-gradient(#00bfff14 0%,#0000 100%);border-bottom:1px solid #00bfff1a;justify-content:center;align-items:center;gap:6px;padding:6px 0;font-size:10px;font-weight:600;transition:background .2s;display:flex}.dash-tile-handle:hover{background:linear-gradient(#00bfff26 0%,#0000 100%)}.dash-tile-handle:active{cursor:grabbing}.dash-tile--dragging{opacity:.3;outline-color:var(--d-accent)!important}.dash-ghost{z-index:9999;pointer-events:none;opacity:.9;border-radius:var(--d-radius);box-shadow:0 30px 80px #00000080, 0 0 0 2px var(--d-accent), 0 0 40px #00bfff26;will-change:left, top;transition:none;position:fixed;overflow:hidden;transform:scale(1.03)}.dash-tile--dragging{transform:scale(.96);opacity:.15!important}.dash-tile--editing::-webkit-resizable{background:var(--d-accent)}.dash-tile>.dash-summary-card,.dash-tile>.dash-panel,.dash-tile>.dash-network-card{height:100%}.dash-icon-btn--active{color:var(--d-accent)!important;background:#00bfff1a!important}.dash-edit-banner{color:var(--d-accent-dim);background:#00bfff0f;border-bottom:1px solid #00bfff1a;align-items:center;gap:10px;padding:10px 28px;font-size:13px;display:flex}.dash-edit-banner button{background:var(--d-accent);color:var(--d-bg);cursor:pointer;border:none;border-radius:8px;margin-left:auto;padding:6px 16px;font-family:inherit;font-size:12px;font-weight:700}@media (width<=1100px){.dash-grid-free{grid-template-columns:repeat(6,1fr)}.dash-tile--sm{grid-column:span 3}.dash-tile--lg{grid-column:span 6}.dash-tile--md{grid-column:span 3}}@media (width<=860px){.dash-sidebar{display:none}.dash-main{margin-left:0}.dash-mobile-nav{display:flex}.dash-content{padding:16px 12px 80px}.dash-search{display:none}.dash-fab{bottom:80px}.dash-grid-free{grid-template-columns:1fr}.dash-tile--sm,.dash-tile--lg,.dash-tile--md,.dash-tile--half,.dash-tile--full{grid-column:span 1}.dash-topbar{height:52px;padding:0 12px}.dash-topbar-title{letter-spacing:.08em;font-size:14px}.dash-topbar-icons{gap:2px}.dash-icon-btn{padding:6px}.dash-avatar{width:28px;height:28px;font-size:9px}.dash-edit-banner{padding:8px 12px;font-size:11px}.dash-panel{padding:16px}.dash-panel-header{margin-bottom:14px}.dash-metrics,.dash-summary{grid-template-columns:1fr}.dash-summary-value{font-size:28px}.dash-summary-card{padding:16px}.dash-metric-value{font-size:22px}.dash-metric-card{padding:12px}.dash-map{height:140px}.dash-alert{gap:8px;padding:10px}}.ml-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.ml-search{background:var(--d-surface-low);border:1px solid var(--d-border);color:var(--d-text-muted);border-radius:10px;flex:1;align-items:center;gap:8px;min-width:200px;max-width:400px;padding:10px 16px;display:flex}.ml-search input{color:var(--d-text);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:14px}.ml-search input::placeholder{color:var(--d-text-muted)}.ml-filters{flex-wrap:wrap;gap:8px;display:flex}.ml-filter-btn{border:1px solid var(--d-border);background:var(--d-surface-low);color:var(--d-text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:flex}.ml-filter-btn:hover{color:var(--d-text-dim);border-color:#ffffff1a}.ml-filter-btn.active{background:var(--d-accent);color:var(--d-bg);border-color:var(--d-accent)}.ml-filter-btn--online.active{background:var(--d-green);border-color:var(--d-green)}.ml-filter-btn--warning.active{background:var(--d-amber);border-color:var(--d-amber)}.ml-filter-btn--critical.active{background:var(--d-red-strong);border-color:var(--d-red-strong)}.ml-filter-btn--offline.active{background:var(--d-text-muted);border-color:var(--d-text-muted)}.ml-filter-count{background:#ffffff26;border-radius:6px;padding:1px 6px;font-size:10px}.ml-table-wrap{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;overflow-x:auto}.ml-table{border-collapse:collapse;width:100%;font-size:13px}.ml-table th{text-align:left;text-transform:uppercase;letter-spacing:.1em;color:var(--d-text-muted);border-bottom:1px solid var(--d-border);white-space:nowrap;padding:14px 16px;font-size:10px;font-weight:700}.ml-table td{border-bottom:1px solid var(--d-border);white-space:nowrap;padding:14px 16px}.ml-row{cursor:pointer;transition:background .15s}.ml-row:hover{background:#00bfff0a}.ml-row:last-child td{border-bottom:none}.ml-status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.ml-id{font-variant-numeric:tabular-nums;color:var(--d-accent-dim);font-weight:600}.ml-name{font-weight:500}.ml-model{color:var(--d-text-dim)}.ml-date{color:var(--d-text-muted);font-variant-numeric:tabular-nums}.ml-val--warn{color:var(--d-amber)}.ml-val--crit{color:var(--d-red-strong)}.ml-empty{text-align:center;color:var(--d-text-muted);padding:60px;font-size:15px}.md-header{border-bottom:1px solid var(--d-border);justify-content:space-between;align-items:flex-start;padding:20px 28px;display:flex}.md-header-left{align-items:flex-start;gap:16px;display:flex}.md-back-btn{background:var(--d-surface-low);border:1px solid var(--d-border);color:var(--d-text-dim);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;margin-top:2px;padding:8px 14px;font-family:inherit;font-size:13px;transition:all .2s;display:flex}.md-back-btn:hover{background:var(--d-surface-high);color:var(--d-text)}.md-title{color:var(--d-text);margin-bottom:8px;font-size:22px;font-weight:700}.md-header-meta{align-items:center;gap:12px;display:flex}.md-status-badge{text-transform:uppercase;letter-spacing:.08em;border:1px solid;border-radius:6px;padding:4px 12px;font-size:10px;font-weight:700}.md-meta-text{color:var(--d-text-muted);font-size:12px}.md-tabs{border-bottom:1px solid var(--d-border);gap:0;padding:0 28px;display:flex;overflow-x:auto}.md-tab{color:var(--d-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:14px 20px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s;display:flex}.md-tab:hover{color:var(--d-text-dim)}.md-tab.active{color:var(--d-accent);border-bottom-color:var(--d-accent)}.md-content{width:100%;max-width:1280px;margin:0 auto;padding:28px}.md-layout{grid-template-columns:1fr 320px;gap:24px;display:grid}.md-main-col{min-width:0}.md-side-col{flex-direction:column;gap:20px;display:flex}.md-section{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;margin-bottom:20px;padding:28px}.md-section-title{color:var(--d-accent);align-items:center;gap:10px;margin-bottom:24px;font-size:16px;font-weight:700;display:flex}.md-form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.md-field{flex-direction:column;display:flex}.md-field label{text-transform:uppercase;letter-spacing:.1em;color:var(--d-text-muted);margin-bottom:8px;font-size:10px;font-weight:700}.md-field input,.md-field textarea,.md-field select{background:var(--d-surface-mid);border:1px solid var(--d-border);color:var(--d-text);border-radius:10px;padding:14px 16px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.md-field input:focus,.md-field textarea:focus{border-color:#00bfff66;outline:none;box-shadow:0 0 0 3px #00bfff1a}.md-field textarea{resize:vertical;min-height:100px}.md-input-icon-wrap{position:relative}.md-input-icon-wrap input{width:100%;padding-right:44px}.md-input-icon-wrap .dash-icon{color:var(--d-text-muted);position:absolute;top:50%;right:16px;transform:translateY(-50%)}.md-threshold{margin-bottom:32px}.md-threshold:last-child{margin-bottom:0}.md-threshold-head{justify-content:space-between;align-items:flex-end;margin-bottom:14px;display:flex}.md-threshold-label{text-transform:uppercase;letter-spacing:.08em;color:var(--d-text-muted);font-size:10px;font-weight:700}.md-threshold-value{color:var(--d-text);letter-spacing:-.02em;font-size:36px;font-weight:800;line-height:1}.md-threshold-unit{color:var(--d-text-muted);font-size:14px;font-weight:500}.md-slider{appearance:none;cursor:pointer;border-radius:6px;outline:none;width:100%;height:6px}.md-slider--temp{background:linear-gradient(90deg, var(--d-accent) 0%, var(--d-accent) 65%, var(--d-amber) 80%, var(--d-red-strong) 100%)}.md-slider--rpm{background:linear-gradient(90deg, var(--d-accent) 0%, var(--d-accent) 50%, var(--d-green) 100%)}.md-slider::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--d-accent);cursor:pointer;background:#fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 8px #0000004d}.md-slider::-moz-range-thumb{border:3px solid var(--d-accent);cursor:pointer;background:#fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 8px #0000004d}.md-slider-labels{text-transform:uppercase;letter-spacing:.05em;color:var(--d-text-muted);justify-content:space-between;margin-top:8px;font-size:9px;display:flex}.md-health-grid{flex-direction:column;gap:20px;display:flex}.md-health-card{background:var(--d-surface-mid);border:1px solid var(--d-border);border-radius:10px;padding:16px}.md-health-label{color:var(--d-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.md-health-value{margin:8px 0 12px;font-size:24px;font-weight:800;display:block}.md-health-bar{background:var(--d-surface-high);border-radius:5px;height:5px;overflow:hidden}.md-health-bar-fill{border-radius:5px;height:100%;transition:width .6s}.md-footer-actions{justify-content:flex-end;gap:16px;margin-top:8px;display:flex}.md-btn-ghost{color:var(--d-text-muted);letter-spacing:.05em;cursor:pointer;background:0 0;border:none;padding:12px 28px;font-family:inherit;font-size:13px;font-weight:700}.md-btn-ghost:hover{color:var(--d-text)}.md-btn-primary{background:var(--d-accent);color:var(--d-bg);letter-spacing:.05em;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:12px 28px;font-family:inherit;font-size:13px;font-weight:700;transition:opacity .2s;display:flex}.md-btn-primary:hover{opacity:.9}.md-emergency-btn{background:var(--d-red-strong);color:#fff;letter-spacing:.1em;cursor:pointer;border:none;border-radius:10px;width:100%;margin-bottom:12px;padding:12px;font-family:inherit;font-size:12px;font-weight:800;transition:opacity .2s}.md-emergency-btn:hover{opacity:.9}.md-status-panel{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;padding:24px}.md-status-title{margin-bottom:24px;font-size:16px;font-weight:700}.md-status-row{border-bottom:1px solid var(--d-border);align-items:center;gap:12px;padding:14px 0;display:flex}.md-status-row:last-child{border-bottom:none}.md-status-dot-lg{border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 6px}.md-status-row-label{color:var(--d-text-muted);font-size:11px}.md-status-row-value{font-size:13px;font-weight:600}.md-connected-badge{letter-spacing:.08em;margin-left:auto;font-size:10px;font-weight:700}.md-status-link{color:var(--d-text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto}.md-link-data-btn{border:1px solid var(--d-accent);color:var(--d-accent);letter-spacing:.05em;cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;margin-left:auto;padding:6px 14px;font-family:inherit;font-size:10px;font-weight:700}.md-link-data-btn:hover{background:#00bfff14}.md-diagnostic-panel{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;padding:20px}.md-diagnostic-title{text-transform:uppercase;letter-spacing:.1em;color:var(--d-text-muted);margin-bottom:16px;font-size:10px;font-weight:700}.md-diagnostic-chart{background:var(--d-bg);border-radius:8px;align-items:flex-end;height:120px;padding:16px;display:flex}.md-diag-bars{align-items:flex-end;gap:4px;width:100%;height:100%;display:flex}.md-diag-bar{background:var(--d-accent);border-radius:2px;flex:1;transition:height .3s}.md-diagnostic-label{color:var(--d-accent);letter-spacing:.08em;margin-top:10px;font-size:10px;font-weight:700}@media (width<=960px){.md-layout,.md-form-grid{grid-template-columns:1fr}}.ml-mobile-only{display:none}@media (width<=860px){.md-header{flex-direction:column;gap:12px;padding:12px 16px}.md-header-left{flex-direction:column;gap:8px}.md-title{font-size:18px}.md-tabs{gap:0;padding:0 16px}.md-tab{padding:10px 12px;font-size:12px}.md-content{padding:16px 16px 80px}.md-layout,.md-form-grid{grid-template-columns:1fr}.md-footer-actions{flex-direction:column}.md-btn-primary,.md-btn-ghost{justify-content:center;width:100%}.ml-toolbar{flex-direction:column;gap:10px}.ml-search{max-width:none}.ml-filters{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.ml-filter-btn{white-space:nowrap;flex-shrink:0}.ml-desktop-only{display:none}.ml-mobile-only{flex-direction:column;gap:10px;display:flex}}.ml-cards{flex-direction:column;gap:10px;display:flex}.ml-card{background:var(--d-surface-low);border:1px solid var(--d-border);cursor:pointer;border-radius:12px;padding:16px;transition:border-color .2s}.ml-card:active{border-color:var(--d-accent)}.ml-card-top{align-items:center;gap:10px;margin-bottom:6px;display:flex}.ml-card-name{flex:1;font-size:15px;font-weight:700}.ml-card-status{font-size:11px;font-weight:700}.ml-card-id{color:var(--d-text-dim);margin-bottom:4px;font-size:12px}.ml-card-zone{color:var(--d-text-muted);margin-bottom:10px;font-size:12px}.ml-card-stats{gap:12px;font-size:13px;font-weight:600;display:flex}.log-stats-row{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.log-stat{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:10px;flex-direction:column;gap:4px;min-width:100px;padding:14px 20px;display:flex}.log-stat-value{letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:1}.log-stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--d-text-muted);font-size:10px;font-weight:600}.log-stat--critical .log-stat-value{color:#f87171}.log-stat--error .log-stat-value{color:#fb923c}.log-stat--warning .log-stat-value{color:#fbbf24}.log-live-indicator{letter-spacing:.1em;color:#f87171;align-items:center;gap:8px;margin-left:auto;font-size:11px;font-weight:700;display:flex}.log-live-dot{background:#f87171;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite log-pulse}@keyframes log-pulse{0%,to{opacity:1;box-shadow:0 0 #f8717180}50%{opacity:.6;box-shadow:0 0 0 6px #f8717100}}.log-live-active{color:#f87171!important;background:#f871711a!important}.log-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;display:flex}.log-search{background:var(--d-surface-low);border:1px solid var(--d-border);color:var(--d-text-muted);border-radius:10px;flex:1;align-items:center;gap:8px;min-width:240px;max-width:500px;padding:10px 16px;display:flex;position:relative}.log-search input{color:var(--d-text);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}.log-search input::placeholder{color:var(--d-text-muted)}.log-search-clear{color:var(--d-text-muted);cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.log-search-clear:hover{color:var(--d-text)}.log-filters{flex-wrap:wrap;gap:6px;display:flex}.log-filter-btn{border:1px solid var(--d-border);background:var(--d-surface-low);color:var(--d-text-muted);cursor:pointer;letter-spacing:.03em;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s;display:flex}.log-filter-btn:hover{color:var(--d-text-dim);border-color:#ffffff1a}.log-filter-btn.active{border-width:1px}.log-filter-count{background:#ffffff14;border-radius:4px;padding:1px 6px;font-size:10px}.log-list{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;flex-direction:column;gap:2px;display:flex;overflow:hidden}.log-entry{cursor:pointer;transition:background .15s;display:flex;position:relative}.log-entry:hover{background:#ffffff04}.log-entry--expanded{background:#00bfff05}.log-entry+.log-entry{border-top:1px solid var(--d-border)}.log-entry-indicator{flex-shrink:0;width:3px}.log-entry-main{flex:1;min-width:0;padding:14px 18px}.log-entry-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.log-severity-badge{letter-spacing:.08em;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:9px;font-weight:800}.log-timestamp{color:var(--d-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:4px;font-size:11px;display:flex}.log-source{color:var(--d-text-dim);background:var(--d-surface-high);letter-spacing:.04em;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.log-machine-tag{color:var(--d-accent-dim);flex-shrink:0;font-size:10px;font-weight:600}.log-machine-tag:hover{text-decoration:underline}.log-id{color:var(--d-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;font-size:10px}.log-message{color:var(--d-text);word-break:break-word;font-size:13px;line-height:1.5}.log-details{background:var(--d-bg);border:1px solid var(--d-border);border-radius:8px;margin-top:12px;padding:14px;animation:.2s log-detail-in}@keyframes log-detail-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.log-details-label{letter-spacing:.12em;color:var(--d-text-muted);margin-bottom:8px;font-size:9px;font-weight:700}.log-details p{color:var(--d-text-dim);font-size:12px;line-height:1.7}.log-empty{text-align:center;color:var(--d-text-muted);flex-direction:column;align-items:center;gap:12px;padding:60px;display:flex}.log-empty p{font-size:14px}.log-footer-info{text-align:center;color:var(--d-text-muted);margin-top:16px;font-size:12px}@media (width<=860px){.log-stats-row{flex-wrap:wrap;gap:8px}.log-stat{flex:1;min-width:70px;padding:10px 14px}.log-stat-value{font-size:20px}.log-toolbar{flex-direction:column}.log-search{max-width:none}.log-filters{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.log-filter-btn{white-space:nowrap;flex-shrink:0}.log-entry-header{flex-direction:column;align-items:flex-start;gap:4px}.log-entry-header>*{margin-bottom:2px}.log-id{display:none}.log-source{font-size:9px}.log-timestamp{font-size:10px}.log-message{font-size:13px}.log-entry-main{padding:12px 14px}.log-live-indicator{margin-left:0}}.bk-steps{justify-content:center;align-items:center;gap:0;margin-bottom:36px;padding:24px 0;display:flex}.bk-step{align-items:center;gap:10px;display:flex}.bk-step-circle{background:var(--d-surface-high);width:36px;height:36px;color:var(--d-text-muted);border:2px solid var(--d-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:all .3s;display:flex}.bk-step.active .bk-step-circle{background:var(--d-accent);color:var(--d-bg);border-color:var(--d-accent);box-shadow:0 0 16px #00bfff4d}.bk-step.done .bk-step-circle{background:var(--d-green);color:var(--d-bg);border-color:var(--d-green)}.bk-step-label{color:var(--d-text-muted);white-space:nowrap;font-size:13px;font-weight:600}.bk-step.active .bk-step-label{color:var(--d-text)}.bk-step.done .bk-step-label{color:var(--d-green)}.bk-step-line{background:var(--d-border);flex-shrink:0;width:60px;height:2px;margin:0 12px}.bk-step.done+.bk-step .bk-step-line,.bk-step.done .bk-step-line{background:var(--d-green)}.bk-toolbar{flex-direction:column;gap:14px;margin-bottom:24px;display:flex}.bk-search{background:var(--d-surface-low);border:1px solid var(--d-border);color:var(--d-text-muted);border-radius:10px;align-items:center;gap:8px;max-width:400px;padding:10px 16px;display:flex}.bk-search input{color:var(--d-text);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}.bk-search input::placeholder{color:var(--d-text-muted)}.bk-specialty-filters{flex-wrap:wrap;gap:6px;display:flex}.bk-spec-btn{border:1px solid var(--d-border);background:var(--d-surface-low);color:var(--d-text-muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s}.bk-spec-btn:hover{color:var(--d-text-dim);border-color:#ffffff1a}.bk-spec-btn.active{color:var(--d-accent);background:#00bfff1a;border-color:#00bfff4d}.bk-tech-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.bk-tech-card{background:var(--d-surface-low);border:1px solid var(--d-border);cursor:pointer;border-radius:14px;flex-direction:column;gap:14px;padding:22px;transition:all .25s;display:flex}.bk-tech-card:hover{border-color:#00bfff40;transform:translateY(-2px);box-shadow:0 4px 20px #00bfff0f}.bk-tech-card--unavailable{opacity:.5;cursor:not-allowed}.bk-tech-card--unavailable:hover{border-color:var(--d-border);box-shadow:none;transform:none}.bk-tech-top{align-items:center;gap:14px;display:flex}.bk-tech-avatar{background:linear-gradient(135deg, var(--d-accent), #3b82f6);width:48px;height:48px;color:var(--d-bg);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.bk-tech-info{flex:1;min-width:0}.bk-tech-name{font-size:16px;font-weight:700}.bk-tech-title{color:var(--d-text-dim);font-size:12px}.bk-tech-status{letter-spacing:.05em;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:10px;font-weight:700}.bk-tech-status.online{color:var(--d-green);background:#66dd8b1f}.bk-tech-status.offline{color:var(--d-text-muted);background:#8b9ab51a}.bk-tech-specialties{flex-wrap:wrap;gap:6px;display:flex}.bk-tech-tag{background:var(--d-surface-high);color:var(--d-text-dim);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500}.bk-tech-bottom{justify-content:space-between;align-items:center;display:flex}.bk-tech-rating{color:#fbbf24;align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.bk-tech-reviews{color:var(--d-text-muted);font-size:11px;font-weight:400}.bk-tech-price{color:var(--d-text);font-size:18px;font-weight:800}.bk-tech-price span{color:var(--d-text-muted);font-size:12px;font-weight:400}.bk-tech-next{color:var(--d-text-dim);align-items:center;gap:6px;font-size:12px;display:flex}.bk-tech-select-btn{width:100%;color:var(--d-accent);cursor:pointer;background:#00bfff0f;border:1px solid #00bfff26;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:12px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s;display:flex}.bk-tech-select-btn:hover{background:#00bfff1f;border-color:#00bfff4d}.bk-form-layout{grid-template-columns:1fr 320px;align-items:start;gap:24px;display:grid}.bk-form-main{min-width:0}.bk-form-side{position:sticky;top:88px}.bk-selected-tech{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;align-items:center;gap:16px;margin-bottom:24px;padding:20px;display:flex}.bk-selected-tech h4{font-size:15px;font-weight:700}.bk-change-btn{border:1px solid var(--d-border);color:var(--d-text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;margin-left:auto;padding:8px 16px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.bk-change-btn:hover{border-color:var(--d-accent);color:var(--d-accent)}.bk-section{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;margin-bottom:20px;padding:24px}.bk-section-title{color:var(--d-accent);align-items:center;gap:10px;margin-bottom:20px;font-size:15px;font-weight:700;display:flex}.bk-service-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.bk-service-btn{border:1px solid var(--d-border);background:var(--d-surface-mid);color:var(--d-text-dim);cursor:pointer;text-align:center;border-radius:10px;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.bk-service-btn:hover{color:var(--d-text);border-color:#ffffff1a}.bk-service-btn.active{border-color:var(--d-accent);color:var(--d-accent);background:#00bfff14}.bk-time-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.bk-time-btn{border:1px solid var(--d-border);background:var(--d-surface-mid);color:var(--d-text-dim);cursor:pointer;font-variant-numeric:tabular-nums;text-align:center;border-radius:8px;padding:10px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.bk-time-btn:hover{border-color:#ffffff1a}.bk-time-btn.active{border-color:var(--d-accent);background:var(--d-accent);color:var(--d-bg)}.bk-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.bk-field{flex-direction:column;display:flex}.bk-field label,.bk-field-label{text-transform:uppercase;letter-spacing:.08em;color:var(--d-text-muted);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.bk-field input,.bk-field textarea,.bk-field select{background:var(--d-surface-mid);border:1px solid var(--d-border);color:var(--d-text);border-radius:10px;padding:12px 16px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.bk-field input:focus,.bk-field textarea:focus{border-color:#00bfff66;outline:none;box-shadow:0 0 0 3px #00bfff1a}.bk-field textarea{resize:vertical;min-height:80px}.bk-urgency-row{gap:10px;display:flex}.bk-urgency-btn{border:1px solid var(--d-border);background:var(--d-surface-mid);color:var(--d-text-muted);cursor:pointer;text-align:center;border-radius:10px;flex:1;padding:12px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.bk-urgency-btn:hover{border-color:#ffffff1a}.bk-form-actions{justify-content:flex-end;gap:16px;margin-top:8px;display:flex}.bk-btn-ghost{color:var(--d-text-muted);cursor:pointer;background:0 0;border:none;padding:12px 28px;font-family:inherit;font-size:13px;font-weight:700}.bk-btn-ghost:hover{color:var(--d-text)}.bk-btn-primary{background:var(--d-accent);color:var(--d-bg);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:12px 28px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;display:flex}.bk-btn-primary:hover{opacity:.9}.bk-btn-primary:disabled{opacity:.4;cursor:not-allowed}.bk-summary-card{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;padding:24px}.bk-summary-title{margin-bottom:20px;font-size:14px;font-weight:700}.bk-summary-rows{flex-direction:column;gap:12px;display:flex}.bk-summary-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.bk-summary-row span:first-child{color:var(--d-text-muted)}.bk-summary-row span:last-child{text-align:right;max-width:180px;font-weight:600}.bk-summary-divider{background:var(--d-border);height:1px;margin:16px 0}.bk-summary-total span:last-child{color:var(--d-accent);font-size:18px;font-weight:800}.bk-summary-note{color:var(--d-amber);text-align:right;margin-top:8px;font-size:11px}.bk-urgency-label--normal{color:var(--d-accent)}.bk-urgency-label--high{color:var(--d-amber)}.bk-urgency-label--emergency{color:var(--d-red-strong)}.bk-confirm{text-align:center;flex-direction:column;align-items:center;max-width:560px;margin:0 auto;padding:40px 0;display:flex}.bk-confirm-icon{color:var(--d-green);margin-bottom:20px;animation:.5s cubic-bezier(.22,1,.36,1) bk-pop}@keyframes bk-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.bk-confirm-title{margin-bottom:8px;font-size:28px;font-weight:800}.bk-confirm-sub{color:var(--d-text-dim);margin-bottom:36px;font-size:14px}.bk-confirm-card{background:var(--d-surface-low);border:1px solid var(--d-border);text-align:left;border-radius:12px;width:100%;margin-bottom:32px;padding:28px}.bk-confirm-detail{border-bottom:1px solid var(--d-border);justify-content:space-between;align-items:center;padding:12px 0;font-size:13px;display:flex}.bk-confirm-detail:last-child{border-bottom:none}.bk-confirm-detail span:first-child{color:var(--d-text-muted)}.bk-confirm-val{text-align:right;font-weight:600}.bk-confirm-val--accent{color:var(--d-accent);font-variant-numeric:tabular-nums}.bk-confirm-actions{gap:16px;display:flex}@media (width<=960px){.bk-form-layout{grid-template-columns:1fr}.bk-form-side{position:static}}@media (width<=860px){.bk-tech-grid,.bk-form-grid,.bk-service-grid{grid-template-columns:1fr}.bk-time-grid{grid-template-columns:repeat(3,1fr)}.bk-steps{gap:0;padding:16px 0}.bk-step-line{width:20px;margin:0 4px}.bk-step-label{font-size:10px}.bk-step-circle{width:30px;height:30px;font-size:12px}.bk-urgency-row{flex-direction:column}.bk-selected-tech{text-align:center;flex-direction:column}.bk-change-btn{margin-left:0}.bk-form-actions{flex-direction:column}.bk-btn-primary,.bk-btn-ghost{justify-content:center;width:100%}.bk-confirm-actions{flex-direction:column;width:100%}.bk-confirm-actions button{justify-content:center;width:100%}}.rpt-kpis{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.rpt-kpi{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;align-items:center;gap:14px;padding:18px 20px;display:flex}.rpt-kpi-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.rpt-kpi-icon--blue{color:#00bfff;background:#00bfff1a}.rpt-kpi-icon--green{color:#66dd8b;background:#66dd8b1a}.rpt-kpi-icon--amber{color:#fbbf24;background:#fbbf241a}.rpt-kpi-icon--red{color:#f87171;background:#f871711a}.rpt-kpi-value{letter-spacing:-.02em;font-size:26px;font-weight:800;line-height:1;display:block}.rpt-kpi-label{color:var(--d-text-muted);margin-top:4px;font-size:11px;display:block}.rpt-generate-btn{background:var(--d-accent);color:var(--d-bg);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:700;transition:opacity .2s;display:flex}.rpt-generate-btn:hover{opacity:.9}.rpt-charts-row{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:28px;display:grid}.rpt-chart-card{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;padding:20px}.rpt-chart-title{color:var(--d-text);margin-bottom:18px;font-size:13px;font-weight:700}.rpt-bar-chart{align-items:flex-end;gap:10px;height:140px;display:flex}.rpt-bar-col{flex-direction:column;flex:1;align-items:center;gap:6px;height:100%;display:flex}.rpt-bar-value{color:var(--d-text-dim);font-size:9px;font-weight:700}.rpt-bar-track{background:var(--d-surface-high);border-radius:4px;flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.rpt-bar-fill{border-radius:4px;width:100%;transition:height .5s}.rpt-bar-fill--blue{background:linear-gradient(#3b82f6,#00bfff)}.rpt-bar-label{color:var(--d-text-muted);font-size:10px;font-weight:600}.rpt-category-list{flex-direction:column;gap:12px;display:flex}.rpt-cat-row{align-items:center;gap:10px;display:flex}.rpt-cat-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.rpt-cat-label{color:var(--d-text-dim);flex-shrink:0;width:70px;font-size:12px}.rpt-cat-bar-track{background:var(--d-surface-high);border-radius:6px;flex:1;height:6px;overflow:hidden}.rpt-cat-bar-fill{border-radius:6px;height:100%;transition:width .5s}.rpt-cat-count{color:var(--d-text);text-align:right;width:20px;font-size:12px;font-weight:700}.rpt-line-chart{padding-top:8px}.rpt-line-svg{width:100%;height:100px}.rpt-line-labels{color:var(--d-text-muted);justify-content:space-between;padding:6px 10px 0;font-size:10px;font-weight:600;display:flex}.rpt-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;display:flex}.rpt-search{background:var(--d-surface-low);border:1px solid var(--d-border);color:var(--d-text-muted);border-radius:10px;flex:1;align-items:center;gap:8px;min-width:200px;max-width:400px;padding:10px 16px;display:flex}.rpt-search input{color:var(--d-text);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}.rpt-search input::placeholder{color:var(--d-text-muted)}.rpt-type-filters{flex-wrap:wrap;gap:6px;display:flex}.rpt-type-btn{border:1px solid var(--d-border);background:var(--d-surface-low);color:var(--d-text-muted);cursor:pointer;border-radius:8px;padding:7px 12px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s}.rpt-type-btn:hover{color:var(--d-text-dim);border-color:#ffffff1a}.rpt-type-btn.active{color:var(--d-accent);background:#00bfff1a;border-color:#00bfff4d}.rpt-table-wrap{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;overflow-x:auto}.rpt-table{border-collapse:collapse;width:100%;font-size:13px}.rpt-table th{text-align:left;text-transform:uppercase;letter-spacing:.1em;color:var(--d-text-muted);border-bottom:1px solid var(--d-border);white-space:nowrap;padding:14px;font-size:10px;font-weight:700}.rpt-table td{border-bottom:1px solid var(--d-border);white-space:nowrap;padding:14px}.rpt-row{cursor:pointer;transition:background .15s}.rpt-row:hover{background:#00bfff08}.rpt-row:last-child td{border-bottom:none}.rpt-status-badge{letter-spacing:.04em;border-radius:6px;padding:3px 10px;font-size:10px;font-weight:700}.rpt-id{color:var(--d-accent-dim);font-variant-numeric:tabular-nums;font-weight:600}.rpt-title-cell{text-overflow:ellipsis;max-width:280px;font-weight:500;overflow:hidden}.rpt-type-tag{background:var(--d-surface-high);color:var(--d-text-dim);border-radius:4px;padding:3px 8px;font-size:11px}.rpt-period{color:var(--d-text-dim)}.rpt-date,.rpt-size{color:var(--d-text-muted);font-variant-numeric:tabular-nums}.rpt-empty{text-align:center;color:var(--d-text-muted);padding:60px;font-size:15px}.rpt-actions{gap:6px;display:flex}.rpt-action-btn{background:var(--d-surface-high);color:var(--d-text-dim);cursor:pointer;border:none;border-radius:6px;padding:6px;transition:all .2s;display:flex}.rpt-action-btn:hover{color:var(--d-text);background:var(--d-surface-highest)}.rpt-action-btn--retry{color:var(--d-amber)}.rpt-action-btn--retry:hover{color:#fbbf24}.rpt-spinner{border:2px solid var(--d-surface-highest);border-top-color:var(--d-accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite rpt-spin}@keyframes rpt-spin{to{transform:rotate(360deg)}}.rpt-drawer-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:flex-end;animation:.2s rpt-fade-in;display:flex;position:fixed;inset:0}@keyframes rpt-fade-in{0%{opacity:0}to{opacity:1}}.rpt-drawer{background:var(--d-surface);border-left:1px solid var(--d-border);flex-direction:column;width:480px;max-width:90vw;height:100vh;animation:.3s cubic-bezier(.22,1,.36,1) rpt-slide-in;display:flex}@keyframes rpt-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.rpt-drawer-header{border-bottom:1px solid var(--d-border);justify-content:space-between;align-items:center;padding:24px;display:flex}.rpt-drawer-header h3{font-size:17px;font-weight:700}.rpt-drawer-close{color:var(--d-text-muted);cursor:pointer;background:0 0;border:none;padding:4px;display:flex}.rpt-drawer-close:hover{color:var(--d-text)}.rpt-drawer-body{flex:1;padding:24px;overflow-y:auto}.rpt-drawer-meta{flex-direction:column;gap:12px;margin-bottom:28px;display:flex}.rpt-drawer-meta-item{justify-content:space-between;font-size:13px;display:flex}.rpt-drawer-meta-item span:first-child{color:var(--d-text-muted)}.rpt-drawer-meta-item span:last-child{font-weight:600}.rpt-drawer-preview h4{color:var(--d-text);margin-bottom:16px;font-size:13px;font-weight:700}.rpt-drawer-summary-bars{flex-direction:column;gap:16px;display:flex}.rpt-drawer-bar-head{justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.rpt-drawer-bar-head span:first-child{color:var(--d-text-dim)}.rpt-drawer-bar-head span:last-child{font-weight:700}.rpt-drawer-bar-track{background:var(--d-surface-high);border-radius:6px;height:6px;overflow:hidden}.rpt-drawer-bar-fill{border-radius:6px;height:100%;transition:width .5s}.rpt-drawer-actions{gap:12px;margin-top:28px;display:flex}.rpt-btn-primary{background:var(--d-accent);color:var(--d-bg);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:13px;font-weight:700;display:flex}.rpt-btn-primary:hover{opacity:.9}.rpt-btn-ghost{border:1px solid var(--d-border);color:var(--d-text-dim);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.rpt-btn-ghost:hover{color:var(--d-text);border-color:#ffffff1f}.rpt-footer-info{text-align:center;color:var(--d-text-muted);margin-top:16px;font-size:12px}@media (width<=1100px){.rpt-charts-row{grid-template-columns:1fr}}@media (width<=860px){.rpt-kpis{grid-template-columns:repeat(2,1fr)}.rpt-toolbar{flex-direction:column}.rpt-search{max-width:none}.rpt-drawer{width:100vw}}.ai-topbar-left{align-items:center;gap:12px;display:flex}.ai-model-badge{color:var(--d-accent);letter-spacing:.05em;background:#00bfff14;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:700}.ai-clear-btn{background:var(--d-surface-high);border:1px solid var(--d-border);color:var(--d-text-dim);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:flex}.ai-clear-btn:hover{color:var(--d-text);border-color:#ffffff1a}.ai-chat-container{flex-direction:column;flex:1;height:calc(100vh - 64px);display:flex;overflow:hidden}.ai-messages{flex-direction:column;flex:1;gap:8px;padding:28px 28px 0;display:flex;overflow-y:auto}.ai-msg{gap:12px;max-width:800px;animation:.3s ai-msg-in;display:flex}@keyframes ai-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-msg--user{flex-direction:row-reverse;align-self:flex-end}.ai-msg--assistant,.ai-msg--system{align-self:flex-start}.ai-msg-avatar{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:flex}.ai-msg-avatar--ai{background:linear-gradient(135deg, var(--d-accent), #6366f1);color:#fff}.ai-msg-avatar--user{background:var(--d-surface-highest);color:var(--d-text-dim)}.ai-msg-body{flex-direction:column;gap:4px;min-width:0;display:flex}.ai-msg-content{word-break:break-word;border-radius:14px;padding:14px 18px;font-size:14px;line-height:1.7}.ai-msg--user .ai-msg-content{background:var(--d-accent);color:var(--d-bg);border-bottom-right-radius:4px}.ai-msg--assistant .ai-msg-content,.ai-msg--system .ai-msg-content{background:var(--d-surface-low);border:1px solid var(--d-border);color:var(--d-text);border-bottom-left-radius:4px}.ai-msg-time{color:var(--d-text-muted);padding:0 4px;font-size:10px}.ai-msg--user .ai-msg-time{text-align:right}.ai-msg-content h4{color:var(--d-accent);border-bottom:1px solid var(--d-border);margin:8px 0 6px;padding-bottom:6px;font-size:15px;font-weight:700}.ai-msg-content h4:first-child{margin-top:0}.ai-msg-content strong{color:var(--d-text);font-weight:700}.ai-msg-content .ai-list-item{gap:6px;margin:3px 0;display:flex}.ai-list-num{color:var(--d-accent);flex-shrink:0;font-weight:700}.ai-list-bullet{color:var(--d-text-muted);flex-shrink:0}.ai-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:12px}.ai-table td{border:1px solid var(--d-border);padding:6px 10px}.ai-table tr:first-child td{background:var(--d-surface-high);font-weight:700}.ai-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:2px;display:inline-block}.ai-dot--red{background:#f87171;box-shadow:0 0 4px #f87171}.ai-dot--amber{background:#fbbf24;box-shadow:0 0 4px #fbbf24}.ai-emoji{font-style:normal}.ai-typing{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:14px 14px 14px 4px;gap:5px;width:fit-content;padding:14px 18px;display:flex}.ai-typing span{background:var(--d-text-muted);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite ai-bounce}.ai-typing span:nth-child(2){animation-delay:.2s}.ai-typing span:nth-child(3){animation-delay:.4s}@keyframes ai-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.ai-quick-prompts{padding:0 28px 16px}.ai-quick-label{color:var(--d-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-size:12px;font-weight:600}.ai-quick-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.ai-quick-btn{background:var(--d-surface-low);border:1px solid var(--d-border);color:var(--d-text-dim);cursor:pointer;text-align:left;border-radius:10px;padding:12px 16px;font-family:inherit;font-size:13px;line-height:1.4;transition:all .2s}.ai-quick-btn:hover{color:var(--d-text);background:#00bfff08;border-color:#00bfff40}.ai-input-area{border-top:1px solid var(--d-border);background:var(--d-surface);padding:16px 28px 20px}.ai-input-wrap{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:14px;align-items:flex-end;gap:10px;padding:8px 8px 8px 18px;transition:border-color .2s;display:flex}.ai-input-wrap:focus-within{border-color:#00bfff66;box-shadow:0 0 0 3px #00bfff14}.ai-input{color:var(--d-text);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;padding:6px 0;font-family:inherit;font-size:14px;line-height:1.5}.ai-input::placeholder{color:var(--d-text-muted)}.ai-input:disabled{opacity:.5}.ai-send-btn{background:var(--d-surface-high);width:40px;height:40px;color:var(--d-text-muted);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.ai-send-btn.active{background:var(--d-accent);color:var(--d-bg)}.ai-send-btn:disabled{cursor:not-allowed;opacity:.5}.ai-disclaimer{text-align:center;color:var(--d-text-muted);margin-top:10px;font-size:11px}@media (width<=860px){.ai-chat-container{height:calc(100vh - 116px)}.ai-messages{padding:12px 12px 0}.ai-input-area{padding:10px 12px 12px}.ai-quick-prompts{padding:0 12px 12px}.ai-quick-grid{grid-template-columns:1fr;gap:6px}.ai-quick-btn{padding:10px 12px;font-size:12px}.ai-msg{gap:8px;max-width:100%}.ai-msg-avatar{border-radius:8px;width:28px;height:28px;font-size:9px}.ai-msg-content{border-radius:12px;padding:10px 14px;font-size:13px}.ai-input{font-size:14px}.ai-send-btn{border-radius:8px;width:36px;height:36px}.ai-topbar-left{gap:8px}.ai-model-badge{padding:2px 8px;font-size:9px}.ai-clear-btn{padding:6px 10px;font-size:11px}.ai-disclaimer{font-size:9px}}.sh-stats{flex-wrap:wrap;gap:14px;margin-bottom:24px;display:flex}.sh-stat{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:10px;flex-direction:column;gap:4px;min-width:100px;padding:14px 20px;display:flex}.sh-stat-val{font-size:24px;font-weight:800;line-height:1}.sh-stat-lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--d-text-muted);font-size:10px;font-weight:600}.sh-stat--green .sh-stat-val{color:#66dd8b}.sh-stat--blue .sh-stat-val{color:#00bfff}.sh-stat--amber .sh-stat-val{color:#fbbf24}.sh-book-btn{background:var(--d-accent);width:100%;color:var(--d-bg);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;padding:12px;font-family:inherit;font-size:13px;font-weight:700;transition:opacity .2s;display:flex}.sh-book-btn:hover{opacity:.9}.sh-toolbar{flex-wrap:wrap;gap:14px;margin-bottom:20px;display:flex}.sh-search{background:var(--d-surface-low);border:1px solid var(--d-border);color:var(--d-text-muted);border-radius:10px;flex:1;align-items:center;gap:8px;min-width:200px;max-width:400px;padding:10px 16px;display:flex}.sh-search input{color:var(--d-text);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}.sh-search input::placeholder{color:var(--d-text-muted)}.sh-filters{flex-wrap:wrap;gap:6px;display:flex}.sh-filter-btn{border:1px solid var(--d-border);background:var(--d-surface-low);color:var(--d-text-muted);cursor:pointer;border-radius:8px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.sh-filter-btn:hover{color:var(--d-text-dim);border-color:#ffffff1a}.sh-filter-btn.active{color:var(--d-accent);background:#00bfff1a;border-color:#00bfff4d}.sh-list{flex-direction:column;gap:12px;display:flex}.sh-card{background:var(--d-surface-low);border:1px solid var(--d-border);cursor:pointer;border-radius:12px;padding:20px;transition:all .2s}.sh-card:hover{border-color:#00bfff26}.sh-card--selected{background:#00bfff05;border-color:#00bfff4d}.sh-card-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.sh-card-id{color:var(--d-accent-dim);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.sh-status-badge{border-radius:6px;padding:3px 10px;font-size:10px;font-weight:700}.sh-urgency-tag{font-size:10px;font-weight:700}.sh-card-date{color:var(--d-text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.sh-card-body{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sh-card-left{min-width:0}.sh-card-service{margin-bottom:8px;font-size:16px;font-weight:700}.sh-card-meta{color:var(--d-text-dim);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.sh-card-meta span{align-items:center;gap:4px;display:flex}.sh-card-right{text-align:right;flex-shrink:0}.sh-card-cost{color:var(--d-text);font-size:18px;font-weight:800}.sh-card-duration{color:var(--d-text-muted);margin-top:2px;font-size:12px}.sh-card-rating{margin-top:6px}.sh-star{color:var(--d-surface-highest);font-size:14px}.sh-star.filled{color:#fbbf24}.sh-card-detail{border-top:1px solid var(--d-border);margin-top:16px;padding-top:16px;animation:.25s sh-expand}@keyframes sh-expand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.sh-detail-section{margin-bottom:16px}.sh-detail-section h5{text-transform:uppercase;letter-spacing:.1em;color:var(--d-text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.sh-detail-section p{color:var(--d-text-dim);font-size:13px;line-height:1.7}.sh-parts{flex-wrap:wrap;gap:6px;display:flex}.sh-part-tag{background:var(--d-surface-high);color:var(--d-text-dim);border-radius:6px;padding:4px 10px;font-size:11px}.sh-detail-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sh-detail-grid>div{background:var(--d-bg);border-radius:8px;justify-content:space-between;padding:8px 12px;font-size:12px;display:flex}.sh-detail-grid>div span:first-child{color:var(--d-text-muted)}.sh-detail-grid>div span:last-child{text-align:right;font-weight:600}.sh-empty{text-align:center;color:var(--d-text-muted);padding:60px;font-size:15px}.sh-footer{text-align:center;color:var(--d-text-muted);margin-top:16px;font-size:12px}@media (width<=860px){.sh-stats{gap:8px}.sh-stat{min-width:70px;padding:10px 14px}.sh-toolbar{flex-direction:column}.sh-search{max-width:none}.sh-card-body{flex-direction:column}.sh-card-right{text-align:left}.sh-detail-grid{grid-template-columns:1fr}}.pf-kpis{grid-template-columns:1fr 1fr 1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.pf-kpi{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex}.pf-kpi-ring{flex-shrink:0;width:64px;height:64px;position:relative}.pf-kpi-ring svg{transform:rotate(-90deg)}.pf-ring-bg{fill:none;stroke:var(--d-surface-highest);stroke-width:2.5px}.pf-ring-fill{fill:none;stroke-width:2.5px;stroke-linecap:round;transition:stroke-dasharray .8s}.pf-ring-val{color:var(--d-text);justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex;position:absolute;inset:0}.pf-kpi-label{color:var(--d-text);font-size:14px;font-weight:700;display:block}.pf-kpi-sub{color:var(--d-text-muted);margin-top:2px;font-size:11px;display:block}.pf-kpi-value{color:var(--d-text);font-size:28px;font-weight:800;line-height:1;display:block}.pf-kpi-big-icon{width:56px;height:56px;color:var(--d-accent);background:#00bfff14;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pf-kpi-big-icon--red{color:#f87171;background:#f8717114}.pf-time-range{background:var(--d-surface-low);border-radius:8px;gap:4px;padding:3px;display:flex}.pf-range-btn{color:var(--d-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.pf-range-btn.active{background:var(--d-accent);color:var(--d-bg)}.pf-range-btn:hover:not(.active){color:var(--d-text-dim)}.pf-charts-grid{grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:28px;display:grid}.pf-chart-card{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;padding:20px}.pf-chart-card--wide{grid-column:span 1}.pf-chart-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.pf-chart-header h3{font-size:14px;font-weight:700}.pf-chart-legend{color:var(--d-text-dim);gap:14px;font-size:11px;display:flex}.pf-chart-legend i{vertical-align:middle;border-radius:3px;width:10px;height:3px;margin-right:4px;display:inline-block}.pf-chart-title{margin-bottom:16px;font-size:14px;font-weight:700}.pf-line-chart{position:relative}.pf-svg{width:100%;height:160px}.pf-x-labels{color:var(--d-text-muted);justify-content:space-between;padding:6px 20px 0;font-size:10px;font-weight:600;display:flex}.pf-bar-chart{align-items:flex-end;gap:6px;height:160px;display:flex}.pf-bar-col{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.pf-bar-tooltip{color:var(--d-text-muted);opacity:0;font-size:8px;font-weight:700;transition:opacity .2s}.pf-bar-col:hover .pf-bar-tooltip{opacity:1}.pf-bar-track{background:var(--d-surface-high);border-radius:3px;flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.pf-bar-fill{background:linear-gradient(#f59e0b,#fbbf24);border-radius:3px;width:100%;transition:height .5s}.pf-bar-label{color:var(--d-text-muted);font-size:9px;font-weight:600}.pf-donut-wrap{width:140px;height:140px;margin:0 auto 16px;position:relative}.pf-donut{width:100%;height:100%;transform:rotate(-90deg)}.pf-donut-seg{transition:stroke-dasharray .5s}.pf-donut-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pf-donut-center span{color:var(--d-text);font-size:22px;font-weight:800}.pf-donut-center small{color:var(--d-text-muted);font-size:10px}.pf-donut-legend{flex-direction:column;gap:8px;display:flex}.pf-legend-item{align-items:center;gap:8px;font-size:12px;display:flex}.pf-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pf-legend-label{color:var(--d-text-dim);flex:1}.pf-legend-val{color:var(--d-text);font-weight:700}.pf-section{margin-bottom:28px}.pf-section-title{margin-bottom:16px;font-size:16px;font-weight:700}.pf-zone-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.pf-zone-card{background:var(--d-surface-low);border:1px solid var(--d-border);cursor:pointer;border-radius:12px;padding:20px;transition:all .2s}.pf-zone-card:hover{border-color:#ffffff14}.pf-zone-card.selected{border-color:#00bfff4d}.pf-zone-card--critical{border-left:3px solid #f87171}.pf-zone-card--warning{border-left:3px solid #fbbf24}.pf-zone-card--good{border-left:3px solid #66dd8b}.pf-zone-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pf-zone-header h4{font-size:13px;font-weight:700}.pf-zone-badge{border-radius:6px;padding:3px 10px;font-size:10px;font-weight:700}.pf-zone-badge--good{color:#66dd8b;background:#66dd8b1a}.pf-zone-badge--warning{color:#fbbf24;background:#fbbf241a}.pf-zone-badge--critical{color:#f87171;background:#f871711a}.pf-zone-oee{text-align:center;margin-bottom:14px}.pf-zone-oee-val{font-size:32px;font-weight:800;line-height:1;display:block}.pf-zone-oee-label{color:var(--d-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:10px;display:block}.pf-zone-meta{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.pf-zone-meta>div{justify-content:space-between;font-size:12px;display:flex}.pf-zone-meta>div span:first-child{color:var(--d-text-muted)}.pf-zone-meta>div span:last-child{font-weight:600}.pf-zone-bar{background:var(--d-surface-highest);border-radius:4px;height:4px;overflow:hidden}.pf-zone-bar-fill{background:linear-gradient(90deg,#f87171,#fbbf24,#66dd8b);border-radius:4px;height:100%;transition:width .5s}.pf-table-wrap{background:var(--d-surface-low);border:1px solid var(--d-border);border-radius:12px;overflow-x:auto}.pf-table{border-collapse:collapse;width:100%;font-size:13px}.pf-table th{text-align:left;text-transform:uppercase;letter-spacing:.1em;color:var(--d-text-muted);border-bottom:1px solid var(--d-border);white-space:nowrap;padding:14px 16px;font-size:10px;font-weight:700}.pf-table td{border-bottom:1px solid var(--d-border);padding:14px 16px}.pf-row{cursor:pointer;transition:background .15s}.pf-row:hover{background:#00bfff08}.pf-row:last-child td{border-bottom:none}.pf-id{color:var(--d-accent-dim);font-variant-numeric:tabular-nums;font-weight:600}.pf-name{font-weight:500}.pf-oee{font-size:15px;font-weight:800}.pf-oee--good{color:#66dd8b}.pf-oee--warn{color:#fbbf24}.pf-oee--bad{color:#f87171}.pf-stacked-bar{background:var(--d-surface-highest);border-radius:8px;width:100%;min-width:120px;height:8px;display:flex;overflow:hidden}.pf-stacked-seg{height:100%}.pf-stacked-seg--avail{background:#00bfff}.pf-stacked-seg--perf{background:#fbbf24}.pf-stacked-seg--qual{background:#66dd8b}.pf-table-legend{color:var(--d-text-dim);justify-content:center;gap:20px;padding:12px 0 0;font-size:11px;display:flex}.pf-table-legend i{vertical-align:middle;border-radius:4px;width:10px;height:4px;margin-right:4px;display:inline-block}@media (width<=1100px){.pf-charts-grid{grid-template-columns:1fr}.pf-zone-grid,.pf-kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.pf-kpis{grid-template-columns:repeat(2,1fr)}.pf-kpi{gap:10px;padding:14px}.pf-kpi-ring{width:48px;height:48px}.pf-ring-val{font-size:11px}.pf-kpi-label{font-size:12px}.pf-kpi-sub{font-size:10px}.pf-kpi-value{font-size:22px}.pf-zone-grid{grid-template-columns:1fr}.pf-zone-oee-val{font-size:26px}.pf-time-range{display:none}.pf-table{font-size:11px}.pf-table th,.pf-table td{padding:10px 8px}.pf-stacked-bar{min-width:60px}.pf-section-title{font-size:14px}.pf-bar-chart{height:120px}}
