:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2937;background:#eef2f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);height:100vh;min-height:100vh;overflow:hidden;background:#eef2f5;transition:grid-template-columns .2s ease}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.app-content{min-height:0;min-width:0;max-width:100%;overflow-x:clip;overflow-y:auto;background:#eef2f5;padding:24px 32px}.sidebar-mobile-trigger,.sidebar-backdrop{display:none}.sidebar{display:flex;flex-direction:column;gap:16px;min-height:100vh;border-right:1px solid #d8e0e7;background:#fbfcfd;padding:18px 14px}.brand{display:flex;align-items:center;gap:12px;padding:4px 4px 8px}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:#0f766e;color:#fff;font-weight:800}.brand h1,.brand p,.topbar h2,.topbar p,.panel-header h3,.unit-title h3,.unit-meta p{margin:0}.brand h1{font-size:17px;line-height:1.2}.brand p{margin-top:3px;color:#6b7280;font-size:13px}.search-box{display:flex;align-items:center;gap:8px;height:40px;border:1px solid #d8e0e7;border-radius:8px;background:#fff;padding:0 10px;color:#64748b}.search-box input{min-width:0;width:100%;border:0;outline:none;color:#1f2937}.sidebar-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;border:1px solid #d8e0e7;border-radius:8px;background:#fff;color:#475569;font-size:13px}.segmented.active{border-color:#0f766e;background:#e6f5f2;color:#0f766e}.location-list{display:flex;flex:1;flex-direction:column;gap:4px;overflow:auto;padding-right:2px}.location-item{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:40px;border:0;border-radius:8px;background:transparent;padding:8px 9px;text-align:left;color:#475569}.location-item:hover,.location-item.selected{background:#eef7f5;color:#0f766e}.online-dot,.offline-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0;display:inline-block}.online-dot{background:#22c55e;box-shadow:0 0 0 2px #22c55e33;animation:online-glow 2s infinite}@keyframes online-glow{0%{box-shadow:0 0 #22c55e66}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.offline-dot{background:#94a3b8;box-shadow:0 0 0 2px #94a3b826}.location-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-number{color:#94a3b8;font-size:11px}.dashboard{display:flex;flex-direction:column;gap:16px;min-width:0;padding:18px 22px 22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{margin-bottom:4px;color:#0f766e;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.topbar h2{color:#111827;font-size:26px;line-height:1.2}.topbar p{max-width:900px;margin-top:5px;color:#64748b;font-size:14px}.topbar-actions{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.status-chip{display:inline-flex;align-items:center;height:30px;border-radius:999px;padding:0 12px;font-size:13px;font-weight:700}.status-chip.good{background:#dff7eb;color:#15803d}.status-chip.muted{background:#e5e7eb;color:#475569}.icon-button{display:inline-grid;width:36px;height:36px;place-items:center;border:1px solid #d8e0e7;border-radius:8px;background:#fff;color:#334155}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert-bar{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;border:1px solid #f6c76e;border-radius:8px;background:#fff5d7;padding:12px 14px;color:#8a4b00}.alert-bar span{min-width:0;overflow-wrap:anywhere}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.summary-tile{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;min-height:64px;border:1px solid #d8e0e7;border-radius:8px;background:#fff;padding:12px}.summary-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:8px}.summary-tile span{color:#64748b;font-size:13px;font-weight:700}.summary-tile strong{color:#111827;font-size:24px}.summary-tile.good .summary-icon{background:#e8f7ee;color:#16a34a}.summary-tile.muted .summary-icon{background:#eef1f4;color:#64748b}.summary-tile.info .summary-icon{background:#e8f1ff;color:#2563eb}.summary-tile.danger .summary-icon{background:#ffe8e8;color:#dc2626}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.monitoring-list{display:flex;flex-direction:column;gap:10px;min-width:0}.unit-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;min-height:126px;border:1px solid #dbe2e8;border-left:4px solid #94a3b8;border-radius:8px;background:#fff;padding:14px;box-shadow:0 1px 2px #0f172a0f}.unit-row.running{border-color:#9be7b7;border-left-color:#16a34a;background:linear-gradient(90deg,#f0fbf5 0,#fff 34%);box-shadow:0 4px 14px #16a34a1a}.unit-row.idle{border-left-color:#cbd5e1;background:#fbfcfd}.unit-row.idle .metric-tile{background:#f4f6f8}.unit-row.idle .metric-value{color:#64748b}.unit-row.warning{border-left-color:#f59e0b;background:linear-gradient(90deg,#fff8e8 0,#fff 34%)}.unit-row.critical{border-left-color:#dc2626;background:linear-gradient(90deg,#fff1f1 0,#fff 34%)}.unit-meta{display:flex;flex-direction:column;gap:8px;min-width:0}.unit-title{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}.unit-title h3{color:#0f172a;font-size:20px;text-decoration:underline}.unit-title-button{min-width:0;max-width:100%;overflow:hidden;border:0;background:transparent;color:#0f172a;padding:0;font-size:20px;font-weight:900;line-height:1.1;text-align:left;text-overflow:ellipsis;text-decoration:underline;white-space:nowrap}.unit-title-button:hover{color:#0f766e}.unit-type-mark{flex:0 0 auto;width:18px;height:13px;border:2px solid #34d399;border-radius:2px;box-shadow:inset 7px 0 #34d39933}.unit-meta p{color:#475569;font-size:13px;font-weight:700}.unit-state,.auth-row{display:inline-flex;align-items:center;gap:7px;color:#64748b;font-size:13px}.unit-state{width:fit-content;min-height:30px;border-radius:999px;padding:0 10px;font-weight:800;text-transform:uppercase}.unit-state.state-running{background:#dcfce7;color:#15803d}.unit-state.state-idle{background:#e5e7eb;color:#475569}.unit-state.state-warning{background:#fef3c7;color:#b45309}.unit-state.state-critical{background:#fee2e2;color:#b91c1c}.state-dot{width:8px;height:8px;border-radius:999px;background:currentColor}.state-running .state-dot{animation:pulse 1.3s ease-in-out infinite}.global-unit-row .state-running .state-dot{animation:none}@keyframes pulse{0%,to{transform:scale(.85);opacity:.55}50%{transform:scale(1.2);opacity:1}}.remaining{color:#64748b;font-size:12px}.status-reasons{display:flex;flex-direction:column;gap:3px;max-width:180px;color:#92400e;font-size:12px;font-weight:700;line-height:1.3}.unit-row.critical .status-reasons{color:#b91c1c}.status-reasons span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-icons{display:flex;align-items:center;gap:5px;min-height:20px}.alarm-badge,.ok-badge{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:999px}.alarm-badge{background:#ffe8e8;color:#dc2626}.ok-badge{background:#e8f7ee;color:#16a34a}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;align-items:stretch}.metric-tile{display:flex;flex-direction:column;justify-content:center;min-height:84px;border:1px solid #e6ebef;border-radius:4px;background:#f8fafc;padding:9px 12px}.metric-label{display:flex;align-items:center;justify-content:center;gap:6px;min-height:24px;border-bottom:1px solid #b9c2cb;color:#4b5563;font-size:14px;text-align:center}.metric-value{padding-top:7px;text-align:center;font-size:30px;font-weight:800;line-height:1.1}.metric-value.blue{color:#2f76dc}.metric-value.red{color:#ef4444}.metric-value.green{color:#34d399}.metric-value.yellow{color:#d97706}.metric-value.gray{color:#64748b}.assistant-panel{display:flex;flex-direction:column;gap:14px;border:1px solid #d8e0e7;border-radius:8px;background:#fff;padding:14px}.panel-header{display:flex;align-items:center;gap:8px;color:#0f172a}.panel-header h3{font-size:17px}.assistant-summary{display:flex;flex-direction:column;gap:8px;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:12px 0}.assistant-line,.assistant-time{margin:0}.assistant-line{color:#111827;font-weight:700}.assistant-time{color:#64748b;font-size:13px}.auth-panel{display:flex;flex-direction:column;gap:10px}.login-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;border:0;border-radius:8px;background:#0f766e;color:#fff;font-weight:800}.login-button:disabled{cursor:wait;opacity:.7}.empty-state{display:grid;min-height:220px;place-items:center;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;color:#64748b}.monitor-refresh-strip{display:flex;align-items:center;justify-content:center;gap:10px;min-height:34px;border:1px solid #d8e0e7;border-radius:8px;background:#fff;color:#0f766e;padding:8px 12px;font-size:12px;font-weight:900}.monitor-loading-panel{display:grid;min-height:220px;place-items:center;border:1px solid #d8e0e7;border-radius:8px;background:#fff;padding:24px}.monitor-loading-heading{display:inline-flex;align-items:center;flex-direction:column;gap:10px;color:#475569;font-size:13px;font-weight:900}@media(max-width:1180px){.app-shell{grid-template-columns:260px minmax(0,1fr)}.workspace{grid-template-columns:1fr}.assistant-panel{order:-1}.metric-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media(max-width:780px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;max-height:42vh}.topbar,.unit-row{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:1fr}}.overview-shell{display:flex;flex-direction:column;gap:14px;width:100%;max-width:100%;min-height:100%;min-width:0;margin:0;padding:18px}.overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;width:100%;max-width:100%;min-width:0}.overview-header h1,.overview-header p{margin:0}.overview-header h1{color:#111827;font-size:28px;line-height:1.1}.overview-header p{max-width:900px;margin-top:5px;overflow-wrap:anywhere;color:#64748b;font-size:14px}.overview-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.login-compact{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;border:0;border-radius:8px;background:#0f766e;color:#fff;padding:0 12px;font-weight:800}.login-compact:disabled{cursor:wait;opacity:.7}.muted-alert{border-color:#d8e0e7;background:#f8fafc;color:#475569}.fleet-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}.fleet-stat{display:flex;align-items:center;justify-content:space-between;min-height:54px;min-width:0;border:1px solid #d8e0e7;border-radius:8px;background:#fff;padding:10px 12px;text-align:left}.fleet-stat span{color:#64748b;font-size:13px;font-weight:800;text-transform:uppercase}.fleet-stat strong{color:#111827;font-size:24px}.fleet-stat.good{border-color:#a7e8bf}.fleet-stat.warning{border-color:#f8d88f}.fleet-stat.danger{border-color:#f8b4b4}.fleet-stat.active{box-shadow:0 0 0 2px currentColor;cursor:default}.fleet-stat.good.active{background:#dff7eb;border-color:#16a34a;box-shadow:0 0 0 2px #16a34a;color:#15803d}.fleet-stat.warning.active{background:#fff8e6;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b;color:#92400e}.fleet-stat.danger.active{background:#fee8e8;border-color:#dc2626;box-shadow:0 0 0 2px #dc2626;color:#991b1b}.fleet-stat.muted.active{background:#e5e7eb;border-color:#6b7280;box-shadow:0 0 0 2px #6b7280;color:#374151}.overview-toolbar{display:grid;grid-template-columns:minmax(240px,390px) minmax(280px,1fr) auto minmax(260px,auto) auto;gap:10px;align-items:center;min-width:0}.compact-search{height:38px;min-width:0}.filter-pills{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.filter-pill{height:32px;border:1px solid #d8e0e7;border-radius:999px;background:#fff;color:#475569;padding:0 12px;font-size:13px;font-weight:800;text-transform:capitalize}.filter-pill.active{border-color:#0f766e;background:#e6f5f2;color:#0f766e}.toolbar-checkbox{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;height:34px;width:fit-content;border:1px solid #d8e0e7;border-radius:999px;background:#fff;color:#475569;padding:0 12px;font-size:13px;font-weight:800;white-space:nowrap}.toolbar-checkbox input{width:15px;height:15px;accent-color:#0f766e}.toolbar-checkbox:has(input:checked){border-color:#0f766e;background:#e6f5f2;color:#0f766e}.auto-analysis-control{display:inline-grid;grid-template-columns:auto minmax(86px,145px) auto;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:38px;border:1px solid #d8e0e7;border-radius:8px;background:#fff;padding:4px 8px 4px 4px}.auto-analysis-control.enabled{border-color:#99f6e4;background:#f0fdfa}.auto-analysis-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;border:0;border-radius:6px;background:#e2e8f0;color:#334155;padding:0 10px;font-size:12px;font-weight:850;white-space:nowrap}.auto-analysis-toggle.enabled{background:#0f766e;color:#fff}.auto-analysis-toggle:disabled{cursor:wait;opacity:.78}.auto-analysis-status{display:grid;gap:1px;min-width:0}.auto-analysis-status strong{color:#0f172a;font-size:11px;font-weight:900;line-height:1}.auto-analysis-status span{overflow:hidden;color:#64748b;font-size:11px;font-weight:700;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.auto-analysis-interval{height:28px;min-width:62px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;padding:0 7px;font-size:12px;font-weight:850}.auto-analysis-interval:disabled{cursor:wait;opacity:.72}.auth-mini{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;color:#64748b;font-size:13px;white-space:nowrap}.auth-mini span{min-width:0;overflow:hidden;text-overflow:ellipsis}.monitor-floating-actions{position:fixed;right:18px;bottom:18px;z-index:120;display:inline-flex;flex-direction:column;align-items:center;gap:4px;border:1px solid rgba(203,213,225,.92);border-radius:18px;background:#ffffffeb;box-shadow:0 12px 24px #0f172a29;padding:4px}.monitor-floating-actions button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:#334155;padding:0}.monitor-floating-actions button:hover{background:#e6f5f2;color:#0f766e}.monitor-floating-actions button:focus-visible{outline:2px solid #0f766e;outline-offset:2px}.compact-ai-chat-backdrop{position:fixed;inset:0;z-index:150;pointer-events:none;background:transparent}.compact-ai-chat-modal{position:fixed;right:68px;bottom:18px;display:flex;flex-direction:column;width:min(430px,calc(100vw - 92px));max-height:min(680px,calc(100vh - 42px));border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:0 24px 48px #0f172a38;overflow:hidden;pointer-events:auto}.compact-ai-chat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #e2e8f0;background:linear-gradient(90deg,#ecfdf5 0,#fff 72%);padding:12px 14px}.compact-ai-chat-eyebrow{color:#0f766e;font-size:10px;font-weight:850;text-transform:uppercase}.compact-ai-chat-header h2{margin:2px 0;color:#0f172a;font-size:16px;font-weight:850}.compact-ai-chat-header p{margin:0;color:#64748b;font-size:11px;font-weight:650}.compact-ai-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d8e0e7;border-radius:8px;background:#fff;color:#475569;padding:0}.compact-ai-icon-btn:hover{border-color:#0f766e;color:#0f766e}.compact-ai-prompt-row{display:flex;gap:8px;border-bottom:1px solid #edf1f5;padding:10px 12px}.compact-ai-prompt-row button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;border:1px solid #99f6e4;border-radius:8px;background:#ecfdf5;color:#0f766e;padding:0 10px;font-size:12px;font-weight:850}.compact-ai-prompt-row button:disabled{cursor:wait;opacity:.72}.compact-ai-error{display:flex;align-items:center;gap:7px;margin:10px 12px 0;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#991b1b;padding:8px 10px;font-size:12px;font-weight:750}.compact-ai-messages{flex:1;min-height:260px;overflow-y:auto;background:#f8fafc;padding:12px}.compact-ai-history-status{width:max-content;max-width:100%;margin:0 auto 10px;display:flex;align-items:center;gap:7px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#64748b;padding:5px 9px;font-size:11px;font-weight:800}.compact-ai-message{margin-bottom:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#0f172a;padding:10px}.compact-ai-message.user{margin-left:42px;border-color:#0f766e;background:#0f766e;color:#fff}.compact-ai-message.assistant.loading{display:flex;align-items:center;gap:8px;border-color:#bae6fd;background:#f0f9ff;color:#075985;font-size:12px;font-weight:800}.compact-ai-message-title{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:850}.compact-ai-message-content{color:inherit;font-size:12.5px;line-height:1.5}.compact-ai-meta{margin-top:8px;border-top:1px solid #e2e8f0;padding-top:7px;color:#64748b;font-size:11px;font-weight:750}.compact-ai-composer{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;border-top:1px solid #d8e0e7;background:#fff;padding:10px}.compact-ai-composer textarea{min-height:46px;max-height:110px;resize:vertical;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;font-size:12.5px;outline:none;padding:8px 10px}.compact-ai-composer textarea:focus{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e1f}.compact-ai-composer button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;align-self:end;border:0;border-radius:8px;background:#0f766e;color:#fff;padding:0}.compact-ai-composer button:disabled{cursor:wait;background:#94a3b8}@media(max-width:640px){.compact-ai-chat-modal{right:12px;bottom:88px;width:calc(100vw - 24px);max-height:calc(100vh - 112px)}}.chamber-table-wrap{overflow:auto;border:1px solid #d8e0e7;border-radius:8px;background:#fff}.chamber-table{width:100%;min-width:1050px;border-collapse:collapse}.chamber-table th{position:sticky;top:0;z-index:1;border-bottom:1px solid #d8e0e7;background:#f8fafc;color:#475569;padding:9px 10px;font-size:12px;letter-spacing:0;text-align:left;text-transform:uppercase}.chamber-table td{border-bottom:1px solid #edf1f5;padding:9px 10px;vertical-align:middle}.chamber-row.running{background:#f3fbf7}.chamber-row.warning{background:#fff9ec}.chamber-row.critical{background:#fff3f3}.chamber-row.idle{background:#fcfdfe}.table-status{display:inline-flex;align-items:center;gap:6px;min-width:104px;height:28px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:900;text-transform:uppercase}.table-status.state-running{background:#dcfce7;color:#15803d}.table-status.state-idle{background:#e5e7eb;color:#475569}.table-status.state-warning{background:#fef3c7;color:#b45309}.table-status.state-critical{background:#fee2e2;color:#b91c1c}.location-cell{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:8px;min-width:220px}.location-cell strong,.location-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-cell strong{color:#111827;font-size:13px}.location-cell span{max-width:280px;color:#64748b;font-size:12px}.chamber-name{color:#0f172a;font-weight:900}.metric-inline{display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;min-width:62px;font-size:17px;font-weight:900}.metric-inline.blue{color:#2f76dc}.metric-inline.red{color:#ef4444}.metric-inline.green{color:#10b981}.metric-inline.yellow{color:#d97706}.metric-inline.gray{color:#64748b}.remaining-cell{display:inline-flex;align-items:center;gap:5px;color:#475569;font-size:13px;font-weight:800}.reason-cell{max-width:310px;color:#92400e;font-size:12px;font-weight:800;line-height:1.3}.chamber-row.critical .reason-cell{color:#b91c1c}.muted-text{color:#94a3b8;font-weight:600}.compact-empty{min-height:160px;border:0;border-radius:0}.all-chamber-list{display:flex;flex-direction:column;gap:10px;min-width:0}.location-sections{display:flex;flex-direction:column;gap:22px;width:100%;max-width:100%;min-width:0}.location-section{display:flex;flex-direction:column;width:100%;max-width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 10px -2px #0000000a,0 2px 6px -1px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:0;padding:0}.location-section:hover{border-color:#cbd5e1;box-shadow:0 10px 18px -3px #0000000d,0 4px 8px -2px #00000005}.location-section.collapsed{box-shadow:0 2px 4px -1px #00000008}.location-section.collapsed .location-section-header{border-bottom-left-radius:13px;border-bottom-right-radius:13px}.location-section-header{position:relative;z-index:1;border-top-left-radius:13px;border-top-right-radius:13px;background:linear-gradient(to right,#f8fafc,#f1f5f9);box-shadow:0 1px #e2e8f0e6;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:100%;min-width:0;border-bottom:1px solid transparent;padding:16px 20px;transition:all .25s ease}.location-section.expanded .location-section-header{position:sticky;top:0;z-index:82;border-bottom:1px solid #e2e8f0}.active-location-sticky{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:100%;min-height:60px;margin:8px 0 -8px;border:1px solid #99f6e4;border-left:4px solid #0f766e;border-radius:12px;background:linear-gradient(90deg,#ecfdf5 0,#fff 42%,#f8fafc);box-shadow:0 16px 30px #0f172a29,0 0 0 1px #0f766e14;padding:12px 18px;min-width:0}.active-location-sticky .location-heading h2{color:#0f766e;font-size:17px}.active-location-sticky .location-heading p{max-width:620px}.clickable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.clickable-header:hover{background:linear-gradient(to right,#f1f5f9,#e2e8f0)}.clickable-header:hover .location-heading h2{color:#0f766e}.clickable-header:hover .chevron-icon-wrapper{background:#e6f5f2;border-color:#a7f3d0;color:#0f766e}.chevron-icon-wrapper{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;transition:all .25s cubic-bezier(.4,0,.2,1)}.chevron-icon{transition:transform .25s cubic-bezier(.4,0,.2,1);transform:rotate(-90deg)}.chevron-icon.rotated{transform:rotate(0)}.location-heading{display:flex;align-items:center;gap:14px;width:100%;max-width:100%;min-width:0}.location-heading>div:last-child{flex:1 1 auto;min-width:0;max-width:100%}.location-title-container{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;flex:1 1 auto;min-width:0;max-width:100%}.location-heading h2,.location-heading p{margin:0}.location-heading h2{max-width:100%;overflow:hidden;color:#0f172a;font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.2;transition:color .2s ease;flex-shrink:0}.location-heading p{display:block;max-width:100%;overflow:hidden;color:#64748b;font-size:13px;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}.location-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-start;max-width:100%;min-width:0}.location-summary span{max-width:100%;min-width:0;overflow:hidden;border-radius:8px;background:#f8fafc;color:#475569;padding:6px 11px;font-size:11px;font-weight:800;border:1px solid #e2e8f0;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.03em;box-shadow:0 1px 2px #00000005}.location-summary span.units-count{background:#f1f5f9;color:#334155;border-color:#cbd5e1}.location-summary span.running-count{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.location-summary .warning-text{background:#fffbeb;color:#92400e;border-color:#fef3c7}.location-summary .critical-text{background:#fff5f5;color:#991b1b;border-color:#fee2e2}.collapsible-content{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .2s ease}.collapsible-content.show{grid-template-rows:1fr;opacity:1}.collapsible-content-inner{min-height:0;overflow:hidden;padding:16px 20px 20px}.location-unit-list{gap:8px}.global-unit-row{display:grid;grid-template-columns:172px minmax(360px,1fr) minmax(260px,.85fr);gap:14px;min-height:160px;min-width:0;border:1px solid #dbe2e8;border-left:4px solid #94a3b8;border-radius:8px;background:#fff;padding:10px 14px;contain:layout paint style;content-visibility:auto;contain-intrinsic-size:160px}.global-unit-row>*{min-width:0;max-width:100%}.global-unit-row.no-graph{grid-template-columns:minmax(96px,140px) minmax(0,1fr)}.global-unit-row.no-graph .compact-metric-grid{grid-template-columns:repeat(auto-fit,minmax(126px,1fr))}.global-unit-row.running{border-color:#9be7b7;border-left-color:#16a34a;background:#f4fbf7}.global-unit-row.warning{border-left-color:#f59e0b;background:#fff9ec}.global-unit-row.critical{border-left-color:#dc2626;background:#fff3f3}.global-unit-row.idle{border-left-color:#cbd5e1;background:#fbfcfd}.global-unit-row.idle .metric-tile{background:#f4f6f8}.global-unit-row.idle .metric-value{color:#64748b}@media(min-width:961px){.location-section.expanded{overflow:visible}.location-section.expanded .collapsible-content-inner{padding:0}.location-section.expanded .location-unit-list{gap:0}.location-section.expanded .global-unit-row{border-top:0;border-right:0;border-radius:0}.location-section.expanded .global-unit-row:last-child{border-bottom:0;border-bottom-right-radius:13px;border-bottom-left-radius:13px}}.global-unit-meta{display:flex;flex-direction:column;gap:7px;max-width:100%;min-width:0}.unit-title-text{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-type-label{margin:0;color:#334155;font-size:13px;font-weight:800}.global-location{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.global-location strong,.global-location span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-location strong{color:#334155;font-size:13px}.global-location span{color:#64748b;font-size:12px}.global-remaining{display:inline-flex;align-items:center;gap:6px;color:#64748b;font-size:12px;font-weight:700}.global-reasons{max-width:210px}.global-metric-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.compact-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;align-items:stretch;min-width:0}.metric-pair-tile{display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:100%;min-height:76px;border:1px solid #e0e6ed;border-radius:6px;background:#f8fafc;padding:8px 10px;contain:layout paint style}.metric-pair-label{display:flex;align-items:center;justify-content:center;gap:5px;min-height:22px;border-bottom:1px solid #bfccd8;color:#475569;font-size:13px;font-weight:800}.metric-pair-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-pair-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:7px}.metric-pair-values div{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.metric-pair-values div+div{border-left:1px solid #d8e0e7}.metric-pair-values span{color:#64748b;font-size:10px;font-weight:800;text-transform:uppercase}.metric-pair-values strong{color:#334155;font-size:20px;font-weight:900;line-height:1.05;overflow-wrap:anywhere}.metric-pair-values strong.blue{color:#2f76dc}.metric-pair-values strong.red{color:#ef4444}.metric-pair-values strong.green{color:#10b981}.metric-pair-values strong.yellow{color:#d97706}.metric-pair-values strong.gray{color:#64748b}.global-unit-row.idle .metric-pair-tile{background:#f4f6f8}.trend-arrow{display:inline-flex;align-items:center;font-size:13px;font-weight:900;line-height:1;margin-left:auto}.graph-overlay{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;background:#0f172a99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:0}.graph-modal{display:flex;flex-direction:column;gap:16px;width:100vw;max-width:100vw;height:100vh;max-height:100vh;overflow:auto;border-radius:0;background:#fff;padding:24px 28px;box-shadow:none}.param-modal-btn.graph-rotate-btn{display:none}.param-modal-btn.graph-rotate-btn.active{border-color:#99f6e4;background:#ecfdf5;color:#0f766e}.graph-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.graph-header h2,.graph-header p{margin:0}.graph-header h2{color:#111827;font-size:22px}.graph-header p{margin-top:4px;color:#64748b;font-weight:800}.graph-metric-tabs{display:flex;flex-wrap:wrap;gap:6px}.graph-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.graph-controls label{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:13px;font-weight:800}.graph-controls input{width:76px;height:32px;border:1px solid #d8e0e7;border-radius:8px;padding:0 8px;color:#111827;font-weight:800}.graph-controls button{height:32px;border:1px solid #d8e0e7;border-radius:8px;background:#fff;color:#475569;padding:0 10px;font-size:13px;font-weight:800}.graph-controls button:hover{border-color:#0f766e;color:#0f766e}.graph-legend{display:flex;flex-wrap:wrap;gap:8px}.graph-legend span{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#f1f5f9;color:#475569;padding:5px 9px;font-size:12px;font-weight:900}.graph-legend i{display:inline-block;width:18px;height:3px;border-radius:999px}.graph-tab{height:32px;border:1px solid #d8e0e7;border-radius:999px;background:#fff;color:#475569;padding:0 11px;font-size:13px;font-weight:800}.graph-tab.active{border-color:#0f766e;background:#e6f5f2;color:#0f766e}.graph-body{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-height:320px;border:1px solid #d8e0e7;border-radius:8px;background:#f8fafc;padding:10px}.graph-empty{min-height:300px;border:0;background:transparent}.graph-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;min-height:100%;padding:18px;margin:auto;color:#0f766e;font-size:13px;font-weight:900}.graph-loading-state strong{color:#111827;font-size:16px}.graph-bg-loading{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:7px;overflow:hidden;border:1px solid #e2e8f0;border-radius:6px;background:#fffffff2;box-shadow:0 2px 8px #0f172a12;color:#0f766e;padding:6px 10px;font-size:11px;font-weight:800}.line-chart{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.chart-axis{stroke:#94a3b8;stroke-width:1.2}.chart-grid{stroke:#e2e8f0;stroke-width:1}.chart-end-marker{stroke:#64748b6b;stroke-width:.8}.chart-line{fill:none;stroke:#2563eb;stroke-linecap:round;stroke-linejoin:round;stroke-width:.85}.chart-point{fill:#0f766e;stroke:#fff;stroke-width:2}.chart-label{fill:#64748b;font-size:12px;font-weight:700}.chart-selection{fill:#0f766e29;stroke:#0f766e;stroke-dasharray:4 4;stroke-width:1}.graph-footer{display:flex;flex-wrap:wrap;gap:8px;color:#475569;font-size:13px;font-weight:800}.graph-footer span{border-radius:999px;background:#f1f5f9;padding:5px 9px}@media(max-width:760px){.param-modal-btn.graph-rotate-btn{display:inline-flex}.graph-modal{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none;box-shadow:none;gap:10px;overflow:auto;padding:14px}.graph-header{gap:10px}.graph-header h2{font-size:17px;line-height:1.2}.graph-header p{display:none}.graph-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.graph-header-actions .param-modal-btn>span{display:none}.graph-header-actions .param-modal-btn{padding:0 9px;min-width:32px;justify-content:center}.graph-header-actions .auto-prediction-badge{padding:0 7px;font-size:10px;height:26px}.graph-body{min-height:360px}}@media(max-width:760px)and (orientation:portrait){.graph-overlay{display:block;overflow:hidden}.graph-modal.mobile-landscape{position:fixed;top:50%;left:50%;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:100vh;width:100dvh;height:100vw;height:100dvw;max-width:100vh;max-width:100dvh;max-height:100vw;max-height:100dvw;gap:8px;overflow:hidden;padding:10px 12px;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center center}.graph-modal.mobile-landscape .graph-header{align-items:center;min-width:0}.graph-modal.mobile-landscape .eyebrow,.graph-modal.mobile-landscape .graph-header p{display:none}.graph-modal.mobile-landscape .graph-header h2{max-width:42vh;max-width:42dvh;overflow:hidden;font-size:14px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.graph-modal.mobile-landscape .param-modal-btn{height:28px;padding:0 8px;font-size:11px}.graph-modal.mobile-landscape .icon-button{width:30px;height:30px}.graph-modal.mobile-landscape .graph-controls{flex-wrap:nowrap;gap:6px;min-width:0;overflow-x:auto;padding-bottom:1px}.graph-modal.mobile-landscape .graph-controls>*{flex:0 0 auto}.graph-modal.mobile-landscape .graph-controls label,.graph-modal.mobile-landscape .graph-controls button{height:28px;font-size:11px}.graph-modal.mobile-landscape .graph-controls input{width:62px;height:28px;font-size:11px}.graph-modal.mobile-landscape .graph-legend{flex-wrap:nowrap;max-height:none;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:1px}.graph-modal.mobile-landscape .graph-legend span{flex:0 0 auto;padding:4px 7px;font-size:10px}.graph-modal.mobile-landscape .graph-body{flex:1;height:100%;min-height:0;overflow:hidden;padding:6px}.graph-modal.mobile-landscape .graph-footer{flex-wrap:nowrap;gap:6px;font-size:11px;min-width:0;overflow-x:auto}.graph-modal.mobile-landscape .graph-footer span{flex:0 0 auto;padding:4px 7px}}@media(max-width:1280px){.overview-toolbar{grid-template-columns:minmax(0,1fr) minmax(260px,1fr)}.compact-search,.filter-pills,.toolbar-checkbox,.auto-analysis-control,.auth-mini{justify-self:stretch}.toolbar-checkbox,.auto-analysis-control{width:100%}.auto-analysis-control{grid-template-columns:auto minmax(0,1fr) auto}.auth-mini{justify-content:flex-start}.global-unit-row,.global-unit-row.no-graph{grid-template-columns:172px minmax(0,1fr)}.global-unit-row.no-graph{grid-template-columns:minmax(96px,140px) minmax(0,1fr)}.global-unit-graph{grid-column:1 / -1;min-height:120px;border-top:1px dashed #d8e0e7;border-left:0;padding-top:12px;padding-left:0}}@media(max-width:960px){.overview-shell,.overview-header{max-width:100%}.overview-header{flex-direction:column}.overview-actions{justify-content:flex-start;width:100%;max-width:100%}.overview-toolbar{grid-template-columns:1fr;width:100%;max-width:100%}.auth-mini{justify-content:flex-start;max-width:100%}.global-unit-row{grid-template-columns:1fr;width:100%;max-width:100%}.global-unit-row.no-graph{grid-template-columns:1fr}.chamber-action-controls{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;width:100%!important}.chamber-action-controls .green-control-btn{flex:1!important;justify-content:center!important;width:0!important}.global-unit-graph{display:flex;grid-column:1 / -1;min-height:320px;border-top:1px dashed #d8e0e7;border-left:0;padding-top:10px;padding-left:0}.location-section-header,.active-location-sticky{align-items:flex-start;flex-direction:column;overflow:hidden}.location-heading,.location-summary,.active-location-sticky .location-heading,.active-location-sticky .location-summary{width:100%;max-width:100%}.active-location-sticky .location-heading p{max-width:100%}.location-summary{justify-content:flex-start}}@media(max-width:640px){.overview-shell{padding:8px}.overview-header h1{font-size:24px}.overview-header p{max-width:100%}.fleet-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}.overview-actions{flex-wrap:wrap}.global-metric-grid,.compact-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.locations-header-bar{align-items:flex-start;flex-direction:column;gap:8px;width:100%;max-width:100%}.location-section-header{padding:10px}.location-heading{gap:10px}.location-heading h2{font-size:17px}.location-heading p{font-size:12px}.collapsible-content-inner{padding:5px}.global-unit-row{min-height:0;padding:5px 6px}.compact-metric-grid{gap:4px}.metric-pair-tile{min-height:62px;padding:3px 4px}.metric-pair-label{gap:3px;min-height:18px;font-size:12px}.metric-pair-values{gap:3px;padding-top:3px}.metric-pair-values span{font-size:9px}.metric-pair-values strong{font-size:26px;line-height:.98}.global-unit-graph{min-height:320px}.graph-sparkline{min-height:306px;padding:0}}@media(max-width:420px){.fleet-stats,.global-metric-grid,.compact-metric-grid{grid-template-columns:1fr}.global-unit-row.no-graph .compact-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-pair-values strong{font-size:25px}}.mobile-metrics-wrapper{display:block;opacity:1;width:100%}.mobile-metrics-toggle-btn{display:none}.global-unit-graph{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;gap:4px;border-left:1px dashed #d8e0e7;padding-left:14px;cursor:pointer;min-height:0}.global-unit-graph:hover .graph-label{color:#0f766e}.graph-label{color:#64748b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;text-align:right;transition:color .15s ease}.graph-sparkline{display:block;width:100%;flex:1;min-height:82px;border:1px solid #d8e0e7;border-radius:6px;background:#f8fafc;overflow:hidden}.sparkline-placeholder{font-size:11px;color:#94a3b8;font-weight:700;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:6px}.sparkline-placeholder.shimmer{background:linear-gradient(90deg,#f8fafc 25%,#f1f5f9,#f8fafc 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{to{background-position:-200% 0}}@media(max-width:1280px){.global-unit-graph{grid-column:1 / -1;min-height:120px;border-top:1px dashed #d8e0e7;border-left:0;padding-top:12px;padding-left:0}}@media(max-width:960px){.global-unit-graph{display:flex;grid-column:1 / -1;min-height:320px;border-top:1px dashed #d8e0e7;border-left:0;padding-top:10px;padding-left:0}.metrics-collapsed .mobile-metrics-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .25s ease-out,margin .3s ease;opacity:0;overflow:hidden;width:100%;margin:0}.metrics-expanded .mobile-metrics-wrapper{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .25s ease-out,margin .3s ease;opacity:1;overflow:hidden;width:100%;margin-top:4px;margin-bottom:12px}.metrics-collapsed .mobile-metrics-inner,.metrics-expanded .mobile-metrics-inner{min-height:0}.mobile-metrics-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;color:#0f766e;font-size:13px;font-weight:800;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #00000005;margin:6px 0}.mobile-metrics-toggle-btn:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#0f766e;box-shadow:0 2px 4px #0f766e0d}.mobile-metrics-toggle-btn:active{transform:scale(.98)}}.special-status-container{display:flex;flex-direction:column;gap:5px;margin-top:4px;max-width:100%;width:fit-content}.status-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;height:26px;padding:0 8px;border-radius:6px;background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;line-height:1;box-shadow:0 1px 2px #16a34a0a}.status-pill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-pill.flushing{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.status-pill.o2down{background:#ecfdf5;border-color:#a7f3d0;color:#059669}.status-pill.o2up{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.status-pill.pulldown{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.status-arrow-icon{flex-shrink:0}.locations-header-bar{display:flex;align-items:center;justify-content:space-between;margin-top:14px;margin-bottom:-10px;padding:0 4px}.locations-header-bar h3{color:#334155;font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin:0}.global-collapse-actions{display:flex;align-items:center;gap:8px}.action-link-btn{background:transparent;border:0;padding:4px 8px;color:#0f766e;font-size:13px;font-weight:700;cursor:pointer;border-radius:6px;transition:all .15s ease}.action-link-btn:hover{background:#e6f5f2;color:#0d5c55}.global-collapse-actions .divider{color:#cbd5e1;font-size:12px;-webkit-user-select:none;user-select:none}.chamber-action-controls{margin-top:8px;max-width:100%;width:fit-content;display:flex;flex-direction:column;gap:6px}.green-control-btn{display:inline-flex;align-items:center;gap:8px;max-width:100%;height:30px;padding:0 12px;border-radius:8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border:1px solid #dbe2e8;background:#f1f5f9;color:#475569;box-shadow:0 1px 2px #0000000d}.green-control-btn span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-control-btn:hover{background:#e2e8f0;border-color:#cbd5e1;color:#1e293b;transform:translateY(-.5px)}.green-control-btn:active{transform:scale(.96)}.green-control-btn .btn-indicator{width:8px;height:8px;border-radius:50%;background:#94a3b8;transition:all .25s ease;position:relative;box-shadow:inset 0 1px 1px #0003}.green-control-btn.active{background:linear-gradient(135deg,#10b981,#059669);border-color:#34d399;color:#fff;box-shadow:0 0 12px #10b9818c,inset 0 1px #ffffff40;animation:premium-green-pulse 2s infinite alternate}.green-control-btn.active:hover{background:linear-gradient(135deg,#34d399,#059669);border-color:#6ee7b7;box-shadow:0 0 16px #10b981bf,inset 0 1px #ffffff4d}.green-control-btn.active .btn-indicator{background:#fff;box-shadow:0 0 8px #fff,0 0 3px #fff}@keyframes premium-green-pulse{0%{box-shadow:0 0 10px #10b98173,inset 0 1px #fff3}to{box-shadow:0 0 16px #10b981a6,inset 0 1px #fff3}}.green-control-btn.syncing{cursor:not-allowed;opacity:.8;animation:none}.green-control-btn.syncing.active{animation:none;box-shadow:0 0 8px #10b98166,inset 0 1px #fff3}.btn-sync-spinner{width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:btn-spin .65s linear infinite;flex-shrink:0}.green-control-btn:not(.active) .btn-sync-spinner{border-color:#64748b4d;border-top-color:#64748b}@keyframes btn-spin{to{transform:rotate(360deg)}}.graph-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.param-modal-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;font-size:12px;font-weight:700;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer;transition:all .18s ease;white-space:nowrap}.param-modal-btn:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.param-modal-btn.calib{border-color:#fde68a;background:#fffbeb;color:#92400e}.param-modal-btn.calib:hover{background:#fef3c7;border-color:#f59e0b;color:#78350f}.param-modal-btn.prediction{border-color:#d1fae5;background:#ecfdf5;color:#065f46}.param-modal-btn.prediction:hover{background:#d1fae5;border-color:#10b981;color:#064e3b}.auto-prediction-badge{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:7px;font-size:11px;font-weight:700;white-space:nowrap;border:1px solid;cursor:default;transition:all .2s ease}.auto-prediction-badge.o2{border-color:#d8b4fe;background:#f5f3ff;color:#6d28d9}.auto-prediction-badge.o2.reached{border-color:#6ee7b7;background:#ecfdf5;color:#065f46}.auto-prediction-badge.o2.no-trend{border-color:#e2e8f0;background:#f8fafc;color:#94a3b8}.auto-prediction-badge.temp{border-color:#fca5a5;background:#fef2f2;color:#dc2626}.auto-prediction-badge.temp.reached{border-color:#6ee7b7;background:#ecfdf5;color:#065f46}.auto-prediction-badge.temp.no-trend{border-color:#e2e8f0;background:#f8fafc;color:#94a3b8}.param-overlay{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.param-modal{background:#fff;border-radius:16px;box-shadow:0 24px 64px #00000038,0 4px 16px #00000014;width:540px;max-width:100%;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.param-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.param-header h2{margin:2px 0 0;font-size:18px;font-weight:800;color:#0f172a}.alert-bar.danger-alert{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.alert-bar.success-alert{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.param-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:20px;min-height:0}.param-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 0;color:#64748b;font-size:14px;font-weight:600}.param-section-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#94a3b8;margin-bottom:10px}.param-grid{display:flex;flex-direction:column;gap:2px}.param-row{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:8px;transition:background .12s}.param-row:hover{background:#f8fafc}.param-row.dirty{background:#fffbeb}.param-row.readonly{opacity:.75}.param-label{flex:1;font-size:12.5px;font-weight:600;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;-webkit-user-select:none;user-select:none}.param-input-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0}.param-input{width:100px;height:30px;padding:0 8px;border:1px solid #e2e8f0;border-radius:7px;font-size:12.5px;font-weight:600;color:#0f172a;background:#f8fafc;outline:none;transition:border-color .15s,box-shadow .15s;text-align:right}.param-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626;background:#fff}.param-row.dirty .param-input{border-color:#f59e0b;background:#fffbeb}.param-readonly-val{font-size:12.5px;font-weight:700;color:#64748b;min-width:70px;text-align:right}.param-dirty-dot{width:6px;height:6px;border-radius:50%;background:#f59e0b;flex-shrink:0}.param-bool-toggle{display:flex;align-items:center;gap:8px;height:28px;padding:0 10px 0 6px;border-radius:20px;border:1.5px solid #e2e8f0;background:#f1f5f9;cursor:pointer;transition:all .2s ease;min-width:70px}.param-bool-toggle.on{background:linear-gradient(135deg,#10b981,#059669);border-color:#34d399}.param-bool-toggle.off{background:#f1f5f9;border-color:#e2e8f0}.param-bool-knob{width:16px;height:16px;border-radius:50%;background:#94a3b8;transition:background .2s;flex-shrink:0}.param-bool-toggle.on .param-bool-knob{background:#fff;box-shadow:0 1px 4px #0003}.param-bool-label{font-size:11px;font-weight:800;color:#64748b;letter-spacing:.4px}.param-bool-toggle.on .param-bool-label{color:#fff}.param-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid #f1f5f9;flex-shrink:0;background:#fafafa}.param-dirty-count{font-size:12px;font-weight:600;color:#94a3b8}.param-footer-actions{display:flex;gap:8px}.param-btn-secondary{height:34px;padding:0 16px;border-radius:8px;font-size:13px;font-weight:700;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer;transition:all .15s}.param-btn-secondary:hover{background:#e2e8f0;color:#1e293b}.param-btn-primary{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 18px;border-radius:8px;font-size:13px;font-weight:700;border:none;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px #3b82f659}.param-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 4px 12px #3b82f673;transform:translateY(-1px)}.param-btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.app-layout{display:flex;min-height:100vh;background:#f8fafc;font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,sans-serif}.app-sidebar{width:260px;min-width:260px;flex-shrink:0;background:#0f172a;color:#f1f5f9;display:flex;flex-direction:column;border-right:1px solid #1e293b;position:sticky;top:0;height:100vh;z-index:100;overflow:hidden;transition:width .2s ease,min-width .2s ease,transform .24s ease}.app-sidebar.is-collapsed{width:76px;min-width:76px}.sidebar-brand{padding:24px 20px;border-bottom:1px solid #1e293b;display:flex;align-items:center;gap:12px;min-height:74px}.sidebar-brand h1{flex:1;min-width:0;font-size:18px;font-weight:800;color:#fff;margin:0;letter-spacing:-.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981;animation:sidebar-dot-pulse 2s infinite ease-in-out}.sidebar-toggle-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#ffffff0a;color:#cbd5e1;padding:0}.sidebar-toggle-button:hover{border-color:#60a5fa8c;background:#60a5fa1f;color:#fff}.app-sidebar.is-collapsed .sidebar-brand{justify-content:center;padding:20px 12px}.app-sidebar.is-collapsed .brand-dot,.app-sidebar.is-collapsed .sidebar-brand h1,.app-sidebar.is-collapsed .sidebar-item span,.app-sidebar.is-collapsed .sidebar-footer-stopped-toggle span,.app-sidebar.is-collapsed .sidebar-footer-info .connection-pill,.app-sidebar.is-collapsed .sidebar-footer>div:last-child{display:none}@keyframes sidebar-dot-pulse{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.15);box-shadow:0 0 12px #10b981,0 0 4px #10b981}}.sidebar-menu{padding:24px 12px;display:flex;flex-direction:column;gap:8px;flex:1;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:700;color:#94a3b8;border:none;background:transparent;text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.sidebar-item svg{flex:0 0 auto}.sidebar-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item:hover{background:#ffffff0a;color:#f1f5f9}.sidebar-item:active{transform:scale(.98)}.sidebar-item.active{background:linear-gradient(90deg,#3b82f626,#3b82f605);color:#60a5fa;border-left:3px solid #3b82f6;padding-left:13px}.app-sidebar.is-collapsed .sidebar-menu{padding:18px 10px}.app-sidebar.is-collapsed .sidebar-item{justify-content:center;gap:0;height:44px;padding:0}.app-sidebar.is-collapsed .sidebar-item.active{border-left:0;box-shadow:inset 3px 0 #3b82f6;padding-left:0}.sidebar-footer{padding:20px 16px;border-top:1px solid #1e293b;display:flex;flex-direction:column;gap:10px;background:#0b0f19}.app-sidebar.is-collapsed .sidebar-footer{align-items:center;padding:12px 10px}.sidebar-footer-info{display:flex;align-items:center;gap:10px;font-size:12px;color:#64748b}.app-sidebar.is-collapsed .sidebar-footer-info{justify-content:center;width:100%}.sidebar-footer-info strong{color:#cbd5e1}.connection-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:700;width:fit-content}.connection-pill.live{background:#10b9811a;color:#34d399}.connection-pill.mock{background:#f59e0b1a;color:#fbbf24}.app-main-content{flex:1;overflow-y:auto;height:100vh;display:flex;flex-direction:column}.page-content{flex:1;padding:30px;max-width:1600px;width:100%;margin:0 auto}.sidebar-footer-stopped-toggle{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 4px;border-radius:6px;transition:background .2s}.app-sidebar.is-collapsed .sidebar-footer-stopped-toggle{justify-content:center;width:38px;height:38px;padding:0}.sidebar-footer-stopped-toggle:hover{background:#ffffff05}.sidebar-footer-stopped-toggle input{cursor:pointer}@media(max-width:900px){.app-shell,.app-shell.sidebar-collapsed,.app-shell.sidebar-expanded{grid-template-columns:minmax(0,1fr)}.app-content{padding:62px 14px 18px}.app-sidebar,.app-sidebar.is-collapsed{position:fixed;inset:0 auto 0 0;width:min(300px,calc(100vw - 44px));min-width:min(300px,calc(100vw - 44px));height:100vh;box-shadow:18px 0 42px #0f172a3d}.app-sidebar.is-collapsed{transform:translate(-105%)}.sidebar-mobile-trigger{position:fixed;top:12px;left:12px;z-index:135;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;box-shadow:0 8px 18px #0f172a24;padding:0}.app-shell.sidebar-expanded .sidebar-mobile-trigger{display:none}.sidebar-backdrop{position:fixed;inset:0;z-index:90;display:block;border:0;background:#0f172a61;padding:0}}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:24px;margin-top:24px}.location-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 4px 16px #00000005;padding:24px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;justify-content:space-between;min-height:220px}.location-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0f172a14;border-color:#cbd5e1}.location-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.location-card-header h2{font-size:18px;font-weight:800;color:#0f172a;margin:0}.location-card-body{flex:1}.location-card-address{font-size:13px;color:#64748b;margin:4px 0 16px;line-height:1.4}.location-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid #f1f5f9;padding-top:16px}.location-stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.location-stat-item span{font-size:11px;color:#94a3b8;font-weight:700;text-transform:uppercase}.location-stat-item strong{font-size:18px;font-weight:800;color:#334155;margin-top:4px}.analytics-summary-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:24px}.analytics-card{background:#fff;border-radius:14px;border:1px solid #e2e8f0;padding:20px;display:flex;align-items:center;gap:16px}.analytics-card-icon{width:48px;height:48px;border-radius:12px;background:#eff6ff;color:#3b82f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.analytics-card-icon.amber{background:#fffbeb;color:#d97706}.analytics-card-icon.emerald{background:#ecfdf5;color:#059669}.analytics-card-info{display:flex;flex-direction:column}.analytics-card-info span{font-size:13px;color:#64748b;font-weight:600}.analytics-card-info strong{font-size:22px;font-weight:800;color:#0f172a;margin-top:2px}.analytics-layout{display:grid;grid-template-columns:2fr 1fr;gap:24px}.analytics-panel{background:#fff;border-radius:16px;border:1px solid #e2e8f0;padding:24px;display:flex;flex-direction:column}.analytics-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.analytics-panel-header h3{font-size:16px;font-weight:800;color:#0f172a;margin:0}.timeframe-select{display:flex;gap:6px;background:#f1f5f9;padding:4px;border-radius:8px}.timeframe-btn{border:none;background:transparent;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:700;color:#64748b;cursor:pointer;transition:all .15s}.timeframe-btn:hover{color:#0f172a}.timeframe-btn.active{background:#fff;color:#3b82f6;box-shadow:0 1px 3px #0000000d}.analytics-vector-mock{height:280px;background:#fafafa;border-radius:12px;border:1px dashed #e2e8f0;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.leaderboard-list{display:flex;flex-direction:column;gap:16px}.leaderboard-item{display:flex;justify-content:space-between;align-items:center}.leaderboard-name{display:flex;flex-direction:column}.leaderboard-name span{font-size:14px;font-weight:700;color:#334155}.leaderboard-name small{font-size:11px;color:#94a3b8;margin-top:2px}.leaderboard-metric{font-size:14px;font-weight:800;color:#0f172a;background:#f8fafc;padding:4px 8px;border-radius:6px;border:1px solid #e2e8f0}.settings-container{max-width:800px;margin-top:24px;display:flex;flex-direction:column;gap:24px}.settings-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;padding:24px}.settings-card h3{font-size:16px;font-weight:800;color:#0f172a;margin:0 0 6px}.settings-card p{font-size:13px;color:#64748b;margin:0 0 20px;line-height:1.4}.settings-form{display:flex;flex-direction:column;gap:16px}.settings-form-row{display:flex;flex-direction:column;gap:6px}.settings-form-row label{font-size:12px;font-weight:700;color:#475569}.settings-form-row input,.settings-form-row select,.settings-form-row textarea{height:38px;padding:0 12px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:13px;color:#0f172a;outline:none;transition:all .15s}.settings-form-row textarea{height:auto;min-height:96px;padding:10px 12px;line-height:1.45;resize:vertical}.settings-form-row input:focus,.settings-form-row select:focus,.settings-form-row textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.settings-form-row select{cursor:pointer}.settings-btn-save{height:38px;border-radius:8px;border:none;background:#3b82f6;color:#fff;font-weight:700;font-size:13px;cursor:pointer;transition:background .15s;box-shadow:0 2px 8px #3b82f640;width:120px;margin-top:8px}.settings-btn-save:hover{background:#2563eb}.settings-diagnostics{display:flex;flex-direction:column;gap:10px;border-top:1px solid #f1f5f9;padding-top:16px}.diagnostic-item{display:flex;justify-content:space-between;font-size:13px}.diagnostic-item span{color:#64748b}.diagnostic-item strong{color:#334155;font-weight:600}.certificate-page{animation:fadeIn .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;height:100%}.custom-table th{font-size:11px;letter-spacing:.05em;font-weight:800;text-transform:uppercase}.table-row-hover:hover{background-color:#f5f3ff!important;cursor:default}.btn-qr-preview:hover{border-color:#4f46e5!important;background-color:#f5f3ff!important;transform:translateY(-1px);box-shadow:0 4px 6px -1px #4f46e51a,0 2px 4px -1px #4f46e50f}.btn-qr-preview:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.spin{animation:spin-pulse 1.2s infinite linear}@keyframes spin-pulse{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-responsive-container{max-width:100%;overflow-x:auto}@media(max-width:768px){.custom-table th:nth-child(5),.custom-table td:nth-child(5),.custom-table th:nth-child(6),.custom-table td:nth-child(6){display:none}}.table-row-hover:hover td{background-color:#f8fafc!important}@media(max-width:640px){.treatment-request-page *{min-width:0}.treatment-detail-list>div{align-items:flex-start!important;flex-direction:column!important;gap:4px}.treatment-detail-list strong,.treatment-detail-list span{max-width:100%!important;overflow:visible!important;text-align:left!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere}.treatment-detail-setpoints>div{align-items:flex-start!important;flex-direction:column!important;gap:4px}}.certificate-graph-page{min-height:100vh;background:#eef2f5;color:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.certificate-graph-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;border-bottom:1px solid #d8e0e7;background:#fffffff5;padding:12px 20px;box-shadow:0 1px 2px #0f172a0f}.certificate-graph-toolbar-title{display:flex;flex-direction:column;min-width:0;color:#475569;font-size:12px}.certificate-graph-toolbar-title strong{color:#0f172a;font-size:14px}.certificate-graph-toolbar-actions{display:flex;gap:8px;margin-left:auto}.certificate-graph-tool{display:inline-flex;align-items:center;gap:7px;height:34px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;padding:0 12px;font-size:12px;font-weight:800}.certificate-graph-tool:hover{border-color:#00a870;color:#007a52}.certificate-graph-tool.primary{border-color:#00a870;background:#00a870;color:#fff}.certificate-graph-tool:disabled{cursor:not-allowed;opacity:.65}.certificate-graph-scroll{overflow:auto;padding:18px 20px 28px}.certificate-graph-warning{display:flex;align-items:center;gap:8px;max-width:1584px;margin:0 auto 10px;border:1px solid #fed7aa;border-radius:6px;background:#fff7ed;color:#9a3412;padding:8px 10px;font-size:12px;font-weight:700}.certificate-graph-state{display:grid;min-height:calc(100vh - 64px);place-content:center;gap:12px;color:#475569;text-align:center}.certificate-graph-state svg{margin:0 auto;color:#00a870}.certificate-graph-state.error svg{color:#dc2626}.certificate-graph-state button{border:0;border-radius:6px;background:#00a870;color:#fff;padding:8px 14px;font-weight:800}.certificate-graph-print-root{display:flex;flex-direction:column;gap:18px;align-items:center}.certificate-graph-template-page{position:relative;width:1584px;height:1120px;overflow:hidden;background:#fff;border:1px solid #d8e0e7;box-shadow:0 14px 40px #0f172a1f;color:#000;font-family:Times New Roman,Times,serif;letter-spacing:0}.certificate-graph-logo{position:absolute;top:70px;left:64px;width:199px;height:auto}.certificate-graph-slogan-img{position:absolute;top:73px;right:108px;width:250px;height:auto}.certificate-graph-cover h1{position:absolute;top:134px;left:0;width:100%;margin:0;color:#000;font-family:Times New Roman,Times,serif;font-size:31px;font-weight:900;line-height:1;text-align:center}.certificate-graph-template-meta{position:absolute;top:201px;left:65px;width:850px;color:#000;font-size:16px;line-height:1.43}.certificate-graph-template-meta p{margin:0}.certificate-graph-template-meta strong{font-weight:900}.certificate-graph-template-summary{position:absolute;top:383px;left:65px;width:1455px;border-collapse:collapse;table-layout:fixed;color:#000;font-size:16px;line-height:1.05}.certificate-graph-template-summary th,.certificate-graph-template-summary td{border:1px solid #6f6f6f;padding:2px 4px;text-align:center;vertical-align:middle}.certificate-graph-template-summary th{background:#ff0;font-weight:900}.certificate-graph-template-summary td{height:20px;font-weight:400}.certificate-graph-template-footer{position:absolute;left:65px;right:65px;bottom:25px;color:#000;font-family:Times New Roman,Times,serif}.certificate-graph-template-footer .office-line,.certificate-graph-template-footer .contact-line{display:flex;align-items:center;gap:6px;min-height:22px;font-size:20px;font-weight:900;line-height:1.1}.certificate-graph-template-footer .office-line strong{color:green;font-weight:900}.certificate-graph-template-footer i{display:inline-block;width:8px;height:8px;border-radius:999px;background:#d40000;flex:0 0 auto}.certificate-graph-template-footer p{margin:7px 0 0;font-size:15px;font-weight:400;line-height:1.05}.certificate-graph-template-panel{position:absolute;left:54px;right:54px;height:425px}.certificate-graph-template-panel.temperature{top:72px}.certificate-graph-template-panel.o2{top:540px}.certificate-graph-template-panel h2{margin:0;color:#000;font-family:Times New Roman,Times,serif;font-size:19px;font-weight:900;line-height:1;text-decoration:underline}.template-graph-sidebar{position:absolute;top:44px;left:10px;z-index:2;width:170px;color:#222;font-size:13px}.template-select-box{position:relative;height:58px;border-bottom:1px solid #777777}.template-select-box span{display:block;padding-left:15px;color:#666;line-height:21px}.template-select-box strong{display:block;padding-left:0;color:#333;font-weight:400;line-height:23px}.template-select-box b{position:absolute;top:9px;right:7px;color:#000;font-family:Arial,sans-serif;font-size:31px;font-weight:400;line-height:1}.template-legend-list{display:flex;flex-direction:column;gap:18px;margin-top:28px}.template-legend-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-height:16px}.template-legend-row i{display:block;width:20px;height:17px}.template-legend-row span{overflow:hidden;color:#000;font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.certificate-graph-template-chart,.certificate-graph-template-empty{position:absolute;top:38px;left:196px;width:1280px;height:386px}.certificate-graph-template-empty{display:grid;place-items:center;border:1px solid #d3d3d3;color:#777;font-family:Arial,sans-serif;font-size:14px}.certificate-graph-template-chart{display:block;background:#fff}.template-chart-svg{display:block;width:100%;height:100%}.template-grid-y,.template-grid-x{stroke:#ddd;stroke-width:1}.template-axis-line{stroke:#9e9e9e;stroke-width:1}.template-axis-label{fill:#666;font-family:Arial,sans-serif;font-size:11px}.template-axis-label.y.dense{font-size:6px}.template-axis-label.x{font-size:11px;font-weight:600;fill:#475569}.template-x-axis-label{position:absolute;bottom:11px;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);color:#334155;font-family:Arial,sans-serif;font-size:10px;font-weight:700;line-height:1.05;white-space:nowrap}.template-data-line{fill:none;stroke-linecap:round;stroke-linejoin:round}@media print{.certificate-graph-toolbar,.certificate-graph-warning{display:none}.certificate-graph-page,.certificate-graph-scroll{background:#fff;padding:0}.certificate-graph-print-root{gap:0}.certificate-graph-template-page{border:0;box-shadow:none;page-break-after:always}}.ma-title-container{display:inline-block;position:relative}.unit-title-button.ma-clickable{background:transparent;border:none;padding:2px 0;font-size:15px;font-weight:800;color:#0f766e;cursor:pointer;transition:color .15s;text-decoration:underline;text-underline-offset:3px;outline:none}.unit-title-button.ma-clickable:hover{color:#0d5c55}.dropdown-backdrop{position:fixed;inset:0;z-index:999;background:transparent}.ma-options-dropdown{position:absolute;top:100%;left:0;z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:4px;display:flex;flex-direction:column;min-width:130px;margin-top:4px}.ma-options-dropdown button{background:transparent;border:none;padding:8px 12px;font-size:13px;font-weight:600;color:#334155;text-align:left;cursor:pointer;border-radius:6px;transition:background .15s,color .15s;width:100%}.ma-options-dropdown button:hover{background:#f1f5f9;color:#0f172a}.param-header.custom-layout{display:flex;align-items:center;justify-content:center;position:relative;padding:24px 24px 16px;border-bottom:none}.param-header.custom-layout h2{font-size:22px;font-weight:700;color:#000;text-align:center;margin:0;letter-spacing:-.5px}.param-header.custom-layout .custom-close-btn{position:absolute;top:24px;right:24px;background:#000;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,opacity .2s;padding:0}.param-header.custom-layout .custom-close-btn:hover{opacity:.8;transform:scale(1.05)}.param-header.custom-layout .custom-close-btn:active{transform:scale(.95)}.custom-param-table-container{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto;margin-bottom:8px;background:#fff;box-shadow:0 1px 3px #00000005}.custom-param-table{width:100%;border-collapse:collapse}.custom-param-table th{text-align:left;padding:14px 16px;font-size:13px;font-weight:700;color:#64748b;border-bottom:1.5px solid #e2e8f0;border-right:1.5px solid #e2e8f0;background:#fff;letter-spacing:.2px}.custom-param-table th:last-child{border-right:none}.custom-param-table td{padding:10px 16px;font-size:13.5px;font-weight:500;color:#334155;border-bottom:1.5px solid #e2e8f0;border-right:1.5px solid #e2e8f0;vertical-align:middle}.custom-param-table td:last-child{border-right:none}.custom-param-table tr:last-child td{border-bottom:none}.custom-param-table tr:hover td:first-child{background:#f8fafc}.custom-param-select-cell{position:relative;padding:6px 12px!important;border-bottom:3.5px solid #00a854!important}.custom-param-select{width:100%;height:38px;padding:0 32px 0 12px;font-size:13.5px;font-weight:600;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px;transition:border-color .15s,box-shadow .15s}.custom-param-select:focus{border-color:#00a854;box-shadow:0 0 0 3px #00a8541a}.custom-param-input{width:100%;height:38px;padding:0 12px;font-size:13.5px;font-weight:600;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;text-align:left;transition:border-color .15s,box-shadow .15s}.custom-param-input:focus{border-color:#00a854;box-shadow:0 0 0 3px #00a8541a}.custom-param-readonly-val{font-size:13.5px;font-weight:700;color:#64748b;padding-left:6px}.custom-param-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px 24px;border-top:none;background:#fff;flex-shrink:0}.custom-btn-cancel{height:38px;padding:0 28px;border-radius:19px;font-size:12.5px;font-weight:700;border:1px solid #dbe2e8;background:#fff;color:#00a854;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #00000008}.custom-btn-cancel:hover{background:#f4fbf7;border-color:#a3e2c9;color:#008743}.custom-btn-cancel:active{transform:scale(.97)}.custom-btn-save{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 32px;border-radius:19px;font-size:12.5px;font-weight:700;border:none;background:#2dd4bf;color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #2dd4bf59}.custom-btn-save:hover:not(:disabled){background:#14b8a6;box-shadow:0 4px 12px #14b8a673}.custom-btn-save:active:not(:disabled){transform:scale(.97)}.custom-btn-save:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.graph-filter-bar{display:flex;align-items:flex-end;gap:28px;padding:12px 4px 20px;border-bottom:1px solid #e2e8f0;margin-bottom:8px;flex-wrap:wrap}.graph-filter-bar .filter-item{display:flex;flex-direction:column;gap:6px;min-width:170px;position:relative}.graph-filter-bar .filter-label{color:#8a94a6;font-size:12.5px;font-weight:600;text-transform:none;font-family:inherit}.graph-filter-bar .filter-input-wrapper{position:relative;display:flex;align-items:center;border-bottom:1.5px solid #cbd5e1;padding-bottom:4px;transition:border-color .2s,box-shadow .2s;min-height:32px}.graph-filter-bar .filter-input-wrapper:focus-within{border-bottom-color:#00b074}.graph-filter-bar .filter-input-wrapper input{border:none;background:transparent;outline:none;font-size:15px;font-weight:700;color:#1e293b;padding:2px 0;width:100%;cursor:text}.graph-filter-bar .filter-input-wrapper input[type=date]{position:relative}.graph-filter-bar .filter-input-wrapper input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.graph-filter-bar .filter-input-wrapper select{border:none;background:transparent;outline:none;font-size:15px;font-weight:700;color:#1e293b;padding:2px 0;width:100%;appearance:none;-webkit-appearance:none;cursor:pointer}.graph-filter-bar .filter-input-wrapper select option{font-weight:500;color:#1e293b}.graph-filter-bar .clear-btn{border:none;background:transparent;padding:2px;margin-left:auto;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#94a3b8;transition:color .15s}.graph-filter-bar .clear-btn:hover{color:#475569}.graph-filter-bar .icon-indicator{color:#1e293b;display:flex;align-items:center;pointer-events:none;margin-left:6px}.graph-filter-bar .search-btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 28px;border-radius:19px;font-size:12px;font-weight:800;border:none;background:#00b074;color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.8px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00b07440;margin-bottom:2px}.graph-filter-bar .search-btn:hover:not(:disabled){background:#009662;box-shadow:0 6px 16px #00b07459;transform:translateY(-1px)}.graph-filter-bar .search-btn:active:not(:disabled){transform:scale(.97)}.graph-filter-bar .search-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media(max-width:760px){.graph-filter-bar{gap:12px;padding:8px 0 12px}.graph-filter-bar .filter-item{min-width:140px}.graph-filter-bar .filter-input-wrapper{min-height:28px}.graph-filter-bar .filter-input-wrapper input,.graph-filter-bar .filter-input-wrapper select{font-size:13.5px}}@media(max-width:900px){.graph-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#0f172ae0!important}.param-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#000000c7!important}.online-dot{animation:none!important;box-shadow:0 0 0 2px #22c55e59!important}.state-dot,.green-control-btn.active,.brand-dot{animation:none!important}}@media(prefers-reduced-motion:reduce){.online-dot,.state-dot,.green-control-btn.active,.brand-dot,.spin,.btn-spin,.shimmer{animation:none!important;transition:none!important}}.failure-tracking-container{max-width:1200px!important;margin:0 auto}.failure-alert-panel{transition:all .2s ease-in-out}.failure-alert-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.failure-alert-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0d}@media(max-width:768px){.failure-alert-panel{padding:12px!important;gap:12px!important}.failure-alert-card{padding:12px!important}.failure-alert-stats-row{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.failure-alert-stats-pills{gap:6px!important;justify-content:flex-start!important}.failure-alert-stats-pills span{font-size:10.5px!important;padding:2px 6px!important;min-height:20px!important}.failure-alert-page-actions{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:6px!important;width:100%!important}.failure-alert-page-actions button{width:100%!important;justify-content:center!important;padding:8px 10px!important;font-size:12px!important;height:36px!important}.failure-alert-bulk-actions{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important;gap:6px!important;width:100%!important}.failure-alert-bulk-actions button{width:100%!important;justify-content:center!important;padding:8px 10px!important;font-size:12px!important;height:36px!important}.failure-alert-card-grid{grid-template-columns:auto 1fr!important;gap:10px 14px!important}.failure-alert-card-checkbox{grid-column:1!important;grid-row:1!important;margin-top:2px!important}.failure-alert-card-content{grid-column:2!important;grid-row:1!important;width:100%!important}.failure-alert-card-actions{grid-column:1 / span 2!important;grid-row:2!important;width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:6px!important;justify-content:stretch!important;margin-top:6px!important;padding-top:10px!important;border-top:1px solid #f1f5f9!important}.failure-alert-card-actions button{width:100%!important;justify-content:center!important;padding:8px 6px!important;font-size:11px!important;height:34px!important}}
