._wrap_2wih9_11{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}._panel_2wih9_27{width:100%;max-width:340px;display:flex;flex-direction:column;gap:16px;padding:28px 24px;background:var(--gradient-panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}._logo_2wih9_53{height:32px;width:auto;align-self:center;margin-bottom:4px;filter:invert(1) brightness(1.2)}[data-theme=light] ._logo_2wih9_53{filter:none}._field_2wih9_83{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}._field_2wih9_83 input,._field_2wih9_83 select{padding:9px 10px;font-size:13px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm)}._field_2wih9_83 input:focus,._field_2wih9_83 select:focus{outline:none;border-color:var(--accent)}._error_2wih9_131{font-size:12px;color:var(--error)}._notice_2wih9_147{font-size:12px;color:var(--text);padding:8px 10px;background:var(--accent-soft);border-left:2px solid var(--accent);border-radius:var(--r-sm)}._submit_2wih9_165{margin-top:4px;padding:10px;font-size:13px;font-weight:600;color:var(--on-accent);background:var(--gradient-accent);border:none;border-radius:var(--r-sm);cursor:pointer}._submit_2wih9_165:disabled{opacity:.6;cursor:default}._title_1fk70_9{margin:0;font-size:1.05rem;color:var(--text)}._intro_1fk70_21{margin:0;font-size:.9rem;color:var(--text-muted)}._hint_1fk70_33{font-size:.8rem;color:var(--text-muted)}._error_1fk70_43{padding:8px 10px;border-radius:var(--r-sm);background:var(--danger-bg, rgba(220, 38, 38, .12));color:var(--danger, #dc2626);font-size:.88rem}._ok_1fk70_59{padding:8px 10px;border-radius:var(--r-sm);background:var(--ok-bg, rgba(22, 163, 74, .12));color:var(--ok, #16a34a);font-size:.88rem}._inlineForm_1fk70_79{display:flex;flex-direction:column;gap:12px;max-width:340px}._secondary_1fk70_93{background:transparent;border:1px solid var(--border);color:var(--text-muted)}:root{color-scheme:dark;--bg: #0A0F22;--bg-secondary: #0C1226;--surface: #131A33;--surface-raised: #1A2342;--surface-hover: #1F2950;--panel: #0E1426;--panel-tint: rgba(23, 25, 62, .55);--border: rgba(120, 140, 200, .16);--border-strong: rgba(140, 165, 220, .28);--border-hover: rgba(160, 185, 235, .36);--sidebar-border: rgba(100, 125, 175, .18);--text: #F4F5FA;--text-secondary: #C8CCDD;--muted: #8A90A8;--muted-strong: #A8ADC5;--accent: #F97E0C;--accent-bright: #FF9433;--accent-dark: #D9650A;--accent-soft: rgba(249, 126, 12, .1);--accent-softer: rgba(249, 126, 12, .05);--accent-strong: rgba(249, 126, 12, .32);--accent-glow: rgba(249, 126, 12, .16);--data-blue: #31A4FF;--data-blue-bright:#5BC0FF;--data-blue-dark: #1F7FCC;--data-blue-soft: rgba(49, 164, 255, .12);--running: #2FD47C;--running-dark: #21A35F;--running-soft: rgba(47, 212, 124, .14);--idle: #31A4FF;--idle-dark: #1F7FCC;--waiting: #F97E0C;--waiting-dark: #D9650A;--stopped: #E01812;--error: #E01812;--error-soft: rgba(224, 24, 18, .14);--offline: #5A6080;--out-of-mat: #F5A623;--profit: #9F7AFF;--profit-bright: #B89AFF;--planned: #F5A623;--potential: #3D4566;--heat-empty: #3A3F52;--accent-text: var(--accent);--running-text: var(--running);--data-blue-text: var(--data-blue);--idle-text: var(--idle);--waiting-text: var(--waiting);--profit-text: var(--profit);--out-of-mat-text: var(--out-of-mat);--offline-text: var(--offline);--on-accent: #17193E;--gradient-panel: linear-gradient(160deg, #131A33 0%, #0B1124 100%);--gradient-panel-hover: linear-gradient(160deg, #18203D 0%, #0E1428 100%);--gradient-accent: linear-gradient(135deg, #FF9433 0%, #E2680A 100%);--gradient-accent-bright: linear-gradient(135deg, #FFB066 0%, #F97E0C 100%);--gradient-data: linear-gradient(135deg, #5BC0FF 0%, #1F7FCC 100%);--gradient-success:linear-gradient(135deg, #3FE090 0%, #21A35F 100%);--gradient-text-accent: linear-gradient(135deg, #FFB066 0%, #F97E0C 100%);--gradient-radial: radial-gradient(circle at 30% 0%, rgba(249, 126, 12, .08), transparent 60%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-md: 0 4px 12px rgba(0, 0, 0, .28), 0 1px 0 0 rgba(255, 255, 255, .035) inset;--shadow-lg: 0 12px 28px -8px rgba(0, 0, 0, .45), 0 1px 0 0 rgba(255, 255, 255, .04) inset;--shadow-elev: 0 1px 0 0 rgba(255, 255, 255, .04) inset, 0 0 0 1px rgba(255, 255, 255, .02), 0 12px 32px -14px rgba(0, 0, 0, .55);--shadow-elev-hover: 0 1px 0 0 rgba(255, 255, 255, .06) inset, 0 0 0 1px rgba(255, 255, 255, .03), 0 22px 44px -16px rgba(0, 0, 0, .65);--shadow-glow: 0 0 0 1px rgba(249, 126, 12, .12), 0 0 24px -4px rgba(249, 126, 12, .1), 0 16px 40px -16px rgba(249, 126, 12, .06);--shadow-glow-data:0 0 0 1px rgba(49, 164, 255, .12), 0 0 24px -4px rgba(49, 164, 255, .1);--shadow-inner: inset 0 0 0 1px rgba(255, 255, 255, .035);--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--r-pill: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--grid-line: rgba(255, 255, 255, .025);--grid-line-strong:rgba(255, 255, 255, .045);--grid-size: 40px}[data-theme=light]{color-scheme:light;--bg: #F4F6FC;--bg-secondary: #FFFFFF;--surface: #FFFFFF;--surface-raised: #F8F9FD;--surface-hover: #EFF2F8;--panel: #FFFFFF;--panel-tint: rgba(23, 25, 62, .02);--border: rgba(23, 25, 62, .08);--border-strong: rgba(23, 25, 62, .16);--border-hover: rgba(23, 25, 62, .22);--sidebar-border: rgba(23, 25, 62, .08);--text: #17193E;--text-secondary: #4F5577;--muted: #858AA5;--muted-strong: #6C7290;--accent-soft: rgba(249, 126, 12, .1);--accent-softer: rgba(249, 126, 12, .05);--accent-strong: rgba(249, 126, 12, .28);--accent-glow: rgba(249, 126, 12, .13);--running-soft: rgba(47, 212, 124, .16);--data-blue-soft: rgba(49, 164, 255, .14);--error-soft: rgba(224, 24, 18, .12);--offline: #9DA2BC;--potential: #D2D5E6;--heat-empty: #E1E4EF;--accent-text: #B45A00;--running-text: #15803D;--data-blue-text: #1A72BA;--idle-text: #1A72BA;--waiting-text: #B45A00;--profit-text: #7C52F0;--out-of-mat-text: #9A6100;--offline-text: #5A6080;--gradient-panel: linear-gradient(160deg, #FFFFFF 0%, #F6F7FC 100%);--gradient-panel-hover: linear-gradient(160deg, #FFFFFF 0%, #EEF1F8 100%);--gradient-radial: radial-gradient(circle at 30% 0%, rgba(249, 126, 12, .05), transparent 60%);--shadow-sm: 0 1px 2px rgba(23, 25, 62, .06);--shadow-md: 0 4px 12px rgba(23, 25, 62, .08), 0 1px 0 0 rgba(255, 255, 255, .7) inset;--shadow-lg: 0 12px 28px -8px rgba(23, 25, 62, .14);--shadow-elev: 0 1px 0 0 rgba(255, 255, 255, .7) inset, 0 0 0 1px rgba(23, 25, 62, .04), 0 10px 28px -14px rgba(23, 25, 62, .2);--shadow-elev-hover: 0 1px 0 0 rgba(255, 255, 255, .9) inset, 0 0 0 1px rgba(23, 25, 62, .06), 0 22px 44px -18px rgba(23, 25, 62, .26);--shadow-glow: 0 0 0 1px rgba(249, 126, 12, .1), 0 12px 32px -10px rgba(249, 126, 12, .12);--shadow-inner: inset 0 0 0 1px rgba(23, 25, 62, .04);--grid-line: rgba(23, 25, 62, .035);--grid-line-strong:rgba(23, 25, 62, .055)}*{margin:0;padding:0;box-sizing:border-box}*::selection{background:#f97e0c52;color:#fff}html,body{height:100%}body{background-color:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01","cv02","cv03";font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;transition:background-color .25s var(--ease-out),color .25s var(--ease-out)}button{font-family:inherit}@keyframes opi-pulse{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-layout{display:flex;height:100vh;width:100vw;overflow:hidden;background:var(--bg)}.top-left-logo{position:fixed;top:12px;left:24px;z-index:200;display:flex;align-items:center}.logo-img{height:56px;width:auto;max-width:200px;display:block;filter:invert(1) brightness(1.2)}[data-theme=light] .logo-img{filter:none}.sidebar-left{width:256px;background:var(--bg-secondary);border-right:1px solid var(--sidebar-border);color:var(--text-secondary);display:flex;flex-direction:column;flex-shrink:0;padding:22px 14px;overflow-y:auto;position:relative}.sidebar-branding{padding:16px 6px;border-bottom:1px solid var(--sidebar-border);display:flex;align-items:center;justify-content:center;min-height:56px}.branding-logo{font-size:28px;font-weight:700;color:var(--text);letter-spacing:-.4px;display:flex;align-items:center;justify-content:center;gap:8px}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item{padding:9px 10px 9px 14px;border-radius:var(--r-md);cursor:pointer;font-size:12.5px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:11px;position:relative;transition:background-color .18s var(--ease-out),color .18s var(--ease-out),transform .18s var(--ease-out)}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;background:var(--gradient-accent);border-radius:0 3px 3px 0;box-shadow:0 0 12px 0 var(--accent-glow)}.nav-badge{margin-left:auto;background:var(--error);color:#fff;font-size:10px;font-weight:700;line-height:1;padding:3px 6px;border-radius:var(--r-pill);box-shadow:0 0 10px #e0181266}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.top-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 24px;background:var(--bg-secondary);border-bottom:1px solid var(--sidebar-border);gap:20px;flex-shrink:0;position:relative;z-index:10}.header-title{display:flex;align-items:baseline;gap:10px;font-family:Tahoma,Verdana,Geneva,sans-serif;font-size:28px;font-weight:400;font-style:italic}.header-title-name{letter-spacing:-.3px;color:var(--text)}.header-title-tagline{color:var(--accent-text)}.header-right{display:flex;align-items:center;gap:14px;margin-left:auto}.quick-search{display:flex;align-items:center;gap:6px}.quick-search-input{width:190px;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);font-size:12px;padding:6px 10px;transition:border-color .18s var(--ease-out)}.quick-search-input::placeholder{color:var(--muted)}.quick-search-input:focus{outline:none;border-color:var(--accent)}.quick-search-input::-webkit-outer-spin-button,.quick-search-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quick-search-input{-moz-appearance:textfield}.quick-search-btn{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:6px 12px;cursor:pointer;transition:border-color .18s var(--ease-out),color .18s var(--ease-out)}.quick-search-btn:hover{border-color:var(--border-hover);color:var(--text)}.user-menu{display:flex;align-items:center;gap:10px}.user-email{font-size:11px;color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:6px 12px;cursor:pointer;transition:border-color .18s var(--ease-out),color .18s var(--ease-out)}.logout-btn:hover{border-color:var(--border-hover);color:var(--text)}.tenant-select{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text-secondary);font-size:11px;font-weight:600;padding:6px 8px;max-width:200px;cursor:pointer}.tenant-select:disabled{cursor:progress;opacity:.6}.dot{width:8px;height:8px;border-radius:50%;background:var(--offline);flex-shrink:0;transition:background-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.dot.ok{background:var(--running-text);box-shadow:0 0 #2fd47c80,0 0 12px #2fd47c73;animation:opi-pulse 1.8s var(--ease-out) infinite;color:var(--running-text)}.tab-nav{display:none;align-items:center;gap:4px;padding:0 22px;height:46px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.tab-nav.visible{display:flex}.tab-nav-item{padding:0 14px;height:46px;display:inline-flex;align-items:center;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--text-secondary);margin-bottom:-1px;position:relative;transition:color .18s var(--ease-out)}.tab-nav-item:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;background:var(--gradient-accent);border-radius:2px 2px 0 0;transform:scaleX(0);transform-origin:center;transition:transform .25s var(--ease-out);box-shadow:0 0 12px 0 var(--accent-glow)}.tab-nav-item:hover{color:var(--text)}.tab-nav-item.active{color:var(--accent-text);font-weight:600}.tab-nav-item.active:after{transform:scaleX(1)}.content-wrapper{flex:1;display:grid;grid-template-columns:1fr;gap:22px;padding:22px 24px;overflow:hidden;min-height:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);background-attachment:fixed;position:relative}.content-main{display:flex;flex-direction:column;gap:20px;overflow-y:auto;min-width:0;padding-right:4px}.content-main::-webkit-scrollbar,.sidebar-left::-webkit-scrollbar{width:8px;height:8px}.content-main::-webkit-scrollbar-track,.sidebar-left::-webkit-scrollbar-track{background:transparent}.content-main::-webkit-scrollbar-thumb,.sidebar-left::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.content-main::-webkit-scrollbar-thumb:hover,.sidebar-left::-webkit-scrollbar-thumb:hover{background:var(--muted)}.page{display:none;flex-direction:column;gap:22px}.page.active{display:flex;animation:page-enter .35s var(--ease-out)}.card{position:relative;background:var(--gradient-panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px 16px;box-shadow:var(--shadow-elev);transition:border-color .25s var(--ease-out),transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}.card:hover{border-color:var(--border)}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-bottom:12px;font-weight:600;display:flex;align-items:center;gap:10px}.section-title:before{content:"";width:3px;height:12px;background:var(--gradient-accent);border-radius:2px}
