@charset "UTF-8";.sidebar{position:fixed;left:0;top:0;width:240px;min-width:240px;max-width:240px;height:100vh;background:var(--bg-primary, #0a0a0f);border-right:1px solid var(--border-subtle, #1e1e2e);display:flex;flex-direction:column;z-index:1000;transition:width .3s ease,min-width .3s ease,max-width .3s ease;overflow:visible}.sidebar.collapsed{width:57px;min-width:57px;max-width:57px;overflow-x:visible}.sidebar-header{height:54px;padding:11px;border-bottom:1px solid var(--border-subtle, #1e1e2e);display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:100%;overflow:visible}.sidebar-branding{display:flex;align-items:center;gap:11px;cursor:pointer;transition:opacity .15s ease}.sidebar-branding:hover{opacity:.8}.brand-top{display:flex;align-items:center}.brand-logo{width:26px;height:26px;object-fit:contain;flex-shrink:0;position:relative}.sidebar-branding{position:relative}.brand-logo:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 13px 13px 0;border-color:transparent #000000 transparent transparent}.brand-text-stack{display:flex;flex-direction:column;gap:2px;justify-content:center}.brand-name{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:18px;color:var(--text-primary, #e8e8f0);letter-spacing:.5px;line-height:1.2}.brand-location{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:19px;color:var(--text-primary, #e8e8f0);letter-spacing:.25px;line-height:1.2}.collapse-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--text-muted, #6666a0);cursor:pointer;transition:color .2s ease,opacity .2s ease;flex-shrink:0}.collapse-toggle:hover{color:var(--text-primary, #e8e8f0)}.collapse-toggle svg{width:18px;height:18px}.sidebar.collapsed .brand-text-stack,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section-title{display:none}.sidebar.collapsed .collapse-toggle{margin-left:auto;margin-right:auto}.sidebar.collapsed .nav-item.sub-item{display:none}.sidebar.collapsed .nav-item{padding:10px;justify-content:center;gap:0;position:relative;overflow:visible}.sidebar.collapsed .nav-item.active{margin:0 6px;padding:9px;justify-content:center}.sidebar.collapsed .nav-item[data-tooltip]:after,.sidebar.collapsed .footer-settings-btn[data-tooltip]:after{content:attr(data-tooltip)!important;position:absolute!important;left:100%!important;top:50%!important;transform:translateY(-50%)!important;margin-left:12px!important;padding:8px 12px!important;background:#000!important;color:#fff!important;font-size:13px!important;font-weight:500!important;border-radius:6px!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important;transition:opacity .2s ease!important;z-index:99999!important;box-shadow:0 4px 12px #0000004d!important;display:block!important;visibility:visible!important}.sidebar.collapsed .nav-item[data-tooltip]:hover:after,.sidebar.collapsed .footer-settings-btn[data-tooltip]:hover:after{opacity:1!important;visibility:visible!important}.sidebar.collapsed .footer-settings-btn{position:relative}.sidebar.collapsed .sidebar-branding{justify-content:center;gap:0}.sidebar.collapsed .collapsed-branding{width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .2s ease}.sidebar.collapsed .collapsed-branding:hover{background:var(--bg-secondary, #12121a)}.sidebar.collapsed .expand-icon{width:20px;height:20px;color:var(--text-primary, #e8e8f0);transition:transform .2s ease}.sidebar.collapsed .collapsed-branding:hover .expand-icon{transform:translate(2px)}.sidebar.collapsed .collapsed-branding[data-tooltip]:after{content:attr(data-tooltip)!important;position:absolute!important;left:100%!important;top:50%!important;transform:translateY(-50%)!important;margin-left:12px!important;padding:8px 12px!important;background:#000!important;color:#fff!important;font-size:13px!important;font-weight:500!important;border-radius:6px!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important;transition:opacity .2s ease!important;z-index:99999!important;box-shadow:0 4px 12px #0000004d!important;display:block!important;visibility:visible!important}.sidebar.collapsed .collapsed-branding[data-tooltip]:hover:after{opacity:1!important;visibility:visible!important}.sidebar.collapsed .sidebar-footer{padding:8px}.sidebar.collapsed .footer-row{display:flex;justify-content:center;align-items:center}.sidebar.collapsed .footer-settings-btn{padding:10px;justify-content:center;width:auto;min-width:44px;display:flex;align-items:center;position:relative;overflow:visible}.sidebar.collapsed .footer-settings-btn .nav-label{display:none}.sidebar.collapsed .footer-settings-btn .nav-icon{margin:0}.sidebar-logo{font-size:18px;color:var(--text-primary, #e8e8f0);margin:0}.sidebar-nav{flex:1;padding:14px 0 10px;overflow-y:auto;overflow-x:clip;margin-top:1px}.sidebar.collapsed .sidebar-nav{overflow:visible}.nav-item{width:calc(100% - 12px);padding:9px 9px 9px 25px;background:transparent;border:1px solid transparent;margin:0 6px;color:var(--text-secondary, #8888a0);font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;box-sizing:border-box;overflow:hidden;position:relative;border-radius:4px}.nav-icon{width:16px;height:16px;flex-shrink:0;stroke:currentColor}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-weight:500}.nav-item:hover{background:var(--bg-secondary, #12121a);color:var(--text-primary, #e8e8f0)}.nav-item.active{background:var(--bg-secondary, #12121a);border-color:var(--border-subtle, #1e1e2e);color:var(--text-primary, #e8e8f0);font-weight:400}.nav-item.sub-item{padding-left:49px;font-size:12px}.nav-item.sub-item.active{padding-left:48px}.nav-item.sub-item .nav-icon{width:14px;height:14px}.nav-section-title{padding:17px 10px 8px 26px;font-size:.6875rem;font-weight:500;color:var(--text-primary, #e8e8f0);text-transform:uppercase;letter-spacing:.05em;margin:10px 16px 4px;border-bottom:1px solid rgba(0,0,0,.5)}.nav-section-title:first-child{margin-top:20px;padding-top:0}.nav-section-compliance .nav-section-title{margin-top:10px;padding-top:17px}.sidebar-footer{padding:16px;border-top:1px solid var(--border-subtle, #1e1e2e);width:100%;box-sizing:border-box}.footer-row{display:flex;align-items:center;width:100%}.footer-settings-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:none;color:var(--text-secondary, #8888a0);font-size:13px;width:100%;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;text-align:left;cursor:pointer;border-radius:0;transition:color .2s ease;box-sizing:border-box}.footer-settings-btn .nav-icon{width:18px;height:18px;flex-shrink:0;stroke:currentColor}.footer-settings-btn .nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer-settings-btn:hover{color:var(--text-primary, #e8e8f0)}.footer-settings-btn.active{color:var(--text-primary, #e8e8f0);background:var(--bg-secondary, #12121a);border-radius:4px}.user-section{margin-bottom:12px;width:100%;box-sizing:border-box}.sidebar-username{font-size:.8125rem;color:var(--text-secondary, #8888a0);word-break:break-all;margin-top:8px}.user-section .connection-status{margin-bottom:8px;padding:8px 12px;font-size:13px}.username{font-size:.875rem;color:var(--text-secondary, #8888a0);word-break:break-all;margin-top:8px}.username.clickable{background:transparent;border:none;padding:0;color:var(--text-secondary, #8888a0);font-size:.875rem;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px}.username.clickable:hover{color:var(--text-primary, #e8e8f0);text-decoration:underline}.username.clickable:focus,.username.clickable:focus-visible,.username.clickable:active{outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}.username-avatar{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-subtle, #1e1e2e);display:inline-flex;align-items:center;justify-content:center;color:inherit;background:transparent;flex:0 0 auto}.username.clickable:hover .username-avatar{border-color:var(--text-primary, #e8e8f0)}.username-icon{width:16px;height:16px;color:inherit}.username-label{color:inherit}.logout-btn{width:100%;background:transparent;color:var(--text-secondary, #8888a0);border:1px solid var(--border-subtle, #1e1e2e);border-radius:8px;padding:10px 20px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.logout-btn:hover{background:var(--bg-secondary, #12121a);color:var(--text-primary, #e8e8f0)}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-subtle, #2e2e4e);border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #6666a0)}.alerts-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1100}.alerts-panel{position:fixed;top:70px;right:24px;width:400px;max-height:520px;background:#fff;border:1px solid #E0E0E0;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:1101;display:flex;flex-direction:column;animation:slideIn .15s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alerts-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #E0E0E0}.alerts-panel-title-section{display:flex;align-items:center;gap:8px}.alerts-panel-title{font-size:13px;color:#1a1a1a;margin:0;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.alerts-panel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:transparent;color:#f44;font-size:11px;font-weight:400;border:1px solid #FF4444;border-radius:9px}.alerts-panel-close-btn{background:transparent;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s;border-radius:4px}.alerts-panel-close-btn:hover{background:#0000000d;color:#1a1a1a}.alerts-panel-clear-btn{background:transparent;color:#0030f6;border:none;padding:4px 8px;font-size:12px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s;border-radius:4px}.alerts-panel-clear-btn:hover{background:#0030f61a}.alerts-panel-content{flex:1;overflow-y:auto;max-height:460px;padding:8px}.alerts-panel-empty{padding:48px 20px;text-align:center;color:#666;font-size:12px;font-weight:400}.alerts-panel-operational{padding:48px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.operational-icon{width:40px;height:40px;color:#00b050;margin-bottom:4px}.operational-title{font-size:13px;color:#1a1a1a;margin:0;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.operational-message{font-size:11px;color:#666;margin:0;font-weight:400}.alert-notification{display:flex;gap:12px;padding:12px;margin-bottom:8px;background:#f8f8f8;border:1px solid #E0E0E0;border-radius:6px;transition:all .2s}.alert-notification:hover{border-color:#ccc;box-shadow:0 2px 8px #00000014}.alert-notification:last-child{margin-bottom:0}.alert-notification.acknowledged{opacity:.5;background:#fafafa}.alert-notification-indicator{width:4px;flex-shrink:0;background:#ccc;border-radius:2px;align-self:stretch}.alert-notification.critical .alert-notification-indicator{background:#f44}.alert-notification.warning .alert-notification-indicator{background:orange}.alert-notification.info .alert-notification-indicator{background:#0030f6}.alert-notification-content{flex:1;min-width:0}.alert-notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px}.alert-notification-type{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:.08em;font-weight:400}.alert-notification.critical .alert-notification-type{color:#f44}.alert-notification.warning .alert-notification-type{color:orange}.alert-notification.info .alert-notification-type{color:#0030f6}.alert-notification-timestamp{font-size:10px;color:#666;font-weight:400;white-space:nowrap}.alert-notification-title{font-size:13px;color:#1a1a1a;margin:0 0 4px;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.4}.alert-notification-message{font-size:12px;color:#666;margin:0 0 8px;font-weight:400;line-height:1.4}.alert-notification-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.alert-notification-source{font-size:10px;color:#666;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-notification-ack-btn{background:transparent;color:#0030f6;border:none;border-radius:4px;padding:4px 8px;font-size:11px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s;white-space:nowrap}.alert-notification-ack-btn:hover{background:#0030f61a}.alerts-panel-content::-webkit-scrollbar{width:6px}.alerts-panel-content::-webkit-scrollbar-track{background:transparent}.alerts-panel-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.alerts-panel-content::-webkit-scrollbar-thumb:hover{background:#aaa}.connection-status-bar{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:stretch;height:36px;border-radius:4px;overflow:hidden;outline:1px solid var(--border-color, rgba(255, 255, 255, .25));outline-offset:-1px;box-shadow:0 1px 3px #0000001a;transition:all .2s}@media (max-width: 1366px){.connection-status-bar{position:static;transform:none;left:auto;margin:0 auto}}@media (max-width: 768px){.connection-status-bar{max-width:calc(100vw - 16px);margin:0 auto}.status-segment{padding:0 8px;font-size:11px}.connection-segment{min-width:70px}.production-segment{min-width:50px}}.status-segment{display:flex;align-items:center;justify-content:center;padding:0 12px;font-size:12px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;white-space:nowrap;border:none;cursor:default;transition:all .2s}.connection-segment{background:#22c55e40;border-right:1px solid rgba(0,0,0,.2);min-width:90px}.connection-segment.connected{background:#22c55e40}.connection-segment.connected .status-text{color:#15803d}.connection-segment.disconnected{background:#ef444440}.connection-segment.disconnected .status-text{color:#dc2626}.pause-segment{background:var(--bg-primary, #FFFFFF);border-right:1px solid rgba(0,0,0,.2);padding:0 10px;cursor:pointer;width:40px}.pause-segment:hover{background:#facc1526}.pause-segment:active{background:#facc1540}.pause-segment svg{color:#eab308}.stop-segment{background:var(--bg-primary, #FFFFFF);border-right:1px solid rgba(0,0,0,.2);padding:0 10px;cursor:pointer;width:40px}.stop-segment:hover{background:#ef44441a}.stop-segment:active{background:#ef444433}.stop-segment svg{color:#dc2626}.production-segment{background:var(--bg-primary, #FFFFFF);min-width:60px}.production-text{color:var(--text-primary, #1A1A1A);font-weight:600}.status-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}[data-theme=dark] .pause-segment,[data-theme=dark] .stop-segment{background:#ffffff1a;border-right:1px solid rgba(255,255,255,.2)}[data-theme=dark] .connection-segment{border-right:1px solid rgba(255,255,255,.2)}[data-theme=dark] .pause-segment:hover{background:#facc1533}[data-theme=dark] .stop-segment:hover{background:#ef444433}[data-theme=dark] .pause-segment svg{color:#fde047}[data-theme=dark] .stop-segment svg{color:#f87171}[data-theme=dark] .production-segment{background:#ffffff1a}.topbar{position:fixed;top:0;left:var(--sidebar-width, 240px);right:0;height:54px;background:var(--bg-primary);transition:left .3s ease,height .3s ease;border-bottom:1px solid var(--border-subtle, #1e1e2e);z-index:900}@media (max-width: 1366px){.topbar{height:104px}}.sidebar-collapsed .topbar{left:57px}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:relative}.topbar-left,.breadcrumb-navigation{display:flex;align-items:center;gap:8px}.breadcrumb-label{font-size:12px;color:var(--text-secondary);font-weight:400;letter-spacing:.5px}.breadcrumb-item{position:relative;display:flex;align-items:center;gap:8px}.breadcrumb-button{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:6px 14px;border-radius:4px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s;min-width:120px;justify-content:space-between}.breadcrumb-button:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.breadcrumb-arrow{flex-shrink:0;color:var(--text-secondary);transition:transform .2s}.breadcrumb-add-button{display:inline-flex;align-items:center;justify-content:center;height:31px;width:31px;background:transparent;border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);cursor:pointer;transition:all .2s;flex-shrink:0}.breadcrumb-add-button:hover{background:var(--bg-secondary);border-color:var(--text-primary)}.breadcrumb-add-button svg{width:14px;height:14px}.breadcrumb-separator{color:var(--text-secondary);font-size:14px;margin:0 4px;-webkit-user-select:none;user-select:none}.breadcrumb-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:1000;max-height:300px;overflow-y:auto}.breadcrumb-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:none;border:none;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;transition:background .2s;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.breadcrumb-dropdown-item:hover{background:var(--bg-secondary)}.breadcrumb-dropdown-item.active{background:var(--bg-secondary);font-weight:500}.breadcrumb-dropdown-item.active:after{content:"✓";color:#22c55e;font-size:14px;margin-left:auto}.breadcrumb-dropdown-item.active svg{color:#22c55e;flex-shrink:0}.breadcrumb-dropdown-item.active:has(svg):after{display:none}.breadcrumb-dropdown-item.loading,.breadcrumb-dropdown-item.no-items{color:var(--text-secondary);cursor:default;font-style:italic}.breadcrumb-dropdown-item.loading:hover,.breadcrumb-dropdown-item.no-items:hover{background:none}.breadcrumb-dropdown-divider{height:1px;background:var(--border-color);margin:8px 0}.breadcrumb-dropdown-item.view-all{color:var(--text-secondary);font-size:12px;justify-content:center}.breadcrumb-dropdown-item.view-all:hover{color:var(--text-primary)}.dashboard-selector-right{position:relative;display:flex;align-items:center;gap:8px;margin-right:12px}.dashboard-button-right{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:6px 14px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s;min-width:120px;justify-content:space-between}.dashboard-button-right:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.dashboard-add-button-right{display:inline-flex;align-items:center;justify-content:center;height:31px;width:31px;background:transparent;border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);cursor:pointer;transition:all .2s;flex-shrink:0}.dashboard-add-button-right:hover{background:var(--bg-secondary);border-color:var(--text-primary)}.dashboard-add-button-right svg{width:14px;height:14px}.dashboard-dropdown-right{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:1000;max-height:300px;overflow-y:auto}.dashboard-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:none;border:none;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;transition:background .2s;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.dashboard-dropdown-item.active{background:var(--bg-secondary);font-weight:500}.dashboard-dropdown-item.active:after{content:"✓";color:var(--primary-color);font-size:14px}.dashboard-selector{position:relative;display:flex;align-items:center;gap:12px}.dashboard-label{font-size:12px;color:var(--text-secondary);font-weight:400;letter-spacing:.5px}.dashboard-current{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:6px 16px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s;min-width:140px;justify-content:space-between}.dashboard-current:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.dashboard-arrow{flex-shrink:0;color:var(--text-secondary);transition:transform .2s}.dashboard-add{display:inline-flex;align-items:center;justify-content:center;height:31px;width:31px;background:transparent;border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);cursor:pointer;transition:all .2s;flex-shrink:0}.dashboard-add:hover{background:var(--bg-secondary);border-color:var(--text-primary)}.dashboard-add svg{width:14px;height:14px}.devices-selector{position:relative;display:flex;align-items:center;margin-left:12px}.topbar-devices-button{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:6px 14px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s ease;flex-shrink:0}.topbar-devices-button:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.devices-label{font-size:13px;color:var(--text-primary);font-weight:400}.devices-arrow{flex-shrink:0;color:var(--text-secondary);transition:transform .2s;margin-left:2px}.devices-dropdown{position:absolute;top:42px;left:0;min-width:280px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:5px;box-shadow:0 4px 16px #0000001a;padding:6px;z-index:1000}.devices-dropdown-header{padding:10px 12px 6px;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:400}.devices-dropdown-item{width:100%;text-align:left;background:transparent;border:none;border-radius:4px;padding:10px 12px;color:var(--text-primary);font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.devices-dropdown-item:hover{background:var(--bg-secondary)}.devices-dropdown-item.selected{background:#22c55e1a;border-left:2px solid #22c55e}.devices-dropdown-item.selected:hover{background:#22c55e26}.devices-dropdown-item.view-all{justify-content:center;color:var(--text-secondary);font-size:12px}.devices-dropdown-item.view-all:hover{color:var(--text-primary)}.device-info{display:flex;flex-direction:column;gap:2px}.device-name{font-size:13px;color:var(--text-primary);font-weight:400}.device-id{font-size:11px;color:var(--text-secondary);font-weight:400}.device-status{display:flex;align-items:center;gap:6px}.status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-indicator.online{background:#4caf50;box-shadow:0 0 0 2px #4caf5033}.status-indicator.offline{background:#999}.status-text{font-size:11px;color:var(--text-secondary);text-transform:capitalize;font-weight:400}.devices-dropdown-divider{height:1px;background:var(--border-color);margin:6px 0}.dashboard-dropdown{position:absolute;top:42px;left:70px;min-width:180px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:5px;box-shadow:0 4px 16px #0000001a;padding:6px;z-index:1000}.dashboard-dropdown-item{width:100%;text-align:left;background:transparent;border:none;border-radius:4px;padding:10px 12px;color:var(--text-primary);font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.dashboard-dropdown-item:hover{background:var(--bg-secondary)}.dashboard-dropdown-item.active{background:var(--bg-secondary);color:var(--text-primary)}.topbar .connection-status-bar{font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;border:1px solid rgba(0,0,0,.2)!important;border-radius:4px!important;background:var(--bg-secondary, #12121a);height:32px;margin-left:8px;box-sizing:border-box!important}@media (max-width: 1366px){.topbar .connection-status-bar{order:0;flex:0 0 auto;width:auto;margin:0;align-self:center}.topbar-inner{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;align-items:center}.topbar .connection-status-bar{grid-column:2;grid-row:1}.topbar-left{grid-column:1;grid-row:2}.topbar-right{grid-column:3;grid-row:2;justify-self:end}}@media (max-width: 768px){.topbar-inner{padding:4px 8px;row-gap:4px}}[data-theme=light] .topbar .connection-status-bar{border:1px solid rgba(0,0,0,.2)!important}[data-theme=dark] .topbar .connection-status-bar{border:1px solid rgba(255,255,255,.2)!important}.topbar-left .status-indicator{width:6px;height:6px}.topbar-left .connection-status.connected{border-color:var(--border-subtle, #1e1e2e)}.topbar-left .connection-status.connected .status-indicator{background:#22c55e;box-shadow:0 0 6px #22c55e80}.topbar-left .connection-status.disconnected .status-indicator{background:#ef4444;box-shadow:0 0 6px #ef444480}.topbar-left .status-text{color:var(--text-secondary, #8888a0)}.topbar-right{position:relative;display:flex;align-items:center;gap:12px}.alerts-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .2s}.alerts-button:hover{background:var(--bg-secondary);border-color:var(--text-primary);color:var(--text-primary)}.alerts-button.active{background:var(--bg-secondary);border-color:var(--text-primary)}.alerts-button svg{width:14px;height:14px}.alerts-button-badge{position:absolute;top:2px;right:2px;width:8px;height:8px;background:#f44;border-radius:50%;border:2px solid var(--bg-primary);box-shadow:0 0 0 1px #ff44444d}.ai-chat-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .2s}.ai-chat-button:hover{background:var(--bg-secondary);border-color:var(--text-primary);color:var(--text-primary)}.ai-chat-button svg{width:14px;height:14px}.user-button{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:7px 14px;color:var(--text-primary);cursor:pointer;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;transition:all .2s}.user-button:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.user-avatar{width:auto;height:auto;border-radius:0;border:none;display:inline-flex;align-items:center;justify-content:center;color:inherit;background:transparent;flex:0 0 auto}.user-icon{width:15px;height:15px;color:inherit}.user-name{font-size:13px;color:inherit;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu{position:absolute;top:48px;right:0;width:240px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:8px}.user-menu-header{padding:10px 10px 8px;color:var(--text-primary);font-size:13px}.user-menu-org{display:flex;align-items:center;gap:8px;margin-bottom:4px}.org-name{color:var(--text-primary);font-size:12px}.org-icon{width:14px;height:14px;color:var(--text-primary);display:inline-flex}.role-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:999px;border:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;background:var(--bg-secondary)}.user-menu-name{color:var(--text-primary)}.user-menu-name-container{display:flex;flex-direction:column;gap:2px}.user-menu-name-row{display:flex;align-items:center;gap:8px}.user-menu-email{color:var(--text-secondary);font-size:11px}.user-menu-user{display:flex;align-items:flex-start}.user-menu-divider{height:1px;background:var(--border-color);margin:8px 0}.user-menu-item{width:100%;text-align:left;background:transparent;border:none;border-radius:6px;padding:10px;color:var(--text-primary);font-size:14px;cursor:pointer}.user-menu-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.user-menu-item.destructive{color:#f44}.user-menu-item.destructive:hover{color:#f66}.devices-dropdown-item.loading,.devices-dropdown-item.no-devices{color:#ffffff80;font-size:13px;text-align:center;padding:15px;cursor:default}.devices-dropdown-item.loading:hover,.devices-dropdown-item.no-devices:hover{background:transparent}.hydrogen-schematic{width:100%;height:100%;position:relative;background:#fff;border-radius:8px;overflow:hidden}.hydrogen-schematic.fullscreen{position:fixed;top:64px;left:var(--sidebar-width, 240px);transition:left .3s ease;right:0;bottom:0;width:auto;height:auto;z-index:9999;border-radius:0}.fullscreen-toggle{position:absolute;top:12px;right:12px;background:#fff;border:1px solid #E8E8E8;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;color:#1a1a1a;transition:background .2s ease}.fullscreen-toggle:hover{background:#f5f5f5}.schematic-svg{width:100%;height:100%;display:block}.hydrogen-schematic text{fill:var(--text-primary)}.hydrogen-schematic rect,.hydrogen-schematic circle,.hydrogen-schematic ellipse{stroke:var(--border-color)}.component{cursor:pointer;transition:all .3s ease}.component:hover{filter:brightness(1.2)}.component:hover rect,.component:hover circle,.component:hover ellipse{stroke-width:3}.power-line{stroke-dasharray:10,5;animation:powerFlow 2s linear infinite}@keyframes powerFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-15}}.measurement{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.component-detail-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2100;animation:fadeIn .3s ease-out;padding:20px;overflow:auto}.popup-content{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;padding:30px;min-width:400px;max-width:90vw;max-height:90vh;overflow:auto;position:relative;box-shadow:0 8px 24px #00000026}@media (max-width: 768px){.popup-content{min-width:unset;width:100%;max-width:100%;padding:20px}}.popup-content h3{margin:0 0 20px;color:var(--text-primary);font-size:18px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.popup-content button{position:absolute;top:15px;right:15px;background:transparent;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:all .2s}.popup-content button:hover{color:var(--text-primary);background:var(--bg-tertiary);border-radius:4px}.popup-content p{color:var(--text-secondary);margin:0;font-size:14px}@media (max-width: 1400px){.schematic-svg{height:auto}}.toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#171715;border:1px solid #1A1A1A;border-radius:6px;box-shadow:0 4px 12px #0006;z-index:9999;min-width:300px;max-width:500px;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.toast-icon{width:20px;height:20px;flex-shrink:0}.toast-icon svg{width:100%;height:100%}.toast-success{border-color:#4caf50}.toast-success .toast-icon{color:#4caf50}.toast-info{border-color:#0030f6}.toast-info .toast-icon{color:#0030f6}.toast-warning{border-color:orange}.toast-warning .toast-icon{color:orange}.toast-error{border-color:#f44}.toast-error .toast-icon{color:#f44}.toast-message{flex:1;font-size:13px;color:#e9e9e9;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.4}.toast-close{background:transparent;border:none;color:#a5a5a5;font-size:20px;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.toast-close:hover{background:#e9e9e91a;color:#e9e9e9}.floating-panels-global{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:2000}.floating-panel{position:absolute;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #00000026;min-width:400px;max-width:min(800px,90vw);max-height:90vh;pointer-events:auto;transition:box-shadow .2s ease;overflow:hidden;display:flex;flex-direction:column}.floating-panel:hover{box-shadow:0 12px 32px #0003}.floating-panel.dragging{box-shadow:0 16px 40px #00000040;opacity:.95}.floating-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.floating-panel-header:active{cursor:grabbing}.panel-title{font-size:14px;font-weight:400;color:var(--text-primary);letter-spacing:-.01em}.panel-control-btn{background:transparent;border:none;color:var(--text-primary);font-size:20px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.panel-control-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.panel-control-btn.close:hover{background:#ff444426;color:#f44}.floating-panel-content{padding:0;overflow-y:auto;flex:1;min-height:0}.floating-panel.minimized{min-width:250px}.monitor-panel{padding:20px;color:var(--text-primary)}.panel-header-inner{font-size:16px;font-weight:400;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color);letter-spacing:-.01em}.automation-content{display:flex;flex-direction:column;gap:16px}.automation-item{display:flex;justify-content:space-between;padding:12px 0}.item-label{font-size:14px;color:#a5a5a5;font-weight:400}.item-value{font-size:14px;color:#e9e9e9;font-weight:400}.item-value.status-ok{color:#4caf50}.item-value.status-warning{color:#ffc107}.automation-buttons{display:flex;gap:12px;margin-top:8px}.auto-btn{flex:1;padding:12px 20px;background:#e9e9e9;color:#0f0f0e;border:none;border-radius:6px;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s}.auto-btn:hover{background:#fff;color:#0f0f0e;transform:translateY(-1px)}.auto-btn.secondary{background:#e9e9e91a;color:#e9e9e9;border:1px solid #1A1A1A}.auto-btn.secondary:hover{background:#e9e9e926;border-color:#e9e9e9}.rectifier-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #1A1A1A}.rectifier-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{font-size:11px;color:#a5a5a5;font-weight:400;text-transform:uppercase;letter-spacing:.8px;margin-bottom:15px}.metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.metric-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:12px;display:flex;flex-direction:column;gap:6px}.metric-label{font-size:10px;color:var(--text-secondary);font-weight:400;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:18px;color:var(--text-primary);font-weight:400}.rectifier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rectifier-item{padding:0}.rect-label{font-size:12px;font-weight:400;color:#e9e9e9;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.unit-label{font-size:13px;color:#a5a5a5;font-weight:400}.unit-status{font-size:11px;color:#e9e9e9}.unit-metric{font-size:16px;font-weight:400;color:#e9e9e9}.unit-id{font-size:12px;color:#e9e9e9;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.unit-values{font-size:11px;color:#e9e9e9;display:flex;flex-direction:column;gap:4px}.polariser-content{display:flex;justify-content:center;padding:20px 0}.polariser-btn{padding:15px 30px;background:#e9e9e9;color:#0f0f0e;border:none;border-radius:6px;font-size:15px;font-weight:400;cursor:pointer;transition:all .2s}.polariser-btn:hover{background:#fff;color:#0f0f0e;transform:translateY(-1px)}.polariser-btn.active{background:#4caf50;color:#fff}.ramp-controls{display:flex;flex-direction:column;gap:20px}.ramp-status{display:flex;gap:12px;align-items:center;padding:12px 0}.status-label{font-size:14px;color:#a5a5a5;font-weight:400}.status-value{font-size:14px;color:#e9e9e9;font-weight:400}.ramp-mode-selector{display:flex;gap:12px}.mode-btn{flex:1;padding:10px 16px;background:#e9e9e90d;color:#e9e9e9;border:1px solid #1A1A1A;border-radius:6px;font-size:13px;font-weight:400;cursor:pointer;transition:all .2s}.mode-btn:hover{background:#e9e9e914;border-color:#e9e9e9}.mode-btn.active{background:#e9e9e9;color:#0f0f0e;border-color:#e9e9e9}.control-section{padding:0}.control-row{display:flex;gap:12px}.control-input{flex:1;padding:10px 14px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-weight:400}.control-input:focus{outline:none;border-color:#e9e9e9}.apply-btn{padding:10px 24px;background:#e9e9e9;color:#0f0f0e;border:none;border-radius:6px;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s}.apply-btn:hover{background:#fff;color:#0f0f0e}.cascade-control-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:16px;margin-bottom:16px}.cascade-header{margin-bottom:12px}.cascade-toggle-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#e9e9e9;cursor:pointer;font-weight:400}.cascade-checkbox{cursor:pointer}.cascade-settings{padding-top:12px;border-top:1px solid #2A2A2A;display:flex;flex-direction:column;gap:12px}.cascade-setting-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.cascade-label{font-size:12px;color:#a5a5a5;font-weight:400}.cascade-input{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:6px 10px;border-radius:4px;font-size:13px;width:120px;font-weight:400}.cascade-input:focus{outline:none;border-color:#4a90e2}.cascade-info{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:12px;margin-top:8px;display:flex;flex-direction:column;gap:8px}.cascade-info-item{display:flex;justify-content:space-between;font-size:12px}.info-value{color:#4a90e2;font-weight:400}.ramp-config{display:flex;flex-direction:column;gap:12px;padding:12px 0}.config-row{display:flex;justify-content:space-between;font-size:13px}.config-label{color:#a5a5a5;font-weight:400}.config-value{color:#e9e9e9;font-weight:400}.current-output-display{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.output-label{font-size:12px;color:#a5a5a5;font-weight:400}.output-value{font-size:16px;color:#4a90e2;font-weight:400}.quick-ramp-controls{margin-top:12px;padding-top:12px;border-top:1px solid #2A2A2A}.quick-ramp-label{font-size:12px;color:#a5a5a5;margin-bottom:8px;font-weight:400}.quick-ramp-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.quick-ramp-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:6px 10px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:400;transition:all .2s ease}.quick-ramp-btn:hover:not(:disabled){background:var(--bg-tertiary)}.quick-ramp-btn.decrease:hover:not(:disabled){border-color:#ff5252;color:#ff5252}.quick-ramp-btn.increase:hover:not(:disabled){border-color:#4caf50;color:#4caf50}.quick-ramp-btn:disabled{opacity:.4;cursor:not-allowed}.ramp-rate-control{margin-top:12px;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px}.ramp-rate-label{font-size:12px;color:var(--text-secondary);font-weight:400}.ramp-rate-input{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:6px 10px;border-radius:4px;font-size:13px;width:80px;text-align:right;font-weight:400}.ramp-rate-input:focus{outline:none;border-color:#4a90e2}.ramp-rate-input:disabled{opacity:.4;cursor:not-allowed}.ramp-actions{display:flex;gap:12px}.ramp-btn{flex:1;padding:12px 20px;background:#e9e9e91a;color:#e9e9e9;border:1px solid #1A1A1A;border-radius:6px;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s}.ramp-btn:hover{background:#e9e9e926;border-color:#e9e9e9}.ramp-btn.stop{background:#ff44441a;border-color:#ff44444d;color:#f44}.ramp-btn.stop:hover{background:#ff444426;border-color:#f44}.power-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.power-item{padding:0}.power-label{font-size:13px;color:#a5a5a5;font-weight:400;margin-bottom:12px}.power-values{display:flex;flex-direction:column;gap:8px}.pv-row{display:flex;justify-content:space-between;font-size:12px}.pv-row .status-ok{color:#4caf50}.electrolyzer-overview-panel{min-width:500px}.electrolyzer-info{margin-bottom:16px;padding:0}.info-item{display:flex;justify-content:space-between;font-size:13px}.info-label{color:#a5a5a5;font-weight:400}.info-value{color:#e9e9e9;font-weight:400}.electrolyzer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.electrolyzer-cell{padding:12px;background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:6px;text-align:center}.cell-id{font-size:11px;color:#4caf50;font-weight:400;margin-bottom:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-metric{font-size:11px;color:var(--text-primary);font-weight:400}.rectifier-view-selector{display:flex;gap:0;margin-bottom:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.view-btn{flex:1;padding:12px 16px;background:transparent;border:none;border-right:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s}.view-btn:last-child{border-right:none}.view-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.view-btn.active{background:var(--bg-tertiary);color:var(--text-primary);border-bottom:2px solid var(--text-primary)}.rectifier-view-content{min-height:300px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rectifier-overview{padding:10px 0}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.overview-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:20px;transition:all .2s}.overview-card:hover{border-color:var(--text-secondary);transform:translateY(-2px)}.overview-card.primary{grid-column:span 2;background:var(--bg-tertiary)}.card-header{font-size:10px;color:var(--text-secondary);font-weight:400;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.card-value-large{font-size:48px;color:var(--text-primary);font-weight:400;line-height:1;margin-bottom:12px}.card-value-large .unit{font-size:20px;color:var(--text-secondary);margin-left:8px}.card-submetrics{display:flex;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.submetric{display:flex;flex-direction:column;gap:4px}.submetric-label{font-size:9px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.submetric-value{font-size:16px;color:var(--text-primary);font-weight:400}.rectifier-detail-view{padding:10px 0}.detail-header{font-size:12px;color:var(--text-primary);font-weight:400;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.phase-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:24px;text-align:center;transition:all .2s}.phase-card:hover{border-color:var(--text-secondary);transform:translateY(-4px)}.phase-label{font-size:11px;color:var(--text-secondary);font-weight:400;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px}.phase-metrics{display:flex;flex-direction:column;gap:20px}.phase-metric{display:flex;flex-direction:column;align-items:center;gap:8px}.phase-metric .metric-label{font-size:9px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value-xl{font-size:36px;color:var(--text-primary);font-weight:400;line-height:1}.metric-unit{font-size:14px;color:var(--text-secondary)}.dc-output-grid{display:flex;flex-direction:column;gap:24px}.dc-main-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dc-metric-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;transition:all .2s}.dc-metric-card:hover{border-color:var(--text-secondary);transform:translateY(-4px)}.dc-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.dc-value-xl{font-size:48px;color:var(--text-primary);font-weight:400;line-height:1}.dc-unit{font-size:16px;color:var(--text-secondary)}.dc-performance-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.performance-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:20px;display:flex;justify-content:space-between;align-items:center}.perf-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.perf-value{font-size:24px;color:var(--text-primary);font-weight:400}.temp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.temp-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:32px;display:flex;flex-direction:column;align-items:center;gap:16px;transition:all .2s}.temp-card:hover{border-color:var(--text-secondary);transform:translateY(-4px)}.temp-icon{color:var(--text-secondary);margin-bottom:8px}.temp-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.temp-value-xl{font-size:56px;color:var(--text-primary);font-weight:400;line-height:1}.temp-unit{font-size:18px;color:var(--text-secondary);margin-top:-8px}.temp-status-bar{width:100%;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden;margin-top:8px}.temp-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#ffc107 70%,#f44336);transition:width .3s ease}.o2-view-selector{display:flex;gap:0;margin-bottom:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.o2-view-content{min-height:300px;animation:fadeIn .3s ease-in}.o2-overview{padding:10px 0}.o2-mode-badge{display:flex;align-items:center;gap:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:20px;margin-bottom:20px}.mode-indicator{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:2px solid var(--text-primary);border-radius:50%;color:var(--text-primary)}.mode-symbol{font-size:24px;font-weight:400;color:var(--text-primary)}.mode-info{flex:1}.mode-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.mode-value{font-size:24px;color:var(--text-primary);font-weight:400;margin-bottom:4px}.mode-desc{font-size:11px;color:#a5a5a5}.o2-overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.o2-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:20px;transition:all .2s}.o2-card:hover{border-color:#2a2a2a;transform:translateY(-2px)}.o2-card.primary{grid-column:span 2}.card-status{margin-top:12px;padding-top:12px;border-top:1px solid #1A1A1A}.status-badge{display:inline-block;padding:6px 12px;border-radius:4px;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.status-badge.ok{background:#4caf501a;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.status-badge.warning{background:#ffc1071a;color:#ffc107;border:1px solid rgba(255,193,7,.3)}.o2-monitoring{padding:10px 0}.o2-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.metric-large-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;transition:all .2s}.metric-large-card:hover{border-color:var(--text-secondary);transform:translateY(-4px)}.metric-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.2px;text-align:center;font-weight:400;margin-bottom:8px}.metric-value-xl{font-size:42px;color:var(--text-primary);font-weight:400;line-height:1}.metric-unit{font-size:14px;color:#a5a5a5}.metric-bar{width:100%;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden;margin-top:8px}.metric-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#e9e9e9);transition:width .3s ease}.o2-secondary-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.secondary-metric{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:16px;display:flex;justify-content:space-between;align-items:center}.sec-label{font-size:11px;color:#a5a5a5;text-transform:uppercase;letter-spacing:.5px}.sec-value{font-size:20px;color:#e9e9e9;font-weight:400}.o2-safety{padding:10px 0}.safety-alert-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:32px;display:flex;align-items:center;gap:32px;margin-bottom:20px}.safety-indicator{width:100px;height:100px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.safety-indicator.safe{background:var(--bg-primary);border:3px solid #4CAF50;color:#4caf50}.safety-indicator.warning{background:var(--bg-primary);border:3px solid #FFC107;color:#ffc107;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.safety-symbol{font-size:36px;font-weight:400;line-height:1;letter-spacing:2px}.safety-status{flex:1}.safety-title{font-size:12px;color:#a5a5a5;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}.safety-value{font-size:48px;color:#e9e9e9;font-weight:400;line-height:1;margin-bottom:12px}.safety-value .unit{font-size:20px;color:#a5a5a5;margin-left:8px}.safety-message{font-size:14px;font-weight:400;margin-bottom:8px}.safety-message.ok{color:#4caf50}.safety-message.warning{color:#ffc107}.safety-threshold{font-size:11px;color:#a5a5a5}.safety-metrics-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.safety-metric{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:24px;text-align:center}.safety-metric-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.safety-metric-value{font-size:32px;font-weight:400;line-height:1;margin-bottom:12px}.safety-metric-value.ok{color:#4caf50}.safety-metric-value.warning{color:#ffc107}.safety-metric-status{font-size:12px;font-weight:400}.o2-control{padding:10px 0}.mode-control-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.mode-control-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;transition:all .2s;position:relative;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.mode-control-btn:hover{border-color:var(--text-secondary);transform:translateY(-4px);background:var(--bg-tertiary)}.mode-control-btn.active{border-color:var(--text-primary);background:var(--bg-tertiary)}.mode-control-btn.safety{border-color:#ffc1074d}.mode-control-btn.safety:hover{border-color:#ffc107}.mode-control-label{font-size:16px;color:#e9e9e9;font-weight:400;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;margin-top:4px}.mode-control-desc{font-size:11px;color:#a5a5a5;text-align:center}.mode-active-badge{position:absolute;top:8px;right:8px;background:#4caf50;color:#0f0f0e;padding:4px 10px;border-radius:3px;font-size:9px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;z-index:10}.control-info{display:flex;align-items:flex-start;gap:12px;background:#ffc1070d;border:1px solid rgba(255,193,7,.2);border-radius:6px;padding:16px}.info-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffc1071a;color:#ffc107;border-radius:50%;font-size:14px;font-weight:400;flex-shrink:0}.info-text{font-size:11px;color:#a5a5a5;line-height:1.5}.overview-page{padding:48px 10px;background:var(--bg-primary);min-height:100%}.overview-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:var(--text-primary);margin:0;text-align:left;letter-spacing:-.3px;line-height:1.3}.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.overview-header .page-title{margin:0;line-height:1}.system-flow-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.data-view-controls{display:flex;justify-content:flex-end;align-items:center;margin-bottom:20px;margin-top:30px}.view-controls{display:flex;gap:15px;align-items:center}.view-mode-toggle{display:flex;gap:0;border:1px solid var(--border-color);border-radius:5px;overflow:hidden}.mode-btn{background:transparent;color:var(--text-primary);border:none;border-right:1px solid var(--border-color);padding:10px 20px;font-size:15px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;line-height:1;cursor:pointer;transition:all .2s}.mode-btn:last-child{border-right:none}.mode-btn.active{background:var(--text-primary);color:var(--bg-primary)}.mode-btn:hover:not(.active){background:var(--bg-secondary)}.time-range-selector{display:flex;gap:0;border:1px solid var(--border-color);border-radius:5px;overflow:hidden}.range-btn{background:transparent;color:var(--text-primary);border:none;border-right:1px solid var(--border-color);padding:10px 15px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;line-height:1;cursor:pointer;transition:all .2s}.range-btn.active{background:var(--bg-secondary);color:var(--text-primary);font-weight:500}.range-btn:hover:not(.active){background:var(--bg-secondary)}.overview-page .process-flow-diagram{display:flex;justify-content:center;padding:0 20px 20px}.overview-page .schematic-container{width:100%}.flow-chart-page{padding:48px 64px;background:var(--bg-primary);min-height:100%}.flow-chart-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:var(--text-primary);margin:0 0 48px;text-align:left;letter-spacing:-.3px;line-height:1.3}.forecast-floating-panel .floating-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#1f1f1d;border-bottom:1px solid #393939;border-radius:8px 8px 0 0;cursor:grab;-webkit-user-select:none;user-select:none}.forecast-floating-panel .floating-panel-header:active{cursor:grabbing}.forecast-floating-panel .panel-title{font-size:14px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e9e9e9;letter-spacing:-.01em}.forecast-floating-panel .panel-controls{display:flex;gap:8px}.forecast-floating-panel .panel-control-btn{background:transparent;border:none;color:#a5a5a5;font-size:20px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.forecast-floating-panel .panel-control-btn:hover{background:#a5a5a51a;color:#e9e9e9}.forecast-floating-panel .panel-control-btn.close:hover{background:#ff444426;color:#f44}.forecast-floating-panel .floating-panel-content{padding:0;overflow-y:auto;flex:1;display:flex;flex-direction:column}.forecast-floating-panel .monitor-panel{padding:20px;color:#e9e9e9}.forecast-floating-panel .panel-header-inner{font-size:16px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e9e9e9;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #393939;letter-spacing:-.01em}.flowchart-header{display:flex;justify-content:center;align-items:flex-start;margin-bottom:0;position:relative;padding:0 20px}.flowchart-header-left{display:flex;flex-direction:column;gap:15px;width:100%;max-width:1400px}.shutdown-controls{display:flex;gap:10px}.shutdown-btn{padding:10px 20px;font-size:13px;font-weight:400;background:#f5f5f5;color:#1a1a1a;border:1px solid #E8E8E8;border-radius:8px;cursor:pointer;transition:background .2s ease;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.shutdown-btn.data-view-btn{background:#f5f5f5;color:#1a1a1a}.shutdown-btn.data-view-btn:hover{background:#ececec}.shutdown-btn.soft-shutdown{background:#f5f5f5;color:#1a1a1a}.shutdown-btn.soft-shutdown:hover:not(:disabled){background:#ececec}.shutdown-btn.hard-shutdown{background:#f5f5f5;color:#1a1a1a}.shutdown-btn.hard-shutdown:hover:not(:disabled){background:#ececec}.shutdown-btn.restart{background:#f5f5f5;color:#1a1a1a}.shutdown-btn.restart:hover:not(:disabled){background:#ececec}.shutdown-btn:disabled{opacity:.5;cursor:not-allowed}.plan-production-btn{padding:10px 20px;font-size:13px;font-weight:400;background:#f5f5f5;color:#1a1a1a;border:1px solid #E8E8E8;border-radius:8px;cursor:pointer;transition:background .2s ease;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.plan-production-btn:hover{background:#ececec}.production-plan-panel{position:fixed;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 10px 40px #00000026;z-index:2100;display:flex;flex-direction:column;overflow:hidden;max-width:90vw;max-height:90vh;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.production-plan-content{padding:20px;overflow-y:auto;flex:1;background:#0f0f0e;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.floating-panel-header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#0f0f0e;border-bottom:1px solid #1A1A1A}.panel-title{font-size:13px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.production-plan-panel .panel-control-btn{background:transparent;border:none;color:var(--text-secondary);font-size:18px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:4px}.production-plan-panel .panel-control-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.production-status-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.status-item{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:15px;display:flex;flex-direction:column;gap:8px}.status-label{font-size:11px;color:#a5a5a5;text-transform:uppercase;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:.5px}.status-value{font-size:24px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e9e9e9}.storage-control{margin-bottom:25px;padding:20px;background:transparent;border-radius:5px;border:1px solid #1A1A1A}.storage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.storage-header-right{display:flex;align-items:center;gap:12px}.control-label{color:#a5a5a5;font-size:11px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px}.storage-value{color:#e9e9e9;font-size:32px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1}.buffer-mode-toggle{display:flex;justify-content:space-between;align-items:center;padding:0;background:transparent;border:none;margin-bottom:20px}.toggle-label{color:#a5a5a5;font-size:11px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px}.toggle-switch-container{display:flex;align-items:center;gap:10px}.toggle-switch{position:relative;width:48px;height:26px;background:#0f0f0e;border-radius:13px;border:1px solid #393939;cursor:pointer;transition:all .25s ease;padding:0;outline:none}.toggle-switch:hover{border-color:#6b6b6b}.toggle-switch.active{background:#e9e9e9;border-color:#e9e9e9}.toggle-slider{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#a5a5a5;border-radius:50%;transition:all .25s ease;box-shadow:0 1px 3px #0006}.toggle-switch.active .toggle-slider{transform:translate(22px);background:#0f0f0e}.toggle-status{color:#a5a5a5;font-size:11px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;min-width:28px}.storage-bar-container{width:100%;height:48px;background:#0f0f0e;border-radius:5px;overflow:hidden;border:1px solid #1A1A1A;margin-bottom:16px;position:relative}.storage-bar-fill{height:100%;transition:width .5s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:16px;color:#0f0f0e;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;border-radius:5px 0 0 5px;background:#e9e9e9}.storage-info{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.storage-kg{color:#a5a5a5;font-size:13px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.storage-status{color:#e9e9e9;font-size:11px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:6px 12px;background:transparent;border:1px solid #1A1A1A;border-radius:4px;letter-spacing:.5px}.manual-storage-control{margin-top:20px;padding-top:20px;border-top:1px solid #1A1A1A}.control-label-small{display:block;color:#a5a5a5;font-size:10px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.storage-slider{width:100%;height:6px;border-radius:3px;background:#1a1a1a;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.storage-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#e9e9e9;cursor:pointer;box-shadow:0 2px 6px #e9e9e933;transition:all .2s ease}.storage-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 8px #e9e9e94d}.storage-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#e9e9e9;cursor:pointer;border:none;box-shadow:0 2px 6px #e9e9e933;transition:all .2s ease}.storage-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 3px 8px #e9e9e94d}.demand-chart-section{margin-bottom:25px}.section-title{color:#e9e9e9;font-size:14px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin-bottom:15px}.demand-chart{background:transparent;border-radius:5px;border:1px solid #1A1A1A;padding:20px}.demand-svg{width:100%;height:auto}.demand-schedule-section{margin-bottom:25px;background:transparent;border-radius:5px;border:1px solid #1A1A1A;padding:20px}.section-header-row{margin-bottom:20px}.section-title-main{color:#e9e9e9;font-size:13px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px;margin:0}.schedule-mode-tabs{display:flex;gap:12px;margin-bottom:20px}.schedule-tab{flex:1;padding:12px 20px;font-size:13px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background:transparent;color:#a5a5a5;border:1px solid #1A1A1A;border-radius:5px;cursor:pointer;transition:all .2s ease}.schedule-tab.active{background:#e9e9e9;color:#0f0f0e;border-color:#e9e9e9;font-weight:400}.schedule-tab:hover:not(.active):not(:disabled){background:#171715;border-color:#393939;color:#e9e9e9}.schedule-tab:disabled{opacity:.4;cursor:not-allowed;color:#6b6b6b}.schedule-inputs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px;margin-bottom:20px}.schedule-point-card{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:15px}.point-label{color:#a5a5a5;font-size:11px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;margin-bottom:12px}.point-inputs{display:flex;flex-direction:column;gap:12px;position:relative}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{color:#a5a5a5;font-size:11px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase}.input-with-icon{position:relative;display:flex;align-items:center}.schedule-input-field{width:100%;padding:10px 35px 10px 12px;background:#171715;border:1px solid #1A1A1A;border-radius:5px;color:#e9e9e9;font-size:14px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.schedule-input-field:focus{outline:none;border-color:#e9e9e9}.input-unit{position:absolute;right:12px;color:#a5a5a5;font-size:13px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;pointer-events:none}.remove-point-icon{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:#e9e9e9;color:#0f0f0e;border:2px solid #0F0F0E;border-radius:50%;cursor:pointer;font-size:12px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-point-icon:hover{background:#fff;transform:scale(1.1)}.add-schedule-point-btn{width:100%;padding:12px 20px;font-size:13px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background:transparent;color:#a5a5a5;border:1px solid #1A1A1A;border-radius:5px;cursor:pointer;transition:all .2s ease;margin-bottom:20px}.add-schedule-point-btn:hover{background:#171715;border-color:#393939;color:#e9e9e9}.schedule-settings{background:#0006;border-radius:8px;border:1px solid rgba(255,255,255,.25);padding:15px;margin-bottom:20px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #393939}.setting-row:last-child{border-bottom:none}.setting-label{color:#a5a5a5;font-size:12px}.setting-value{color:#e9e9e9;font-size:13px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.production-logic-info{background:#0f0f0e;border-radius:5px;padding:15px;border-left:3px solid #E9E9E9}.production-logic-info h4{color:#e9e9e9;font-size:13px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin-bottom:10px}.production-logic-info ul{list-style:none;padding:0;margin:0}.production-logic-info li{color:#a5a5a5;font-size:12px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:5px 0;line-height:1.5}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.chart-legend{display:flex;gap:15px}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#a5a5a5}.legend-color{width:12px;height:12px;border-radius:2px}.plan-action-buttons{display:flex;gap:15px;margin-top:20px}.action-btn{flex:1;padding:15px 30px;font-size:14px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;border:none;border-radius:5px;cursor:pointer;transition:all .2s ease}.action-btn.apply-btn{background:#e9e9e9;color:#0f0f0e;font-weight:400;border:1px solid #E9E9E9}.action-btn.apply-btn:hover{background:#fff}.action-btn.stop-btn{background:transparent;color:#e9e9e9;font-weight:400;border:1px solid #1A1A1A}.action-btn.stop-btn:hover{background:#171715;border-color:#393939}.flowchart-header .page-title{margin:0;line-height:1}.flow-controls{display:flex;gap:15px;align-items:center;align-self:flex-end;position:absolute;right:20px}.flow-metric-selector{display:flex}.metric-select{background:transparent;border:1px solid #393939;border-radius:5px;padding:10px 35px 10px 15px;font-size:13px;color:#e9e9e9;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;line-height:1;cursor:pointer;transition:all .2s ease;min-width:160px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A5A5A5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}.metric-select:hover{border-color:#6b6b6b;background-color:#39393933}.metric-select:focus{outline:none;border-color:#e9e9e9;background-color:#3939394d}.metric-select option{background:#0f0f0f;color:#e9e9e9;padding:10px}.time-range-selector{display:flex;gap:0;border:1px solid #393939;border-radius:5px;overflow:hidden}.range-btn{background:transparent;color:#a5a5a5;border:none;border-right:1px solid #393939;padding:10px 15px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;line-height:1;cursor:pointer;transition:all .2s}.range-btn:last-child{border-right:none}.range-btn.active{background:transparent;color:#e9e9e9;border-color:#e9e9e9}.range-btn:hover:not(.active){color:#e9e9e9}.info-message{margin-bottom:40px}.process-flow-diagram{margin-bottom:25px;padding:20px;background:var(--bg-primary);border-radius:5px;animation:fadeInUp .6s ease-out;min-height:450px;position:relative;display:flex;justify-content:flex-end;gap:20px}.schematic-container{width:100%;height:500px;margin-top:10px;border-radius:8px;overflow:hidden}.info-display-sidebar{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:10px;margin-top:10px}.info-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:12px;transition:all .2s}.info-card:hover{border-color:var(--text-secondary);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.info-card-header{font-size:9px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.info-card-value{font-size:26px;color:var(--text-primary);font-weight:400;line-height:1;margin-bottom:10px}.info-card-unit{font-size:13px;color:var(--text-secondary);margin-left:5px}.info-card-detail{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--border-color)}.info-detail-label{font-size:9px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.info-detail-value{font-size:11px;color:var(--text-primary);font-weight:500}.flow-controls-section{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.forecast-button{background:#2a2a27;color:#e9e9e9;border:1px solid #6B6B6B;border-radius:8px;padding:16px 24px;font-size:15px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .3s ease;min-width:200px}.forecast-button:hover{background:#3b3b38;border-color:#f97316;transform:translateY(-2px);box-shadow:0 4px 8px #f9731633}.forecast-button:active{transform:translateY(0)}.process-flow-container{display:flex;align-items:center;justify-content:space-around;gap:25px;overflow-x:auto;padding:20px 15px;max-width:1400px;margin:0 auto}.flow-column{display:flex;flex-direction:column;gap:50px;flex-shrink:0}.flow-step{display:flex;flex-direction:column;align-items:center;gap:20px;min-width:200px;flex-shrink:0}.flow-image{height:120px;width:auto;filter:brightness(.9);transition:all .3s ease}.flow-step:hover .flow-image{filter:brightness(1.1);transform:scale(1.05)}.flow-label{font-size:15px;color:#4a4a4a;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;text-align:center;margin:0;transition:color .3s ease}.flow-step:hover .flow-label{color:#1b1b18}.flow-arrow{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:180px;transition:opacity .3s ease}.flow-arrow:hover{opacity:1}.flowchart-charts{display:flex;flex-direction:column;gap:20px}.flowchart-charts .chart-container{background:transparent;border:1px solid #393939;border-radius:5px;padding:25px;animation:fadeInUp .6s ease-out;transition:border-color .3s ease,transform .2s ease}.flowchart-charts .chart-container:nth-child(1){animation-delay:.1s}.flowchart-charts .chart-container:nth-child(2){animation-delay:.2s}.flowchart-charts .chart-container:nth-child(3){animation-delay:.3s}.flowchart-charts .chart-container:nth-child(4){animation-delay:.4s}.flowchart-charts .chart-container:hover{border-color:#6b6b6b;transform:translateY(-2px)}.flowchart-charts .chart-header{margin-bottom:20px}.flowchart-charts .chart-title{font-size:15px;color:#e9e9e9;margin:0;font-weight:400}.flowchart-charts .chart-subtitle{font-size:13px;color:#a5a5a5;margin:10px 0 0}.flowchart-charts .chart-wrapper{height:300px;position:relative;transition:all .3s ease}.flowchart-charts .chart-container:hover .chart-wrapper{opacity:1}.efficiency-chart{animation-delay:.4s}.efficiency-chart .chart-header{margin-bottom:20px}.forecast-floating-panel{background:#171715;border:1px solid #393939;border-radius:8px;box-shadow:0 8px 24px #0009;pointer-events:auto;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.forecast-floating-panel:hover{box-shadow:0 12px 32px #00000080}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.forecast-panel{padding:20px;color:#e9e9e9;flex:1;display:flex;flex-direction:column}.forecast-chart-container{flex:1;width:100%;position:relative;padding-top:20px;min-height:250px}.resize-handle,.forecast-floating-panel .resize-handle{position:absolute;pointer-events:auto;z-index:10}.forecast-floating-panel .resize-n{top:0;left:0;right:0;height:8px;cursor:ns-resize}.forecast-floating-panel .resize-s{bottom:0;left:0;right:0;height:8px;cursor:ns-resize}.forecast-floating-panel .resize-e{top:0;right:0;bottom:0;width:8px;cursor:ew-resize}.forecast-floating-panel .resize-w{top:0;left:0;bottom:0;width:8px;cursor:ew-resize}.forecast-floating-panel .resize-ne{top:0;right:0;width:16px;height:16px;cursor:nesw-resize}.forecast-floating-panel .resize-nw{top:0;left:0;width:16px;height:16px;cursor:nwse-resize}.forecast-floating-panel .resize-se{bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize}.forecast-floating-panel .resize-sw{bottom:0;left:0;width:16px;height:16px;cursor:nesw-resize}.rectifier-floating-panel{background:#171715;border:1px solid #393939;border-radius:8px;box-shadow:0 8px 24px #0009;pointer-events:auto;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.rectifier-floating-panel:hover{box-shadow:0 12px 32px #00000080}.rectifier-floating-panel .floating-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#1f1f1d;border-bottom:1px solid #393939;border-radius:8px 8px 0 0;cursor:grab;-webkit-user-select:none;user-select:none}.rectifier-floating-panel .floating-panel-header:active{cursor:grabbing}.rectifier-floating-panel .panel-title{font-size:14px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e9e9e9;letter-spacing:-.01em}.rectifier-floating-panel .panel-controls{display:flex;gap:8px}.rectifier-floating-panel .panel-control-btn{background:transparent;border:none;color:#a5a5a5;font-size:20px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.rectifier-floating-panel .panel-control-btn:hover{background:#a5a5a51a;color:#e9e9e9}.rectifier-floating-panel .panel-control-btn.close:hover{background:#ff444426;color:#f44}.rectifier-floating-panel .floating-panel-content{padding:0;overflow-y:auto;flex:1}.rectifier-floating-panel .monitor-panel{padding:20px;color:#e9e9e9}.rectifier-floating-panel .panel-header-inner{font-size:16px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e9e9e9;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #393939;letter-spacing:-.01em}.rectifier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.rectifier-item{background:#39393933;padding:12px;border-radius:6px}.rect-label{font-size:12px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#a5a5a5;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.unit-box{display:flex;flex-direction:column;gap:8px}.unit-label{font-size:13px;color:#e9e9e9;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.unit-status{font-size:11px;color:#a5a5a5}.unit-metric{font-size:16px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e9e9e9}.unit-id{font-size:12px;color:#6b6b6b;font-family:Courier New,monospace}.unit-values{font-size:11px;color:#a5a5a5;display:flex;flex-direction:column;gap:4px}.rectifier-feedback{background:#39393933;padding:12px;border-radius:6px}.feedback-header{font-size:12px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e9e9e9;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.feedback-items{display:flex;flex-wrap:wrap;gap:8px}.feedback-item{padding:6px 12px;background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:4px;font-size:11px;color:#ff9800;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.rectifier-floating-panel .resize-handle{position:absolute;pointer-events:auto;z-index:10}.rectifier-floating-panel .resize-n{top:0;left:0;right:0;height:8px;cursor:ns-resize}.rectifier-floating-panel .resize-s{bottom:0;left:0;right:0;height:8px;cursor:ns-resize}.rectifier-floating-panel .resize-e{top:0;right:0;bottom:0;width:8px;cursor:ew-resize}.rectifier-floating-panel .resize-w{top:0;left:0;bottom:0;width:8px;cursor:ew-resize}.rectifier-floating-panel .resize-ne{top:0;right:0;width:16px;height:16px;cursor:nesw-resize}.rectifier-floating-panel .resize-nw{top:0;left:0;width:16px;height:16px;cursor:nwse-resize}.rectifier-floating-panel .resize-se{bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize}.rectifier-floating-panel .resize-sw{bottom:0;left:0;width:16px;height:16px;cursor:nesw-resize}.renewable-forecast-floating-panel{background:#171715;border:1px solid #393939;border-radius:8px;box-shadow:0 8px 24px #0009;pointer-events:auto;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.renewable-forecast-floating-panel:hover{box-shadow:0 12px 32px #00000080}.renewable-forecast-floating-panel .floating-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#1f1f1d;border-bottom:1px solid #393939;border-radius:8px 8px 0 0;cursor:grab;-webkit-user-select:none;user-select:none}.renewable-forecast-floating-panel .floating-panel-header:active{cursor:grabbing}.renewable-forecast-floating-panel .panel-title{font-size:14px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e9e9e9;letter-spacing:-.01em}.renewable-forecast-floating-panel .panel-controls{display:flex;gap:8px}.renewable-forecast-floating-panel .panel-control-btn{background:transparent;border:none;color:#a5a5a5;font-size:20px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.renewable-forecast-floating-panel .panel-control-btn:hover{background:#a5a5a51a;color:#e9e9e9}.renewable-forecast-floating-panel .panel-control-btn.close:hover{background:#ff444426;color:#f44}.renewable-forecast-floating-panel .floating-panel-content{padding:0;overflow-y:auto;flex:1;display:flex;flex-direction:column}.renewable-forecast-floating-panel .monitor-panel{padding:20px;color:#e9e9e9;flex:1;display:flex;flex-direction:column}.renewable-forecast-floating-panel .panel-header-inner{font-size:16px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e9e9e9;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #393939;letter-spacing:-.01em}.renewable-forecast-floating-panel .forecast-chart-container{flex:1;width:100%;position:relative;padding-top:20px;min-height:250px}.renewable-forecast-floating-panel .resize-handle{position:absolute;pointer-events:auto;z-index:10}.renewable-forecast-floating-panel .resize-n{top:0;left:0;right:0;height:8px;cursor:ns-resize}.renewable-forecast-floating-panel .resize-s{bottom:0;left:0;right:0;height:8px;cursor:ns-resize}.renewable-forecast-floating-panel .resize-e{top:0;right:0;bottom:0;width:8px;cursor:ew-resize}.renewable-forecast-floating-panel .resize-w{top:0;left:0;bottom:0;width:8px;cursor:ew-resize}.renewable-forecast-floating-panel .resize-ne{top:0;right:0;width:16px;height:16px;cursor:nesw-resize}.renewable-forecast-floating-panel .resize-nw{top:0;left:0;width:16px;height:16px;cursor:nwse-resize}.renewable-forecast-floating-panel .resize-se{bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize}.renewable-forecast-floating-panel .resize-sw{bottom:0;left:0;width:16px;height:16px;cursor:nesw-resize}.command-center-page{padding:24px;background:#fff;min-height:100%;color:#1a1a1a}.command-center-page .page-main-title{font-size:1.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0 0 24px}.command-section{margin-bottom:32px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.command-center-page .section-title{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#666;margin:0 0 16px}.command-center-page .status-panel{background:#fafafa!important;border:1px solid #E0E0E0!important;border-radius:12px;padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.command-center-page .status-item{display:flex;flex-direction:column;gap:8px;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.command-center-page .status-item *{border:none!important;box-shadow:none!important}.command-center-page .status-label{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#666!important;background:transparent!important;padding:0!important;margin:0!important}.command-center-page .status-value,.command-center-page .status-badge{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a!important;background:transparent!important;padding:0!important;margin:0!important}.control-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.control-btn{background:#f5f5f5;color:#1a1a1a;border:1px solid #E0E0E0;border-radius:12px;padding:16px 20px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s ease;min-height:52px;display:flex;align-items:center;justify-content:center;text-align:center}.control-btn:hover:not(:disabled){background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.control-btn:active:not(:disabled){transform:translateY(0)}.control-btn:disabled{opacity:.4;cursor:not-allowed}.control-btn.primary,.control-btn.warning,.control-btn.danger{background:#f5f5f5;color:#1a1a1a;border-color:#e0e0e0}.control-btn.emergency{background:#ef44441a;border:2px solid #ef4444;color:#ef4444}.control-btn.emergency:hover{background:#ef444426;border-color:#ef4444;transform:translateY(-2px);box-shadow:0 4px 12px #ef444433}.control-btn.secondary{background:#f5f5f5;color:#1a1a1a;border:1px solid #E0E0E0}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.action-btn{background:#f5f5f5;color:#1a1a1a;border:1px solid #E0E0E0;border-radius:12px;padding:16px 20px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s ease;min-height:52px;display:flex;align-items:center;justify-content:center;text-align:center}.action-btn:hover:not(:disabled){background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.action-btn:active{transform:translateY(0)}.action-btn:disabled{opacity:.4;cursor:not-allowed}.device-controls{display:flex;flex-direction:column;gap:12px}.device-control-item{background:#fafafa;border:1px solid #E0E0E0;border-radius:12px;padding:20px}.device-control-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.device-name{font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a}.device-status{font-size:.6875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:4px;min-width:60px;text-align:center}.device-status.online{color:#2e7d32;background:#2e7d3226}.device-status.offline{color:#666;background:#66666626}.device-control-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.device-btn{background:#f5f5f5;color:#1a1a1a;border:1px solid #E0E0E0;border-radius:12px;padding:16px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s ease;min-height:52px;display:flex;align-items:center;justify-content:center;text-align:center}.device-btn:hover:not(:disabled){background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.device-btn:active:not(:disabled){transform:translateY(0)}.device-btn:disabled{opacity:.4;cursor:not-allowed}.command-history{background:#fafafa;border:1px solid #E0E0E0;border-radius:12px;overflow:hidden}.history-header{display:grid;grid-template-columns:100px 1fr 100px;gap:20px;padding:12px 20px;background:#f0f0f0;border-bottom:1px solid #E0E0E0;font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#666}.history-row{display:grid;grid-template-columns:100px 1fr 100px;gap:20px;padding:12px 20px;border-bottom:1px solid #E0E0E0;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.history-row:last-child{border-bottom:none}.col-time{color:#666}.col-command{color:#1a1a1a}.col-status{text-align:right}.col-status.success{color:#2e7d32}.maintenance-form{background:#fafafa;border:1px solid #E0E0E0;border-radius:12px;padding:20px;margin-bottom:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-select,.form-input,.form-textarea{background:#fff;border:1px solid #D0D0D0;border-radius:8px;padding:12px;font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;outline:none;transition:border-color .2s}.form-select:hover,.form-input:hover,.form-textarea:hover{border-color:#1a1a1a}.form-select:focus,.form-input:focus,.form-textarea:focus{border-color:#1a1a1a}.form-select option{background:#fff;color:#1a1a1a}.maintenance-list{display:flex;flex-direction:column;gap:12px}.maintenance-task{background:#fafafa;border:1px solid #E0E0E0;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px}.task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.task-device{font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin-right:12px}.task-type{font-size:.6875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#666;padding:4px 8px;background:#f0f0f0;border:1px solid #D0D0D0;border-radius:4px}.task-date{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666}.task-description{font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;line-height:1.4}.task-actions{display:flex;gap:12px;margin-top:8px}.task-btn{background:#f5f5f5;color:#1a1a1a;border:1px solid #E0E0E0;border-radius:12px;padding:12px 16px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.task-btn:hover:not(:disabled){background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.task-btn:active{transform:translateY(0)}.task-btn:disabled{opacity:.4;cursor:not-allowed}.task-btn.complete,.task-btn.cancel{background:#f5f5f5;color:#1a1a1a;border-color:#e0e0e0}.no-tasks{background:#fafafa;border:1px solid #E0E0E0;border-radius:12px;padding:30px;text-align:center}.no-tasks p{font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;margin:0}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{background:#fff;border:1px solid #E0E0E0;border-radius:12px;padding:24px;min-width:400px;max-width:500px;box-shadow:0 8px 32px #0003}.confirm-title{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0 0 12px}.confirm-message{font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;margin:0 0 24px;line-height:1.4}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-btn{background:#f5f5f5;color:#1a1a1a;border:1px solid #E0E0E0;border-radius:12px;padding:12px 20px;font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease;min-width:100px}.confirm-btn:hover{background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.confirm-btn.cancel,.confirm-btn.confirm{background:#f5f5f5;color:#1a1a1a;border-color:#e0e0e0}.confirm-btn:active{transform:translateY(0)}@media (max-width: 1400px){.control-grid,.action-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.command-center-page{padding:24px}.command-center-page .page-main-title{font-size:1.5rem;margin-bottom:20px}.status-panel{grid-template-columns:1fr;gap:16px}.control-grid,.action-grid,.device-control-actions{grid-template-columns:1fr}.confirm-dialog{min-width:auto;margin:0 16px}}.devices-page{padding:24px 48px;min-height:100%;width:100%;box-sizing:border-box;background:#fff}.devices-page .page-content{width:100%;max-width:2800px;margin:0 auto}.devices-page .page-header{margin-bottom:32px}.devices-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.75rem;font-weight:400;color:#1a1a1a!important;margin:0 0 12px;text-align:left;letter-spacing:0;line-height:1.3}.devices-page .page-description{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666!important;margin:0;line-height:1.4}.devices-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media (max-width: 1200px){.devices-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.devices-grid{grid-template-columns:1fr}}.device-card{background:#f5f5f599!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 2px 8px #0000000f!important;border-radius:12px;padding:24px;transition:all .2s ease;display:flex;flex-direction:column}.device-card:hover{background:#22c55e14!important;border-color:#22c55e40!important}.device-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.device-name{font-size:1.125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a!important;font-weight:500;margin:0}.device-status{font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;padding:4px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.05em}.device-status.online,.device-status.healthy{color:#16a34a;background:#dcfce7;border:1px solid #86efac}.device-status.offline{color:#666;background:#e8e8e8;border:1px solid #D0D0D0}.device-status.inactive{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.device-metrics{display:flex;flex-direction:column;gap:16px;margin-bottom:20px;flex:1}.device-metric{display:flex;justify-content:space-between;align-items:center}.metric-label{font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#666!important;text-transform:uppercase;letter-spacing:.05em}.device-card .metric-value{font-size:1rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#1a1a1a!important}.device-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid rgba(0,0,0,.08)}.last-update{font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#666!important}.device-actions{display:flex;gap:8px}.action-btn{background:#fff!important;color:#1a1a1a!important;border:1px solid rgba(0,0,0,.12)!important;border-radius:6px;padding:8px 16px;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.action-btn:hover{background:#22c55e14!important;border-color:#22c55e40!important}.devices-loading,.devices-error,.devices-empty{background:#f5f5f599!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 2px 8px #0000000f!important;border-radius:12px;padding:40px;text-align:center;color:#1a1a1a!important}.devices-error p{margin-bottom:16px;color:#dc2626}.analytics-page{padding:48px 64px;background:var(--bg-primary);min-height:100%}.analytics-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:#1a1a1a!important;margin:0;text-align:left;letter-spacing:-.3px;line-height:1.3}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.analytics-header-wrapper{margin-bottom:30px}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px;flex-wrap:wrap}.analytics-selectors{display:flex;gap:20px;align-items:center}.selector-group{display:flex;align-items:center;gap:10px}.selector-label{font-size:13px;color:#666;font-weight:400;white-space:nowrap}.analytics-select{background:#fff;border:1px solid #D0D0D0;border-radius:5px;padding:10px 36px 10px 14px;font-size:13px;color:#1a1a1a;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:border-color .2s;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg fill="%231A1A1A" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');background-repeat:no-repeat;background-position:right 8px center;background-size:20px;min-width:200px}.analytics-select:hover,.analytics-select:focus{border-color:#1a1a1a;outline:none}.analytics-select option{background:#fff;color:#1a1a1a}.metric-selector-dropdown{margin-bottom:20px;display:flex;flex-direction:column;gap:10px;position:relative;z-index:10}.metric-selector-dropdown .selector-label{font-size:13px;color:#666;font-weight:400}.checkbox-input{display:none}.checkbox-custom{width:18px;height:18px;border:2px solid #D0D0D0;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.checkbox-input:checked+.checkbox-custom{background:transparent}.checkbox-check{width:10px;height:10px;border-radius:2px;opacity:0;transform:scale(0);transition:all .2s}.checkbox-input:checked+.checkbox-custom .checkbox-check{opacity:1;transform:scale(1)}.checkbox-text{font-size:13px;color:#1a1a1a;font-weight:400;-webkit-user-select:none;user-select:none}.analytics-charts{display:flex;flex-direction:column;gap:20px}.analytics-chart-container{background:#fff;border:1px solid #E0E0E0;border-radius:12px;padding:25px;animation:fadeInUp .6s ease-out;transition:border-color .3s ease,transform .2s ease;position:relative;z-index:1}.analytics-chart-container:nth-child(1){animation-delay:.5s}.analytics-chart-container:nth-child(2){animation-delay:.6s}.analytics-chart-container:hover{border-color:#b0b0b0;transform:translateY(-2px)}.analytics-chart-container .chart-header{margin-bottom:20px}.analytics-chart-container .chart-title{font-size:15px;color:#1a1a1a!important;margin:0;font-weight:400}.analytics-chart-container .chart-subtitle{font-size:13px;color:#666!important;margin:10px 0 0}.analytics-chart-container .chart-wrapper{height:300px;position:relative;background:#f8f8f8;border-radius:3px}.analytics-chart-container .chart-wrapper canvas{background:#f8f8f8!important}.analytics-chart-container.main-chart{border:1px solid #E0E0E0}.analytics-chart-container.main-chart .chart-wrapper{height:400px}.cell-degradation-section{margin-top:40px;background:#fff;border:1px solid #E0E0E0;border-radius:12px;padding:25px;overflow:visible;position:relative;z-index:1}.cell-degradation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px;flex-wrap:wrap}.cell-degradation-section .section-title{font-size:18px;color:#1a1a1a!important;margin:0;font-weight:400}.cell-degradation-controls{display:flex;gap:20px;align-items:center}.cell-selector-dropdown{margin-bottom:20px;display:flex;flex-direction:column;gap:10px;position:relative;z-index:10}.cell-selector-dropdown .selector-label{font-size:13px;color:#666;font-weight:400}.custom-dropdown{position:relative;min-width:300px;max-width:100%;z-index:50}.dropdown-toggle{width:100%;background:#fff;border:1px solid #D0D0D0;border-radius:5px;padding:10px 14px;font-size:13px;color:#1a1a1a;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:border-color .2s;display:flex;justify-content:space-between;align-items:center;text-align:left}.dropdown-toggle:hover{border-color:#1a1a1a}.dropdown-text{flex:1}.dropdown-arrow{width:20px;height:20px;transition:transform .2s;flex-shrink:0;margin-left:10px}.dropdown-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;background:#fff;border:1px solid #D0D0D0;border-radius:5px;box-shadow:0 8px 24px #0000001a;max-height:300px;overflow-y:auto;z-index:1000;padding:8px;animation:slideIn .2s ease-out}.dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-radius:5px;transition:background .2s}.dropdown-item:hover{background:#f5f5f5}.dropdown-menu::-webkit-scrollbar{width:6px}.dropdown-menu::-webkit-scrollbar-track{background:transparent}.dropdown-menu::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}.dropdown-menu::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.multi-select-hint{font-size:11px;color:#999;font-style:italic;margin-top:5px}.cell-degradation-chart{background:transparent;border-radius:5px}.cell-degradation-chart .chart-wrapper{height:350px;position:relative;background:#f8f8f8;border-radius:3px}.cell-degradation-chart .chart-wrapper canvas{background:#f8f8f8!important}.analytics-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px}.circular-gauge{background:#f5f5f5;border:1px solid #E0E0E0;border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px;animation:slideIn .5s ease-out;transition:border-color .3s ease,transform .2s ease,box-shadow .3s ease}.circular-gauge:nth-child(1){animation-delay:.1s}.circular-gauge:nth-child(2){animation-delay:.2s}.circular-gauge:nth-child(3){animation-delay:.3s}.circular-gauge:nth-child(4){animation-delay:.4s}.circular-gauge:hover{border-color:#b0b0b0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.gauge-container{display:flex;align-items:center;justify-content:center}.gauge-svg{display:block}.gauge-footer{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.gauge-label{font-size:12px;color:#4a4a4a;font-weight:400;letter-spacing:.5px}.gauge-change{font-size:12px;font-weight:400}.gauge-change.positive{color:#00b050}.gauge-change.negative{color:#dc3545}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.settings-layout-container{display:flex;height:100vh;width:100%;overflow:hidden;position:relative}.settings-secondary-sidebar{position:fixed;left:var(--sidebar-width, 240px);top:54px;bottom:0;width:220px;background:var(--bg-primary, #0a0a0f);border-right:1px solid var(--border-subtle, #1e1e2e);display:flex;flex-direction:column;z-index:100;transition:left .3s ease}.settings-sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border-subtle, #1e1e2e)}.settings-sidebar-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:20px;color:var(--text-primary, #e8e8f0);margin:0;letter-spacing:.3px}.settings-sidebar-nav{flex:1;padding:14px 0 10px;overflow-y:auto;overflow-x:hidden}.settings-sidebar-nav::-webkit-scrollbar{width:6px}.settings-sidebar-nav::-webkit-scrollbar-track{background:transparent}.settings-sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-subtle, #2e2e4e);border-radius:4px}.settings-sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #6666a0)}.settings-nav-section{margin-bottom:20px}.settings-nav-section-title{padding:17px 10px 7px 20px;font-size:.6875rem;font-weight:400;color:var(--text-muted, #6666a0);text-transform:uppercase;letter-spacing:.05em;margin-top:10px}.settings-nav-section:first-child .settings-nav-section-title{margin-top:0}.settings-nav-item{width:100%;padding:10px 10px 10px 20px;background:transparent;border:none;color:var(--text-secondary, #8888a0);font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;text-align:left;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:10px;box-sizing:border-box}.settings-nav-icon{width:16px;height:16px;flex-shrink:0;stroke:currentColor}.settings-nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.settings-nav-item:hover{background:var(--bg-secondary, #12121a);color:var(--text-primary, #e8e8f0);border-radius:0;margin:0;width:100%}.settings-nav-item.active{background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:4px;color:var(--text-primary, #e8e8f0);font-weight:400;margin:0 6px;width:calc(100% - 12px);padding:9px 9px 9px 19px;box-sizing:border-box}.settings-main-content{position:fixed;left:calc(var(--sidebar-width, 240px) + 220px);top:54px;right:0;bottom:0;overflow-y:auto;overflow-x:hidden;background:var(--bg-primary, #0a0a0f);transition:left .3s ease}.settings-main-content{scroll-behavior:smooth}.settings-main-content::-webkit-scrollbar{width:8px}.settings-main-content::-webkit-scrollbar-track{background:transparent}.settings-main-content::-webkit-scrollbar-thumb{background:var(--border-subtle, #2e2e4e);border-radius:4px}.settings-main-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #6666a0)}.settings-content-wrapper{width:100%;min-height:100%;display:flex;justify-content:center;padding:40px 60px;box-sizing:border-box}.settings-content-centered{width:100%;max-width:800px;display:flex;flex-direction:column;gap:24px}.settings-page-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:32px;color:#000!important;margin:0 0 8px;letter-spacing:.3px}.settings-card{background:#fff;border:1px solid #e0e0e0;border-radius:0;overflow:hidden}.card-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;background:#f5f5f5}.card-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;font-size:12px;color:#666!important;margin:0;text-transform:uppercase;letter-spacing:1px}.card-content{padding:24px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}@media (max-width: 768px){.info-grid{grid-template-columns:1fr}}.info-item{display:flex;flex-direction:column;gap:8px}.info-label{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;font-size:12px;color:#888!important;text-transform:uppercase;letter-spacing:.5px}.info-value{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:15px;color:#000!important;word-break:break-word}.info-mono{font-family:SF Mono,Monaco,Inconsolata,Fira Code,Droid Sans Mono,Source Code Pro,monospace;font-size:13px;color:#333!important}.status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.status-active{background:#f5f5f5;color:#333;border:1px solid #d0d0d0}.status-inactive{background:#f5f5f5;color:#666;border:1px solid #d0d0d0}.status-admin{background:#e8e8e8;color:#1a1a1a;border:1px solid #c0c0c0}.status-user{background:#f5f5f5;color:#555;border:1px solid #d0d0d0}.btn-primary{padding:10px 24px;background:var(--accent-color, #6666d0);color:#fff;border:none;border-radius:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;cursor:pointer;transition:background .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-primary:hover{background:#77d}.btn-primary:active{background:#55b}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:10px 24px;background:transparent;color:var(--text-secondary, #8888a0);border:1px solid var(--border-subtle, #1e1e2e);border-radius:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-secondary:hover{background:var(--bg-secondary, #12121a);color:var(--text-primary, #e8e8f0);border-color:var(--border-color, #2e2e4e)}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center;color:var(--text-secondary, #8888a0);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}.error-state{gap:16px}.error-state p{color:#ff6b6b;margin:0}.form-input{width:100%;padding:12px 16px;background:var(--bg-primary, #0a0a0f);border:1px solid var(--border-subtle, #1e1e2e);border-radius:0;color:var(--text-primary, #e8e8f0);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;transition:border-color .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--accent-color, #6666d0)}.form-input::placeholder{color:var(--text-muted, #6666a0)}.form-label{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;font-size:12px;color:var(--text-muted, #6666a0);text-transform:uppercase;letter-spacing:.5px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;min-width:600px;border-collapse:collapse}.data-table thead{border-bottom:2px solid #e0e0e0}.data-table th{padding:12px 16px;text-align:left;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:11px;color:#888!important;text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:16px;border-bottom:1px solid #e0e0e0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;color:#000!important}.data-table tr:last-child td{border-bottom:none}.empty-state{padding:60px 40px;text-align:center;color:#888!important;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}.alert{padding:12px 16px;border-radius:0;margin-bottom:16px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}.alert-success{background:#d4edda;color:#155724!important;border:1px solid #c3e6cb}.alert-error{background:#f8d7da;color:#721c24!important;border:1px solid #f5c6cb}.btn-icon-add{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;flex-shrink:0;padding:0;background:transparent;border:1px solid #d0d0d0;border-radius:0;color:#666;cursor:pointer;transition:all .2s ease}.btn-icon-add svg{width:16px;height:16px}.btn-icon-add:hover{background:#f5f5f5;border-color:#999;color:#000}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100000!important;padding:40px}.dialog-content{background:#fff;border:1px solid #d0d0d0;border-radius:0;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid #e0e0e0}.dialog-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;font-size:18px;color:#000!important;margin:0;letter-spacing:.3px}.dialog-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;color:#666;cursor:pointer;transition:color .2s ease;border-radius:0}.dialog-close svg{width:20px;height:20px}.dialog-close:hover{color:#000}.dialog-body{padding:24px;display:flex;flex-direction:column;gap:20px}.dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px 24px;border-top:1px solid #e0e0e0}.edit-facility-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-content-centered:has(.edit-facility-grid){max-width:1200px}@media (max-width: 1100px){.edit-facility-grid{grid-template-columns:1fr}.settings-content-centered:has(.edit-facility-grid){max-width:800px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100000!important}.modal-content{background:#fff;border:1px solid #e0e0e0;border-radius:0;padding:24px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.btn-danger{background:#ef4444;color:#fff;border:none;padding:8px 16px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-danger:hover{background:#dc2626}.usage-item{margin-bottom:16px}.usage-header{display:flex;justify-content:space-between;margin-bottom:8px}.usage-label{color:#666;font-size:14px}.usage-value{color:#1a1a1a;font-weight:500}.progress-bar-container{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-bar{height:100%;transition:width .3s ease}.searchable-dropdown{position:relative;width:100%}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff;border:1px solid #d0d0d0;cursor:pointer;transition:border-color .2s;min-height:38px}.dropdown-trigger:hover:not(.disabled){border-color:#999}.dropdown-trigger.disabled{background:#f5f5f5;cursor:not-allowed;color:#999}.dropdown-value{color:#000;font-size:14px}.dropdown-placeholder{color:#999;font-size:14px}.dropdown-arrow{width:16px;height:16px;color:#666;transition:transform .2s;flex-shrink:0;margin-left:8px}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{background:#fff;border:1px solid #d0d0d0;box-shadow:0 4px 12px #00000026;z-index:100001;max-height:300px;display:flex;flex-direction:column}.dropdown-menu-portal{position:absolute;box-shadow:0 8px 24px #0003;border-radius:2px}.dropdown-search{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid #e0e0e0;gap:8px}.dropdown-search svg{width:16px;height:16px;color:#999;flex-shrink:0}.dropdown-search-input{flex:1;border:none;outline:none;font-size:14px;color:#000;background:transparent}.dropdown-search-input::placeholder{color:#999}.dropdown-options{overflow-y:auto;max-height:250px}.dropdown-option{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;font-size:14px;color:#000;transition:background-color .15s}.dropdown-option:hover{background:#f5f5f5}.dropdown-option.selected{background:#e8f5e9;color:#2e7d32;font-weight:500}.dropdown-option svg{width:16px;height:16px;color:#2e7d32;flex-shrink:0}.dropdown-no-results{padding:16px 12px;text-align:center;color:#999;font-size:14px;font-style:italic}.dropdown-options::-webkit-scrollbar{width:8px}.dropdown-options::-webkit-scrollbar-track{background:#f5f5f5}.dropdown-options::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:4px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.general-settings-page{width:100%;max-width:100%;padding:72px 48px 0}.settings-page-header{margin-bottom:32px}.settings-page-title{font-size:1.75rem;font-weight:300;color:#1a1a1a;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:-.5px}.settings-sections-container{display:flex;flex-direction:column;gap:20px}.settings-card{background:#fff;border:1px solid #E8E8E8;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.settings-card-header{padding:20px 24px;border-bottom:1px solid #F5F5F5}.settings-card-title{font-size:1.125rem;font-weight:500;color:#1a1a1a;margin:0 0 6px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.settings-card-description{font-size:.8125rem;color:#666;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.settings-card-content{padding:0}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #F5F5F5}.settings-row:last-child{border-bottom:none}.settings-row-label{flex:1}.label-text{font-size:.9375rem;font-weight:500;color:#1a1a1a;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.settings-row-control{flex-shrink:0}.theme-toggle-group{display:flex;gap:8px;background:#f5f5f5;padding:4px;border-radius:10px}.theme-toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:2px solid transparent;border-radius:8px;color:#999;font-size:.9375rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease}.theme-toggle-btn:hover:not(.active){background:#0000000d;color:#666}.theme-toggle-btn.active{background:#fff;border-color:#e8e8e8;color:#1a1a1a;box-shadow:0 1px 3px #0000001a}.theme-toggle-btn svg{flex-shrink:0}.language-select{padding:8px 12px;background:#f5f5f5;border:2px solid #E8E8E8;border-radius:8px;color:#1a1a1a;font-size:.9375rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease;min-width:200px}.language-select:hover{border-color:#d0d0d0}.language-select:focus{outline:none;border-color:#1a1a1a;background:#fff}.preference-value{display:inline-flex;align-items:center;gap:6px;font-size:.9375rem;color:#666;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.preference-value svg{flex-shrink:0}.settings-page-container{padding:32px 48px;background:#fafafa;min-height:100vh}.settings-page-container .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:2rem;font-weight:300;color:#1a1a1a;margin:0 0 32px;text-align:left;letter-spacing:-.5px;line-height:1.2}.settings-layout{display:flex;gap:32px;align-items:flex-start}.settings-sidebar{width:240px;flex-shrink:0;position:sticky;top:32px}.settings-nav{background:#fff;border:1px solid #E8E8E8;border-radius:12px;padding:14px 0 10px;box-shadow:0 1px 3px #0000000a}.settings-nav-section-title{font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.8px;padding:16px 16px 8px;margin:0}.settings-nav-section-title:first-child{padding-top:8px}.settings-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 10px 10px 26px;background:transparent;border:none;color:#666;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s ease;text-align:left;box-sizing:border-box;position:relative}.settings-nav-item:hover{background:#1a1a1a08;color:#1a1a1a}.settings-nav-item.active{background:#1a1a1a;color:#fff}.settings-nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#1a1a1a}.settings-nav-item .nav-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-nav-divider{height:1px;background:#e8e8e8;margin:12px 16px}.settings-main{flex:1;min-width:0}.settings-content-area{width:100%}.settings-content-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.5rem;font-weight:400;color:#1a1a1a;margin:0 0 24px;letter-spacing:-.5px}.empty-state{background:#fff;border:1px solid #E8E8E8;border-radius:12px;padding:60px 40px;text-align:center;box-shadow:0 1px 3px #0000000a}.empty-state p{color:#999;font-size:14px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin:0}.settings-page h1,.settings-page h2,.settings-page h3,.settings-content-area h1,.settings-content-area h2,.settings-content-area h3{color:#1a1a1a}.settings-section{margin-bottom:56px}.settings-section:last-child{margin-bottom:0}.settings-page .section-title{font-size:.75rem;font-weight:600;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a!important;margin:0 0 12px;padding:0;border-bottom:none;text-transform:uppercase;letter-spacing:.1em}.settings-content{background:#fff;border:1px solid #E8E8E8;border-radius:12px;padding:0;display:flex;flex-direction:column;gap:0;box-shadow:0 1px 3px #0000000a}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #F0F0F0;transition:background .15s ease;gap:20px;min-height:64px}.setting-item:hover{background:#fafafa}.setting-item:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.setting-item:last-child{border-bottom:none;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.setting-item-button{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #F0F0F0;transition:background .15s ease}.setting-item-button:hover{background:#fafafa}.setting-item-button:last-child{border-bottom:none;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.setting-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.setting-label{font-size:14px;color:#1a1a1a;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.setting-value{font-size:14px;color:#1a1a1a;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.setting-description{font-size:12px;color:#999;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.4}.settings-button{background:#1a1a1a;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;cursor:pointer;transition:all .2s ease;width:fit-content}.settings-button:hover{background:#333;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.settings-button:active{transform:translateY(0);box-shadow:0 1px 3px #0000001f}.settings-button-light{background:#fafafa;color:#1a1a1a;border:1px solid #E8E8E8;border-radius:8px;padding:10px 20px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;cursor:pointer;transition:all .2s ease;width:fit-content}.settings-button-light:hover{background:#fff;border-color:#ccc;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.settings-button-light:active{transform:translateY(0);box-shadow:0 1px 3px #0000000f}.settings-content .settings-button,.settings-content .settings-button-light{width:calc(100% - 48px);text-align:center;padding:14px 20px;margin:20px 24px}.settings-content .settings-button:first-child,.settings-content .settings-button-light:first-child{margin-top:24px}.settings-content .settings-button:last-child,.settings-content .settings-button-light:last-child{margin-bottom:24px}.settings-input{width:200px;padding:8px 12px;background:#fafafa;border:1px solid #E8E8E8;border-radius:8px;color:#1a1a1a;font-size:14px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;transition:all .2s ease;outline:none}.settings-input:hover{border-color:#ccc;background:#fff}.settings-input:focus{border-color:#1a1a1a;background:#fff;box-shadow:0 0 0 3px #1a1a1a0d}.settings-input::-webkit-outer-spin-button,.settings-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-input[type=number]{-moz-appearance:textfield}.settings-select{min-width:220px;padding:8px 35px 8px 12px;background:#fafafa;border:1px solid #E8E8E8;border-radius:8px;color:#1a1a1a;font-size:14px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s ease;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1 1L6 6L11 1' stroke='%23666666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center}.settings-select:hover{border-color:#ccc;background:#fff}.settings-select:focus{border-color:#1a1a1a;background:#fff;box-shadow:0 0 0 3px #1a1a1a0d}.settings-select option{background:#fff;color:#1a1a1a;padding:10px}@media (max-width: 1024px){.settings-page-container{padding:24px 32px}.settings-layout{gap:24px}.settings-sidebar{width:200px}}@media (max-width: 768px){.settings-page-container{padding:20px}.settings-page-container .page-main-title{font-size:1.5rem;margin-bottom:24px}.settings-layout{flex-direction:column;gap:20px}.settings-sidebar{width:100%;position:static}.settings-nav{display:flex;flex-wrap:wrap;gap:8px}.settings-nav-item{flex:1;min-width:calc(50% - 4px);justify-content:center}.settings-nav-divider{display:none}.settings-section{margin-bottom:32px}.setting-item{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px;min-height:auto}.toggle{align-self:flex-start}.setting-item-button{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px}.settings-select,.settings-input,.settings-button,.settings-button-light{width:100%}.settings-content .settings-button,.settings-content .settings-button-light{width:calc(100% - 40px);margin:16px 20px}.settings-content .settings-button:first-child,.settings-content .settings-button-light:first-child{margin-top:20px}.settings-content .settings-button:last-child,.settings-content .settings-button-light:last-child{margin-bottom:20px}}.optimisation-page{padding:48px 64px;background:var(--bg-primary);min-height:100%}.optimisation-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:#1a1a1a!important;margin:0 0 48px;text-align:left;letter-spacing:-.3px;line-height:1.3}.optimisation-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:1px solid #E0E0E0;padding-bottom:0}.opt-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:#666;padding:12px 20px;font-size:15px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.opt-tab:hover{color:#1a1a1a}.opt-tab.active{color:#1a1a1a;border-bottom-color:#1a1a1a}.opt-content{display:flex;flex-direction:column;gap:30px}.opt-section{display:flex;flex-direction:column;gap:20px}.optimisation-page .section-title{font-size:15px;color:#1a1a1a!important;font-weight:400;margin:0}.time-horizon-selector{display:flex;gap:0;border:1px solid #D0D0D0;border-radius:5px;overflow:hidden}.horizon-btn{background:#fff;border:none;border-right:1px solid #D0D0D0;color:#666;padding:10px 18px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.horizon-btn:last-child{border-right:none}.horizon-btn:hover{color:#1a1a1a;background:#f5f5f5}.horizon-btn.active{background:#1a1a1a;color:#fff}.forecast-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:15px}.forecast-card{background:#fff;border:1px solid #E0E0E0;border-radius:12px;padding:20px}.forecast-title{font-size:15px;color:#1a1a1a;font-weight:400;margin:0 0 15px}.chart-wrapper{height:250px;position:relative;margin-bottom:12px;background:#f8f8f8;border-radius:3px}.chart-wrapper canvas{background:#f8f8f8!important}.forecast-stats{display:flex;justify-content:space-around;padding:12px 10px;background:#fff;border:1px solid #E0E0E0;border-radius:5px}.stat{display:flex;flex-direction:column;gap:5px;align-items:center}.stat-label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:15px;color:#0030f6;font-weight:400}.schedule-actions{display:flex;gap:10px}.schedule-btn{background:#fff;border:1px solid #D0D0D0;color:#1a1a1a;padding:8px 20px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s}.schedule-btn:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.schedule-table-container{background:#fff;border:1px solid #E0E0E0;border-radius:12px;overflow-x:auto}.schedule-table{width:100%;border-collapse:collapse}.schedule-table thead{background:#f8f8f8;border-bottom:1px solid #E0E0E0}.schedule-table th{padding:12px 15px;text-align:left;font-size:13px;color:#1a1a1a;font-weight:400}.schedule-table td{padding:12px 15px;font-size:13px;color:#1a1a1a;border-bottom:1px solid #E0E0E0}.schedule-table tbody tr:last-child td{border-bottom:none}.schedule-table tbody tr:hover{background:#f8f8f8}.status-badge{padding:4px 12px;border-radius:4px;font-size:12px;border:1px solid #D0D0D0}.status-badge.scheduled{color:#00b050;background:#e8f5e9;border-color:#00b050}.status-badge.pending{color:#666;background:#f5f5f5;border-color:#d0d0d0}.optimisation-settings{background:#fff;border:1px solid #E0E0E0;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:18px}.setting-group{display:flex;flex-direction:column;gap:10px}.setting-label{font-size:13px;color:#666}.mode-selector{display:flex;gap:10px}.setting-btn{flex:1;background:#fff;border:1px solid #D0D0D0;color:#1a1a1a;padding:10px 15px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s}.setting-btn:hover{border-color:#1a1a1a;background:#f5f5f5}.setting-btn.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.run-optimisation-btn{background:#1a1a1a;color:#fff;border:none;padding:12px 30px;border-radius:5px;font-size:15px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:opacity .2s;align-self:flex-start}.run-optimisation-btn:hover{opacity:.85}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px}.result-card{background:#fff;border:1px solid #E0E0E0;border-radius:12px;padding:20px}.result-title{font-size:15px;color:#1a1a1a;font-weight:400;margin:0 0 20px}.result-content{display:flex;flex-direction:column;gap:15px}.coupling-metric,.reduction-metric{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #E0E0E0}.coupling-metric:last-child,.reduction-metric:last-child{border-bottom:none}.metric-label{font-size:13px;color:#666}.metric-value{font-size:15px;color:#1a1a1a;font-weight:400}.metric-value.positive{color:#00b050}.metric-change{font-size:12px;color:#666;margin-left:10px}.insight-text{font-size:13px;color:#1a1a1a;line-height:1.6;margin:0 0 15px}.insight-actions{display:flex;gap:10px}.insight-btn{flex:1;background:#fff;border:1px solid #D0D0D0;color:#1a1a1a;padding:10px 15px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s}.insight-btn:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.reports-page{padding:48px 64px;background:var(--bg-primary);min-height:100%}.reports-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:var(--text-primary);margin:0 0 48px;text-align:left;letter-spacing:-.3px;line-height:1.3}.reports-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:1px solid #1A1A1A;padding-bottom:0}.report-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:#e9e9e9;padding:12px 20px;font-size:15px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.report-tab:hover{color:#e9e9e9}.report-tab.active{color:#e9e9e9;border-bottom-color:#e9e9e9}.report-content{display:flex;flex-direction:column;gap:30px}.report-section{display:flex;flex-direction:column;gap:25px}.section-header{display:flex;justify-content:space-between;align-items:center}.section-title{font-size:15px;color:#e9e9e9;font-weight:400;margin:0}.section-description{font-size:13px;color:#a5a5a5;line-height:1.6;margin:0}.subsection-title{font-size:15px;color:#e9e9e9;font-weight:400;margin:0 0 15px}.report-actions{display:flex;gap:10px}.report-btn{background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:8px 20px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:border-color .2s}.report-btn:hover{border-color:#e9e9e9}.metrics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.summary-card{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:20px;display:flex;flex-direction:column;gap:8px}.summary-label{font-size:13px;color:#a5a5a5}.summary-value{font-size:24px;color:#e9e9e9;font-weight:400}.summary-change{font-size:13px;font-weight:400}.summary-change.positive,.summary-change.negative{color:#e9e9e9}.summary-subtitle{font-size:12px;color:#a5a5a5}.trends-section{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:20px}.trends-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.trend-item{display:flex;flex-direction:column;gap:8px;padding:12px;background:#171715;border:1px solid #1A1A1A;border-radius:5px}.trend-label{font-size:13px;color:#a5a5a5}.trend-value{font-size:15px;color:#e9e9e9}.benchmark-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px}.benchmark-card{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:20px;display:flex;flex-direction:column;gap:18px}.benchmark-title{font-size:15px;color:#e9e9e9;font-weight:400;margin:0}.benchmark-score{display:flex;gap:20px;align-items:center}.score-circle{width:80px;height:80px;border:2px solid #E9E9E9;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.score-value{font-size:28px;color:#e9e9e9;font-weight:400;line-height:1}.score-label{font-size:12px;color:#a5a5a5}.score-rank{display:flex;flex-direction:column;gap:5px}.rank-value{font-size:18px;color:#e9e9e9}.rank-label{font-size:12px;color:#a5a5a5}.benchmark-stats{display:flex;flex-direction:column;gap:12px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #1A1A1A}.stat-row:last-child{border-bottom:none}.stat-label{font-size:13px;color:#a5a5a5}.stat-value{font-size:13px;color:#e9e9e9}.cross-site-section{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:20px;margin-bottom:20px}.subsection-description{font-size:13px;color:#a5a5a5;margin-bottom:16px;font-weight:400}.cross-site-table{background:#0f0f0e;border:1px solid #1A1A1A;border-radius:4px;overflow:hidden}.cross-site-header,.cross-site-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:16px;padding:16px;border-bottom:1px solid #1A1A1A}.cross-site-header{background:#1a1a1a;font-size:12px;color:#a5a5a5;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.cross-site-row.current{background:#1a1a1e;border-left:3px solid #4A90E2}.cross-site-row.summary{background:#1a1a1a;border-top:2px solid #2A2A2A;font-weight:400}.cross-site-row:hover:not(.summary){background:#1a1a1a}.site-col,.metric-col{display:flex;flex-direction:column;gap:4px;justify-content:center}.site-name{font-size:13px;color:#e9e9e9;font-weight:400}.site-location{font-size:11px;color:#a5a5a5;font-weight:400}.metric-value{font-size:14px;color:#e9e9e9;font-weight:400}.metric-change{font-size:11px;font-weight:400}.metric-change.positive{color:#4caf50}.metric-change.negative{color:#ff5252}.status-badge{font-size:11px;padding:4px 8px;border-radius:3px;text-align:center;font-weight:400;letter-spacing:.3px}.status-badge.operational{background:#4caf501a;border:1px solid #4CAF50;color:#4caf50}.status-badge.maintenance{background:#ffa5001a;border:1px solid #FFA500;color:orange}.status-count{font-size:12px;color:#a5a5a5;font-weight:400}.improvement-section{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:20px}.improvement-list{display:flex;flex-direction:column;gap:12px}.improvement-item{padding:12px;background:#171715;border:1px solid #1A1A1A;border-radius:5px;display:flex;flex-direction:column;gap:10px}.improvement-header{display:flex;justify-content:space-between;align-items:center}.improvement-label{font-size:14px;color:#a5a5a5}.improvement-potential{font-size:13px;color:#e9e9e9;font-weight:400}.improvement-description{font-size:13px;color:#a5a5a5;line-height:1.6;margin:0}.recommendations-list{display:flex;flex-direction:column;gap:15px}.recommendation-card{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:20px;display:flex;flex-direction:column;gap:12px;border-left-width:3px}.recommendation-card.priority-high,.recommendation-card.priority-medium,.recommendation-card.priority-low{border-left-color:#e9e9e9}.recommendation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.recommendation-title-group{display:flex;flex-direction:column;gap:8px}.priority-badge{padding:4px 12px;border-radius:4px;font-size:11px;font-weight:400;border:1px solid;width:fit-content}.priority-badge.high{color:#e9e9e9;border-color:#e9e9e9;background:#e9e9e91a}.priority-badge.medium,.priority-badge.low{color:#e9e9e9;border-color:#e9e9e9;background:#0f0f0e1a}.recommendation-title{font-size:16px;color:#e9e9e9;font-weight:400;margin:0}.estimated-savings{font-size:14px;color:#e9e9e9;font-weight:400}.recommendation-description{font-size:13px;color:#a5a5a5;line-height:1.6;margin:0}.recommendation-details{display:flex;gap:20px;flex-wrap:wrap;padding:15px;background:#171715;border:1px solid #1A1A1A;border-radius:5px}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-label{font-size:12px;color:#a5a5a5}.detail-value{font-size:13px;color:#e9e9e9}.detail-value.positive{color:#e9e9e9}.apply-recommendation-btn{background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:10px 20px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s;align-self:flex-start}.apply-recommendation-btn:hover{background:#e9e9e9;color:#0f0f0e;border-color:#e9e9e9}.renewable-score-card{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:20px;display:flex;gap:25px}.score-display{display:flex;flex-direction:column;align-items:center;gap:15px;min-width:150px}.score-circle-large{width:120px;height:120px;border:3px solid #E9E9E9;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-value-large{font-size:42px;color:#e9e9e9;font-weight:400;line-height:1}.score-label-large{font-size:14px;color:#a5a5a5}.score-rating{display:flex;flex-direction:column;align-items:center;gap:5px}.rating-label{font-size:18px;color:#a5a5a5}.rating-description{font-size:12px;color:#a5a5a5}.score-breakdown{flex:1;display:flex;flex-direction:column;gap:20px;justify-content:center}.breakdown-item{display:flex;flex-direction:column;gap:8px}.breakdown-header{display:flex;justify-content:space-between;align-items:center}.breakdown-label{font-size:13px;color:#a5a5a5}.breakdown-score{font-size:13px;color:#e9e9e9;font-weight:400}.progress-bar{width:100%;height:6px;background:#1a1a1a;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:#e9e9e9;transition:width .3s ease}.renewable-metrics{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:20px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.metric-card{padding:12px;background:#171715;border:1px solid #1A1A1A;border-radius:5px;display:flex;flex-direction:column;gap:8px}.metric-label{font-size:12px;color:#a5a5a5}.metric-value{font-size:18px;color:#e9e9e9;font-weight:400}.metric-target{font-size:12px;color:#e9e9e9}.certification-section{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:20px}.certification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.certification-card{display:flex;align-items:center;gap:15px;padding:12px;background:#171715;border:1px solid #1A1A1A;border-radius:5px}.certification-card.verified,.certification-card.pending{border-color:#e9e9e9}.cert-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.certification-card.verified .cert-icon{background:#e9e9e91a;color:#e9e9e9;border:2px solid #E9E9E9}.certification-card.pending .cert-icon{background:#0f0f0e1a;color:#e9e9e9;border:2px solid #171715}.cert-info{display:flex;flex-direction:column;gap:5px}.cert-name{font-size:14px;color:#e9e9e9}.cert-status{font-size:12px;color:#e9e9e9}.monitor-visual-page{padding:48px 64px;background:var(--bg-primary);min-height:100%}.monitor-visual-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:var(--text-primary);margin:0;text-align:left;letter-spacing:-.3px;line-height:1.3}.page-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px;flex-wrap:wrap}.page-header-row .page-title{margin:0}.site-selector{display:flex;align-items:center;gap:12px}.site-selector-label{font-size:14px;color:#a5a5a5;font-weight:400}.site-select{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:10px 35px 10px 15px;font-size:14px;color:#e9e9e9;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease;min-width:280px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A5A5A5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}.site-select:hover{border-color:#e9e9e9;background-color:transparent}.site-select:focus{outline:none;border-color:#e9e9e9;background-color:#0f0f0e4d}.site-select option{background:#0f0f0f;color:#e9e9e9;padding:10px}.monitor-tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.monitor-tab{background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:10px 20px;font-size:13px;font-weight:400;border-radius:5px;cursor:pointer;transition:all .2s}.monitor-tab:hover,.monitor-tab.active{background:#0f0f0e4d;border-color:#e9e9e9;color:#e9e9e9}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:60px 20px}.empty-icon{width:64px;height:64px;border-radius:50%;background:#0f0f0e4d;border:1px solid #1A1A1A;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.empty-icon svg{width:32px;height:32px;stroke:#171715}.empty-text{font-size:14px;color:#e9e9e9;margin:0}.floating-panels-container{position:relative;width:100%;min-height:calc(100vh - 250px);height:calc(100vh - 250px);overflow:hidden}.floating-panel{position:absolute;background:#0f0f0f;border:1px solid #1A1A1A;border-radius:5px;box-shadow:0 4px 12px #0006;min-width:400px;max-width:800px;transition:box-shadow .2s;will-change:transform}.floating-panel:hover{box-shadow:0 6px 16px #0009}.floating-panel.dragging{box-shadow:0 8px 24px #000000b3;transition:none;cursor:grabbing!important}.floating-panel.minimized{min-width:300px}.floating-panel.minimized .floating-panel-content{display:none}.floating-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:transparent;border-bottom:1px solid #1A1A1A;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:5px 5px 0 0;transition:background .2s}.floating-panel-header:hover{background:#0f0f0e59}.floating-panel-header:active,.floating-panel.dragging .floating-panel-header{cursor:grabbing;background:#0f0f0e66}.panel-title{font-size:14px;color:#e9e9e9;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.panel-controls{display:flex;gap:8px}.panel-control-btn{background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;width:28px;height:28px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:all .2s;padding:0}.panel-control-btn:hover{background:#0f0f0e80;border-color:#e9e9e9;color:#e9e9e9}.panel-control-btn.close:hover{background:#ff525233;border-color:#ff5252;color:#ff5252}.panel-control-btn.minimize{font-weight:400}.floating-panel-content{padding:0;max-height:70vh;overflow-y:auto}.floating-panel-content::-webkit-scrollbar{width:6px}.floating-panel-content::-webkit-scrollbar-track{background:transparent}.floating-panel-content::-webkit-scrollbar-thumb{background:#1a1a1a;border-radius:3px}.floating-panel-content::-webkit-scrollbar-thumb:hover{background:#171715}.monitor-panel{background:transparent;border:none;border-radius:0;padding:20px}.panel-header-inner{font-size:13px;color:#e9e9e9;font-weight:400;text-transform:uppercase;letter-spacing:.5px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #1A1A1A}.automation-content{display:flex;flex-direction:column;gap:12px}.automation-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.item-label{font-size:13px;color:#a5a5a5;font-weight:400}.item-value{font-size:13px;color:#e9e9e9;font-weight:400}.item-value.status-ok{color:#4caf50;font-weight:400}.automation-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px}.auto-btn{background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:12px 18px;font-size:13px;font-weight:400;border-radius:5px;cursor:pointer;transition:all .2s}.auto-btn:hover{background:#0f0f0e4d;border-color:#e9e9e9}.auto-btn.secondary{border-color:#e9e9e9}.rectifier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:15px}.rectifier-item{display:flex;flex-direction:column;gap:8px}.rect-label{font-size:12px;color:#a5a5a5;font-weight:400;text-transform:uppercase;text-align:center}.unit-box{background:transparent;border:1px solid #1A1A1A;border-radius:4px;padding:12px;display:flex;flex-direction:column;gap:8px}.unit-label{font-size:11px;color:#a5a5a5;font-weight:400;text-transform:uppercase}.unit-status{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#e9e9e9;padding:6px 0}.unit-status.active{color:#4caf50}.unit-metric{font-size:15px;color:#e9e9e9;font-weight:400;text-align:center;padding:4px 0}.unit-id{font-size:12px;color:#e9e9e9;text-align:center;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.unit-values{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#e9e9e9;padding-top:8px;border-top:1px solid #1A1A1A}.rectifier-feedback{background:#0f0f0e26;border:1px solid #1A1A1A;border-radius:4px;padding:12px}.feedback-header{font-size:12px;color:#e9e9e9;font-weight:400;margin-bottom:10px}.feedback-items{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.feedback-item{font-size:11px;color:#e9e9e9;padding:8px;background:#0000004d;border:1px solid #1A1A1A;border-radius:3px;text-align:center}.polariser-content{display:flex;justify-content:center}.polariser-btn{background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:10px 20px;font-size:13px;font-weight:400;border-radius:5px;cursor:pointer;transition:all .2s}.polariser-btn:hover{background:#0f0f0e4d;border-color:#e9e9e9}.polariser-btn.active{border-color:#4caf50;color:#4caf50}.ramp-controls{display:flex;flex-direction:column;gap:15px}.ramp-status{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #1A1A1A}.status-label{font-size:13px;color:#a5a5a5;font-weight:400}.status-value{font-size:13px;color:#e9e9e9;font-weight:400}.ramp-mode-selector{display:flex;gap:10px}.mode-btn{flex:1;background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:10px 15px;font-size:12px;font-weight:400;border-radius:5px;cursor:pointer;transition:all .2s}.mode-btn:hover{border-color:#e9e9e9;color:#e9e9e9}.mode-btn.active{background:#0f0f0e4d;border-color:#e9e9e9;color:#e9e9e9}.control-section{display:flex;flex-direction:column;gap:10px}.control-row{display:flex;gap:10px}.control-input{flex:1;background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:10px 15px;font-size:14px;border-radius:5px;outline:none;transition:border-color .2s}.control-input:focus{border-color:#e9e9e9}.apply-btn{background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:10px 20px;font-size:13px;font-weight:400;border-radius:5px;cursor:pointer;transition:all .2s;white-space:nowrap}.apply-btn:hover{background:#0f0f0e4d;border-color:#e9e9e9}.ramp-config{display:flex;flex-direction:column;gap:8px;padding:12px;background:#0f0f0e26;border:1px solid #1A1A1A;border-radius:4px}.config-row{display:flex;justify-content:space-between;align-items:center}.config-label{font-size:12px;color:#a5a5a5;font-weight:400}.config-value{font-size:12px;color:#e9e9e9;font-weight:400}.ramp-actions{display:flex;gap:10px}.ramp-btn{flex:1;background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:10px 15px;font-size:13px;font-weight:400;border-radius:5px;cursor:pointer;transition:all .2s}.ramp-btn:hover{background:#0f0f0e4d;border-color:#e9e9e9}.ramp-btn.stop{border-color:#ff5252;color:#ff5252}.ramp-btn.stop:hover{background:#ff52521a}.power-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.power-item{background:transparent;border:1px solid #1A1A1A;border-radius:4px;padding:12px;display:flex;flex-direction:column;gap:8px}.power-label{font-size:12px;color:#a5a5a5;font-weight:400;text-transform:uppercase}.power-values{display:flex;flex-direction:column;gap:6px}.pv-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.pv-row span:first-child{color:#e9e9e9;font-weight:400}.pv-row span:last-child{color:#e9e9e9;font-weight:400}.status-ok{color:#4caf50;font-weight:400}.electrolyzer-info{margin-bottom:12px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.info-label{font-size:13px;color:#a5a5a5;font-weight:400}.info-value{font-size:13px;color:#e9e9e9;font-weight:400}.electrolyzer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.electrolyzer-cell{background:transparent;border:1px solid #1A1A1A;border-radius:4px;padding:12px;display:flex;flex-direction:column;gap:8px}.cell-id{font-size:11px;color:#e9e9e9;font-weight:400;text-transform:uppercase;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-metrics{display:flex;flex-direction:column;gap:4px}.cell-metric{font-size:13px;color:#e9e9e9;font-weight:400}@media (max-width: 1400px){.monitor-layout{grid-template-columns:1fr}.rectifier-grid,.power-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.rectifier-grid,.power-grid,.electrolyzer-grid{grid-template-columns:1fr}.page-header-row{flex-direction:column;align-items:flex-start;gap:15px}.site-selector{width:100%}.site-select{flex-grow:1;min-width:0}}.alerts-page{padding:48px 64px;background:var(--bg-primary);min-height:100%}.alerts-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:var(--text-primary);margin:0;text-align:left;letter-spacing:-.3px;line-height:1.3}.alerts-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;gap:20px}.unacknowledged-count{font-size:13px;color:#a5a5a5;margin:8px 0 0;font-weight:400}.alerts-actions{display:flex;gap:15px;align-items:center}.filter-buttons{display:flex;gap:0;border:1px solid #1A1A1A;border-radius:5px;overflow:hidden}.filter-btn{background:transparent;color:#e9e9e9;border:none;border-right:1px solid #1A1A1A;padding:10px 20px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.filter-btn:last-child{border-right:none}.filter-btn.active{background:#e9e9e9;color:#0f0f0e}.filter-btn:hover:not(.active){background:#e9e9e91a}.clear-all-btn{background:transparent;color:#e9e9e9;border:1px solid #1A1A1A;border-radius:5px;padding:10px 20px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.clear-all-btn:hover{border-color:#e9e9e9}.alerts-list{display:flex;flex-direction:column;gap:15px}.no-alerts{text-align:center;padding:60px 20px;color:#a5a5a5;font-size:15px;font-weight:400}.alert-card{background:transparent;border:1px solid #1A1A1A;border-radius:5px;padding:20px;position:relative;overflow:hidden;transition:border-color .2s;display:flex;gap:15px}.alert-card:hover{border-color:#e9e9e9}.alert-card.acknowledged{opacity:.5}.alert-indicator{width:4px;flex-shrink:0;background:#e9e9e9;border-radius:2px}.alert-card.critical .alert-indicator{background:#f44}.alert-card.warning .alert-indicator{background:orange}.alert-card.info .alert-indicator{background:#0030f6}.alert-content{flex:1;min-width:0}.alert-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:15px}.alert-type-badge{font-size:11px;color:#e9e9e9;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border:1px solid #1A1A1A;border-radius:3px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.alert-card.critical .alert-type-badge{border-color:#f44;color:#f44}.alert-card.warning .alert-type-badge{border-color:orange;color:orange}.alert-card.info .alert-type-badge{border-color:#0030f6;color:#0030f6}.alert-timestamp{font-size:13px;color:#a5a5a5;white-space:nowrap;font-weight:400}.alert-title{font-size:15px;color:#e9e9e9;margin:0 0 10px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.alert-message{font-size:13px;color:#a5a5a5;margin:0 0 15px;line-height:1.5;font-weight:400}.alert-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #1A1A1A;gap:15px}.alert-source{font-size:13px;color:#a5a5a5;font-weight:400}.acknowledge-btn{background:transparent;color:#e9e9e9;border:1px solid #1A1A1A;border-radius:4px;padding:8px 16px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s;white-space:nowrap}.acknowledge-btn:hover{border-color:#e9e9e9}.cell-page{padding:24px;background:var(--bg-primary, #0a0a0f);min-height:100%;color:var(--text-primary, #e8e8f0)}.cell-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.cell-header h1{font-size:1.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0}.cell-header-right{display:flex;align-items:center;gap:20px}.cell-count-badge{display:flex;align-items:baseline;gap:8px;padding:8px 16px;background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:4px}.cell-count-value{font-size:1.5rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0)}.cell-count-label{font-size:.8125rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-muted, #6666a0)}.mode-toggle{display:flex;gap:0;background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:8px;overflow:hidden}.mode-btn{padding:10px 20px;background:transparent;border:none;color:var(--text-muted, #6666a0);font-size:.8125rem;font-weight:400;cursor:pointer;transition:all .2s;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;white-space:nowrap}.mode-btn:hover{background:#ffffff0d;color:var(--text-secondary, #8888a0)}.mode-btn.active{background:var(--bg-tertiary, #16161e);color:var(--text-primary, #e8e8f0)}.cell-safety-alert{display:flex;gap:15px;padding:16px 20px;border-radius:8px;border:1px solid;margin-bottom:24px;animation:slideInDown .3s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.cell-safety-alert.alert-warning{border-color:#f59e0b;background:#f59e0b1a}.cell-safety-alert.alert-critical{border-color:#ef4444;background:#ef44441a}.cell-safety-alert.alert-emergency{border-color:#dc2626;background:#dc262626}.cell-safety-alert .alert-icon{font-size:1.25rem;font-weight:700;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.alert-warning .alert-icon{color:#f59e0b;background:#f59e0b33}.alert-critical .alert-icon,.alert-emergency .alert-icon{color:#ef4444;background:#ef444433}.cell-safety-alert .alert-content{flex:1}.cell-safety-alert .alert-title{font-size:.9375rem;color:var(--text-primary, #e8e8f0);font-weight:500;margin-bottom:6px;display:flex;align-items:center;gap:12px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.shutoff-badge{display:inline-block;padding:3px 8px;background:#ef4444;color:#fff;font-size:.6875rem;border-radius:4px;font-weight:500;letter-spacing:.5px}.cell-safety-alert .alert-message{font-size:.8125rem;color:var(--text-secondary, #8888a0);margin-bottom:8px;line-height:1.5;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-safety-alert .alert-actions{display:flex;flex-wrap:wrap;gap:8px}.cell-safety-alert .alert-action-item{font-size:.75rem;color:var(--text-muted, #6666a0);font-weight:400;padding:4px 8px;background:#ffffff0d;border-radius:4px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-safety-alert .alert-close{background:transparent;border:1px solid var(--border-subtle, #1e1e2e);color:var(--text-muted, #6666a0);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:.875rem;flex-shrink:0;transition:all .2s;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-safety-alert .alert-close:hover{border-color:var(--text-secondary, #8888a0);color:var(--text-primary, #e8e8f0);background:#ffffff0d}.cell-current-status{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.cell-status-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px;padding:16px 20px;background:var(--bg-secondary, #12121a);border-radius:12px;border:1px solid var(--border-subtle, #1e1e2e)}.status-item{text-align:center;padding:8px 0}.status-item .status-label{font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--text-muted, #6666a0);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.status-item .status-value{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0)}.status-item.normal .status-value{color:#22c55e}.status-item.warning .status-value{color:#f59e0b}.status-item.critical .status-value{color:#ef4444}.cell-chart-section{margin-bottom:24px;background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:24px;box-shadow:0 2px 8px #00000026;transition:all .2s ease}.cell-chart-section:hover{background:#ffffff1a;border-color:#ffffff40}.cell-chart-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.cell-chart-section .section-header .last-updated{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:.75rem;color:var(--text-muted, #6666a0)}.cell-chart-section .section-header .last-updated .time-ago{font-weight:500;color:var(--text-secondary, #8888a0);font-size:.8125rem}.cell-chart-section .section-header .last-updated .timestamp{font-size:.6875rem;color:var(--text-muted, #6666a0);opacity:.8}.cell-chart-section h2{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0;display:flex;align-items:center;gap:12px}.loading-indicator{font-size:.75rem;color:var(--text-muted, #6666a0);font-weight:400}.cache-badge{font-size:.6875rem;color:var(--text-muted, #6666a0);background:var(--bg-tertiary, #16161e);padding:2px 8px;border-radius:4px;font-weight:400}.error-message{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;margin-bottom:16px;color:#ef4444;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.empty-state{padding:32px;text-align:center;color:var(--text-muted, #6666a0);background:#ffffff0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px;border:1px solid rgba(255,255,255,.15);font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.chart-info{display:flex;flex-direction:column;gap:8px}.chart-info p{font-size:.8125rem;color:var(--text-secondary, #8888a0);margin:0;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.lifecycle-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}.stat-card{background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px}.stat-label{font-size:.6875rem;color:var(--text-muted, #6666a0);text-transform:uppercase;letter-spacing:.05em;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.stat-value{font-size:1.25rem;color:var(--text-primary, #e8e8f0);font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.voltage-readings-container{display:flex;flex-direction:column;gap:20px}.stack-bars-wrapper{background:var(--bg-tertiary, #16161e);border-radius:8px;padding:16px;border:1px solid var(--border-subtle, #1e1e2e)}.voltage-chart-wrapper{background:transparent;border-radius:8px;padding:20px;border:none;margin-bottom:16px}.stack-bars-label{font-size:.6875rem;color:var(--text-muted, #6666a0);margin-bottom:12px;text-align:center;font-weight:400;text-transform:uppercase;letter-spacing:.5px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.statistics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-panel{background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px;padding:24px;border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #00000026;transition:all .2s ease}.stat-panel:hover{background:#ffffff1a;border-color:#ffffff40}.live-stats-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:20px}.stat-card-live{background:#ffffff0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:12px 16px;display:flex;flex-direction:column;gap:6px;transition:all .2s ease}.stat-card-live:hover{background:#ffffff14;border-color:#fff3}.stat-card-live .stat-label{font-size:.6875rem;color:var(--text-muted, #6666a0);text-transform:uppercase;letter-spacing:.05em;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.stat-card-live .stat-value{font-size:1.125rem;color:var(--text-primary, #e8e8f0);font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.trending-controls{display:flex;gap:16px;align-items:center}.control-group{display:flex;align-items:center;gap:8px}.control-group label{font-size:.75rem;color:var(--text-muted, #6666a0);font-weight:400;white-space:nowrap;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.control-group select{padding:6px 10px;background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:6px;color:var(--text-primary, #e8e8f0);font-size:.75rem;font-weight:400;cursor:pointer;outline:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.control-group select:hover{border-color:var(--text-muted, #6666a0)}.control-group select:focus{border-color:var(--text-secondary, #8888a0)}.cell-selector-container{position:relative;margin-bottom:16px}.cell-selector-button{width:100%;padding:10px 14px;background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:6px;color:var(--text-primary, #e8e8f0);font-size:.8125rem;font-weight:400;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-selector-button:hover{border-color:var(--text-muted, #6666a0)}.dropdown-arrow{color:var(--text-muted, #6666a0);font-size:.75rem}.cell-selector-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:8px;padding:16px;z-index:100;max-height:350px;overflow-y:auto;box-shadow:0 8px 32px #0006}.cell-selector-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border-subtle, #1e1e2e);margin-bottom:12px;color:var(--text-primary, #e8e8f0);font-size:.8125rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-selector-actions{display:flex;gap:6px}.select-action-btn{padding:4px 10px;background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:4px;color:var(--text-secondary, #8888a0);font-size:.6875rem;font-weight:400;cursor:pointer;transition:all .2s ease;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.select-action-btn:hover{border-color:var(--text-muted, #6666a0);color:var(--text-primary, #e8e8f0)}.cell-selector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cell-checkbox-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:.75rem;color:var(--text-secondary, #8888a0);font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-checkbox-item:hover{border-color:var(--text-muted, #6666a0);color:var(--text-primary, #e8e8f0)}.cell-checkbox-item input[type=checkbox]{margin:0;cursor:pointer;accent-color:#3b82f6}.cell-checkbox-item span{-webkit-user-select:none;user-select:none}.live-chart-wrapper{height:400px;background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:8px;padding:16px;position:relative}.demo-mode-badge{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:8px;padding:6px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;z-index:10}.badge-icon{font-size:.6875rem;font-weight:500;color:#f59e0b;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.badge-text{font-size:.6875rem;color:#f59e0b;font-weight:400;text-transform:uppercase;letter-spacing:.5px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.badge-hint{font-size:.625rem;color:var(--text-muted, #6666a0);font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-attention-section{margin-bottom:24px;background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:12px;padding:24px}.cell-attention-section h2{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0 0 20px}.attention-cells-grid{display:flex;flex-direction:column;gap:16px}.attention-category{background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:8px;padding:16px}.attention-category.critical-category{border-color:#ef444466;background:#ef44440d}.attention-category.warning-category{border-color:#f59e0b66;background:#f59e0b0d}.attention-category.degradation-category{border-color:#3b82f666;background:#3b82f60d}.category-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle, #1e1e2e)}.category-icon{font-size:.875rem;font-weight:700;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.critical-category .category-icon{background:#ef444433;color:#ef4444}.warning-category .category-icon{background:#f59e0b33;color:#f59e0b}.degradation-category .category-icon{background:#3b82f633;color:#3b82f6}.category-title{font-size:.875rem;color:var(--text-primary, #e8e8f0);font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.attention-cells-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.attention-cell-item{background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px}.attention-cell-item.critical{border-color:#ef44444d}.attention-cell-item.warning{border-color:#f59e0b4d}.attention-cell-item.degradation{border-color:#3b82f64d}.cell-item-header{display:flex;justify-content:space-between;align-items:center}.cell-id{font-size:.8125rem;color:var(--text-primary, #e8e8f0);font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-status-badge{padding:2px 6px;border-radius:4px;font-size:.625rem;font-weight:500;text-transform:uppercase;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-status-badge.critical,.cell-status-badge.emergency{background:#ef444433;color:#ef4444}.cell-status-badge.warning{background:#f59e0b33;color:#f59e0b}.degradation-value{padding:2px 6px;border-radius:4px;font-size:.625rem;font-weight:500;background:#3b82f633;color:#3b82f6;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-item-details{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--text-muted, #6666a0);font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-item-action{margin-top:4px}.view-cell-btn{width:100%;padding:6px 10px;background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:4px;color:var(--text-secondary, #8888a0);font-size:.75rem;font-weight:400;cursor:pointer;transition:all .2s ease;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.view-cell-btn:hover{border-color:var(--text-muted, #6666a0);color:var(--text-primary, #e8e8f0)}.more-cells-indicator{grid-column:1 / -1;text-align:center;padding:10px;color:var(--text-muted, #6666a0);font-size:.75rem;font-weight:400;background:var(--bg-tertiary, #16161e);border:1px dashed var(--border-subtle, #1e1e2e);border-radius:6px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.all-normal-status{text-align:center;padding:32px;background:#22c55e14;border:1px solid rgba(34,197,94,.3);border-radius:8px}.all-normal-status h4{font-size:1rem;color:#22c55e;font-weight:400;margin:0 0 8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.all-normal-status p{font-size:.8125rem;color:var(--text-secondary, #8888a0);font-weight:400;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-inspector-section{margin-bottom:24px;background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:12px;padding:24px}.cell-inspector-section h2{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0 0 20px}.inspector-controls{display:flex;align-items:center;gap:12px;margin-bottom:16px}.inspector-label{font-size:.8125rem;color:var(--text-secondary, #8888a0);font-weight:400;white-space:nowrap;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-inspector-select{flex:1;padding:10px 36px 10px 12px;background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:6px;color:var(--text-primary, #e8e8f0);font-size:.8125rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236666a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}.cell-inspector-select:hover{border-color:var(--text-muted, #6666a0)}.cell-inspector-select:focus{border-color:var(--text-secondary, #8888a0)}.cell-inspector-select option{background:var(--bg-secondary, #12121a);color:var(--text-primary, #e8e8f0)}.cell-detail-panel{background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:8px;padding:20px}.selected-cell-detail{width:100%}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle, #1e1e2e)}.detail-header h3{font-size:.9375rem;color:var(--text-primary, #e8e8f0);font-weight:400;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.detail-header button{background:transparent;border:1px solid var(--border-subtle, #1e1e2e);color:var(--text-muted, #6666a0);width:24px;height:24px;border-radius:6px;cursor:pointer;font-size:.75rem;transition:all .2s;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.detail-header button:hover{border-color:var(--text-secondary, #8888a0);color:var(--text-primary, #e8e8f0)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:.6875rem;color:var(--text-muted, #6666a0);text-transform:uppercase;letter-spacing:.05em;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.detail-value{font-size:1rem;color:var(--text-primary, #e8e8f0);font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.detail-value.deviation-alert{color:#ef4444}.overpotential-breakdown{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle, #1e1e2e)}.overpotential-breakdown h4{font-size:.75rem;color:var(--text-secondary, #8888a0);font-weight:400;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.breakdown-item{margin-bottom:10px}.breakdown-item span:first-child{font-size:.75rem;color:var(--text-muted, #6666a0);font-weight:400;display:block;margin-bottom:4px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.breakdown-bar{position:relative;height:24px;background:var(--bg-secondary, #12121a);border-radius:4px;overflow:hidden;border:1px solid var(--border-subtle, #1e1e2e)}.breakdown-fill{height:100%;transition:width .3s ease}.breakdown-fill.activation{background:linear-gradient(90deg,#3b82f6,#3b82f699)}.breakdown-fill.ohmic{background:linear-gradient(90deg,#06b6d4,#06b6d499)}.breakdown-fill.concentration{background:linear-gradient(90deg,#22c55e,#22c55e99)}.breakdown-bar span{position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:.6875rem;color:var(--text-primary, #e8e8f0);font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-test-panel{background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:12px;padding:24px}.cell-test-panel h2{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0 0 20px}.test-controls-content{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.test-input-group{display:flex;flex-direction:column;gap:6px}.test-input-group label{font-size:.75rem;color:var(--text-muted, #6666a0);font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.test-input-group input{width:100px;padding:8px 10px;background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:6px;color:var(--text-primary, #e8e8f0);font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;outline:none;transition:border-color .2s}.test-input-group input:hover{border-color:var(--text-muted, #6666a0)}.test-input-group input:focus{border-color:var(--text-secondary, #8888a0)}.test-buttons{display:flex;gap:8px}.test-btn{padding:8px 16px;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;border-radius:6px;cursor:pointer;transition:all .2s;border:1px solid}.test-btn.trigger-btn{background:#f59e0b;color:#0a0a0f;border-color:#f59e0b}.test-btn.trigger-btn:hover{background:#d97706;border-color:#d97706}.test-btn.reset-btn{background:transparent;color:var(--text-secondary, #8888a0);border-color:var(--border-subtle, #1e1e2e)}.test-btn.reset-btn:hover{border-color:var(--text-muted, #6666a0);color:var(--text-primary, #e8e8f0)}.test-info{flex:1;display:flex;align-items:center;min-width:200px}.test-info-text{font-size:.75rem;color:var(--text-muted, #6666a0);margin:0;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cell-selector-dropdown::-webkit-scrollbar{width:6px}.cell-selector-dropdown::-webkit-scrollbar-track{background:var(--bg-tertiary, #16161e)}.cell-selector-dropdown::-webkit-scrollbar-thumb{background:var(--border-subtle, #2e2e4e);border-radius:3px}.cell-selector-dropdown::-webkit-scrollbar-thumb:hover{background:var(--border-hover, #3e3e5e)}@media (max-width: 1200px){.lifecycle-stats,.statistics-grid,.detail-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.cell-page{padding:16px}.cell-header{flex-direction:column;align-items:flex-start;gap:16px}.cell-header-right{width:100%;flex-direction:column;align-items:stretch;gap:12px}.mode-toggle{width:100%}.mode-btn{flex:1;text-align:center}.cell-current-status{grid-template-columns:repeat(2,1fr)}.lifecycle-stats,.statistics-grid,.detail-grid{grid-template-columns:1fr}.cell-selector-grid{grid-template-columns:repeat(2,1fr)}.test-controls-content{flex-direction:column;align-items:stretch}.test-input-group input,.test-buttons{width:100%}.test-btn{flex:1}.trending-controls{flex-direction:column;align-items:stretch;gap:12px}.control-group{justify-content:space-between}.control-group select{flex:1}}.logs-page{padding:48px 64px;background:#fff;min-height:100%}.logs-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:#1a1a1a;margin:0 0 48px;text-align:left;letter-spacing:-.3px;line-height:1.3}.logs-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:1px solid #E0E0E0;padding-bottom:0}.logs-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:#666;padding:12px 20px;font-size:15px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.logs-tab:hover{color:#1a1a1a}.logs-tab.active{color:#1a1a1a;border-bottom-color:#1a1a1a}.logs-page .loading-container,.logs-page .error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.logs-page .spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#06c;border-radius:50%;animation:spin 1s linear infinite}.logs-page .retry-button{padding:10px 24px;background:#06c;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.logs-page .retry-button:hover{background:#0052a3}.logs-page .filters-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:24px;margin-bottom:24px}.logs-page .filters-panel h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#1a1a1a;margin:0 0 20px;padding:0 0 12px;border-bottom:2px solid #0066cc}.logs-page .filters-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.logs-page .filter-group{display:flex;flex-direction:column;gap:8px}.logs-page .filter-group label{font-size:12px;font-weight:500;color:#4b5563;text-transform:uppercase;letter-spacing:.5px}.logs-page .filter-group input[type=text]{padding:10px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;background:#fff;color:#1a1a1a;transition:border-color .2s,box-shadow .2s}.logs-page .filter-group input[type=text]:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.logs-page .multi-select{display:flex;flex-direction:column;gap:8px;min-height:160px;max-height:200px;overflow-y:auto;padding:12px;border:1px solid #d1d5db;border-radius:4px;background:#fff}.logs-page .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s}.logs-page .checkbox-label:hover{background:#f9fafb}.logs-page .checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#0066cc}.logs-page .checkbox-label span{font-size:13px;color:#374151;-webkit-user-select:none;user-select:none}.logs-page .filter-actions{display:flex;gap:8px;grid-column:1 / -1;justify-content:flex-end;margin-top:8px}.logs-page .clear-button,.logs-page .refresh-button{padding:10px 16px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;background:#fff;color:#4b5563}.logs-page .refresh-button{display:flex;align-items:center;gap:8px;background:#06c;color:#fff;border-color:#06c}.logs-page .refresh-button svg{width:16px;height:16px}.logs-page .clear-button:hover{background:#f9fafb;border-color:#9ca3af}.logs-page .refresh-button:hover{background:#0052a3}.logs-page .breadcrumb-filter-card{border:1px solid #d1d5db;border-radius:4px;padding:6px 12px;background:#fff;display:flex;align-items:center;gap:12px;min-height:46px}.logs-page .filter-card-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#4b5563}.logs-page .breadcrumb-navigation{display:flex;align-items:center;gap:8px}.logs-page .breadcrumb-button{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;background:#f9fafb;font-size:14px;color:#1a1a1a;cursor:pointer}.logs-page .breadcrumb-button:disabled{opacity:.6;cursor:not-allowed}.logs-page .breadcrumb-dropdown{position:absolute;top:45px;left:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 0;box-shadow:0 8px 16px #0000001f;z-index:1000;min-width:200px}.logs-page .breadcrumb-dropdown-item{width:100%;border:none;background:none;padding:8px 12px;text-align:left;font-size:14px;color:#1a1a1a;cursor:pointer}.logs-page .breadcrumb-dropdown-item.active{background:#e5f1ff}.logs-page .breadcrumb-separator{color:#9ca3af;font-weight:600;-webkit-user-select:none;user-select:none}.logs-page .time-range-card{border:1px solid #d1d5db;border-radius:4px;padding:6px 12px;background:#fff;display:flex;align-items:center;gap:12px;position:relative}.logs-page .time-range-button{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;background:#f9fafb;font-size:14px;cursor:pointer}.logs-page .time-range-card .breadcrumb-dropdown{position:absolute;top:45px;left:0;min-width:220px;max-height:240px;overflow-y:auto}.logs-page .time-range-card .breadcrumb-dropdown button{border:none;background:none;width:100%;text-align:left;padding:8px 12px;cursor:pointer;color:#1a1a1a}.logs-page .time-range-card .breadcrumb-dropdown button.active{background:#e5f1ff}.logs-page .custom-range-row{display:flex;gap:12px;margin-top:8px}.logs-page .custom-range-field{display:flex;flex-direction:column;gap:4px}.logs-page .custom-range-field label{font-size:12px;font-weight:600;color:#4b5563}.logs-page .custom-range-field input{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.logs-page .results-info{margin-top:16px;font-size:13px;color:#6b7280;font-weight:500}.logs-page .table-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:24px}.logs-page .table-scroll-top{overflow-x:auto;overflow-y:hidden;background:#fff;border:1px solid #e5e7eb;border-bottom:none;border-radius:4px 4px 0 0;height:20px;margin-bottom:-1px}.logs-page .table-container{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:0 0 4px 4px}.logs-page .logs-table{width:100%;border-collapse:collapse;font-size:13px}.logs-page .logs-table thead{background:linear-gradient(180deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb}.logs-page .logs-table th{padding:14px 16px;text-align:left;font-size:11px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.8px;border-right:1px solid #e5e7eb}.logs-page .logs-table th:last-child{border-right:none}.logs-page .logs-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .15s}.logs-page .logs-table tbody tr:hover{background:#f9fafb}.logs-page .logs-table tbody tr:last-child{border-bottom:none}.logs-page .logs-table td{padding:12px 16px;color:#1a1a1a;vertical-align:top;border-right:1px solid #f3f4f6}.logs-page .logs-table td:last-child{border-right:none}.logs-page .logs-table .no-data{text-align:center;padding:48px;color:#9ca3af;font-style:italic}.logs-page .logs-table .timestamp{font-family:Monaco,Courier New,monospace;font-size:12px;color:#6b7280}.logs-page .action-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.logs-page .badge-create{background:#d1fae5;color:#065f46}.logs-page .badge-update{background:#dbeafe;color:#1e40af}.logs-page .badge-delete{background:#fee2e2;color:#991b1b}.logs-page .badge-default{background:#f3f4f6;color:#374151}.logs-page .shift-type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;background:#fef3c7;color:#92400e}.logs-page .metadata-cell details{cursor:pointer}.logs-page .metadata-cell summary{color:#06c;font-weight:500;-webkit-user-select:none;user-select:none;font-size:12px}.logs-page .metadata-cell summary:hover{text-decoration:underline}.logs-page .metadata-cell pre{margin-top:8px;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;font-size:11px;max-width:400px;overflow-x:auto;color:#374151}.logs-page .pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 0;padding:12px 0}.logs-page .pagination-button{padding:8px 14px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s;min-width:40px}.logs-page .pagination-button:hover:not(:disabled){background:#f9fafb;border-color:#06c;color:#06c}.logs-page .pagination-button:disabled{opacity:.4;cursor:not-allowed}.logs-page .pagination-button.active{background:#0030f6;color:#fff;border-color:#0030f6;font-weight:600}.logs-page .pagination-button.active:hover{background:#0028d4;border-color:#0028d4;color:#fff}.logs-page .pagination-info{font-size:13px;color:#6b7280;font-weight:500;padding:0 4px;margin-left:8px}@media (max-width: 768px){.logs-page{padding:24px}.logs-page .page-main-title{font-size:24px;margin-bottom:32px}.logs-page .filters-grid{grid-template-columns:1fr}.logs-page .table-container{font-size:12px}.logs-page .logs-table th,.logs-page .logs-table td{padding:10px 12px}}.fault-detection-page{padding:48px 64px;background:var(--bg-primary);min-height:100%}.fault-detection-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:var(--text-primary);margin:0;text-align:left;letter-spacing:-.3px;line-height:1.3}.fault-detection-page .page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;margin-bottom:48px}.fault-summary{display:flex;gap:16px}.fault-stat{display:flex;flex-direction:column;align-items:center;padding:16px 28px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;min-width:100px;transition:all .2s ease}.fault-stat:hover{box-shadow:0 4px 12px #00000014}.fault-stat.critical{border-left:3px solid #c62828}.fault-stat.warning{border-left:3px solid #f57c00}.fault-stat.unack{border-left:3px solid #0066cc}.fault-stat .stat-value{font-size:32px;font-weight:500;color:var(--text-primary);line-height:1;margin-bottom:8px}.fault-stat.critical .stat-value{color:#c62828}.fault-stat.warning .stat-value{color:#f57c00}.fault-stat .stat-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.fault-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:24px}.fault-filters{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.filter-select{padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:14px;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;min-width:160px;transition:border-color .2s ease}.filter-select:hover{background:var(--bg-secondary)}.filter-select:focus{outline:none;border-color:#06c;box-shadow:0 0 0 2px #0066cc1a}.view-toggle{display:flex;gap:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.toggle-btn{padding:10px 20px;background:transparent;border:none;border-right:1px solid var(--border-color);color:var(--text-secondary);font-size:13px;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease}.toggle-btn:last-child{border-right:none}.toggle-btn:hover,.toggle-btn.active{background:var(--bg-secondary);color:var(--text-primary)}.clear-all-btn{padding:10px 20px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease}.clear-all-btn:hover{background:var(--bg-secondary)}.fault-content{display:grid;grid-template-columns:1fr 420px;gap:24px;min-height:500px}.fault-list-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.fault-list{display:flex;flex-direction:column;gap:12px;padding:20px}.no-faults{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}.no-faults-icon{font-size:36px;color:#2e7d32;margin-bottom:20px;font-weight:500;letter-spacing:2px}.no-faults p{font-size:18px;color:var(--text-primary);margin-bottom:8px;font-weight:500}.no-faults small{font-size:14px;color:var(--text-secondary);font-weight:400}.fault-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:20px;cursor:pointer;transition:all .2s ease}.fault-card.selected{border-color:#06c;background:linear-gradient(135deg,#0066cc0a,#0080ff0f)}.fault-card.critical{border-left:4px solid #c62828}.fault-card.warning{border-left:4px solid #f57c00}.fault-card.info{border-left:4px solid #1976d2}.fault-card.acknowledged{opacity:.7}.fault-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fault-category-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px}.category-text{font-size:10px;color:var(--text-primary);text-transform:uppercase;letter-spacing:1px;font-weight:600}.fault-severity-badge{padding:6px 12px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.5px}.fault-severity-badge.critical{background:#c628281a;color:#c62828;border:1px solid rgba(198,40,40,.3)}.fault-severity-badge.warning{background:#f57c001a;color:#f57c00;border:1px solid rgba(245,124,0,.3)}.fault-severity-badge.info{background:#1976d21a;color:#1976d2;border:1px solid rgba(25,118,210,.3)}.fault-card-body{display:flex;flex-direction:column;gap:8px}.fault-component{font-size:15px;color:var(--text-primary);font-weight:500}.fault-description{font-size:14px;color:var(--text-secondary);font-weight:400;line-height:1.4}.fault-values{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin-top:12px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:13px}.value-label{color:var(--text-secondary);font-weight:500}.value-data{color:var(--text-primary);font-weight:400}.fault-timestamp{font-size:12px;color:var(--text-secondary);margin-top:8px;font-weight:400}.fault-card-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.fault-btn{padding:8px 16px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease}.fault-btn.acknowledge:hover{background:var(--bg-secondary)}.fault-detail-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.fault-detail-panel{display:flex;flex-direction:column;height:100%}.detail-panel-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color)}.detail-panel-header h3{font-size:13px;color:var(--text-primary);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;margin:0}.close-detail-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:20px;cursor:pointer;transition:all .2s ease;font-family:Arial,sans-serif;font-weight:400;line-height:1}.close-detail-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.detail-panel-content{padding:24px;overflow-y:auto;flex:1}.detail-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border-color)}.detail-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.detail-value{font-size:14px;color:var(--text-primary);text-align:right;font-weight:400}.detail-value.severity-critical{color:#c62828}.detail-value.severity-warning{color:#f57c00}.detail-value.severity-info{color:#1976d2}.detail-actions{margin-top:28px;padding-top:28px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.detail-action-btn{padding:14px 20px;background:#06c;border:none;border-radius:4px;color:#fff;font-size:13px;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.detail-action-btn:hover{background:#0052a3}.detail-action-btn.acknowledge{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.detail-action-btn.acknowledge:hover{background:var(--bg-secondary)}.detail-action-btn.resolve{background:#2e7d32}.detail-action-btn.resolve:hover{background:#1b5e20}.recommended-actions{margin-top:28px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px}.recommended-actions h4{font-size:12px;color:var(--text-primary);margin:0 0 16px;text-transform:uppercase;letter-spacing:.8px;font-weight:600}.recommended-actions ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.recommended-actions li{font-size:13px;color:var(--text-secondary);padding-left:16px;position:relative;font-weight:400;line-height:1.4}.recommended-actions li:before{content:"-";position:absolute;left:0;color:var(--text-secondary)}@media (max-width: 1400px){.fault-content{grid-template-columns:1fr 380px}}@media (max-width: 1200px){.fault-detection-page{padding:32px 40px}.fault-content{grid-template-columns:1fr}.fault-detail-section{max-height:500px}}@media (max-width: 768px){.fault-detection-page{padding:24px}.fault-detection-page .page-main-title{font-size:24px}.fault-detection-page .page-header{flex-direction:column;align-items:flex-start;margin-bottom:32px}.fault-summary{width:100%;flex-wrap:wrap}.fault-stat{flex:1;min-width:90px}.fault-controls{flex-direction:column;align-items:stretch}.fault-filters{flex-direction:column;width:100%}.filter-group,.filter-select,.view-toggle{width:100%}.toggle-btn{flex:1;text-align:center}}.time-series-page{padding:48px 64px;background:var(--bg-primary);min-height:100%}.time-series-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:var(--text-primary);margin:0 0 48px;text-align:left;letter-spacing:-.3px;line-height:1.3}.ts-control-panel{background:#0f0f0e;border:1px solid #1A1A1A;border-radius:6px;padding:20px;margin-bottom:20px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}.ts-control-group{display:flex;flex-direction:column;gap:8px}.ts-control-label{font-size:12px;color:#a5a5a5;font-weight:400}.ts-time-range-btns,.ts-mode-btns{display:flex;gap:8px}.ts-range-btn,.ts-mode-btn{background:#1a1a1a;border:1px solid #2A2A2A;color:#e9e9e9;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:400;transition:all .2s ease}.ts-range-btn:hover,.ts-mode-btn:hover{background:#2a2a2a}.ts-range-btn.active,.ts-mode-btn.active{background:#4a90e2;border-color:#4a90e2}.ts-checkbox{margin-right:8px;cursor:pointer}.ts-chart-section{background:#0f0f0e;border:1px solid #1A1A1A;border-radius:6px;padding:20px;margin-bottom:20px}.ts-chart-container{height:400px;position:relative}.ts-chart-container canvas{background:#0f0f0e}.ts-metric-selector{background:#0f0f0e;border:1px solid #1A1A1A;border-radius:6px;padding:20px;margin-bottom:20px}.ts-selector-title{font-size:16px;color:#e9e9e9;margin:0 0 16px;font-weight:400}.ts-category-group{margin-bottom:16px}.ts-category-header{font-size:13px;color:#a5a5a5;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #1A1A1A;font-weight:400}.ts-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ts-metric-card{background:#1a1a1a;border:1px solid #2A2A2A;border-radius:4px;padding:12px;cursor:pointer;transition:all .2s ease}.ts-metric-card:hover{background:#2a2a2a;border-color:#3a3a3a}.ts-metric-card.selected{background:#1a2a3a;border-color:#4a90e2}.ts-metric-name{font-size:12px;color:#e9e9e9;margin-bottom:4px;font-weight:400}.ts-metric-unit{font-size:11px;color:#a5a5a5;font-weight:400}.ts-statistics-panel{background:#0f0f0e;border:1px solid #1A1A1A;border-radius:6px;padding:20px}.ts-stats-title{font-size:16px;color:#e9e9e9;margin:0 0 16px;font-weight:400}.ts-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.ts-stat-card{background:#1a1a1a;border:1px solid #2A2A2A;border-radius:4px;padding:16px}.ts-stat-header{font-size:13px;color:#e9e9e9;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #2A2A2A;font-weight:400}.ts-stat-values{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ts-stat-item{display:flex;flex-direction:column;gap:4px}.ts-stat-label{font-size:11px;color:#a5a5a5;font-weight:400}.ts-stat-value{font-size:14px;color:#e9e9e9;font-weight:400}.digital-twin-page{padding:48px 64px;background:var(--bg-primary);min-height:100%}.digital-twin-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:var(--text-primary);margin:0 0 48px;text-align:left;letter-spacing:-.3px;line-height:1.3}.dt-status-bar{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:16px 20px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.dt-connection-status{display:flex;align-items:center;gap:12px}.dt-status-indicator{width:10px;height:10px;border-radius:50%;animation:dt-pulse 2s infinite}.dt-status-indicator.connected{background:#2e7d32}.dt-status-indicator.syncing{background:#f57c00;animation:dt-pulse 1s infinite}.dt-status-indicator.disconnected{background:#c62828}@keyframes dt-pulse{0%,to{opacity:1}50%{opacity:.5}}.dt-status-text{font-size:14px;color:var(--text-primary);font-weight:500}.dt-sync-delay{font-size:12px;color:var(--text-secondary);font-weight:400}.dt-controls{display:flex;gap:12px}.dt-reset-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.dt-reset-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:#06c}.dt-reset-btn:disabled{opacity:.5;cursor:not-allowed}.dt-parameters-section,.dt-scenarios-section,.dt-accuracy-section,.dt-benefits-section,.dt-cell-grid-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:24px;margin-bottom:24px}.dt-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-primary);margin:0 0 20px;padding:0 0 12px;border-bottom:2px solid #0066cc}.dt-section-description{font-size:14px;color:var(--text-secondary);margin-bottom:20px;font-weight:400;line-height:1.5}.dt-parameters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.dt-param-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid #0066cc;border-radius:4px;padding:16px 20px;transition:all .2s ease}.dt-param-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0066cc26}.dt-param-card.warning{border-left-color:#f57c00}.dt-param-card.critical{border-left-color:#c62828}.dt-param-name{font-size:14px;color:var(--text-primary);margin-bottom:12px;font-weight:500}.dt-param-comparison{display:flex;align-items:center;gap:12px;margin-bottom:8px}.dt-param-value-group{display:flex;flex-direction:column;gap:4px;flex:1}.dt-param-label{font-size:11px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dt-param-value{font-size:18px;color:var(--text-primary);font-weight:500}.dt-param-deviation{font-size:12px;color:var(--text-secondary);padding-top:8px;border-top:1px solid var(--border-color);font-weight:400}.dt-control-group{margin-bottom:20px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px}.dt-control-title{font-size:14px;color:var(--text-primary);margin:0 0 16px;font-weight:500}.dt-control-inputs{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.dt-input-group{display:flex;flex-direction:column;gap:8px;min-width:150px}.dt-input-label{font-size:12px;color:var(--text-secondary);font-weight:500}.dt-input{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:10px 14px;border-radius:4px;font-size:14px;font-weight:400;transition:border-color .2s ease}.dt-input:focus{outline:none;border-color:#06c;box-shadow:0 0 0 2px #0066cc1a}.dt-input-hint{font-size:11px;color:var(--text-secondary);margin-top:4px}.dt-scenario-btn{padding:10px 20px;background:#06c;border:none;color:#fff;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.dt-scenario-btn:hover:not(:disabled){background:#0052a3}.dt-scenario-btn:disabled{opacity:.5;cursor:not-allowed}.dt-scenario-btn.secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.dt-scenario-btn.secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:#c62828;color:#c62828}.dt-accuracy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.dt-accuracy-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:20px}.dt-accuracy-label{font-size:12px;color:var(--text-secondary);margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dt-accuracy-value{font-size:24px;color:var(--text-primary);margin-bottom:12px;font-weight:500}.dt-accuracy-bar{height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.dt-accuracy-fill{height:100%;background:#2e7d32;border-radius:3px;transition:width .3s ease}.dt-insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.dt-insight-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid #0066cc;border-radius:4px;padding:20px;transition:all .2s ease}.dt-insight-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0066cc26}.dt-insight-title{font-size:12px;color:var(--text-secondary);margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dt-insight-value{font-size:20px;color:#06c;margin-bottom:8px;font-weight:500}.dt-insight-detail{font-size:13px;color:var(--text-secondary);font-weight:400;line-height:1.4}.dt-error-message{background:var(--bg-secondary);border:1px solid #c62828;border-radius:4px;padding:32px;text-align:center}.dt-error-message h3{color:#c62828;margin:0 0 16px;font-size:18px;font-weight:500}.dt-error-message p{color:var(--text-secondary);margin:8px 0;font-size:14px;line-height:1.5}.dt-error-detail{background:var(--bg-primary);padding:16px;border-radius:4px;margin-top:16px;border:1px solid var(--border-color)}.dt-error-detail code{color:#06c;font-family:Monaco,Courier New,monospace;font-size:13px}.dt-cell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.dt-cell-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:12px 8px;text-align:center;transition:all .2s ease;position:relative;cursor:pointer}.dt-cell-item:hover{border-color:#06c;transform:translateY(-2px);box-shadow:0 4px 12px #0066cc26}.dt-cell-item.deviation{border-color:#f57c00;background:#f57c000d}.dt-cell-id{font-size:10px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.dt-cell-voltage{font-size:14px;color:var(--text-primary);font-weight:500}.dt-cell-warning{position:absolute;top:4px;right:4px;font-size:12px}.dt-safety-alert{background:#c6282814;border:1px solid #c62828;border-radius:4px;padding:24px;margin-bottom:24px;text-align:center}.dt-safety-alert h3{color:#c62828;margin:0 0 12px;font-size:18px;font-weight:500}.dt-safety-alert p{color:var(--text-primary);margin:8px 0;font-size:14px}@media (max-width: 1200px){.digital-twin-page{padding:32px 40px}.dt-parameters-grid,.dt-accuracy-grid,.dt-insights-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.digital-twin-page{padding:24px}.digital-twin-page .page-main-title{font-size:24px;margin-bottom:32px}.dt-parameters-grid,.dt-accuracy-grid,.dt-insights-grid{grid-template-columns:1fr}.dt-status-bar{flex-direction:column;gap:16px;align-items:flex-start}.dt-control-inputs{flex-direction:column;align-items:stretch}.dt-scenario-btn{width:100%}}.production-optimizer-page{padding:48px 64px;background:var(--bg-primary);min-height:100%;color:var(--text-primary);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.production-optimizer-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:var(--text-primary);margin:0 0 10px;text-align:left;letter-spacing:-.3px;line-height:1.3}.production-optimizer-page .page-header{margin-bottom:48px;display:flex;justify-content:space-between;align-items:flex-start}.page-description{margin:0;font-size:14px;color:#a5a5a5}.connection-status{display:flex;align-items:center;gap:10px;padding:10px 15px;border-radius:5px;font-size:13px}.connection-warning{background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:5px;padding:60px;margin-bottom:20px;text-align:center}.config-panel,.stats-panel,.chart-panel,.info-panel{background:#171715;border:1px solid #393939;border-radius:5px;padding:60px;margin-bottom:20px}.config-panel h3,.stats-panel h3,.chart-panel h3,.info-panel h3{margin:0 0 20px;font-size:15px;font-weight:400;color:#e9e9e9}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.config-item{display:flex;flex-direction:column;gap:10px}.config-item label{font-size:13px;color:#e9e9e9}.config-item input{background:#171715;border:1px solid #393939;border-radius:5px;padding:15px;color:#fff;font-size:14px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.config-item input:focus{outline:none;border-color:#00a3ff}.config-item input:disabled{opacity:.5;cursor:not-allowed}.action-buttons{display:flex;gap:15px}.optimize-btn,.apply-btn{flex:1;max-width:250px;padding:12px 20px;border:1px solid #393939;border-radius:5px;background:#171715;color:#fff;font-size:15px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.optimize-btn:hover{background:#4a90e233;border-color:#00a3ff}.apply-btn{background:#4caf501a;border-color:#4caf504d}.apply-btn:hover{background:#4caf5033;border-color:#00b050}.optimize-btn:disabled,.apply-btn:disabled{opacity:.5;cursor:not-allowed}.stats-panel{background:linear-gradient(135deg,#4a90e20d,#000)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.stat-card{display:flex;flex-direction:column;gap:10px;padding:15px;background:#171715;border:1px solid #393939;border-radius:5px}.stat-label{font-size:12px;color:#a5a5a5;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:18px;color:#00a3ff;font-weight:400}.stat-value.highlight{color:#00b050;font-size:28px}.chart-container{height:400px;position:relative;background:#171715;border-radius:5px;padding:15px}.chart-description{margin:15px 0 0;font-size:13px;color:#a5a5a5;text-align:center}.info-panel{background:#ff98000d;border-color:#ff980033}.info-panel ul{margin:0;padding:0 0 0 20px;list-style:none}.info-panel li{margin-bottom:15px;padding-left:10px;border-left:2px solid #FF6B35;line-height:1.6;font-size:14px;color:#e9e9e9}.info-panel strong{color:#ff6b35;font-weight:400}@media (max-width: 768px){.config-grid,.stats-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.optimize-btn,.apply-btn{max-width:100%}.chart-container{height:300px}}.performance-map-page{padding:48px 64px;background:#fff!important;min-height:100%;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--text-primary: #1a1a1a;--text-secondary: #6b7280;--border-color: #e5e7eb}.performance-map-page .page-main-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:32px;font-weight:400;color:var(--text-primary);margin:0 0 48px;text-align:left;letter-spacing:-.3px;line-height:1.3}.performance-map-page .controls-panel,.performance-map-page .chart-panel,.performance-map-page .operating-point-panel,.performance-map-page .info-panel{background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:4px;padding:24px;margin-bottom:24px}.performance-map-page .controls-panel h3,.performance-map-page .chart-panel h3,.performance-map-page .operating-point-panel h3,.performance-map-page .info-panel h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-primary);margin:0 0 20px;padding:0 0 12px;border-bottom:2px solid #0066cc}.performance-map-page .metric-buttons{display:flex;gap:12px;flex-wrap:wrap}.performance-map-page .metric-btn{flex:1;min-width:180px;padding:14px 24px;background:var(--bg-primary);border:1px solid var(--border-color);border-left:3px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:14px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.performance-map-page .metric-btn:hover{background:var(--bg-secondary);border-left-color:#06c;color:var(--text-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0066cc1a}.performance-map-page .metric-btn.active{background:linear-gradient(135deg,#0066cc14,#0080ff1f);border-left-color:#06c;color:#06c;box-shadow:0 4px 12px #0066cc26}.performance-map-page .chart-container{height:400px;position:relative;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:4px;padding:16px}.performance-map-page .operating-point-controls{margin-bottom:24px}.performance-map-page .operating-point-controls label{display:flex;flex-direction:column;gap:12px}.performance-map-page .operating-point-controls label>span:first-child{font-size:14px;color:var(--text-primary);font-weight:500}.performance-map-page .operating-point-controls input[type=range]{width:100%;height:6px;border-radius:3px;background:var(--border-color);outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.performance-map-page .operating-point-controls input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#06c;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0066cc4d}.performance-map-page .operating-point-controls input[type=range]::-webkit-slider-thumb:hover{background:#0052a3;transform:scale(1.1)}.performance-map-page .value-display{font-size:16px;color:#06c;text-align:center;font-weight:500}.performance-map-page .operating-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.performance-map-page .metric-card{display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid #0066cc;border-radius:4px;transition:all .2s ease}.performance-map-page .metric-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0066cc26}.performance-map-page .metric-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.performance-map-page .metric-value{font-size:24px;color:#06c;font-weight:500}.performance-map-page .info-panel p{margin:0 0 16px;line-height:1.6;color:var(--text-primary);font-size:14px;font-weight:400}.performance-map-page .info-panel ul{margin:0 0 16px;padding:0;list-style:none}.performance-map-page .info-panel li{margin-bottom:12px;padding-left:16px;border-left:2px solid #0066cc;line-height:1.5;font-size:14px;color:var(--text-primary);font-weight:400}.performance-map-page .info-panel strong{color:#06c;font-weight:500}.performance-map-page .info-panel .note{margin-top:24px;padding:20px;background:#f57c000d;border:1px solid rgba(245,124,0,.2);border-left:3px solid #f57c00;border-radius:4px;color:var(--text-primary)}.performance-map-page .info-panel .note strong{color:#f57c00}@media (max-width: 1200px){.performance-map-page{padding:32px 40px}}@media (max-width: 768px){.performance-map-page{padding:24px}.performance-map-page .page-main-title{font-size:24px;margin-bottom:32px}.performance-map-page .metric-buttons{flex-direction:column}.performance-map-page .metric-btn{min-width:100%}.performance-map-page .chart-container{height:300px}.performance-map-page .operating-metrics{grid-template-columns:1fr}}.compliance-center-page{padding:24px;background:var(--bg-primary, #0a0a0f);min-height:100%;color:var(--text-primary, #e8e8f0)}.compliance-center-page .page-main-title{font-size:1.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0 0 24px}.compliance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;margin-bottom:32px}.compliance-column{background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:12px;padding:20px}.compliance-center-page .category-title{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6666a0);margin:0 0 16px;padding:0 0 8px;border-bottom:1px solid var(--border-subtle, #1e1e2e)}.compliance-list{display:flex;flex-direction:column;gap:12px}.compliance-item{background:#f5f5f5;border:1px solid #E0E0E0;border-radius:12px;padding:16px;text-align:left;cursor:pointer;transition:all .2s ease}.compliance-item:hover{background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.compliance-item.selected{background:#e8e8e8;border-color:silver}.item-status-badge{font-size:.6875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:4px;white-space:nowrap}.item-status-badge.active{color:#2e7d32;background:#2e7d3226}.item-status-badge.pending{color:#666;background:#66666626}.item-status-badge.expired{color:#c62828;background:#c6282826}.item-validity{font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#666;display:block}.compliance-detail-panel{position:fixed;bottom:32px;right:32px;width:420px;max-height:600px;background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:12px;box-shadow:0 8px 32px #00000080;overflow:hidden;z-index:1000;animation:slideUpIn .3s ease}.detail-status-badge{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;padding:6px 12px;border-radius:4px;white-space:nowrap}.detail-status-badge.active{color:#2e7d32;background:#2e7d3226}.detail-status-badge.pending{color:var(--text-secondary, #8888a0);background:#8888a026}.detail-status-badge.expired{color:var(--error, #ef4444);background:#ef444426}@media (max-width: 1800px){.compliance-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1400px){.compliance-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.compliance-center-page{padding:32px 24px}.page-main-title{font-size:24px;margin-bottom:36px}.compliance-grid{grid-template-columns:1fr;gap:32px}.compliance-detail-panel{position:fixed;bottom:0;left:0;right:0;width:100%;max-height:80vh;border-radius:12px 12px 0 0}}.external-data-page{padding:24px;background:var(--bg-primary, #0a0a0f);min-height:100%;color:var(--text-primary, #e8e8f0)}.external-data-page .page-main-title{font-size:1.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0 0 24px}.data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;margin-bottom:32px}.data-column{background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:12px;padding:20px}.external-data-page .category-title{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6666a0);margin:0 0 16px;padding:0 0 8px;border-bottom:1px solid var(--border-subtle, #1e1e2e)}.data-list{display:flex;flex-direction:column;gap:12px}.data-item{background:#f5f5f5;border:1px solid #E0E0E0;border-radius:12px;padding:16px;text-align:left;cursor:pointer;transition:all .2s ease}.data-item:hover{background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.data-item.selected{background:#e8e8e8;border-color:silver}.item-name{font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-status-badge{font-size:.6875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:.05em;padding:4px 8px;border-radius:4px;flex-shrink:0}.item-status-badge.connected{background:#2e7d3226;color:#2e7d32}.item-status-badge.syncing{background:#fbc33226;color:#d4a52a}.item-status-badge.disconnected{background:#c6282826;color:#c62828}.item-sync{font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#666}.data-detail-panel{position:fixed;bottom:32px;right:32px;width:420px;max-height:600px;background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:12px;box-shadow:0 8px 32px #00000080;overflow:hidden;z-index:1000}.detail-status-badge{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:.05em;padding:6px 12px;border-radius:4px}.detail-status-badge.connected{background:#2e7d3226;color:#2e7d32}.detail-status-badge.syncing{background:#fbc33226;color:#d4a52a}.detail-status-badge.disconnected{background:#c6282826;color:var(--error, #ef4444)}.action-btn{background:#f5f5f5;border:1px solid #E0E0E0;border-radius:12px;padding:16px;font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;cursor:pointer;transition:all .2s ease;text-align:center}@media (max-width: 1400px){.data-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.external-data-page{padding:24px}.external-data-page .page-main-title{font-size:1.5rem;margin-bottom:20px}.data-grid{grid-template-columns:1fr;gap:16px}.data-detail-panel{left:16px;right:16px;width:auto;bottom:16px}}.report-center-page{padding:24px;background:var(--bg-primary, #0a0a0f);min-height:100%;color:var(--text-primary, #e8e8f0)}.report-center-page .page-main-title{font-size:1.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0 0 24px}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;margin-bottom:32px}.report-column{background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:12px;padding:20px}.report-center-page .category-title{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6666a0);margin:0 0 16px;padding:0 0 8px;border-bottom:1px solid var(--border-subtle, #1e1e2e)}.report-list{display:flex;flex-direction:column;gap:12px}.report-item{background:#f5f5f5;border:1px solid #E0E0E0;border-radius:12px;padding:16px;text-align:left;cursor:pointer;transition:all .2s ease}.report-item:hover{background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.report-item.selected{background:#e8e8e8;border-color:silver}.item-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.item-name{font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;line-height:1.4}.item-frequency{font-size:.6875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;text-transform:uppercase;letter-spacing:.05em}.item-last-generated{font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#666;display:block}.report-detail-panel{position:fixed;bottom:32px;right:32px;width:480px;max-height:600px;background:var(--bg-secondary, #12121a);border:1px solid var(--border-subtle, #1e1e2e);border-radius:12px;box-shadow:0 8px 32px #00000080;overflow:hidden;z-index:1000;animation:slideUpIn .3s ease}@keyframes slideUpIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-subtle, #1e1e2e)}.detail-header h3{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0}.close-detail-btn{background:none;border:none;font-size:2rem;color:var(--text-muted, #6666a0);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .2s ease}.close-detail-btn:hover{color:var(--text-primary, #e8e8f0)}.detail-content{padding:24px;overflow-y:auto;max-height:500px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-subtle, #1e1e2e)}.detail-row:last-of-type{border-bottom:none}.detail-label{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6666a0)}.detail-value{font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0)}.detail-description{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-subtle, #1e1e2e)}.detail-description .detail-label{display:block;margin-bottom:8px}.detail-description p{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.4;color:var(--text-secondary, #8888a0);margin:0}.detail-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-subtle, #1e1e2e)}.action-btn{background:#f5f5f5;border:1px solid #E0E0E0;border-radius:12px;padding:16px;font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;cursor:pointer;transition:all .2s ease;text-align:center;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.action-btn.primary,.action-btn.secondary{background:#f5f5f5;border-color:#e0e0e0}.action-btn.full-width{width:100%}.report-history-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-subtle, #1e1e2e)}.history-title{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6666a0);margin:0 0 12px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-tertiary, #16161e);border:1px solid var(--border-subtle, #1e1e2e);border-radius:8px;transition:all .2s ease}.history-item:hover{background:#8888a00d;border-color:var(--text-secondary, #8888a0)}.history-info{display:flex;flex-direction:column;gap:4px}.history-date{font-size:.8125rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0)}.history-status{font-size:.6875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--text-secondary, #8888a0)}.history-download{background:transparent;border:1px solid var(--border-subtle, #1e1e2e);padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.history-download:hover{background:var(--text-secondary, #8888a0);border-color:var(--text-secondary, #8888a0)}.history-download:hover svg{stroke:var(--bg-primary, #0a0a0f)}.history-download svg{stroke:var(--text-secondary, #8888a0)}.no-history{font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--text-secondary, #8888a0);text-align:center;padding:20px;font-style:italic}.view-all-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle, #1e1e2e)}@media (max-width: 1800px){.report-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1400px){.report-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.report-center-page{padding:24px}.page-main-title{font-size:1.5rem;margin-bottom:20px}.report-grid{grid-template-columns:1fr;gap:16px}.report-detail-panel{position:fixed;bottom:0;left:0;right:0;width:100%;max-height:80vh;border-radius:12px 12px 0 0}}.production-schedule-chart{margin-bottom:32px}.production-schedule-chart .no-data{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary, #8888a0);font-size:1rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.production-schedule-chart .ems-stacked-charts{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);box-shadow:0 2px 8px #00000026;border-radius:12px;padding:24px 24px 40px;position:relative}.production-schedule-chart h2{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin-bottom:20px;color:var(--text-primary, #e8e8f0)}.production-schedule-chart .stacked-chart{display:flex;align-items:stretch;height:100px;margin-bottom:4px;position:relative;transition:all .2s ease}.production-schedule-chart .stacked-chart.clickable-chart:hover{background:#3b82f60d;border-radius:8px;box-shadow:0 0 16px #3b82f626}.production-schedule-chart .hover-line{transition:left .05s ease-out;position:absolute!important;top:0!important;bottom:0!important;height:100%!important}.production-schedule-chart .hover-label{transition:left .05s ease-out;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.production-schedule-chart .stacked-chart .chart-label{width:100px;display:flex;flex-direction:column;justify-content:center;padding-right:12px;flex-shrink:0}.production-schedule-chart .stacked-chart .chart-label .label-text{font-size:.8125rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0)}.production-schedule-chart .stacked-chart .chart-label .label-unit{font-size:.6875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--text-muted, #6666a0)}.production-schedule-chart .stacked-chart .chart-y-labels{width:50px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-right:8px;font-size:.6875rem;color:var(--text-muted, #6666a0);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;flex-shrink:0}.production-schedule-chart .stacked-chart .chart-area{flex:1;background:#ffffff08;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.production-schedule-chart .stacked-chart .chart-area svg{width:100%;height:100%;display:block}.production-schedule-chart .stacked-x-axis,.production-schedule-chart .stacked-x-axis-top{position:relative;height:24px;margin-left:150px;margin-top:8px}.production-schedule-chart .stacked-x-axis-top{margin-top:0;margin-bottom:12px}.production-schedule-chart .stacked-x-axis span,.production-schedule-chart .stacked-x-axis-top span{position:absolute;transform:translate(-50%);font-size:.6875rem;color:var(--text-muted, #6666a0);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.production-schedule-chart .stacked-chart .chart-area:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(90deg,transparent,transparent calc(10% - 1px),rgba(255,255,255,.03) calc(10% - 1px),rgba(255,255,255,.03) 10%);pointer-events:none}.production-schedule-chart .stacked-legend{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15)}.production-schedule-chart .stacked-legend .legend-item{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--text-secondary, #8888a0)}.production-schedule-chart .stacked-legend .legend-dot{width:10px;height:10px;border-radius:50%}.consumption-deviation-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:4px;margin-bottom:16px;border-left:4px solid;position:relative}.consumption-deviation-banner.info{background-color:#e3f2fd;border-color:#2196f3;color:#1565c0}.consumption-deviation-banner.warning{background-color:#fff3e0;border-color:#ff9800;color:#e65100}.consumption-deviation-banner .banner-icon{flex-shrink:0;padding-top:2px}.consumption-deviation-banner .banner-content{flex:1}.consumption-deviation-banner .banner-title{font-weight:600;font-size:14px;margin-bottom:4px}.consumption-deviation-banner .banner-message{font-size:13px;line-height:1.5}.consumption-deviation-banner .banner-action{font-size:12px;margin-top:6px;opacity:.9;font-style:italic}.banner-learn-more{flex-shrink:0;background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s;color:inherit}.banner-learn-more:hover{background-color:#0000001a}.deviation-explanation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.deviation-explanation-modal{background:#fff;border-radius:8px;max-width:700px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.deviation-explanation-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.deviation-explanation-modal .modal-header h3{margin:0;font-size:20px;font-weight:600;color:#333}.deviation-explanation-modal .modal-close-btn{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#666;transition:background-color .2s}.deviation-explanation-modal .modal-close-btn:hover{background-color:#f5f5f5;color:#333}.deviation-explanation-modal .modal-body{padding:24px;color:#333;line-height:1.6}.deviation-explanation-modal .modal-body p{margin:0 0 16px}.deviation-explanation-modal .modal-body h4{margin:20px 0 12px;font-size:16px;font-weight:600;color:#1565c0}.deviation-explanation-modal .modal-body ul{margin:0 0 16px;padding-left:24px}.deviation-explanation-modal .modal-body li{margin-bottom:12px}.deviation-explanation-modal .modal-body strong{font-weight:600;color:#1565c0}.deviation-explanation-modal .modal-footer-note{margin-top:20px;padding:12px;background-color:#f5f5f5;border-radius:4px;border-left:3px solid #2196f3;font-size:14px}[data-theme=dark] .consumption-deviation-banner.info{background-color:#0d47a1;border-color:#64b5f6;color:#bbdefb}[data-theme=dark] .consumption-deviation-banner.warning{background-color:#e65100;border-color:#ffb74d;color:#fff3e0}[data-theme=dark] .banner-learn-more:hover{background-color:#ffffff1a}[data-theme=dark] .deviation-explanation-modal{background:#1e1e1e;color:#e0e0e0}[data-theme=dark] .deviation-explanation-modal .modal-header{border-bottom-color:#333}[data-theme=dark] .deviation-explanation-modal .modal-header h3{color:#e0e0e0}[data-theme=dark] .deviation-explanation-modal .modal-close-btn{color:#999}[data-theme=dark] .deviation-explanation-modal .modal-close-btn:hover{background-color:#333;color:#e0e0e0}[data-theme=dark] .deviation-explanation-modal .modal-body{color:#e0e0e0}[data-theme=dark] .deviation-explanation-modal .modal-body h4,[data-theme=dark] .deviation-explanation-modal .modal-body strong{color:#64b5f6}[data-theme=dark] .deviation-explanation-modal .modal-footer-note{background-color:#2a2a2a;border-left-color:#64b5f6}.ems-page{padding:24px;background:var(--bg-primary, #0a0a0f);min-height:100%;color:var(--text-primary, #e8e8f0);position:relative;overflow:hidden}.ems-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;pointer-events:none;z-index:0}.ems-page>*{position:relative;z-index:1}.ems-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.ems-header h1{font-size:1.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0}.ems-header-right{display:flex;align-items:center;gap:20px}.facility-mw{display:flex;align-items:baseline;gap:8px;padding:8px 16px;background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:8px}.facility-mw-value{font-size:1.5rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0)}.facility-mw-label{font-size:.8125rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-muted, #6666a0)}.ems-status{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.status-ok{color:var(--text-secondary, #8888a0)}.status-error{color:var(--error, #ef4444)}.auth-spinner{display:flex;align-items:center;justify-content:center;padding:8px}.auth-spinner .spinner{width:20px;height:20px;border:2px solid var(--border-subtle, #1e1e2e);border-top-color:var(--text-secondary, #8888a0);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ems-loading{display:flex;align-items:center;justify-content:center;height:400px;color:var(--text-secondary, #8888a0);font-size:1.125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.ems-status-overview{display:grid;grid-template-columns:1fr auto;gap:16px;margin-bottom:24px}.ems-current-status{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.status-gradient-bar{position:absolute;top:0;bottom:0;left:0;right:0;background:transparent;border-radius:50px;pointer-events:none;z-index:0}.status-card{background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:14px 16px;box-shadow:0 2px 8px #00000026;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;min-height:90px;transition:all .2s ease}.status-card:hover{background:#ffffff1f;border-color:#ffffff4d}.production-progress-bar{position:absolute;top:0;left:0;bottom:0;right:0;z-index:0}.production-progress-fill{position:absolute;top:0;left:0;bottom:0;background:transparent;transition:width .5s ease}.status-card.production .card-label,.status-card.production .card-value,.status-card.production .card-detail{position:relative;z-index:1}.storage-progress-bar{position:absolute;top:0;left:0;bottom:0;right:0;z-index:0}.storage-progress-fill{position:absolute;bottom:0;left:0;right:0;background:transparent;transition:height .5s ease}.status-card.storage .card-label,.status-card.storage .card-value,.status-card.storage .card-detail{position:relative;z-index:1}.price-progress-bar{position:absolute;top:0;left:0;bottom:0;right:0;z-index:0}.price-progress-fill{position:absolute;bottom:0;left:0;right:0;background:transparent;transition:height .5s ease}.status-card.price .card-label,.status-card.price .card-value,.status-card.price .card-detail{position:relative;z-index:1}.efficiency-progress-bar{position:absolute;top:0;left:0;bottom:0;right:0;z-index:0}.efficiency-progress-fill{position:absolute;bottom:0;left:0;right:0;background:transparent;transition:height .5s ease}.status-card.efficiency .card-label,.status-card.efficiency .card-value,.status-card.efficiency .card-detail{position:relative;z-index:1}.status-card .card-label{font-size:.6875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #8888a0);margin-bottom:6px}.status-card .card-value{font-size:1.5rem;font-weight:600;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin-bottom:4px;line-height:1.1}.status-card .card-detail{font-size:.6875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--text-secondary, #8888a0);opacity:.7}.ems-cost-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:32px;padding:24px;background:#ffffff1f!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border-radius:50px!important;border:2px solid rgba(255,255,255,.25)!important;box-shadow:0 2px 8px #0000001a!important;position:relative}.cost-card{text-align:center;position:relative;z-index:1}.cost-card .cost-label{font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#292938!important;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.cost-card .cost-value{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0)}.cost-card .cost-percent{font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--text-secondary, #8888a0)}.cost-card.total .cost-value{font-size:1.5rem}.ems-stacked-charts{margin-bottom:32px;background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:24px}.ems-stacked-charts h2{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin-bottom:20px;color:var(--text-primary, #e8e8f0)}.stacked-chart{display:flex;align-items:stretch;height:100px;margin-bottom:4px;position:relative}.stacked-chart .chart-label{width:100px;display:flex;flex-direction:column;justify-content:center;padding-right:12px;flex-shrink:0}.stacked-chart .chart-label .label-text{font-size:.8125rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0)}.stacked-chart .chart-label .label-unit{font-size:.6875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--text-muted, #6666a0)}.stacked-chart .chart-y-labels{width:50px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-right:8px;font-size:.6875rem;color:var(--text-muted, #6666a0);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;flex-shrink:0}.stacked-chart .chart-area{flex:1;background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.stacked-chart .chart-area svg{width:100%;height:100%;display:block}.stacked-x-axis,.stacked-x-axis-top{position:relative;height:24px;margin-left:150px;margin-top:8px}.stacked-x-axis-top{margin-top:0;margin-bottom:12px}.stacked-x-axis span,.stacked-x-axis-top span{position:absolute;transform:translate(-50%);font-size:.6875rem;color:var(--text-muted, #6666a0);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.stacked-chart .chart-area:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(90deg,transparent,transparent calc(10% - 1px),rgba(255,255,255,.03) calc(10% - 1px),rgba(255,255,255,.03) 10%);pointer-events:none}.stacked-legend{display:flex;gap:24px;justify-content:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle, #1e1e2e)}.stacked-legend .legend-item{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--text-secondary, #8888a0)}.stacked-legend .legend-dot{width:10px;height:10px;border-radius:50%}.ems-table-section{margin-bottom:32px}.ems-table-section h2{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin-bottom:16px;color:var(--text-primary, #e8e8f0)}.ems-table-wrapper{background:transparent;border:none;border-radius:0;display:flex;flex-direction:column;overflow-x:auto}.ems-table-wrapper .ems-table thead{display:table;width:100%;min-width:1400px;table-layout:fixed}.ems-table-wrapper .ems-table tbody{display:block;max-height:400px;min-width:1400px;overflow-y:auto}.ems-table-wrapper .ems-table tbody tr{display:table;width:100%;min-width:1400px;table-layout:fixed}.ems-table{width:100%;min-width:1400px;border-collapse:collapse;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background:transparent}.ems-table th{background:transparent;padding:12px 16px;text-align:left;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;border-bottom:none}.ems-table td{padding:10px 16px;border-bottom:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:.8125rem}.ems-table tr:hover{background:#ffffff05}.ems-table tr.current-row{background:#22c55e1a}.ems-table tr.current-row td{color:#22c55e}.ems-metadata{display:flex;flex-wrap:nowrap;align-items:stretch;gap:16px}.metadata-card{display:flex;flex-wrap:nowrap;align-items:center;gap:24px;padding:16px 24px;background:#ffffff1f!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border-radius:50px!important;border:2px solid rgba(255,255,255,.25)!important;box-shadow:0 4px 16px #00000026!important}.metadata-item{display:flex;gap:8px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.metadata-item .label{color:var(--text-muted, #6666a0)}.metadata-item .value{color:var(--text-primary, #e8e8f0)}.metadata-item.metadata-button{margin-left:auto;display:flex;align-items:stretch}.metadata-item.metadata-button .rerun-optimization-btn{display:flex;align-items:center}.rerun-optimization-btn{padding:10px 20px!important;background:#ffffff0d!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;color:var(--text-primary, #e8e8f0)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:50px!important;font-size:13px!important;font-weight:500!important;font-family:Helvetica Neue,Helvetica,Arial,sans-serif!important;cursor:pointer!important;transition:all .2s ease!important;box-shadow:0 2px 8px #00000026!important}.rerun-optimization-btn:hover:not(:disabled){background:#ffffff1a!important;border-color:#ffffff59!important}.rerun-optimization-btn:active:not(:disabled){background:#ffffff14!important}.rerun-optimization-btn:disabled{opacity:.4!important;cursor:not-allowed!important}.ems-table-wrapper::-webkit-scrollbar,.ems-table tbody::-webkit-scrollbar{width:6px}.ems-table-wrapper::-webkit-scrollbar-track,.ems-table tbody::-webkit-scrollbar-track{background:transparent}.ems-table-wrapper::-webkit-scrollbar-thumb,.ems-table tbody::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:10px}.ems-table-wrapper::-webkit-scrollbar-thumb:hover,.ems-table tbody::-webkit-scrollbar-thumb:hover{background:#ffffff40}[data-theme=light] .ems-table-wrapper::-webkit-scrollbar-thumb,[data-theme=light] .ems-table tbody::-webkit-scrollbar-thumb{background:#00000026;border-radius:10px}[data-theme=light] .ems-table-wrapper::-webkit-scrollbar-thumb:hover,[data-theme=light] .ems-table tbody::-webkit-scrollbar-thumb:hover{background:#00000040}.floating-window.light-mode .ems-page{background:#fff;color:#1a1a1a}.floating-window.light-mode .ems-header h1{color:#1a1a1a}.floating-window.light-mode .facility-mw{background:#f5f5f5;border:none}.floating-window.light-mode .facility-mw-value{color:#1a1a1a}.floating-window.light-mode .facility-mw-label,.floating-window.light-mode .status-ok,.floating-window.light-mode .ems-loading,.floating-window.light-mode .ems-error{color:#616161}.floating-window.light-mode .ems-cards{background:transparent}.floating-window.light-mode .ems-card{background:#fff;border-color:#e0e0e0}.floating-window.light-mode .ems-card-title{color:#1a1a1a}.floating-window.light-mode .ems-current-point{background:#f5f5f5;border-color:#e0e0e0}.floating-window.light-mode .current-point-label{color:#616161}.floating-window.light-mode .current-point-value{color:#1a1a1a}.floating-window.light-mode .current-point-unit{color:#616161}.floating-window.light-mode .ems-metadata{background:#f5f5f5;border:none}.floating-window.light-mode .metadata-item .label{color:#616161}.floating-window.light-mode .metadata-item .value{color:#1a1a1a}.floating-window.light-mode .ems-table-wrapper::-webkit-scrollbar-track,.floating-window.light-mode .ems-table tbody::-webkit-scrollbar-track{background:transparent}.floating-window.light-mode .ems-table-wrapper::-webkit-scrollbar-thumb,.floating-window.light-mode .ems-table tbody::-webkit-scrollbar-thumb{background:#00000026;border-radius:10px}.floating-window.light-mode .ems-table-wrapper::-webkit-scrollbar-thumb:hover,.floating-window.light-mode .ems-table tbody::-webkit-scrollbar-thumb:hover{background:#00000040}.floating-window.light-mode .ems-table{border-color:#e0e0e0}.floating-window.light-mode .ems-table th{background:#fafafa;color:#616161;border-color:#eee;font-size:.75rem;font-weight:500;letter-spacing:.08em}.floating-window.light-mode .ems-table td{color:#1a1a1a;border-color:#e0e0e0}.floating-window.light-mode .ems-table tr:hover{background:#fafafa}.floating-window.light-mode .auth-spinner .spinner{border-color:#e0e0e0;border-top-color:#616161}.ems-quick-actions-compact{display:flex;flex-direction:column;gap:8px;min-width:220px}.action-card-compact{background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #00000026;border-radius:4px;padding:12px 14px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:row;align-items:center;gap:10px}.action-card-compact:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translate(2px)}.action-card-compact:disabled{opacity:.5;cursor:not-allowed}.action-card-compact svg{flex-shrink:0;stroke:currentColor}.action-card-compact span{font-size:.875rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);white-space:nowrap}.action-card-compact.action-card-neutral{border-color:#fff3}.action-card-compact.action-card-neutral:hover{border-color:#6496ff80;background:#6496ff1a}.action-card-compact.action-card-warning{border-color:#ffc8004d}.action-card-compact.action-card-warning:hover{border-color:#ffc80080;background:#ffc8001a}.action-card-compact.action-card-danger{border-color:#ff46464d}.action-card-compact.action-card-danger:hover{border-color:#ff464680;background:#ff46461a}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--text-primary, #e8e8f0);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@media (max-width: 1600px){.ems-status-overview{grid-template-columns:1fr}.ems-quick-actions-compact{flex-direction:row;flex-wrap:wrap;min-width:100%}.action-card-compact{flex:1;min-width:200px}}@media (max-width: 1200px){.ems-current-status{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.ems-current-status{grid-template-columns:1fr}.action-card-compact{min-width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow:auto;box-shadow:0 8px 32px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-subtle, #1e1e2e)}.modal-header h3{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary, #e8e8f0);margin:0}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-muted, #6666a0);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.modal-close:hover{color:var(--text-primary, #e8e8f0)}.modal-body{padding:24px}.modal-body p{font-size:1rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-secondary, #8888a0);text-align:center;margin:40px 0}.ems-quick-actions .action-card-production{background:#ffffff1f!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:2px solid rgba(255,255,255,.25)!important;box-shadow:0 2px 8px #0000001a!important}.ems-quick-actions .action-card-production:hover{background:#ffffff2e!important;border:2px solid rgba(255,255,255,.25)!important}.ems-quick-actions .action-card-consumption{background:#ffffff1f!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:2px solid rgba(255,255,255,.25)!important;box-shadow:0 2px 8px #0000001a!important}.ems-quick-actions .action-card-consumption:hover{background:#ffffff2e!important;border:2px solid rgba(255,255,255,.25)!important}.ems-quick-actions .action-card-neutral{background:#ffffff1f!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:2px solid rgba(255,255,255,.25)!important;box-shadow:0 2px 8px #0000001a!important}.ems-quick-actions .action-card-neutral:hover{background:#ffffff2e!important;border:2px solid rgba(255,255,255,.25)!important}.ems-quick-actions .action-card-warning{background:#ffffff1f!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:2px solid rgba(255,255,255,.25)!important;box-shadow:0 2px 8px #0000001a!important}.ems-quick-actions .action-card-warning:hover{background:#ffffff2e!important;border:2px solid rgba(255,255,255,.25)!important}.ems-quick-actions .action-card-danger{background:#ffffff1f!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:2px solid rgba(255,255,255,.25)!important;box-shadow:0 2px 8px #0000001a!important}.ems-quick-actions .action-card-danger:hover{background:#ffffff2e!important;border:2px solid rgba(255,255,255,.25)!important}.plan-production-page{padding:24px 48px;background:#fff;min-height:100%;color:#1a1a1a;width:100%;box-sizing:border-box}.page-content{width:100%;max-width:2800px;margin:0 auto}.device-selector-label{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#1a1a1a;margin:0}.device-selector{padding:8px 12px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;border:1px solid #CCCCCC;border-radius:6px;background:#fff;color:#1a1a1a;cursor:pointer;outline:none;min-width:200px}.device-selector:hover{border-color:#666}.device-selector:focus{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e81a}.loading-text,.error-text{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666}.error-text{color:#d32f2f}.loading-state,.error-state{padding:48px 24px;text-align:center;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666}.error-state{color:#d32f2f}.actions-section{margin-bottom:32px}.actions-section h2{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin-bottom:20px;color:#1a1a1a;margin-top:0}.action-buttons-grid{display:flex;flex-direction:column;gap:16px}.action-button{background:#f5f5f5;border:1px solid #E0E0E0;border-radius:12px;padding:20px;width:100%;cursor:pointer;transition:all .2s ease;font-size:1.125rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;text-align:center}.action-button:hover{background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.action-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.downtimes-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.downtimes-section{display:flex;flex-direction:column}.downtimes-section h2{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin-bottom:20px;color:#1a1a1a;margin-top:0}.empty-state{background:#fafafa;border:1px solid #E0E0E0;border-radius:12px;padding:30px;text-align:center;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#999}.downtimes-list{display:flex;flex-direction:column;gap:12px}.downtime-card{background:#fafafa;border:1px solid #E0E0E0;border-radius:12px;padding:20px;transition:all .2s ease}.downtime-card:hover{border-color:#d0d0d0;box-shadow:0 2px 8px #0000000d}.downtime-card.previous{opacity:.7}.downtime-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.downtime-title{font-size:1rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0}.delete-btn{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.delete-btn:hover{color:#ef4444}.downtime-description{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;margin:0 0 12px;line-height:1.4}.no-description{color:#999;font-style:italic}.downtime-dates{display:flex;flex-direction:column;gap:8px}.date-item{display:flex;gap:8px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.date-label{color:#999;min-width:40px}.date-value{color:#1a1a1a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border:1px solid #E0E0E0;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #E0E0E0}.modal-title{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0}.modal-close-btn{background:none;border:none;font-size:1.75rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close-btn:hover{color:#1a1a1a}.modal-body{padding:24px;display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#666}.form-input,.form-textarea{background:#fff;border:1px solid #D0D0D0;border-radius:8px;padding:12px;font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;outline:none;transition:border-color .2s;width:100%}.form-input:hover,.form-textarea:hover{border-color:#1a1a1a}.form-input:focus,.form-textarea:focus{border-color:#1a1a1a}.datetime-picker{width:100%;box-sizing:border-box}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.react-datepicker{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;border:1px solid #E0E0E0;border-radius:12px;box-shadow:0 8px 32px #00000026}.react-datepicker__header{background:#fafafa;border-bottom:1px solid #E0E0E0;border-radius:12px 12px 0 0;padding:12px 0}.react-datepicker__current-month{font-size:.9375rem;font-weight:500;color:#1a1a1a}.react-datepicker__day-name{color:#666;font-size:.75rem;font-weight:400}.react-datepicker__day{color:#1a1a1a;border-radius:6px;font-size:.875rem}.react-datepicker__day:hover{background:#f5f5f5}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background:#1a1a1a;color:#fff}.react-datepicker__day--selected:hover{background:#000}.react-datepicker__time-container{border-left:1px solid #E0E0E0}.react-datepicker__time-list-item{font-size:.875rem;padding:8px 12px}.react-datepicker__time-list-item:hover{background:#f5f5f5}.react-datepicker__time-list-item--selected{background:#1a1a1a!important;color:#fff!important;font-weight:500}.react-datepicker__today-button{background:#f5f5f5;border-top:1px solid #E0E0E0;color:#1a1a1a;padding:12px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:400;cursor:pointer;border-radius:0 0 12px 12px}.react-datepicker__today-button:hover{background:#ececec}.react-datepicker__navigation{top:12px}.react-datepicker__navigation--previous{left:12px}.react-datepicker__navigation--next{right:12px}.form-textarea{resize:vertical;min-height:80px}.form-textarea::placeholder{color:#999}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 24px;border-top:1px solid #E0E0E0}.modal-btn{background:#f5f5f5;border:1px solid #E0E0E0;border-radius:12px;padding:12px 24px;font-size:.875rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;cursor:pointer;transition:all .2s ease;min-width:100px}.modal-btn:hover{background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.modal-btn.confirm{background:#f5f5f5;color:#1a1a1a}.skeleton-card{padding:16px;opacity:.6}.skeleton-title{height:24px;width:70%}.skeleton-text{height:16px;width:90%}@media (max-width: 1024px){.downtimes-grid{grid-template-columns:1fr;gap:32px}.plan-production-page{padding:24px 32px}}@media (max-width: 768px){.modal-content{width:95%;max-height:95vh}.form-row{grid-template-columns:1fr}.plan-production-page{padding:16px 24px}}.capacity-popup{max-width:500px}.capacity-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.capacity-info-item{padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #E0E0E0}.capacity-info-item.highlight{background:#e8f5e9;border-color:#4caf50}.capacity-info-label{font-size:.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#666;margin-bottom:4px}.capacity-info-value{font-size:1.125rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a}.capacity-info-item.highlight .capacity-info-value{color:#2e7d32;font-size:1.5rem}.routine-modal{max-width:800px}.shifts-section{margin-bottom:24px}.shifts-section h3{font-size:1rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0 0 16px}.shift-card{background:#f8f9fa;border:1px solid #E0E0E0;border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s}.shift-card:hover{border-color:#d0d0d0;box-shadow:0 2px 8px #0000000d}.shift-card.editing{border-color:#1a73e8;box-shadow:0 2px 12px #1a73e833}.shift-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.shift-header h4{font-size:1rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0}.shift-badge{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em}.shift-badge.downtime{background:#fee;color:#c33}.shift-badge.production{background:#e8f5e9;color:#2e7d32}.shift-details{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.shift-time,.shift-days,.shift-capacity{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666}.shift-time{font-weight:500;color:#1a1a1a}.shift-actions{display:flex;gap:8px;margin-top:8px}.btn-icon{background:#fff;border:1px solid #E0E0E0;border-radius:6px;padding:6px 12px;font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;cursor:pointer;transition:all .2s}.btn-icon:hover{background:#f5f5f5;border-color:#d0d0d0}.btn-icon.delete:hover{background:#fee;border-color:#fcc;color:#c33}.shift-edit-form,.shift-add-form{display:flex;flex-direction:column;gap:16px}.shift-add-form h3{font-size:1rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0}.day-checkbox{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #D0D0D0;border-radius:6px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.day-checkbox:hover{background:#f5f5f5;border-color:#1a1a1a}.day-checkbox input[type=checkbox]{cursor:pointer}.day-checkbox input[type=checkbox]:checked+span,.day-checkbox:has(input[type=checkbox]:checked){background:#e8f5e9;border-color:#4caf50;font-weight:500}.inline-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.btn-primary,.btn-secondary,.btn-delete{padding:8px 16px;border-radius:6px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s;border:1px solid}.btn-primary{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.btn-primary:hover{background:#000;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.btn-secondary{background:#fff;color:#666;border-color:#d0d0d0}.btn-secondary:hover{background:#f5f5f5;border-color:#1a1a1a;color:#1a1a1a}.btn-secondary.full-width{width:100%;padding:12px}.add-shift-section{margin-top:16px}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width: 767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;position:absolute;right:0;margin-right:10px;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.production-schedule-calendar{margin-top:48px;padding:24px;background:#f8f9fa;border:1px solid #E0E0E0;border-radius:8px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.calendar-header h2{font-size:1.25rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0}.calendar-legend{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.legend-section{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.legend-section-title{font-size:.75rem;font-weight:600;color:#1a1a1a;margin-right:4px}.legend-divider{width:1px;height:24px;background:#e0e0e0}.legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#666}.legend-color{width:24px;height:16px;border-radius:3px;border-left-width:4px;border-left-style:solid;border:1px solid rgba(0,0,0,.1)}.legend-label{white-space:nowrap}.calendar-skeleton{width:100%;height:546px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.calendar-container{background:#fff;border-radius:6px;padding:16px;box-shadow:0 1px 3px #0000000d}.rbc-event.production-capacity-bg{color:transparent!important;font-size:0!important;line-height:0!important;text-indent:-9999px!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important;left:0%!important;width:100%!important;position:absolute!important;box-sizing:border-box!important;overflow:hidden!important}.production-capacity-bg *,.rbc-event.production-capacity-bg *{display:none!important;visibility:hidden!important}.rbc-timeslot-group{min-height:39px}.rbc-event:not(.rbc-background-event){z-index:10;position:relative}.rbc-calendar{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.rbc-header{padding:12px 4px;font-weight:500;font-size:.875rem;color:#666;border-bottom:2px solid #E0E0E0}.rbc-today{background-color:#f5f5f5}.rbc-toolbar button{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem;color:#1a1a1a;border:1px solid #E0E0E0;background:#fff;padding:8px 16px;border-radius:4px;transition:all .2s ease}.rbc-toolbar button:hover{background:#f5f5f5;border-color:#1a73e8}.rbc-toolbar button.rbc-active{background:#1a73e8;color:#fff;border-color:#1a73e8}.rbc-event{font-size:.8rem;padding:2px 5px}.rbc-event-label{font-size:.75rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.production-chart-downtime{background:#fff;border:1px solid #E0E0E0;border-radius:8px;padding:24px;margin-bottom:30px;box-shadow:0 1px 3px #00000014}.production-chart-downtime .chart-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.production-chart-downtime .chart-header h3{margin:0 0 8px;font-size:1.25rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;font-weight:500}.production-chart-downtime .chart-subtitle{margin:0;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;line-height:1.4}.production-chart-downtime .downtime-badge{color:#d32f2f;font-weight:600}.production-chart-downtime .no-data{text-align:center;padding:60px 20px;color:#666;font-size:1rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.production-chart-container{position:relative}.production-chart-downtime .chart-x-axis-top{position:relative;height:50px;margin-bottom:8px;border-bottom:1px solid #E0E0E0}.production-chart-downtime .chart-x-axis-top span{position:absolute;transform:translate(-50%);text-align:center;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;line-height:1.3;white-space:nowrap}.production-chart-downtime .chart-wrapper{display:flex;align-items:stretch;height:250px;margin:12px 0}.production-chart-downtime .chart-y-labels{display:flex;flex-direction:column;justify-content:space-between;padding-right:12px;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;font-weight:500;min-width:40px;text-align:right}.production-chart-downtime .chart-area{flex:1;background:#f8f9fa;border-radius:6px;border:1px solid #E0E0E0;overflow:hidden;position:relative}.production-chart-downtime .chart-area svg{width:100%;height:100%;display:block}.production-chart-downtime .chart-legend{display:flex;gap:24px;justify-content:center;margin:16px 0 8px;padding:12px;background:#f8f9fa;border:1px solid #E0E0E0;border-radius:6px}.production-chart-downtime .chart-legend .legend-item{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a}.production-chart-downtime .chart-legend .legend-line{width:30px;height:2px;border-radius:1px}.production-chart-downtime .chart-legend .legend-line.original{background:#22c55e;opacity:.4;border:1px dashed #22c55e}.production-chart-downtime .chart-legend .legend-line.adjusted{background:#22c55e;height:3px}.production-chart-downtime .chart-legend .legend-box{width:20px;height:14px;border-radius:3px}.production-chart-downtime .chart-legend .legend-box.downtime{background:linear-gradient(180deg,#ef444499,#ef444433)}.production-chart-downtime .chart-legend .legend-box.manual-production{background:linear-gradient(180deg,#10b981b3,#10b9814d)}.production-chart-downtime .chart-x-axis-bottom{position:relative;height:45px;margin-top:8px;border-top:1px solid #E0E0E0;padding-top:8px}.production-chart-downtime .chart-x-axis-bottom span{position:absolute;transform:translate(-50%);text-align:center;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;line-height:1.3;white-space:nowrap}.constraint-error-banner{background:linear-gradient(135deg,#fff3cd,#fff8e1);border:2px solid #ffc107;border-left:6px solid #ff9800;border-radius:8px;margin:16px 0;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .3s ease}.constraint-error-banner:hover{box-shadow:0 4px 12px #00000026}.constraint-error-banner.warning{border-color:#ffc107;border-left-color:#ff9800}.constraint-error-banner.error{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#f44336;border-left-color:#d32f2f}.error-banner-main{display:flex;align-items:flex-start;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none}.error-banner-main:hover{background:#ffffff4d}.error-icon-container{flex-shrink:0;margin-right:16px}.error-icon{font-size:32px;line-height:1;animation:pulse 2s ease-in-out infinite}.error-content{flex:1;min-width:0}.error-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:8px}.error-title{font-size:1rem;font-weight:600;color:#e65100}.error-timestamp{font-size:.85rem;color:#666;font-weight:400}.error-message{font-size:.95rem;color:#333;line-height:1.5;margin-bottom:8px}.error-hint{font-size:.8rem;color:#999;font-style:italic}.error-expand-indicator{flex-shrink:0;margin-left:16px;display:flex;align-items:center}.expand-arrow{font-size:14px;color:#666;transition:transform .3s ease}.expand-arrow.expanded{transform:rotate(180deg)}.error-details{border-top:1px solid rgba(255,152,0,.3);padding:20px;background:#ffffff80;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:500px;padding-top:20px;padding-bottom:20px}}.details-header{font-size:1rem;font-weight:600;color:#e65100;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #ffc107}.detail-row{display:flex;margin-bottom:12px;line-height:1.6}.detail-label{font-weight:600;color:#555;min-width:160px;margin-right:12px}.detail-value{color:#333;flex:1}.detail-value.technical{font-family:Courier New,monospace;font-size:.9rem;background:#0000000d;padding:8px;border-radius:4px;word-break:break-word}.error-resolution{margin-top:16px;padding:12px;background:#ff98001a;border-left:4px solid #ff9800;border-radius:4px;font-size:.9rem;line-height:1.6;color:#333}.error-resolution strong{color:#e65100;display:block;margin-bottom:4px}@media (max-width: 768px){.error-banner-main{padding:12px 16px}.error-icon-container{margin-right:12px}.error-icon{font-size:24px}.error-header{flex-direction:column;align-items:flex-start}.detail-row{flex-direction:column}.detail-label{margin-bottom:4px}}.production-capacity-selector{width:100%}.production-capacity-selector .capacity-inputs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:0}.production-capacity-selector .capacity-inputs .form-group{flex:1 1 150px;min-width:150px}.production-capacity-selector .form-group{margin-bottom:0}.production-capacity-selector .capacity-input-wrapper{position:relative;width:100%}.production-capacity-selector .capacity-input-wrapper input{padding-right:50px}.production-capacity-selector .capacity-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#666;font-size:.875rem;font-weight:500;pointer-events:none}.production-capacity-selector .form-input{background-color:#f8f9fa;border:1px solid #E0E0E0;color:#666;font-weight:400;text-align:center}.production-capacity-selector .form-input:focus{background-color:#fff;border-color:#1a73e8;color:#1a1a1a}.production-capacity-selector .form-input.capacity-primary{border-color:#1a73e8;background-color:#fff;color:#1a1a1a;font-weight:500}.production-capacity-selector .form-input.input-error{border-color:#d32f2f;background-color:#ffebee;color:#d32f2f}.production-capacity-selector .form-input.input-disabled,.production-capacity-selector .form-input:disabled{background-color:#f0f0f0;color:#999;cursor:not-allowed;opacity:.6}.production-capacity-selector .input-error-message{color:#d32f2f;font-size:.75rem;margin-top:4px;text-align:center}.production-capacity-selector .duration-info{color:#666;font-size:.75rem;margin-top:4px;text-align:center;font-style:italic}.plan-consumption-page{padding:24px 48px;background:#fff;min-height:100%;color:#1a1a1a;width:100%;box-sizing:border-box}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.confirm-dialog-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;min-width:400px;max-width:500px;animation:slideUp .3s ease}.confirm-dialog-header{padding:24px 24px 16px;border-bottom:1px solid #E0E0E0}.confirm-dialog-title{margin:0;font-size:1.25rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a}.confirm-dialog-body{padding:24px}.confirm-dialog-message{margin:0;font-size:.95rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;line-height:1.5}.confirm-dialog-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-btn{background:#f5f5f5;color:#1a1a1a;border:1px solid #E0E0E0;border-radius:12px;padding:12px 24px;font-size:.9rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease;min-width:100px}.confirm-dialog-btn:hover{background:#ececec;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.confirm-dialog-btn.cancel{background:#f5f5f5;color:#1a1a1a;border-color:#e0e0e0}.confirm-dialog-btn.cancel:hover{background:#ececec;border-color:#d0d0d0}.confirm-dialog-btn.confirm{background:#ef4444;color:#fff;border-color:#ef4444}.confirm-dialog-btn.confirm:hover{background:#dc2626;border-color:#dc2626}.confirm-dialog-btn:active{transform:translateY(0)}.page-content{width:100%;max-width:980px;margin:0 auto}.page-header{margin-bottom:32px}.page-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.breadcrumb-nav{display:flex;align-items:center;gap:8px;font-size:1.5rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.breadcrumb-link{background:none;border:none;color:#666;font-size:1.5rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;padding:0;transition:color .2s ease}.breadcrumb-link:hover{color:#1a1a1a;text-decoration:underline}.breadcrumb-separator{color:#999;font-weight:300}.breadcrumb-current{color:#1a1a1a;font-weight:400}.go-back-btn{padding:10px 20px;background:#0000000d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#1a1a1a;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-size:13px;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000014}.go-back-btn:hover{background:#0000001a;border-color:#00000040}.page-header h1{font-size:1.75rem;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0 0 12px}.page-description{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;margin:0;line-height:1.4}.device-selector-section{margin-bottom:32px;padding:16px 20px;background:#f8f9fa;border:1px solid #E0E0E0;border-radius:8px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.optimization-timestamp{font-size:12px;color:#666;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;margin-left:auto;margin-right:12px}.rerun-optimization-btn{padding:10px 20px;background:#fafafa;color:#1a1a1a;border:1px solid #E8E8E8;border-radius:8px;font-size:13px;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease}.rerun-optimization-btn:hover:not(:disabled){background:#fff;border-color:#ccc;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.rerun-optimization-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #0000000f}.rerun-optimization-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.device-selector-label{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#1a1a1a;min-width:100px}.device-selector{flex:1;max-width:400px;padding:10px 14px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;border:1px solid #E0E0E0;border-radius:6px;background:#fff;color:#1a1a1a;cursor:pointer;transition:all .2s ease}.device-selector:hover{border-color:#1a73e8}.device-selector:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e81a}.device-selector-skeleton{height:38px;min-width:200px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:6px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.actions-section{margin-bottom:32px;padding:20px;background:#f8f9fa;border:1px solid #E0E0E0;border-radius:8px}.actions-section h2{font-size:1.125rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0 0 16px}.action-button{padding:12px 24px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#fff;background:#1a73e8;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;margin-right:12px}.action-button:hover:not(:disabled){background:#1557b0;box-shadow:0 2px 6px #1a73e84d}.action-button:disabled{background:#e0e0e0;color:#999;cursor:not-allowed}.actions-buttons{display:flex;gap:12px;flex-wrap:wrap}.action-button.secondary{background:#5f6368}.action-button.secondary:hover:not(:disabled){background:#484b4f}.error-banner{padding:12px 16px;background:#fee;border:1px solid #FCC;border-radius:6px;color:#c33;font-size:.875rem;margin-bottom:16px}.schedule-section{padding:20px;background:#f8f9fa;border:1px solid #E0E0E0;border-radius:8px;margin-bottom:48px}.schedule-section h2{font-size:1.125rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0 0 20px}.schedule-skeleton{padding:16px}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px;margin-bottom:12px}.skeleton-title{height:24px;width:200px}.skeleton-text{height:16px;width:300px}.schedule-display{background:#fff;padding:20px;border-radius:6px;border:1px solid #E0E0E0}.schedule-info{display:flex;gap:12px;margin-bottom:20px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.schedule-label{font-weight:500;color:#666}.shifts-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.shift-card{padding:16px;background:#f8f9fa;border:1px solid #E0E0E0;border-radius:6px}.shift-card h3{font-size:1rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0 0 8px}.shift-time{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a73e8;font-weight:500;margin:0 0 4px}.shift-capacity-display{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;margin:0 0 4px}.shift-capacity-display strong{color:#2e7d32;font-weight:600}.shift-days{font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;margin:0}.empty-state{padding:40px;text-align:center;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#999;background:#fff;border:1px solid #E0E0E0;border-radius:6px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column}.schedule-modal{max-width:800px}.modal-header{padding:20px 24px;border-bottom:1px solid #E0E0E0;display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:1.25rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0;display:flex;align-items:center;gap:12px}.data-source-badge{font-size:.75rem;font-weight:500;padding:4px 10px;border-radius:12px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.data-source-badge.draft{background:#fff3cd;color:#856404}.data-source-badge.saved{background:#d4edda;color:#155724}.data-source-badge.new{background:#e3f2fd;color:#1a73e8}.modal-close{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#f5f5f5;color:#1a1a1a}.modal-body{padding:24px;overflow-y:auto;flex:1}.shifts-list-section{margin-bottom:24px}.shifts-list-section h3{font-size:1rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0 0 16px}.shift-inline-card{margin-bottom:12px;border:1px solid #E0E0E0;border-radius:8px;overflow:hidden}.shift-collapsed{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;transition:background .2s ease}.shift-collapsed:hover{background:#f8f9fa}.shift-info{display:flex;gap:16px;align-items:center;flex:1}.shift-info strong{font-size:.9375rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;min-width:120px}.shift-time{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a73e8;font-weight:500;min-width:100px}.shift-capacity{font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#2e7d32;font-weight:600;min-width:60px}.shift-inline-edit{padding:20px;background:#f8f9fa;border-top:3px solid #1A73E8}.add-shift-wrapper{margin-top:20px}.btn-add-shift-toggle{width:100%;padding:14px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#1a73e8;background:#fff;border:2px dashed #1A73E8;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-add-shift-toggle:hover{background:#e3f2fd;border-color:#0f4c81}.add-shift-expanded{padding:20px;background:#f8f9fa;border:2px solid #1A73E8;border-radius:8px}.add-shift-expanded h3{font-size:1rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0 0 16px}.inline-actions{display:flex;gap:12px;margin-top:20px}.btn-save{flex:1;padding:12px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#fff;background:#1a73e8;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-save:hover{background:#0f4c81}.btn-cancel{padding:12px 20px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#666;background:#fff;border:1px solid #E0E0E0;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#f5f5f5;border-color:#999}.btn-edit{padding:8px 16px;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#1a73e8;background:#e3f2fd;border:1px solid #1A73E8;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-edit:hover{background:#1a73e8;color:#fff}.btn-delete{padding:8px 16px;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#c33;background:#fee;border:1px solid #C33;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background:#c33;color:#fff}.shift-edit-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8f9fa;border:1px solid #E0E0E0;border-radius:6px;margin-bottom:8px}.shift-edit-info{display:flex;gap:16px;align-items:center;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.shift-days-badge{padding:4px 8px;background:#e3f2fd;color:#1a73e8;border-radius:4px;font-size:.75rem;font-weight:500}.shift-actions{display:flex;gap:8px;align-items:center}.shift-edit-card.editing{background:#e3f2fd;border-color:#1a73e8}.edit-btn{background:none;border:none;font-size:16px;color:#999;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.edit-btn:hover{background:#e3f2fd;color:#1a73e8}.delete-btn{background:none;border:none;font-size:24px;color:#999;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.delete-btn:hover{background:#fee;color:#c33}.add-shift-section{padding:20px;background:#f8f9fa;border:1px solid #E0E0E0;border-radius:8px}.add-shift-section h3{font-size:1rem;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;margin:0 0 16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#666;margin-bottom:6px}.form-input{width:100%;padding:10px 14px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;border:1px solid #E0E0E0;border-radius:6px;background:#fff;color:#1a1a1a;transition:all .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e81a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.capacity-group{grid-column:1 / -1}.capacity-inputs{display:flex;gap:12px;align-items:center}.capacity-input-wrapper{position:relative;flex:1}.capacity-input-wrapper.capacity-derived{opacity:.85}.capacity-input-wrapper input{padding-right:50px}.capacity-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;font-weight:500;pointer-events:none}.capacity-primary{border:2px solid #1A73E8!important}.capacity-secondary{border:1px solid #E0E0E0;background:#f8f9fa;color:#666}.capacity-secondary:focus{background:#fff;border-color:#1a73e8;color:#1a1a1a}.capacity-help-text{font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#999;margin:4px 0 0;font-style:italic}.capacity-input-wrapper.has-error input{border-color:#e53935!important;background:#ffebee}.capacity-error{position:absolute;top:100%;left:0;font-size:.6875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e53935;margin-top:2px;white-space:nowrap}.days-selector{display:flex;gap:8px;flex-wrap:wrap}.day-button{padding:8px 16px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;border:1px solid #E0E0E0;border-radius:6px;background:#fff;color:#666;cursor:pointer;transition:all .2s ease}.day-button:hover{border-color:#1a73e8;background:#f5f5f5}.day-button.selected{background:#1a73e8;border-color:#1a73e8;color:#fff}.shift-form-actions{display:flex;gap:12px;margin-top:16px}.add-shift-button{flex:1;padding:12px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#1a73e8;background:#fff;border:2px dashed #1A73E8;border-radius:6px;cursor:pointer;transition:all .2s ease}.add-shift-button:hover{background:#e3f2fd}.cancel-edit-button{padding:12px 20px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#666;background:#fff;border:1px solid #E0E0E0;border-radius:6px;cursor:pointer;transition:all .2s ease}.cancel-edit-button:hover{background:#f5f5f5;border-color:#999}.modal-footer{padding:16px 24px;border-top:1px solid #E0E0E0;display:flex;justify-content:flex-end;gap:12px}.modal-btn{padding:10px 24px;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.modal-btn.cancel{background:#f5f5f5;color:#666}.modal-btn.cancel:hover{background:#e0e0e0}.modal-btn.confirm{background:#1a73e8;color:#fff}.modal-btn.confirm:hover{background:#1557b0;box-shadow:0 2px 6px #1a73e84d}.one-time-form{background:#f8f9fa;padding:20px;border-radius:6px;border:1px solid #E0E0E0}.one-time-form .form-row{margin-bottom:16px}.one-time-form .form-group{margin-bottom:20px}.one-time-form .inline-actions{margin-top:24px}.shift-instances-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding:2px}.shift-instance-card{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;border:1px solid #E0E0E0;border-radius:6px;transition:all .2s ease;min-height:60px}.shift-instance-card:hover{border-color:#1a73e8;box-shadow:0 2px 4px #0000000d}.shift-instance-info{flex:1;display:flex;flex-direction:column;gap:4px}.shift-name-row{display:flex;align-items:center;gap:8px}.shift-name-row strong{color:#1a1a1a;font-size:.875rem;font-weight:500}.shift-capacity-badge{display:inline-block;background:#e8f5e9;color:#2e7d32;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:12px}.shift-details-row{display:flex;align-items:center;gap:12px;font-size:.8125rem}.shift-date{color:#1a73e8;font-weight:500}.shift-time{color:#666}.shift-instance-actions{display:flex;gap:6px;align-items:center}.btn-delete.small{padding:6px 12px;font-size:.75rem}.btn-edit-small{padding:6px 12px;font-size:.75rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;color:#fff;background:#1a73e8;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-edit-small:hover{background:#1557b0;box-shadow:0 2px 4px #1a73e84d}.modifications-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding:2px}.modification-card{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;border:1px solid #E0E0E0;border-radius:6px;transition:all .2s ease;min-height:60px}.modification-card:hover{border-color:#1a73e8;box-shadow:0 2px 4px #0000000d}.modification-info{flex:1;display:flex;flex-direction:column;gap:4px}.modification-name-row{display:flex;align-items:center;gap:8px}.modification-name-row strong{color:#1a1a1a;font-size:.875rem;font-weight:500;text-transform:capitalize}.modification-capacity-badge{display:inline-block;background:#e3f2fd;color:#1976d2;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:12px}.modification-details-row{display:flex;align-items:center;gap:8px;font-size:.8125rem}.modification-date{color:#666}.modification-arrow{color:#999;font-weight:300}.modification-comment{color:#666;font-size:.75rem;font-style:italic;margin-top:2px}.section-description{color:#666;font-size:.8125rem;margin:0 0 16px}.schedule-modal .section{margin-bottom:32px}.schedule-modal .section:last-child{margin-bottom:0}.schedule-modal .section h3{margin-bottom:16px}.no-data{color:#999;font-size:.875rem;text-align:center;padding:24px;background:#f8f9fa;border-radius:6px;font-style:italic}.success-dialog{background:#fff;border-radius:12px;padding:32px;max-width:400px;text-align:center;box-shadow:0 8px 32px #0000001f}.success-icon{width:64px;height:64px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;margin:0 auto 20px}.success-dialog h3{font-size:1.5rem;color:#1a1a1a;margin:0 0 12px;font-weight:500}.success-dialog p{color:#666;font-size:1rem;margin:0 0 24px}.success-dialog .btn-primary{background:#1a73e8;color:#fff;border:none;padding:12px 32px;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s ease}.success-dialog .btn-primary:hover{background:#1557b0}.popup-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99998;background:transparent;cursor:default;pointer-events:all}.event-details-popup{background:#fff;border-radius:12px;width:520px;max-width:calc(100vw - 450px);max-height:calc(100vh - 450px);overflow:hidden;box-shadow:0 20px 60px #0000001f,0 8px 24px #00000014,0 0 0 1px #0000000a;animation:popupSlideIn .2s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;min-height:200px;box-sizing:border-box}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E8E8E8;background:linear-gradient(180deg,#fafbfc,#fff);flex-shrink:0}.popup-header h4{margin:0;font-size:1.125rem;font-weight:500;color:#1a1a1a;letter-spacing:-.01em}.popup-close{background:transparent;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease;line-height:1}.popup-close:hover{background:#f0f0f0;color:#1a1a1a}.popup-content{padding:24px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}.detail-row{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid #F5F5F5;align-items:start}.detail-row:first-child{padding-top:0}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-row.comment-row{grid-template-columns:1fr;gap:8px;background:#f8f9fa;padding:16px;border-radius:8px;border:none;margin-top:8px}.detail-label{font-weight:500;color:#666;font-size:.875rem;line-height:1.5;text-align:left}.detail-value{color:#1a1a1a;font-size:.9375rem;line-height:1.5;word-break:break-word}.detail-value.capacity-highlight{font-weight:600;color:#1a73e8;font-size:1.25rem;display:inline-flex;align-items:center;gap:4px}.detail-value.comment{font-style:italic;color:#666;font-size:.875rem;line-height:1.6;margin:0}.popup-content::-webkit-scrollbar{width:6px}.popup-content::-webkit-scrollbar-track{background:transparent}.popup-content::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}.popup-content::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.calendar-section{margin-top:40px;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.calendar-section h2{font-size:1.25rem;font-weight:500;color:#1a1a1a;margin:0 0 8px}.calendar-skeleton{background:#f8f9fa;border-radius:6px;height:600px;display:flex;align-items:center;justify-content:center;color:#999}.consumption-routine-event{background-color:#4caf50!important;border:none!important;color:#fff!important}.consumption-modification-event{background-color:#ff9800!important;border:none!important;color:#fff!important}.rbc-event{padding:4px 8px;border-radius:4px;font-size:.875rem}.rbc-today{background-color:#e3f2fd}@media (max-width: 1024px){.plan-consumption-page{padding:24px 32px}.form-row,.shifts-list{grid-template-columns:1fr}}@media (max-width: 768px){.plan-consumption-page{padding:16px 24px}.modal-content{width:95%;max-height:95vh}.days-selector{gap:6px}.day-button{padding:6px 12px;font-size:.8125rem}}.consumption-schedule-chart{background:#fff;border:1px solid #E0E0E0;border-radius:8px;padding:24px;margin-top:8px;margin-bottom:48px;box-shadow:0 1px 3px #00000014}.consumption-schedule-chart .chart-header{margin-bottom:24px}.consumption-schedule-chart .chart-header h3{margin:0 0 8px;font-size:1.25rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#1a1a1a;font-weight:500}.consumption-schedule-chart .chart-subtitle{margin:0;font-size:.875rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;line-height:1.4}.consumption-schedule-chart .no-data{text-align:center;padding:60px 20px;color:#666;font-size:1rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.consumption-chart-container{position:relative}.consumption-schedule-chart .chart-x-axis-top{position:relative;height:50px;margin-bottom:8px;border-bottom:1px solid #E0E0E0}.consumption-schedule-chart .chart-x-axis-top span{position:absolute;transform:translate(-50%);text-align:center;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;line-height:1.3;white-space:nowrap}.consumption-schedule-chart .chart-wrapper{display:flex;align-items:stretch;height:200px;margin:12px 0}.consumption-schedule-chart .chart-y-labels{display:flex;flex-direction:column;justify-content:space-between;padding-right:12px;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;font-weight:500;min-width:40px;text-align:right}.consumption-schedule-chart .chart-area{flex:1;background:#f8f9fa;border-radius:6px;border:1px solid #E0E0E0;overflow:hidden;position:relative}.consumption-schedule-chart .chart-area svg{width:100%;height:100%;display:block}.consumption-schedule-chart .chart-x-axis-bottom{position:relative;height:45px;margin-top:8px;border-top:1px solid #E0E0E0;padding-top:8px}.consumption-schedule-chart .chart-x-axis-bottom span{position:absolute;transform:translate(-50%);text-align:center;font-size:.8125rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#666;line-height:1.3;white-space:nowrap}.device-monitor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;pointer-events:none}.device-monitor-modal{background:#0f0f0f;border:1px solid #1A1A1A;border-radius:5px;width:100%;max-width:1400px;min-width:600px;max-height:90vh;min-height:400px;display:flex;flex-direction:column;overflow:hidden;resize:both;position:relative;pointer-events:auto}.monitor-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #1A1A1A;background:transparent}.monitor-title-group{display:flex;align-items:center;gap:15px}.monitor-title{font-size:18px;color:#e9e9e9;margin:0;font-weight:400}.monitor-device-id{font-size:13px;color:#e9e9e9;padding:8px 12px;background:transparent;border:1px solid #1A1A1A;border-radius:5px}.monitor-close-btn{background:transparent;border:none;color:#e9e9e9;font-size:32px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.monitor-close-btn:hover{color:#e9e9e9}.monitor-content{padding:25px;overflow-y:auto;flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:15px;align-content:start}.monitor-panel{background:transparent;border:1px solid #1A1A1A;border-radius:0;padding:20px;display:flex;flex-direction:column;gap:12px}.monitor-panel.electrolyzer-panel{grid-column:1 / -1}.panel-title{font-size:15px;color:#e9e9e9;margin:0;font-weight:400}.panel-content{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #1A1A1A}.info-row:last-child{border-bottom:none}.info-label{font-size:15px;color:#a5a5a5}.info-value{font-size:15px;color:#e9e9e9}.power-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.metric-box{display:flex;flex-direction:column;gap:10px}.metric-label{font-size:13px;color:#a5a5a5}.metric-value{font-size:18px;color:#e9e9e9}.rectifier-values{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rect-value-box{display:flex;flex-direction:column;gap:10px}.rect-label{font-size:13px;color:#a5a5a5}.rect-value{font-size:24px;color:#e9e9e9}.ramp-status-row{display:grid;grid-template-columns:150px 1fr;align-items:center;padding-top:15px;border-top:1px solid #1A1A1A}.ramp-status-row .rect-value{font-size:15px;text-align:right}.stack-overview-panel{grid-column:1 / -1}.stack-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stack-metric{display:flex;flex-direction:column;gap:10px}.stack-label{font-size:13px;color:#a5a5a5}.stack-value{font-size:24px;color:#e9e9e9}.electrolyzer-panel{grid-column:1 / -1}.electrolyzer-content{display:grid;grid-template-columns:300px 1fr;gap:15px}.cells-data-section{display:flex;flex-direction:column}.cells-list{display:grid;grid-template-columns:1fr;gap:10px}.cell-row{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:transparent;border:1px solid #1A1A1A;border-radius:4px}.cell-label{font-size:13px;color:#a5a5a5}.cell-value{font-size:15px;color:#e9e9e9;font-weight:400}.stack-visual-section{display:flex;flex-direction:column;background:#000;border:1px solid #1A1A1A;border-radius:0;padding:20px}.stack-diagram{display:flex;flex-direction:column;height:100%}.stack-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #1A1A1A}.stack-title{font-size:15px;color:#e9e9e9}.stack-subtitle{font-size:13px;color:#a5a5a5}.stack-bars{display:flex;align-items:flex-end;justify-content:space-evenly;gap:15px;height:300px;padding:20px 10px;background:transparent;border:1px solid #1A1A1A;border-radius:5px}.stack-cell-wrapper{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1}.stack-cell-bar{width:100%;max-width:60px;min-height:40px;border-radius:4px;cursor:pointer;transition:border-color .2s;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px}.stack-cell-bar:hover{border-color:#e9e9e9}.cell-bar-label{font-size:11px;color:#a5a5a5;font-weight:400}.cell-bar-voltage{font-size:13px;color:#e9e9e9;font-weight:400}.monitor-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-top:1px solid #1A1A1A;background:transparent}.monitor-timestamp{font-size:13px;color:#e9e9e9}.monitor-action-btn{background:transparent;color:#e9e9e9;border:1px solid #1A1A1A;border-radius:5px;padding:10px 20px;font-size:15px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:border-color .2s}.monitor-action-btn:hover{border-color:#e9e9e9}.monitor-content::-webkit-scrollbar{width:8px}.monitor-content::-webkit-scrollbar-track{background:transparent}.monitor-content::-webkit-scrollbar-thumb{background:#1a1a1a;border-radius:4px}.monitor-content::-webkit-scrollbar-thumb:hover{background:#171715}@media (max-width: 1200px){.electrolyzer-content{grid-template-columns:1fr}.stack-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.monitor-content,.power-metrics,.rectifier-values,.stack-metrics-grid{grid-template-columns:1fr}}@media (max-width: 768px){.stack-bars{gap:10px}.stack-cell-bar{max-width:40px}}.control-mode-selector{display:flex;gap:10px;margin-bottom:20px}.control-mode-selector .mode-btn{flex:1;background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:10px 15px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s}.control-mode-selector .mode-btn:hover{border-color:#e9e9e9;color:#e9e9e9}.control-mode-selector .mode-btn.active{background:#e9e9e9;color:#0f0f0e;border-color:#e9e9e9}.control-section{margin-bottom:20px}.control-label{display:block;font-size:13px;color:#e9e9e9;margin-bottom:10px}.control-input-group{display:flex;gap:10px;align-items:center}.control-slider{flex:1;height:4px;background:#1a1a1a;border-radius:2px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.control-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#e9e9e9;cursor:pointer;border-radius:50%}.control-slider::-moz-range-thumb{width:16px;height:16px;background:#e9e9e9;cursor:pointer;border-radius:50%;border:none}.control-number-input{width:80px;background:#171715;border:1px solid #1A1A1A;color:#e9e9e9;padding:8px 12px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.control-apply-btn{background:#e9e9e9;color:#0f0f0e;border:none;padding:8px 20px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;transition:opacity .2s}.control-apply-btn:hover{opacity:.8}.control-status{margin-top:10px;padding:10px;background:#171715;border:1px solid #1A1A1A;border-radius:5px;display:flex;gap:10px}.status-label{color:#a5a5a5;font-size:13px}.status-value{color:#e9e9e9;font-size:13px}.cascade-info{padding:15px;background:#171715;border:1px solid #1A1A1A;border-radius:5px}.cascade-text{color:#e9e9e9;font-size:13px;margin:0 0 15px}.cascade-params{display:flex;flex-direction:column;gap:10px}.cascade-param{display:flex;justify-content:space-between}.param-label{color:#a5a5a5;font-size:13px}.param-value{color:#e9e9e9;font-size:13px;font-weight:400}.config-toggle-btn{width:100%;background:transparent;border:1px solid #1A1A1A;color:#e9e9e9;padding:10px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:pointer;text-align:left;margin-top:15px;transition:border-color .2s}.config-toggle-btn:hover{border-color:#e9e9e9}.config-panel{margin-top:15px;padding:15px;background:#171715;border:1px solid #1A1A1A;border-radius:5px;display:flex;flex-direction:column;gap:15px}.config-item{display:flex;flex-direction:column;gap:8px}.config-label{font-size:13px;color:#a5a5a5}.config-input{background:#0f0f0f;border:1px solid #1A1A1A;color:#e9e9e9;padding:8px 12px;border-radius:5px;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.config-checkbox{flex-direction:row;align-items:center}.config-checkbox .config-label{display:flex;align-items:center;gap:10px;cursor:pointer}.config-checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:#E9E9E9}.device-monitor-modal:after{content:"";position:absolute;bottom:0;right:0;width:20px;height:20px;background:linear-gradient(135deg,transparent 0%,transparent 50%,#1A1A1A 50%,#1A1A1A 100%);cursor:nwse-resize;pointer-events:none}.backend-cell-monitor{padding:60px;color:#e9e9e9;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;max-width:1400px;margin:0 auto}.monitor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid #393939}.monitor-header h2{margin:0;font-size:18px;font-weight:400;color:#e9e9e9}.connection-status{display:flex;align-items:center;gap:10px;padding:10px 15px;border-radius:5px;font-size:14px}.connection-status.connected{background:#4caf501a;border:1px solid rgba(76,175,80,.3)}.connection-status.disconnected{background:#ff52521a;border:1px solid rgba(255,82,82,.3)}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.connected .status-dot{background:#00b050}.disconnected .status-dot{background:#ff5252}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.last-update{color:#a5a5a5;font-size:12px;margin-left:10px}.connection-warning{background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:5px;padding:20px;margin-bottom:20px;text-align:center}.connection-warning p{margin:5px 0;font-size:14px}.warning-detail{color:#a5a5a5;font-size:12px}.warning-detail code{background:#0000004d;padding:5px 10px;border-radius:3px;font-family:Courier New,monospace}.status-panel,.control-panel,.factors-panel,.cells-grid-panel{background:#171715;border:1px solid #393939;border-radius:5px;padding:25px;margin-bottom:20px}.status-panel h3,.control-panel h3,.factors-panel h3,.cells-grid-panel h3{margin:0 0 20px;font-size:15px;font-weight:400;color:#e9e9e9}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.status-item{display:flex;flex-direction:column;gap:5px}.status-label{color:#a5a5a5;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.status-value{font-size:28px;font-weight:400;color:#00a3ff}.status-value.deviation-warning{color:#ff6b35}.deviation-cells{margin-top:15px;padding:15px;background:#ff98001a;border-radius:5px;display:flex;gap:10px;align-items:center}.deviation-cells .label{color:#e9e9e9;font-size:13px}.deviation-cells .cell-list{color:#ff6b35;font-weight:400}.capacity-slider-container{display:flex;flex-direction:column;gap:10px}.capacity-slider-container label{font-size:14px;color:#e9e9e9}.capacity-slider-container label strong{color:#00a3ff;font-weight:400}.capacity-slider{width:100%;height:6px;border-radius:3px;background:#ffffff1a;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.capacity-slider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#00a3ff;cursor:pointer;transition:background .2s}.capacity-slider::-webkit-slider-thumb:hover{background:#357abd}.capacity-slider:disabled{opacity:.5;cursor:not-allowed}.slider-labels{display:flex;justify-content:space-between;font-size:12px;color:#ffffff80}.deviation-controls{display:flex;flex-direction:column;gap:15px}.input-group{display:flex;flex-direction:column;gap:10px}.input-group label{font-size:13px;color:#e9e9e9}.input-group input,.input-group select{background:#171715;border:1px solid #393939;border-radius:5px;padding:15px;color:#fff;font-size:14px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.input-group input:focus,.input-group select:focus{outline:none;border-color:#00a3ff}.input-group input:disabled,.input-group select:disabled{opacity:.5;cursor:not-allowed}.button-group{display:flex;gap:10px;margin-top:10px}.trigger-btn,.reset-btn{flex:1;padding:12px 20px;border:1px solid #393939;border-radius:5px;background:#171715;color:#fff;font-size:14px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s}.trigger-btn:hover{background:#ff980033;border-color:#ff6b35}.reset-btn:hover{background:#4caf5033;border-color:#00b050}.trigger-btn:disabled,.reset-btn:disabled{opacity:.5;cursor:not-allowed}.factors-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.factors-summary .summary-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#171715;border-radius:5px}.factors-summary .label{color:#a5a5a5;font-size:13px}.factors-summary .value{color:#00a3ff;font-size:16px}.factors-summary .value.highlight{color:#ff6b35;font-weight:400}.cells-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:10px;margin-bottom:20px}.cell-item{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:5px;cursor:pointer;transition:all .2s;position:relative;border:1px solid #393939}.cell-item.normal{background:#4caf501a;border-color:#4caf504d}.cell-item.warning{background:#ff98001a;border-color:#ff98004d}.cell-item.critical{background:#ff52521a;border-color:#ff52524d;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.cell-item:hover{transform:scale(1.1);z-index:10}.cell-number{font-size:12px;color:#fff;font-weight:400}.deviation-indicator{position:absolute;top:2px;right:2px;font-size:12px;color:#ff6b35}.legend{display:flex;gap:20px;justify-content:center;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.legend-item{display:flex;align-items:center;gap:10px;font-size:12px}.legend-color{width:20px;height:20px;border-radius:3px;border:1px solid #393939}.legend-color.normal{background:#4caf504d}.legend-color.warning{background:#ff98004d}.legend-color.critical{background:#ff52524d}.ai-chat-panel{position:fixed;right:0;top:64px;min-width:300px;max-width:800px;height:calc(100vh - 64px);background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;z-index:1100}.chat-resize-handle{position:absolute;left:0;top:0;width:4px;height:100%;cursor:ew-resize;background:transparent;z-index:10}.chat-resize-handle:hover{background:var(--border-color)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.chat-title{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);font-weight:500}.chat-icon{width:16px;height:16px;stroke:var(--text-secondary)}.chat-controls{display:flex;gap:4px}.chat-control-btn{background:transparent;border:none;color:var(--text-secondary);padding:6px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.chat-control-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.chat-control-btn svg{width:14px;height:14px}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:16px;min-height:0;background:var(--bg-primary)}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.welcome-screen{display:flex;flex-direction:column;align-items:flex-start;height:100%;padding:8px 0;overflow-y:auto;background:var(--bg-primary)}.welcome-icon,.hydrogen-icon{display:none}.welcome-title{font-size:14px;color:var(--text-primary);font-weight:500;margin:0 0 4px}.welcome-subtitle{font-size:13px;color:var(--text-secondary);margin:0 0 20px}.welcome-screen .recommended-actions{width:100%;background:transparent;border:none;margin:0;padding:0;border-radius:0}.welcome-screen .actions-header{font-size:11px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.welcome-screen .actions-grid{display:flex;flex-direction:column;gap:6px}.action-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:12px;display:flex;gap:10px;align-items:center;cursor:pointer;text-align:left}.action-card:hover{background:var(--bg-secondary);border-color:var(--border-color)}.action-icon{width:28px;height:28px;min-width:28px;border-radius:4px;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center}.action-icon svg{width:14px;height:14px;stroke:var(--text-secondary)}.action-card:hover .action-icon svg{stroke:var(--text-primary)}.action-content{flex:1;min-width:0}.action-title{font-size:13px;color:var(--text-primary);font-weight:400;margin-bottom:2px}.action-description{font-size:12px;color:var(--text-secondary);line-height:1.3}.chat-message{display:flex;gap:10px}.message-avatar{width:28px;height:28px;border-radius:4px;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-avatar svg{width:14px;height:14px;stroke:var(--text-secondary)}.chat-message.user .message-avatar,.chat-message.assistant .message-avatar{background:var(--bg-secondary)}.message-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.message-text{font-size:13px;color:var(--text-primary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.message-time{font-size:11px;color:var(--text-secondary)}.typing-indicator{display:flex;gap:3px;padding:8px 0}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--text-secondary);opacity:.4;animation:typing 1s infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,to{opacity:.4}50%{opacity:1}}.chat-input-container{padding:12px 16px 16px;border-top:1px solid var(--border-color);display:flex;gap:8px;align-items:flex-end;background:var(--bg-primary)}.chat-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;padding:10px 12px;resize:none;max-height:120px;min-height:40px;font-family:inherit;line-height:1.4;outline:none}.chat-input:focus{border-color:var(--text-secondary)}.chat-input::placeholder{color:var(--text-secondary)}.chat-send-btn{background:var(--text-primary);border:none;color:var(--bg-primary);width:36px;height:36px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-send-btn:hover:not(:disabled){opacity:.85}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed}.chat-send-btn svg{width:16px;height:16px}.message-wrapper{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.message-text-wrapper{display:flex;align-items:flex-start;gap:6px}.message-copy-btn{background:transparent;border:none;color:var(--text-secondary);padding:4px;cursor:pointer;border-radius:3px;opacity:0;flex-shrink:0}.message-wrapper:hover .message-copy-btn{opacity:1}.message-copy-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.message-copy-btn svg{width:12px;height:12px}.message-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding-left:38px}.suggestion-chip{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:5px 10px;font-size:12px;color:var(--text-secondary);cursor:pointer}.suggestion-chip:hover{background:var(--bg-secondary);color:var(--text-primary)}@media (max-width: 768px){.ai-chat-panel{width:100%!important;left:0;border-left:none;min-width:unset;max-width:unset}.chat-resize-handle{display:none}}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.confirm-dialog{background:#fff;border-radius:8px;max-width:500px;width:100%;box-shadow:0 10px 40px #0000004d;animation:slideIn .2s ease-out}.confirm-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.confirm-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.confirm-dialog.warning .confirm-dialog-header h3{color:#f59e0b}.confirm-dialog.danger .confirm-dialog-header h3{color:#ef4444}.confirm-dialog-close{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#666;transition:background-color .2s}.confirm-dialog-close:hover{background-color:#f5f5f5;color:#333}.confirm-dialog-body{padding:24px;color:#555;line-height:1.6}.confirm-dialog-body p{margin:0}.confirm-dialog-footer{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0;justify-content:flex-end}.confirm-dialog-button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.confirm-dialog-button.cancel{background:#f5f5f5;color:#333}.confirm-dialog-button.cancel:hover{background:#e0e0e0}.confirm-dialog-button.confirm{color:#fff}.confirm-dialog-button.confirm.warning{background:#f59e0b}.confirm-dialog-button.confirm.warning:hover{background:#d97706}.confirm-dialog-button.confirm.danger{background:#ef4444}.confirm-dialog-button.confirm.danger:hover{background:#dc2626}.confirm-dialog-button.confirm.info{background:#3b82f6}.confirm-dialog-button.confirm.info:hover{background:#2563eb}[data-theme=dark] .confirm-dialog{background:#1e1e1e}[data-theme=dark] .confirm-dialog-header{border-bottom-color:#333}[data-theme=dark] .confirm-dialog-header h3{color:#e0e0e0}[data-theme=dark] .confirm-dialog.warning .confirm-dialog-header h3{color:#fbbf24}[data-theme=dark] .confirm-dialog.danger .confirm-dialog-header h3{color:#f87171}[data-theme=dark] .confirm-dialog-close{color:#999}[data-theme=dark] .confirm-dialog-close:hover{background-color:#333;color:#e0e0e0}[data-theme=dark] .confirm-dialog-body{color:#ccc}[data-theme=dark] .confirm-dialog-footer{border-top-color:#333}[data-theme=dark] .confirm-dialog-button.cancel{background:#2a2a2a;color:#e0e0e0}[data-theme=dark] .confirm-dialog-button.cancel:hover{background:#333}.message-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.message-dialog{background:#fff;border-radius:8px;max-width:500px;width:100%;box-shadow:0 10px 40px #0000004d;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.message-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.message-dialog-title{display:flex;align-items:center;gap:12px}.message-dialog-title h3{margin:0;font-size:18px;font-weight:600;color:#333}.message-dialog.success .message-dialog-title{color:#10b981}.message-dialog.error .message-dialog-title{color:#ef4444}.message-dialog-close{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#666;transition:background-color .2s}.message-dialog-close:hover{background-color:#f5f5f5;color:#333}.message-dialog-body{padding:24px;color:#555;line-height:1.6}.message-dialog-body p{margin:0}.message-dialog-footer{display:flex;padding:16px 24px;border-top:1px solid #e0e0e0;justify-content:flex-end}.message-dialog-button{padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;color:#fff}.message-dialog-button.success{background:#10b981}.message-dialog-button.success:hover{background:#059669}.message-dialog-button.error{background:#ef4444}.message-dialog-button.error:hover{background:#dc2626}[data-theme=dark] .message-dialog{background:#1e1e1e}[data-theme=dark] .message-dialog-header{border-bottom-color:#333}[data-theme=dark] .message-dialog-title h3{color:#e0e0e0}[data-theme=dark] .message-dialog.success .message-dialog-title{color:#34d399}[data-theme=dark] .message-dialog.error .message-dialog-title{color:#f87171}[data-theme=dark] .message-dialog-close{color:#999}[data-theme=dark] .message-dialog-close:hover{background-color:#333;color:#e0e0e0}[data-theme=dark] .message-dialog-body{color:#ccc}[data-theme=dark] .message-dialog-footer{border-top-color:#333}.app{min-height:100vh;background-color:var(--bg-primary)}.login-container{display:flex;align-items:flex-end;justify-content:flex-start;min-height:100vh;padding:40px;background:#fff;background-image:url(/login_wallpaper.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffb3;z-index:0}.login-card{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:3px solid rgba(224,224,224,.8);border-radius:5px;padding:50px 30px 30px;max-width:480px;width:100%;box-shadow:0 4px 16px #0000001a;position:relative;z-index:1}.login-title{font-size:36px;color:#1a1a1a;margin:0 0 8px;font-weight:400;letter-spacing:-.5px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-align:center}.login-subtitle{font-size:20px;color:#666;margin-bottom:24px;line-height:1.5;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-align:center}.login-info{padding:20px;background:#f5f5f5cc;border:1px solid #E0E0E0;border-radius:5px;margin-bottom:32px}.login-info-text{font-size:13px;color:#666;margin:0;line-height:1.5;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.login-button{background:transparent;color:#1a1a1a;border:1px solid #E0E0E0;border-radius:5px;padding:18px 40px;font-size:15px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;cursor:pointer;transition:all .2s;width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.login-button:hover{background:#f5f5f5cc;border-color:#1a1a1a}.login-button.primary-login{margin-bottom:20px;background:#1a1a1a;color:#fff;border-color:#1a1a1a}.login-button.primary-login:hover{background:#333;color:#fff;border-color:#333}.microsoft-logo{width:20px;height:20px;object-fit:contain}.login-divider{display:flex;align-items:center;gap:16px;margin:24px 0}.login-divider-line{flex:1;height:1px;background:#e0e0e0}.login-divider-text{font-size:12px;color:#666;font-weight:400;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px}.login-dev-section{margin-bottom:24px}.login-dev-label{font-size:11px;color:#666;margin-bottom:12px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.login-verification-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:5px;z-index:10;animation:fadeIn .3s ease-in}.login-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #1A1A1A;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.login-verification-text{font-size:14px;color:#666;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin:0}.login-error-dialog{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:5px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:20;animation:slideUp .4s ease-out;overflow-y:auto}.login-error-icon{font-size:48px;margin-bottom:16px;animation:pulse 2s ease-in-out infinite}.login-error-title{font-size:24px;color:#1a1a1a;margin:0 0 12px;font-weight:500;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.login-error-message{font-size:14px;color:#666;margin:0 0 24px;line-height:1.5;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.login-error-details{background:#f5f5f5;border:1px solid #E0E0E0;border-radius:5px;padding:16px;margin-bottom:24px;width:100%;text-align:left}.login-error-details p{margin:6px 0;font-size:13px;color:#1a1a1a;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.login-error-details strong{color:#666;font-weight:500}.login-error-actions{width:100%;margin-bottom:16px}.login-error-button{background:#1a1a1a;color:#fff;border:none;padding:14px 32px;border-radius:5px;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s ease;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;width:100%}.login-error-button:hover{background:#333}.login-error-button:active{transform:scale(.98)}.login-error-help{padding:12px;background:#fff3cd;border:1px solid #FFC107;border-radius:5px;font-size:12px;color:#856404;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.login-button:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.login-button.secondary-login{background:transparent}.login-button.secondary-login:hover{background:#f5f5f5cc}.workspace-content{position:fixed;top:54px;left:var(--sidebar-width, 240px);right:0;bottom:0;transition:left .3s ease,top .3s ease,right .3s ease;overflow:auto;background:var(--bg-primary)}@media (max-width: 1366px){.workspace-content{top:104px}}.workspace-content.with-chat{right:var(--chat-width, 400px)}.main-content-with-sidebar{margin-left:var(--sidebar-width, 240px);padding:94px 30px 30px;min-height:100vh;transition:margin-left .3s ease}.sidebar-collapsed .main-content-with-sidebar{margin-left:57px}@media (max-width: 1366px){.main-content-with-sidebar{padding-top:144px}}.page{width:100%;padding:30px;box-sizing:border-box}.page-title{font-size:18px;color:var(--text-primary);margin:0 0 30px}.no-data{display:flex;align-items:center;justify-content:center;min-height:400px}.no-data p{font-size:15px;color:var(--text-primary)}.raw-data-section{margin-top:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:5px;padding:30px}.raw-data-title{font-size:18px;color:var(--text-primary);margin-top:0;margin-bottom:20px}.raw-data-display{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:5px;padding:20px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;color:var(--text-primary);overflow-x:auto;max-height:600px;overflow-y:auto;margin:0;white-space:pre;line-height:1.5}*{margin:0;padding:0;box-sizing:border-box}:root,[data-theme=light]{--bg-primary: #FFFFFF;--bg-secondary: #F5F5F5;--bg-tertiary: #E0E0E0;--text-primary: #1A1A1A;--text-secondary: #666666;--text-muted: #999999;--border-color: #E0E0E0;--border-subtle: #F0F0F0}[data-theme=dark]{--bg-primary: #1A1A1A;--bg-secondary: #2A2A2A;--bg-tertiary: #3A3A3A;--text-primary: #E8E8F0;--text-secondary: #B8B8C0;--text-muted: #888890;--border-color: #404040;--border-subtle: #2E2E2E}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;transition:background-color .3s ease,color .3s ease}#root{min-height:100vh}
