:root{color:#253044;background:#eef2f6;--page-bg: #eef2f6;--panel-bg: #ffffff;--border: #dbe3ee;--muted: #66758c;--ink: #172033;--accent: #1473e6;--success: #14835e;--warning: #b45309;--danger: #b91c1c;--button-primary-bg: #1473e6;--button-primary-border: #1473e6;--button-primary-text: #ffffff;--button-secondary-bg: #ffffff;--button-secondary-border: #b8cbe3;--button-secondary-text: #24527f;--button-secondary-hover-bg: #eef4ff;--button-danger-bg: #ffffff;--button-danger-border: #f1a7a7;--button-danger-text: #b91c1c;--button-danger-hover-bg: #fff1f2;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--widget-title-weight: var(--font-weight-medium);--widget-subtitle-weight: var(--font-weight-regular);--widget-value-weight: var(--font-weight-semibold);--widget-unit-weight: var(--font-weight-medium);--widget-label-weight: var(--font-weight-regular);--widget-status-weight: var(--font-weight-medium);--settings-section-weight: var(--font-weight-medium);--settings-label-weight: var(--font-weight-regular);--settings-button-weight: var(--font-weight-medium);--settings-helper-weight: var(--font-weight-regular);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--page-bg)}button,select,input,textarea{font:inherit}button,select,input,textarea{transition:border-color .14s ease,box-shadow .14s ease,background .14s ease,color .14s ease,transform .14s ease}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(20,115,230,.18);outline-offset:2px}.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef7f1,#eef2f6 48%,#e8eef8);padding:24px}.login-panel{width:min(440px,100%);background:#fff;border:1px solid #dbe3ee;border-radius:10px;padding:28px;box-shadow:0 20px 55px #10182824;display:grid;gap:15px}.login-panel h1{margin:8px 0 0}.login-panel p,.login-panel small{color:#667085}.login-panel label{display:grid;gap:7px;color:#536075;font-size:12px;font-weight:var(--font-weight-medium)}.login-panel input{min-height:42px;border:1px solid #d7deea;border-radius:8px;padding:9px 11px}.language-switcher{position:fixed;top:14px;right:18px;z-index:60;display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(203,213,225,.84);border-radius:999px;background:#fffffff0;box-shadow:0 10px 30px #1018281f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.language-switcher button{border:0;border-radius:999px;background:transparent;color:#516079;display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 9px;font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer}.language-switcher button.active{background:#101828;color:#fff}.mobile-menu-button,.mobile-nav-backdrop{display:none}.app-shell{display:grid;grid-template-columns:274px minmax(0,1fr);min-height:100vh}.app-shell--sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}.sidebar{background:#101828;color:#e5edf8;padding:18px 14px;display:flex;flex-direction:column;gap:12px;border-right:1px solid rgba(255,255,255,.08)}.sidebar--collapsed{padding:18px 10px;align-items:center}.brand{display:flex;align-items:center;gap:12px;min-width:0}.sidebar .brand{justify-content:space-between}.brand--login strong{color:#101828}.brand--login span{color:#667085}.brand-logo{width:52px;height:52px;border-radius:8px;object-fit:contain;background:#fff;padding:3px}.brand strong,.brand span{display:block}.brand-copy{min-width:0}.brand strong{font-size:18px}.brand span,.sidebar-footer span{color:#9aa8bd;font-size:12px}.sidebar nav{display:grid;gap:10px;overflow-y:auto;padding-right:2px}.nav-section{display:grid;gap:6px}.nav-section-title{color:#7f8da4;font-size:11px;font-weight:var(--font-weight-medium);letter-spacing:0;padding:0 10px;text-transform:uppercase}.sidebar button{border:0;border-radius:8px;background:transparent;color:#bfcbda;display:flex;align-items:center;gap:10px;padding:9px 11px;text-align:left;cursor:pointer}.sidebar-toggle{width:36px;height:36px;flex:0 0 auto;justify-content:center;padding:0!important;background:#1f2a3d!important;color:#fff!important}.sidebar--collapsed .brand{display:grid;justify-items:center;gap:10px}.sidebar--collapsed .brand-logo{width:44px;height:44px}.sidebar--collapsed .brand-copy,.sidebar--collapsed .nav-section-title,.sidebar--collapsed .nav-label,.sidebar--collapsed .sidebar-select,.sidebar--collapsed .sidebar-status-card,.sidebar--collapsed .sidebar-footer{display:none}.sidebar--collapsed nav{width:100%;padding-right:0}.sidebar--collapsed .nav-section{justify-items:center}.sidebar--collapsed .nav-section button{width:48px;height:44px;justify-content:center;padding:0}.sidebar--collapsed .nav-section button.active{box-shadow:inset 0 -3px #17a673}.sidebar button.active,.sidebar button:hover{background:#1f2a3d;color:#fff}.sidebar button.active{box-shadow:inset 3px 0 #17a673}.sidebar button:disabled{cursor:default;opacity:.46}.sidebar button:disabled:hover{background:transparent;color:#bfcbda}.sidebar-footer{margin-top:auto;border-top:1px solid #263247;padding-top:12px;display:grid;gap:5px}.sidebar-select{display:grid;gap:7px;color:#9aa8bd;font-size:12px;font-weight:var(--font-weight-medium)}.sidebar-select select{min-height:38px;border-color:#263247;background:#1f2a3d;color:#fff}.sidebar-status-card{display:grid;gap:4px;border:1px solid #263247;border-radius:8px;padding:12px;background:linear-gradient(180deg,#172033,#111827)}.sidebar-status-card span,.sidebar-status-card small{color:#9aa8bd;font-size:12px}.sidebar-status-card strong{color:#fff}.sidebar-footer strong{display:block;margin-top:4px}.sidebar-footer small{color:#9aa8bd;overflow-wrap:anywhere}.role-pill{width:fit-content;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:var(--font-weight-medium);text-transform:uppercase;background:#263247;color:#e5edf8}.role-pill--owner{background:#065f46}.role-pill--admin{background:#1d4ed8}.role-pill--engineer{background:#7c3aed}.sidebar-warning{color:#fcd34d!important}.sidebar-password-form{display:grid;gap:7px;margin:8px 0}.sidebar-password-form input{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:#ffffff14;color:#fff;padding:8px 9px}.sidebar-password-form input::placeholder{color:#ffffff9e}.logout-button{margin:6px 0 10px;background:#263247!important;color:#fff!important;justify-content:center;cursor:pointer!important}.page{padding:32px;overflow-x:hidden;overflow-y:auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;padding-right:124px;padding-bottom:18px;border-bottom:1px solid rgba(203,213,225,.72)}.page-header>div:first-child,.panel-header>div:first-child{min-width:0}.eyebrow{margin:0 0 6px;font-size:12px;color:#14835e;font-weight:var(--font-weight-medium);text-transform:uppercase}h1,h2,p{margin-top:0}h1{color:var(--ink);font-size:32px;line-height:1.12;margin-bottom:8px}h2{font-size:18px;margin-bottom:6px}.page-header p,.panel-header p{color:#748095;line-height:1.45;max-width:860px}.primary-button,.secondary-button,.button-row button,.ghost-button,.danger-button,.icon-text-button,.tab-button{border:1px solid transparent;border-radius:8px;background:var(--button-secondary-bg);color:var(--button-secondary-text);padding:11px 15px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;justify-content:center;font-weight:var(--font-weight-medium);line-height:1.2;min-height:42px;min-width:0;overflow-wrap:anywhere;text-align:center;white-space:normal}.primary-button{background:var(--button-primary-bg);border-color:var(--button-primary-border);color:var(--button-primary-text)}.secondary-button,.button-row button,.ghost-button,.icon-text-button,.tab-button{background:var(--button-secondary-bg);border-color:var(--button-secondary-border);color:var(--button-secondary-text)}.primary-button:hover,.secondary-button:hover,.button-row button:hover,.ghost-button:hover,.icon-text-button:hover,.tab-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #1473e61f}.secondary-button:hover,.button-row button:hover,.ghost-button:hover,.icon-text-button:hover,.tab-button:hover{background:var(--button-secondary-hover-bg)}.ghost-button{padding:8px 10px;margin-left:auto}.table-action-button{min-height:34px;padding:0 12px;font-size:.86rem}.danger-button{background:var(--button-danger-bg);border-color:var(--button-danger-border);color:var(--button-danger-text);justify-content:center}.danger-button:hover{background:var(--button-danger-hover-bg);box-shadow:0 10px 20px #b91c1c1a;transform:translateY(-1px)}.icon-text-button{padding:8px 10px;font-size:12px}.tab-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tab-button{padding:9px 13px}.tab-button--active{background:#12345b;color:#fff}.button-row button.primary-button{background:var(--button-primary-bg);border-color:var(--button-primary-border);color:var(--button-primary-text)}.button-row button.primary-button:hover{background:#0f63ca}.button-row button.danger-button{background:var(--button-danger-bg);border-color:var(--button-danger-border);color:var(--button-danger-text)}.button-row button.danger-button:hover{background:var(--button-danger-hover-bg)}.icon-only-button{width:38px;height:38px;padding:0}button:disabled{opacity:.55;cursor:progress}.error-banner,.success-banner,.warning-banner{border:1px solid #fecaca;background:#fff1f2;color:#9f1239;border-radius:8px;padding:12px 14px;margin-bottom:16px;line-height:1.45;overflow-wrap:anywhere}.success-banner{border-color:#bbf7d0;background:#f0fdf4;color:#166534;display:flex;align-items:center;gap:8px}.warning-banner{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.dashboard-error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-error-banner .secondary-button{flex:0 0 auto}.control-strip,.metric-grid,.content-grid{display:grid;gap:14px}.control-strip{grid-template-columns:2fr 2fr 1fr;margin-bottom:18px}.control-strip--four{grid-template-columns:2fr 1fr 1fr 1fr}.control-strip:has(.time-window-selector){grid-template-columns:minmax(150px,.9fr) minmax(150px,.9fr) minmax(380px,1.5fr)}.control-strip--four:has(.time-window-selector){grid-template-columns:minmax(150px,.85fr) minmax(150px,.85fr) minmax(150px,.85fr) minmax(380px,1.45fr)}.tariff-filter-row.control-strip--four:has(.time-window-selector){grid-template-columns:repeat(3,minmax(220px,1fr)) auto;align-items:end}.tariff-filter-row .time-window-selector{min-width:0}.tariff-assign-button{align-self:end;justify-self:start;width:auto;min-width:150px;min-height:42px;padding:0 16px;white-space:normal}.control-strip label{display:grid;gap:7px;font-size:12px;font-weight:var(--font-weight-medium);color:#536075;min-width:0}.time-window-selector{container-type:inline-size;display:grid;gap:6px;min-width:min(380px,100%)}.time-window-selector__resolved{color:#66758c;font-size:12px;font-weight:var(--font-weight-regular);line-height:1.35}.time-window-selector__custom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid #d7deea;border-radius:8px;background:#f8fafc;padding:10px}.time-window-selector__error,.time-window-selector__actions{grid-column:1 / -1}.time-window-selector__error{color:#b42318;font-size:12px;font-weight:var(--font-weight-medium)}.time-window-selector__actions{display:flex;justify-content:flex-end;gap:8px}@container (max-width: 420px){.time-window-selector__custom{grid-template-columns:1fr}}select{width:100%;border:1px solid #d7deea;background:#fff;border-radius:8px;min-height:42px;padding:0 12px;color:#263244}input,textarea{width:100%;border:1px solid #d7deea;background:#fff;border-radius:8px;min-height:42px;padding:0 12px;color:#263244;font:inherit}textarea{min-height:156px;padding:12px;resize:vertical;font-family:Cascadia Mono,Consolas,monospace;font-size:13px;line-height:1.5}input[type=color]{padding:4px}.checkbox-field,.toggle-row{display:flex!important;align-items:center;gap:10px!important;min-height:42px;color:#253044!important}.checkbox-field input,.toggle-row input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 auto}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:18px}.metric-grid--overview{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid--six{grid-template-columns:repeat(6,minmax(0,1fr))}.metric-card,.panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px #1018280d}.metric-card{min-height:118px;padding:17px;display:grid;align-content:space-between;position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:#dbe5f2}.metric-card span,.metric-card small,dt{color:#66758c;font-size:12px}.metric-card strong{font-size:25px;color:#1d2939;line-height:1.12;overflow-wrap:anywhere}.metric-card--good{border-top:0}.metric-card--good:after{background:#17a673}.metric-card--warn{border-top:0}.metric-card--warn:after{background:#f59e0b}.metric-card--bad{border-top:0}.metric-card--bad:after{background:#ef4444}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.factory-health-tone--green{--factory-health-accent: #15803d;--factory-health-soft: #f0fdf4}.factory-health-tone--amber{--factory-health-accent: #b45309;--factory-health-soft: #fffbeb}.factory-health-tone--orange{--factory-health-accent: #c2410c;--factory-health-soft: #fff7ed}.factory-health-tone--red{--factory-health-accent: #b91c1c;--factory-health-soft: #fef2f2}.factory-health-tone--gray{--factory-health-accent: #64748b;--factory-health-soft: #f1f5f9}.factory-health-overall{display:flex;align-items:center;gap:20px;height:100%;padding:14px 18px;background:var(--factory-health-soft)}.factory-health-score-ring{display:grid;place-content:center;min-width:112px;width:112px;height:112px;border:10px solid var(--factory-health-accent);border-radius:50%;color:var(--factory-health-accent)}.factory-health-score-ring strong{font-size:38px;line-height:1}.factory-health-score-ring small{text-align:center}.factory-health-overall h3{margin:4px 0;color:var(--factory-health-accent)}.factory-health-overall p{margin:4px 0}.factory-health-eyebrow{color:var(--muted);font-size:13px;font-weight:600}.factory-health-component-strip,.factory-health-detail-grid,.factory-health-kpis{display:grid;gap:8px;height:100%}.factory-health-component-strip{grid-template-columns:repeat(5,minmax(0,1fr));padding:10px}.factory-health-component{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--factory-health-accent) 30%,var(--border));border-top:4px solid var(--factory-health-accent);border-radius:8px;background:var(--factory-health-soft)}.factory-health-component span{min-height:38px;font-weight:600}.factory-health-component strong{color:var(--factory-health-accent);font-size:30px}.factory-health-component small{color:var(--muted)}.factory-health-actions{display:grid;gap:7px;padding:8px 12px}.factory-health-actions article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid var(--border)}.factory-health-actions article:last-child{border-bottom:0}.factory-health-actions article div{display:grid;min-width:0}.factory-health-actions article small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.factory-health-detail-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding:10px}.factory-health-detail{display:flex;flex-direction:column;min-width:0;padding:11px;border:1px solid var(--border);border-left:4px solid var(--factory-health-accent);border-radius:8px}.factory-health-detail header{display:flex;justify-content:space-between;gap:8px}.factory-health-detail header b{color:var(--factory-health-accent);font-size:22px}.factory-health-detail p{margin:10px 0;color:var(--muted);font-size:13px}.factory-health-detail>div{display:grid;gap:4px;margin-top:auto}.factory-health-detail small{display:flex;justify-content:space-between;gap:8px}.factory-health-kpis{grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 10px}.factory-health-kpis article{display:grid;align-content:center;padding:8px 12px;border-right:1px solid var(--border)}.factory-health-kpis article:last-child{border-right:0}.factory-health-kpis span{color:var(--muted);font-size:13px}.factory-health-kpis strong{font-size:24px}.factory-health-kpis strong small{font-size:12px}@media(max-width:1100px){.factory-health-component-strip,.factory-health-detail-grid,.factory-health-kpis{grid-template-columns:repeat(2,minmax(0,1fr));height:auto}}@media(max-width:700px){.factory-health-overall{align-items:flex-start;flex-direction:column}.factory-health-component-strip,.factory-health-detail-grid,.factory-health-kpis{grid-template-columns:1fr}.factory-health-actions article{grid-template-columns:auto minmax(0,1fr)}.factory-health-actions article>b{grid-column:2}}.health-card{display:grid;gap:10px;min-width:0;border:1px solid #dbe3ee;border-left-width:5px;border-radius:8px;background:#fff;padding:14px}.health-card strong,.health-card small{display:block}.health-card small{color:#66758c;overflow-wrap:anywhere}.health-card--good{border-left-color:#16a34a}.health-card--warn{border-left-color:#f59e0b}.health-card--bad{border-left-color:#ef4444}.content-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:14px;align-items:start}.admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.admin-tabs{position:sticky;top:18px;display:grid;gap:8px}.admin-tab{border:1px solid #d8e1ee;border-radius:8px;background:#fff;color:#52627a;display:flex;align-items:center;gap:10px;padding:13px 14px;text-align:left;cursor:pointer;min-width:0}.admin-tab svg{flex:0 0 auto;color:#1473e6}.admin-tab strong,.admin-tab small{display:block}.admin-tab strong{color:#263244;font-size:14px}.admin-tab small{color:#66758c;margin-top:2px;overflow-wrap:anywhere}.admin-tab--active{background:#12345b;border-color:#12345b;color:#fff}.admin-tab--active svg,.admin-tab--active strong,.admin-tab--active small{color:#fff}.admin-panel-stack{display:grid;gap:14px;min-width:0}.admin-setup-note{border:1px solid #dbe7f5;background:#f8fbff;border-radius:8px;color:#52627a;line-height:1.45;margin:0 0 14px;padding:11px 12px}.admin-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap}.admin-form-actions .form-action{margin-top:0}.ui-settings-list{display:grid;gap:14px;margin-top:16px;max-width:900px}.ui-settings-row{align-items:end;display:grid;gap:13px;grid-template-columns:minmax(240px,1fr) max-content;min-width:0}.ui-settings-row label{color:#536075;display:grid;font-size:12px;font-weight:var(--font-weight-medium);gap:7px;min-width:0}.ui-settings-row .form-action{justify-self:start;width:100%;max-width:260px}.admin-advanced{border-top:1px solid #d8e1ee;padding-top:12px}.admin-advanced summary,.modbus-row-advanced summary{color:#29476c;cursor:pointer;font-weight:var(--font-weight-semibold)}.admin-advanced .form-grid{margin-top:14px}.modbus-mapping-section{border-top:1px solid #d8e1ee;margin-top:24px;padding-top:20px}.modbus-mapping-list{display:grid;gap:10px;margin-top:14px}.modbus-mapping-row{align-items:end;border:1px solid #d8e1ee;border-radius:6px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px}.modbus-enabled{align-items:center;align-self:center;display:flex;gap:8px}.modbus-enabled input{height:18px;margin:0;width:18px}.modbus-row-advanced{grid-column:span 2}.modbus-row-advanced>label{margin-top:10px}.modbus-sample{align-self:center;display:grid;gap:3px}.modbus-sample span{color:#66758c;font-size:12px}.modbus-mapping-row>.icon-button{justify-self:end}@media(max-width:1100px){.modbus-mapping-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.modbus-mapping-row{grid-template-columns:1fr}.modbus-row-advanced{grid-column:span 1}}.admin-assignment-summary{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;margin-bottom:14px}.admin-assignment-summary div{border:1px solid #d7deea;border-radius:8px;background:#f8fafc;padding:12px}.admin-assignment-summary span,.admin-assignment-lists small{color:#66758c;font-size:12px;font-weight:var(--font-weight-medium)}.admin-assignment-summary strong{display:block;margin-top:3px;color:#172033;font-size:24px}.admin-assignment-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.admin-assignment-lists>div{display:grid;align-content:start;gap:6px;min-width:0;border:1px solid #d7deea;border-radius:8px;padding:12px}.admin-assignment-lists h3{margin:0 0 2px;color:#3c485a;font-size:14px}.admin-assignment-lists span{color:#263244;font-size:13px;overflow-wrap:anywhere}.admin-field-note{margin:-3px 0 0;color:#66758c;font-size:12px;font-weight:var(--font-weight-medium)}.panel{min-width:0;padding:20px}.panel--wide{grid-column:1 / -1}.alarm-config-editor{display:grid;gap:16px;margin-top:16px}.alarm-config-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:5px;border:1px solid var(--border-color, #d7e2ef);border-radius:8px;background:var(--surface-muted, #f3f7fb)}.alarm-config-nav__item{min-height:44px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text-muted, #60718a);font:inherit;cursor:pointer}.alarm-config-nav__item--active{background:var(--surface, #fff);color:var(--primary, #176fd1);box-shadow:0 1px 4px #0f2d501a}.alarm-config-section{display:grid;gap:14px}.alarm-config-section__heading h3,.alarm-rule-card h4{margin:0}.alarm-config-section__heading p,.alarm-rule-card__header p,.alarm-field-hint{margin:4px 0 0;color:var(--text-muted, #60718a)}.alarm-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.alarm-rule-card{display:grid;align-content:start;gap:12px;min-width:0;padding:16px;border:1px solid var(--border-color, #d7e2ef);border-radius:8px;background:var(--surface, #fff)}.alarm-rule-card--disabled{opacity:.7}.alarm-rule-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.alarm-enabled-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;min-height:32px}.alarm-enabled-toggle input{width:18px;height:18px}.alarm-rule-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.alarm-number-field,.alarm-schedule-field{display:grid;min-width:0;gap:6px}.alarm-number-field input,.alarm-schedule-field select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--border-color, #cdd9e8);border-radius:7px;background:var(--surface, #fff);color:inherit;font:inherit}.alarm-requires-data{padding:9px 10px;border-left:3px solid #d48b16;border-radius:4px;background:#fff8e8;color:#735017;font-size:.9rem}.alarm-dependency-ready{padding:9px 10px;border-left:3px solid #169b62;border-radius:4px;background:#ecfbf3;color:#14643f;font-size:.9rem}.alarm-shift-block,.alarm-custom-schedule{display:grid;gap:9px}.alarm-schedule-summary{display:flex;flex-wrap:wrap;gap:6px 14px;padding:9px 10px;border:1px solid var(--border-color, #d7e2ef);border-radius:7px;background:var(--surface-muted, #f5f8fc);color:var(--text-muted, #60718a);font-size:.86rem;line-height:1.4}.alarm-schedule-summary--warning{border-color:#e5bd78;background:#fff8e8;color:#735017}.alarm-schedule-chip{padding:1px 7px;border-radius:999px;background:#e5edf7;color:#435772}.alarm-schedule-source{width:100%;font-weight:600;color:var(--text-color, #24354d)}.alarm-custom-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.alarm-custom-schedule>label{display:grid;gap:6px}.alarm-custom-schedule input[type=time]{min-height:42px;padding:8px 10px;border:1px solid var(--border-color, #cdd9e8);border-radius:7px;background:var(--surface, #fff);color:inherit;font:inherit}.alarm-custom-schedule fieldset,.alarm-weekday-selector{grid-column:1 / -1;margin:0;padding:8px 10px 10px;border:1px solid var(--border-color, #d7e2ef);border-radius:7px}.alarm-weekday-selector{margin:0}.alarm-weekday-list{display:flex;flex-wrap:wrap;gap:7px 12px}.alarm-weekday-list label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.alarm-config-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:1279px){.alarm-config-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.alarm-config-nav,.alarm-rule-grid,.alarm-rule-field-row{grid-template-columns:1fr}.alarm-rule-card__header,.alarm-config-actions{align-items:stretch;flex-direction:column}.alarm-config-actions button{width:100%}.alarm-custom-schedule{grid-template-columns:1fr}.alarm-schedule-summary{flex-direction:column}}.panel-header,.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-title{justify-content:flex-start;align-items:center}.panel-title svg,.panel-header svg{color:#1473e6}.segmented{display:flex;flex-wrap:wrap;gap:6px}.chart-controls{display:grid;justify-items:end;gap:10px}.overview-chart-mode-select{display:grid;gap:5px;color:#536075;font-size:12px;font-weight:var(--font-weight-medium)}.overview-chart-mode-select select{min-width:180px;min-height:42px;border:1px solid #d7deea;border-radius:8px;padding:0 38px 0 14px;background:#fff;color:#1b2a41;font-size:15px;font-weight:var(--font-weight-medium)}.overview-chart-area{position:relative}.overview-chart-settings{position:absolute;top:8px;right:8px;z-index:20;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.overview-chart-area:hover .overview-chart-settings,.overview-chart-area:focus-within .overview-chart-settings{opacity:1;pointer-events:auto;transform:translateY(0)}.overview-chart-settings summary{width:36px;height:34px;list-style:none}.overview-chart-settings summary::-webkit-details-marker{display:none}.overview-chart-settings__panel{position:absolute;right:0;top:calc(100% + 8px);width:min(320px,82vw);display:grid;gap:10px;padding:12px;border:1px solid #d9e3f1;border-radius:10px;background:#fff;box-shadow:0 18px 42px #14233c33}.overview-chart-settings__panel label{display:grid;gap:6px;color:#536075;font-size:12px;font-weight:var(--font-weight-medium)}.overview-chart-settings__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.overview-chart-settings__action{min-height:36px;justify-content:center}.axis-controls{display:grid;grid-template-columns:minmax(140px,160px) 84px 84px auto;gap:8px;align-items:center}.axis-controls select,.axis-controls input,.axis-controls button{min-height:36px}.segmented button{border:1px solid #d7deea;background:#f8fafc;color:#435168;border-radius:8px;padding:8px 10px;cursor:pointer}.segmented button.active{background:#12345b;color:#fff;border-color:#12345b}.loading-panel{min-height:190px;display:grid;place-items:center;color:#66758c;font-weight:var(--font-weight-medium)}.skeleton-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.skeleton-grid--dashboard,.skeleton-grid--operations{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.skeleton-card{min-height:118px;border-radius:8px;border:1px solid #dfe8f4;background:linear-gradient(90deg,#e8eef6,#f8fafc,#e8eef6);background-size:200% 100%;animation:shimmer 1.35s infinite;box-shadow:0 12px 28px #12253f0d}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chart-shell{width:100%;height:100%;min-height:0;overflow:hidden;position:relative;border-radius:7px}.chart-shell--with-legend{display:flex;flex-direction:column}.chart-shell--natural{height:auto;overflow:visible}.chart-shell svg{width:100%;height:100%;min-height:0;display:block}.chart-shell--with-legend svg{flex:1 1 auto;min-height:0}.dashboard-chart-frame{width:100%;height:100%;min-width:0;min-height:0}.dashboard-chart-frame--custom{height:var(--dashboard-chart-height);min-height:200px;max-height:800px}.dashboard-chart-frame>.chart-shell{height:100%}.multi-line-chart-widget{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.multi-line-chart-widget svg{width:100%;max-width:100%;flex:1 1 auto;min-height:0;display:block}.multi-line-chart-title{font-family:Segoe UI,Arial,sans-serif;letter-spacing:0}.multi-line-legend{z-index:3;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:6px 14px;align-items:center;pointer-events:none;max-width:100%;max-height:56px;overflow:hidden auto}.multi-line-legend--top{order:-1;padding:0 8px 4px}.multi-line-legend--bottom{padding:4px 8px 0}.multi-line-legend--left{position:absolute;top:44px;left:8px;max-width:140px;display:grid}.multi-line-legend--right{position:absolute;top:44px;right:8px;max-width:140px;display:grid}.multi-line-legend span{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:min(190px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--widget-label-weight)}.multi-line-legend i{flex:0 0 auto;width:10px;height:10px;border-radius:3px}.multi-axis-settings,.multi-line-series-list{display:grid;gap:8px}.chart-grid{stroke:#e5edf7;stroke-width:1}.chart-tick{stroke:#b8c7da;stroke-width:1}.chart-axis{fill:#6b7890;font-size:12px;font-weight:var(--widget-label-weight)}.chart-hover-line{stroke:#12345b;stroke-width:1.4;stroke-dasharray:4 5;opacity:.58}.chart-hover-point{stroke:#fff;stroke-width:2.5;filter:drop-shadow(0 3px 5px rgba(20,35,60,.22))}.chart-tooltip{position:absolute;z-index:25;min-width:190px;max-width:min(320px,calc(100% - 20px));padding:10px 11px;border:1px solid rgba(185,200,220,.75);border-radius:8px;background:#fffffffa;box-shadow:0 18px 42px #0f1f342e;color:#1b2a41;pointer-events:none;transform:translate(12px,-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chart-tooltip--left{transform:translate(calc(-100% - 12px),-50%)}.chart-tooltip strong{display:block;margin-bottom:7px;color:#263244;font-size:12px;font-weight:var(--font-weight-medium)}.chart-tooltip__items{display:grid;gap:6px}.chart-tooltip__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;color:#56647a;font-size:12px;line-height:1.25}.chart-tooltip__row i{width:9px;height:9px;border-radius:999px}.chart-tooltip__row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-tooltip__row b{color:#1d2939;font-weight:var(--widget-unit-weight);white-space:nowrap}.chart-overlay-empty{position:absolute;inset:46% 0 auto;text-align:center;color:#536075;font-weight:var(--widget-title-weight);pointer-events:none}.chart-legend{display:flex;flex:0 0 auto;gap:6px 14px;flex-wrap:wrap;align-items:center;max-width:100%;max-height:54px;overflow:hidden auto;padding:4px 8px 2px 58px}.chart-legend button{border:0;background:transparent;min-width:0;max-width:190px;padding:2px 0;display:inline-flex;align-items:center;gap:6px;color:#56647a;font-size:13px;font-weight:var(--widget-label-weight);cursor:pointer}.chart-legend button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend i{width:10px;height:10px;border-radius:3px}.chart-legend .muted-series{color:#98a2b3;text-decoration:line-through}.chart-legend .muted-series i{opacity:.25}.detail-list{display:grid;gap:12px;margin:0}.detail-list div{display:grid;gap:3px}.detail-list--overview-quality{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-list--overview-quality div{min-width:0;padding:12px;border:1px solid #e3e9f3;border-radius:8px;background:#f8fafc}dd{margin:0;font-weight:var(--font-weight-medium)}.path-text{overflow-wrap:anywhere;font-size:12px}.list-stack{display:grid;gap:10px}.list-item,.empty-state{border:1px solid #e3e9f3;background:#f8fafc;border-radius:8px;padding:11px;min-width:0}.list-item{display:grid;gap:4px}.list-item span,.empty-state{color:#66758c;font-size:13px}.empty-state{display:flex;align-items:center;gap:8px;line-height:1.45;overflow-wrap:anywhere}.empty-state strong{color:#1b2a41;font-size:16px}.empty-state span{max-width:520px;line-height:1.45}.empty-state--dashboard,.empty-state--overview{display:grid;place-items:center;align-content:center;min-height:180px;margin-bottom:16px;border-style:dashed;background:#f8fbff;text-align:center}.page-error-state{min-height:260px;display:grid;place-content:center;gap:8px;padding:24px;border:1px solid #ffd2d2;border-radius:12px;background:#fff8f8;color:#6b7280;text-align:center}.page-error-state strong{color:#b91c1c;font-size:1.1rem}.list-item--warning,.list-item--warn{border-left:4px solid #f59e0b}.list-item--critical,.list-item--bad{border-left:4px solid #ef4444}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;min-width:0}.button-row--compact{margin-bottom:0}.button-row--compact button{min-height:42px;justify-content:center}.data-table{display:grid;border:1px solid #e3e9f3;border-radius:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.data-table__head,.data-table__row{display:grid;gap:12px;align-items:center;padding:12px 14px}.data-table__head{background:#f1f5f9;color:#536075;font-size:12px;font-weight:var(--font-weight-medium);text-transform:uppercase}.data-table__row{background:#fff;border-top:1px solid #e3e9f3}.data-table__row small{display:block;color:#66758c;margin-top:3px}.alarm-table{grid-template-columns:96px 120px minmax(260px,1fr) 120px 180px}.alarm-table--ops{grid-template-columns:88px 116px 112px minmax(300px,1fr) 104px 210px 276px;min-width:1240px}.internal-monitoring-site-table{grid-template-columns:minmax(180px,1.2fr) minmax(150px,1fr) 96px 96px;min-width:620px}.internal-monitoring-meter-table{grid-template-columns:minmax(170px,1.1fr) minmax(170px,1.1fr) minmax(150px,1fr) 96px 96px;min-width:820px}.internal-monitoring-api-table{grid-template-columns:170px 90px minmax(280px,1fr) 96px 100px;min-width:760px}.health-score-card{--health-accent: #64748b;--health-accent-soft: #f1f5f9;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px 28px;overflow:hidden;padding:28px 30px 24px 34px;border:1px solid color-mix(in srgb,var(--health-accent) 30%,var(--border));border-radius:12px;background:var(--surface);box-shadow:0 12px 30px #1f344e1a}.health-score-card:before{position:absolute;inset:0 auto 0 0;width:6px;background:var(--health-accent);content:""}.health-score-card__main{min-width:0}.health-score-card__label,.summary-card__title>span:last-child{color:var(--muted);font-weight:600}.health-score-card__score-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}.health-score-card__score-row>strong{color:var(--text);font-size:clamp(2rem,4vw,3.6rem);line-height:1;font-weight:700}.health-score-card__status,.summary-card__status,.expandable-panel__status{display:inline-flex;width:fit-content;align-items:center;border-radius:999px;background:var(--health-accent-soft);color:var(--health-accent);font-size:.78rem;font-weight:700;line-height:1}.health-score-card__status{padding:8px 11px}.health-score-card p{max-width:720px;margin:14px 0 0;color:var(--text);font-size:1rem;line-height:1.55}.health-score-card small{display:block;margin-top:10px;color:var(--muted)}.health-score-card__icon{display:grid;width:58px;height:58px;place-items:center;border-radius:12px;background:var(--health-accent-soft);color:var(--health-accent)}.health-score-card__domains{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:18px;border-top:1px solid var(--border)}.health-score-card__domains>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;background:var(--muted-surface)}.health-score-card__domains span{overflow:hidden;color:var(--muted);font-size:.78rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.health-score-card__domain-score{color:var(--text);font-size:.9rem}.health-score-card__domain-score--blue{color:#2563eb}.health-score-card__domain-score--green{color:#15803d}.health-score-card__domain-score--amber{color:#b45309}.health-score-card__domain-score--orange{color:#c2410c}.health-score-card__domain-score--red{color:#b91c1c}.health-score-card--blue,.summary-card--blue{--health-accent: #2563eb;--health-accent-soft: #eff6ff;border-color:#bfdbfe}.health-score-card--green,.summary-card--green{--health-accent: #15803d;--health-accent-soft: #f0fdf4;border-color:#bbf7d0}.health-score-card--amber,.summary-card--amber{--health-accent: #b45309;--health-accent-soft: #fffbeb;border-color:#fde68a}.health-score-card--orange,.summary-card--orange{--health-accent: #c2410c;--health-accent-soft: #fff7ed;border-color:#fed7aa}.health-score-card--red,.summary-card--red{--health-accent: #b91c1c;--health-accent-soft: #fef2f2;border-color:#fecaca}.health-score-card--gray,.summary-card--gray{--health-accent: #64748b;--health-accent-soft: #f1f5f9;border-color:var(--border)}.health-page{width:min(100%,1680px);margin-inline:auto}.health-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:14px;margin-top:18px}.summary-card{--health-accent: #64748b;--health-accent-soft: #f1f5f9;position:relative;display:flex;min-width:0;min-height:220px;height:100%;flex-direction:column;gap:10px;overflow:hidden;padding:18px 16px 16px;border:1px solid color-mix(in srgb,var(--health-accent) 24%,var(--border));border-radius:12px;background:var(--surface);box-shadow:0 5px 16px #1f344e12;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.summary-card:before{position:absolute;inset:0 0 auto;height:4px;background:var(--health-accent);content:""}.summary-card:hover{border-color:color-mix(in srgb,var(--health-accent) 46%,var(--border));box-shadow:0 10px 24px #1f344e1a;transform:translateY(-1px)}.summary-card__head{display:flex;min-height:42px;align-items:center;gap:8px}.summary-card__title{display:flex;min-width:0;align-items:center;gap:8px}.summary-card__icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--health-accent-soft);color:var(--health-accent)}.summary-card__score{flex:0 0 auto;padding:6px 8px;border-radius:8px;background:var(--health-accent-soft);color:var(--health-accent);font-size:.95rem;font-weight:700;white-space:nowrap}.summary-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.summary-card__status{padding:5px 8px}.summary-card p{margin:0;color:var(--text);font-size:.9rem;line-height:1.45}.summary-card__metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.summary-card__metrics small{min-width:0;padding:5px 7px;border-radius:999px;background:var(--muted-surface);color:var(--muted);font-size:.73rem;line-height:1.25;overflow-wrap:anywhere}.health-attention-panel{margin-top:18px;padding:0;overflow:hidden;border-color:#fed7aa;background:var(--surface);box-shadow:0 8px 22px #1f344e14}.health-attention-panel__header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #ffedd5;background:#fffaf5}.health-attention-panel__header h2,.health-attention-panel__header p{margin:0}.health-attention-panel__header p{margin-top:3px;color:var(--muted);font-size:.88rem}.health-attention-panel__icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:9px;background:#ffedd5;color:#c2410c}.health-attention-list{display:grid;gap:10px;padding:14px}.health-attention-item{--attention-color: #d97706;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-left:4px solid var(--attention-color);border-radius:8px;background:var(--surface)}.health-attention-item--critical{--attention-color: #dc2626;background:snow}.health-attention-item--high{--attention-color: #ea580c}.health-attention-item--low{--attention-color: #2563eb}.health-attention-item__icon{display:grid;width:30px;height:30px;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--attention-color) 11%,white);color:var(--attention-color)}.health-attention-item__content{min-width:0}.health-attention-item__content small{display:block;margin-top:3px;color:var(--muted)}.health-expandable-stack,.platform-operations-page .noc-module-panel{display:grid;gap:12px}.health-expandable-stack{margin-top:18px}.expandable-panel{--health-accent: #64748b;--health-accent-soft: #f1f5f9;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}.expandable-panel summary{display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;list-style:none;transition:background-color .15s ease,color .15s ease}.expandable-panel summary:hover,.expandable-panel summary:focus-visible{background:var(--muted-surface)}.expandable-panel summary:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.expandable-panel summary::-webkit-details-marker{display:none}.expandable-panel__heading{display:flex;min-width:0;align-items:center;gap:12px}.expandable-panel__heading>div{min-width:0}.expandable-panel__heading span:not(.expandable-panel__icon){display:block;margin-top:3px;color:var(--muted);font-size:.86rem;line-height:1.35}.expandable-panel__icon{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--health-accent-soft);color:var(--health-accent)}.expandable-panel__actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.expandable-panel__status{padding:6px 9px}.expandable-panel__chevron{color:var(--muted);transition:transform .16s ease}.expandable-panel[open] .expandable-panel__chevron{transform:rotate(180deg)}.expandable-panel__body{padding:16px 18px 18px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--muted-surface) 55%,var(--surface))}.expandable-panel--blue{--health-accent: #2563eb;--health-accent-soft: #eff6ff}.expandable-panel--green{--health-accent: #15803d;--health-accent-soft: #f0fdf4}.expandable-panel--amber{--health-accent: #b45309;--health-accent-soft: #fffbeb}.expandable-panel--orange{--health-accent: #c2410c;--health-accent-soft: #fff7ed}.expandable-panel--red{--health-accent: #b91c1c;--health-accent-soft: #fef2f2}@media(max-width:1279px){.health-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.health-summary-grid,.health-score-card__domains{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.health-score-card{grid-template-columns:minmax(0,1fr);padding:22px 20px 20px 25px}.health-score-card__icon{display:none}.health-score-card__domains,.health-summary-grid{grid-template-columns:minmax(0,1fr)}.health-score-card__domains>div{padding-inline:12px}.health-attention-item{grid-template-columns:auto minmax(0,1fr)}.health-attention-item .status-pill{grid-column:2;width:fit-content}.expandable-panel summary{align-items:flex-start}.expandable-panel__status{display:none}}.platform-operations-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.platform-operations-refresh{min-width:max-content;flex:0 0 auto;overflow-wrap:normal;white-space:nowrap;word-break:normal}.platform-operations-toolbar label{display:grid;min-width:min(460px,100%);gap:8px;color:var(--muted)}.platform-operations-toolbar select{min-height:48px}.platform-operations-toolbar small{color:var(--muted)}.noc-module-nav{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px}.noc-module-nav button{display:inline-flex;min-height:42px;flex:0 0 auto;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.noc-module-nav button.active{border-color:var(--primary);background:var(--primary);color:#fff}.status-dot{width:8px;height:8px;border-radius:999px;background:var(--muted)}.status-dot--low{background:#16a34a}.status-dot--medium{background:#f59e0b}.status-dot--critical{background:#dc2626}.noc-section{display:grid;gap:14px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}.noc-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.noc-section__header h2,.noc-section__header p{margin:0}.noc-section__header p{margin-top:4px;color:var(--muted)}.stack-row--button,.data-table__row--button{width:100%;cursor:pointer;border:0;color:inherit;font:inherit;text-align:left}.stack-row--button:hover,.data-table__row--button:hover{background:var(--muted-surface)}.row-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.row-actions .icon-text-button{min-width:82px;white-space:normal}.report-table{grid-template-columns:120px 180px 220px 180px minmax(220px,1fr) 140px}.backup-table{grid-template-columns:150px 180px 110px 170px minmax(240px,1fr) 120px 150px}.restore-guidance{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid #dbe6f3;border-radius:8px;background:#f8fbff;color:#536075}.restore-guidance strong{color:#172033}.restore-guidance code{display:block;overflow-x:auto;padding:8px 10px;border-radius:7px;background:#0f172a;color:#e2e8f0;white-space:nowrap}.retention-table{grid-template-columns:minmax(180px,1fr) 120px 220px 120px 120px}.notification-table{grid-template-columns:170px 110px 110px minmax(180px,1fr) minmax(220px,1fr) minmax(180px,1fr)}.cost-table{grid-template-columns:minmax(180px,1fr) 160px 180px 180px}.production-table{grid-template-columns:.85fr 1.1fr .85fr 1fr .95fr .8fr .9fr .85fr .9fr .9fr 1.25fr .75fr;min-width:1320px}.production-form-panel{scroll-margin-top:16px}.production-schedule-panel{display:grid;gap:14px}.production-schedule-source{width:fit-content;padding:6px 10px;border-radius:999px;background:#eef6ff;color:#174c7e;font-size:13px}.production-working-days{margin:0;padding:12px 14px;border:1px solid var(--border-color, #cbd8e8);border-radius:8px}.production-working-days>div{display:flex;flex-wrap:wrap;gap:10px 20px}.production-working-days label{display:flex;align-items:center;gap:7px}.production-shift-grid{display:grid;gap:8px}.production-shift-row{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(150px,1fr) minmax(150px,1fr) minmax(100px,auto);align-items:end;gap:12px}.production-shift-row label{min-width:0}@media(max-width:760px){.production-shift-row{grid-template-columns:1fr 1fr}.production-shift-row strong,.production-shift-row .alarm-schedule-chip{grid-column:1 / -1}}.production-form-panel--editing{outline:2px solid #1473e6;outline-offset:2px}.production-table--selected{background:#eef6ff;box-shadow:inset 3px 0 #1473e6}.tariff-editor-table{grid-template-columns:130px 120px 120px 140px 140px 100px 100px}.tariff-editor-table input,.tariff-editor-table select{width:100%}.security-table{grid-template-columns:minmax(260px,1fr) 120px 110px 170px 170px}.audit-table{grid-template-columns:170px minmax(220px,1fr) 150px minmax(220px,1fr) minmax(260px,1.2fr)}.tenant-table{margin-top:16px}.tenant-table__row{grid-template-columns:minmax(260px,1fr) 110px 80px 90px 100px 80px}.status-pill{width:fit-content;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:var(--font-weight-medium);text-transform:uppercase;background:#e2e8f0;color:#334155}.status-pill--critical,.status-pill--high{background:#fee2e2;color:#991b1b}.status-pill--medium,.status-pill--warning{background:#fef3c7;color:#92400e}.status-pill--low,.status-pill--info{background:#dbeafe;color:#1e40af}.status-pill--open{background:#fee2e2;color:#991b1b}.status-pill--acknowledged{background:#fef3c7;color:#92400e}.status-pill--resolved{background:#dcfce7;color:#166534}.header-select{min-width:280px;display:grid;gap:7px;color:#536075;font-size:12px;font-weight:var(--font-weight-medium)}.admin-header-selects{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;min-width:min(680px,100%)}.plain-list{margin:14px 0 0;padding-left:18px;color:#536075;line-height:1.55}.page--dashboards{overflow:auto}.page--dashboard-fullscreen{background:#eef3f8;width:100vw;height:100vh;padding:24px;overflow:auto}.page--dashboard-fullscreen .page-header{display:none}.page--dashboard-fullscreen .dashboard-tabs,.page--dashboard-fullscreen .control-strip{max-width:none}.page--dashboard-fullscreen .dashboard-grid{grid-auto-rows:minmax(50px,auto)}.dashboard-title-input{border:0;padding:0;min-height:auto;font-size:34px;font-weight:var(--font-weight-semibold);color:#263244;background:transparent}.dashboard-title-row{display:flex;align-items:center;gap:8px;min-width:0}.dashboard-title-row h1{margin-bottom:0}.dashboard-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin-bottom:16px;padding:8px;background:#fff;border:1px solid #e0e8f2;border-radius:8px}.dashboard-tab{display:inline-flex;align-items:center;gap:6px;border-radius:8px;background:#eef2f7;color:#536075;padding:0 6px 0 0;cursor:grab;transition:box-shadow .14s ease,opacity .14s ease,transform .14s ease}.dashboard-tab--active{background:#12345b;color:#fff}.dashboard-tab--dragging{opacity:.52;transform:scale(.98);cursor:grabbing}.dashboard-tab--drop-target{box-shadow:0 0 0 2px #1677ff inset,0 8px 18px #1473e629}.dashboard-tab button{border:0;background:transparent;color:inherit;padding:9px 12px;font-weight:var(--font-weight-medium);cursor:pointer}.dashboard-tab__delete{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;padding:0!important}.dashboard-tab__delete:hover{background:#ffffff29}.dashboard-tab{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-create-tools{display:flex;gap:8px;align-items:center;margin-left:auto}.dashboard-create-tools--view{grid-template-columns:auto}.dashboard-icon-actions{display:flex;justify-content:flex-end;gap:6px}.dashboard-create-tools--view .dashboard-icon-actions{grid-column:1}.dashboard-import-input{display:none}.icon-only-button--active{border-color:#1473e6;color:#1473e6;background:#eef4ff}.dashboard-add-menu{position:relative}.dashboard-add-menu summary{min-height:44px;display:inline-flex;align-items:center;gap:8px;list-style:none;cursor:pointer}.dashboard-add-menu summary::-webkit-details-marker{display:none}.dashboard-add-menu__panel{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:190px;display:grid;gap:6px;padding:8px;border:1px solid #d9e3f1;border-radius:10px;background:#fff;box-shadow:0 18px 40px #14233c29}.dashboard-add-menu__panel button{min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:#f8fbff;color:#1b2a41;font-weight:400;cursor:pointer}.dashboard-add-menu__panel button:hover{border-color:#c7d7eb;background:#eef4ff}.dashboard-add-menu__panel--templates{width:min(340px,calc(100vw - 32px))}.dashboard-add-menu__panel--templates button{min-height:64px;display:grid;justify-items:start;align-content:center;gap:3px;padding:9px 11px;text-align:left}.dashboard-add-menu__panel--templates button strong,.dashboard-add-menu__panel--templates button small{max-width:100%;white-space:normal}.dashboard-add-menu__panel--templates button small{color:#607087;font-size:12px;font-weight:400;line-height:1.35}.dashboard-add-menu__group{display:grid;gap:6px;padding:6px 0;border-bottom:1px solid #e8eef6}.dashboard-add-menu__group:last-child{border-bottom:0}.dashboard-add-menu__group>strong{padding:0 10px;color:#5d6b82;font-size:.76rem;font-weight:400;text-transform:uppercase;letter-spacing:.04em}.dashboard-grid{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));grid-auto-rows:50px;gap:6px;align-items:stretch;overflow:visible;transform:translateZ(0)}.dashboard-editor-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.dashboard-editor-layout--settings-open{grid-template-columns:minmax(0,1fr) minmax(340px,380px)}.dashboard-editor-canvas{min-width:0}.dashboard-settings-sidebar{position:sticky;top:16px;height:calc(100vh - 32px);max-height:calc(100vh - 32px);min-width:0;display:none;border:1px solid #d9e3f1;border-radius:10px;background:#fff;box-shadow:0 18px 44px #14233c1f;overflow:hidden}.dashboard-settings-sidebar--open{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.dashboard-settings-sidebar__header{display:grid;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid #e3e9f3;background:#f8fbff}.dashboard-settings-sidebar__header div{min-width:0;display:grid;gap:3px}.dashboard-settings-sidebar__header span,.dashboard-settings-sidebar__header small{color:#66758c;font-size:12px;font-weight:var(--widget-status-weight)}.dashboard-settings-sidebar__header strong{color:#172033;font-size:16px;font-weight:var(--font-weight-semibold);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-settings-sidebar__body{min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;align-content:start;gap:10px;padding:12px}.dashboard-settings-sidebar label,.dashboard-settings-sidebar .widget-menu-grid,.dashboard-settings-sidebar .hex-color-field>span,.dashboard-settings-sidebar .widget-settings-hint{font-weight:var(--settings-label-weight)}.dashboard-settings-sidebar button,.widget-menu-panel--quick button{font-weight:var(--settings-button-weight)}.dashboard-settings-sidebar .dashboard-add-menu__group{gap:7px}.dashboard-settings-sidebar .dashboard-add-menu__group button{width:100%;min-height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #e1eaf6;border-radius:8px;background:#f8fbff;color:#1b2a41;font-weight:var(--settings-button-weight);text-align:left;cursor:pointer}.dashboard-settings-sidebar .dashboard-add-menu__group button:hover{border-color:#c7d7eb;background:#eef4ff}.dashboard-settings-sidebar .widget-settings-section{overflow:visible}.dashboard-settings-sidebar .widget-settings-section__body{min-height:0}.dashboard-settings-sidebar .widget-settings-section--catalog .widget-settings-section__body{max-height:none;overflow-y:visible;overflow-x:hidden;padding-right:12px}.dashboard-grid--edit{padding:6px;border:1px dashed #b8cbe3;border-radius:10px;background:#ffffff8c}.dashboard-widget{position:relative;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid rgba(197,211,229,.86);border-radius:8px;padding:7px;min-width:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);box-shadow:0 12px 30px #12253f11;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease;container-type:inline-size;contain:layout paint style;content-visibility:auto;contain-intrinsic-size:220px 180px;transform:translateZ(0)}.dashboard-grid--edit .dashboard-widget:has(.kpi-card-widget),.dashboard-grid--edit .dashboard-widget:has(.dashboard-gauge),.dashboard-grid--edit .dashboard-widget:has(.clock-gauge-widget){cursor:grab}.dashboard-grid--edit .dashboard-widget:has(button:hover),.dashboard-grid--edit .dashboard-widget:has(input:hover),.dashboard-grid--edit .dashboard-widget:has(select:hover),.dashboard-grid--edit .dashboard-widget:has(textarea:hover),.dashboard-grid--edit .dashboard-widget:has(.chart-shell:hover),.dashboard-grid--edit .dashboard-widget:has(.widget-menu:hover){cursor:default}.dashboard-widget-header{min-height:20px;display:flex;align-items:center;justify-content:center;padding:1px 34px 4px;color:#1b2a41;font-size:13px;font-weight:var(--widget-title-weight);line-height:1.2;min-width:0;text-align:center;gap:2px}.dashboard-widget-header--editable{padding-left:34px;padding-right:34px}.dashboard-widget-header span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.dashboard-widget-header small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#718098;font-size:.68rem;font-weight:var(--widget-subtitle-weight);line-height:1.15}.dashboard-widget-fallback{min-height:80px;height:100%;display:grid;place-content:center;gap:7px;padding:12px;border:1px dashed #c6d5e8;border-radius:8px;background:linear-gradient(180deg,#f8fbff,#f1f6fd);color:#5f6f87;text-align:center;overflow:hidden}.dashboard-widget-fallback strong{color:#1b2a41;font-size:.92rem;letter-spacing:0}.dashboard-widget-fallback span,.dashboard-widget-fallback small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.3}.dashboard-widget-skeleton{height:100%;min-height:0;display:grid;grid-template-rows:18px minmax(0,1fr) 16px auto;gap:10px;padding:12px;border-radius:8px;background:linear-gradient(180deg,#f8fbff,#f3f7fd)}.dashboard-widget-skeleton span,.dashboard-widget-skeleton strong,.dashboard-widget-skeleton i,.dashboard-widget-skeleton em{display:block;border-radius:999px;background:linear-gradient(90deg,#e4ebf5,#f8fafc,#e4ebf5);background-size:200% 100%;animation:shimmer 1.35s infinite}.dashboard-widget-skeleton span{width:42%}.dashboard-widget-skeleton strong{width:76%;height:48%;min-height:42px;align-self:center;justify-self:center;border-radius:8px}.dashboard-widget-skeleton i{width:64%;height:14px;justify-self:center}.dashboard-widget-skeleton em{width:100%;height:18px;border-radius:6px}.dashboard-widget-skeleton--kpi{grid-template-rows:minmax(0,1fr) 16px;place-items:center}.dashboard-widget-skeleton--kpi span{display:none}.dashboard-widget-skeleton--kpi strong{width:70%;max-width:220px;min-height:46px}.dashboard-smart-empty{display:grid;place-items:center;gap:5px;min-width:0;max-width:100%;padding:8px 10px;color:#5f6f87;text-align:center;border-radius:8px;background:#f8fbffd1}.dashboard-smart-empty strong{color:#334155;font-size:.86rem;line-height:1.2}.dashboard-smart-empty small{max-width:100%;color:#718098;font-size:.72rem;line-height:1.25}.widget-quality-footer{display:flex;align-items:center;gap:6px;min-width:0;padding:4px 5px 0;color:#718098;font-size:.68rem;line-height:1.2;overflow:hidden}.widget-quality-footer small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-quality-badge{flex:0 0 auto;border-radius:999px;padding:2px 7px;background:#e2e8f0;color:#475569;font-weight:var(--widget-status-weight)}.widget-quality-badge--good{background:#dcfce7;color:#166534}.widget-quality-badge--delayed{background:#fef3c7;color:#92400e}.widget-quality-badge--partial{background:#ffedd5;color:#9a3412}.widget-quality-badge--nodata{background:#e2e8f0;color:#64748b}.widget-recommended-action{color:#475569}.library-widget{display:grid;align-content:center;gap:8px;height:100%;min-height:0;padding:4px;color:#132238;overflow:hidden}.library-widget strong{line-height:1.05;font-weight:var(--widget-value-weight)}.library-widget-note{color:#65758d;font-size:.84rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.dashboard-status-badge{justify-self:start;border-radius:999px;padding:3px 8px;color:#fff;background:#94a3b8;font-size:.74rem;font-weight:var(--widget-status-weight);text-transform:capitalize}.dashboard-status-badge--normal{background:#16a34a}.dashboard-status-badge--warning{background:#f59e0b}.dashboard-status-badge--critical{background:#ef4444}.summary-count-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.summary-count{display:grid;gap:2px;min-width:0;border:1px solid #dce7f5;border-radius:8px;padding:8px;background:#f8fbff}.summary-count strong{color:#0f172a;font-size:1.25rem;font-weight:var(--widget-value-weight)}.summary-count span{color:#63718a;font-size:.78rem}.summary-count--critical strong{color:#dc2626}.summary-count--warning strong{color:#d97706}.comparison-chip{width:fit-content;border-radius:999px;padding:4px 9px;background:#e8eef6;color:#5d6b82;font-weight:var(--widget-status-weight)}.comparison-chip--good{background:#dcfce7;color:#15803d}.comparison-chip--bad{background:#fee2e2;color:#b91c1c}.target-progress-track,.ranking-row i,.cost-row i{display:block;height:8px;overflow:hidden;border-radius:999px;background:#e8eef6}.target-progress-fill,.ranking-row i em,.cost-row i em{display:block;height:100%;border-radius:inherit}.target-progress-fill--normal{background:#22c55e}.target-progress-fill--warning{background:#f59e0b}.target-progress-fill--critical{background:#ef4444}.ranking-row,.cost-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;font-size:.86rem}.ranking-row span,.cost-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-row i,.cost-row i{grid-column:2 / 4}.recommendation-widget{align-content:start;overflow:auto}.recommendation-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.4fr);align-items:start;gap:8px 12px;padding:6px 0;border-bottom:1px solid #edf2f8}.recommendation-row strong,.recommendation-row__details,.recommendation-row__details span{min-width:0}.recommendation-row strong{font-weight:var(--font-weight-medium)}.recommendation-row__details{display:flex;align-items:flex-start;gap:8px}.recommendation-row__details span{flex:1 1 auto;color:#65758d;font-size:.82rem;font-weight:var(--widget-label-weight)}.data-health-widget{grid-template-columns:repeat(3,minmax(0,1fr))}.data-health-widget .library-widget-note{grid-column:1 / -1}.technical-pq-widget{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.technical-pq-cell{display:grid;gap:2px;border:1px solid #e1eaf6;border-radius:8px;padding:6px;background:#f8fbff}.technical-pq-cell--normal{border-color:#bbf7d0;background:#f0fdf4}.technical-pq-cell--warning{border-color:#fde68a;background:#fffbeb}.technical-pq-cell--critical{border-color:#fecaca;background:#fff1f2}.technical-pq-cell span{color:#63718a;font-size:.76rem}.technical-pq-cell strong{font-size:.9rem;font-weight:var(--widget-value-weight)}.dashboard-grid--edit .dashboard-widget{border-color:#c6d7ec}.dashboard-widget:hover{border-color:#7ea3d0bf;box-shadow:0 18px 42px #12253f1b;transform:translateY(-1px)}.dashboard-widget--dragging{opacity:.46;transform:translateZ(0) scale(.99);outline:2px dashed #1677ff;will-change:transform,opacity}.dashboard-widget--drop-target{outline:2px solid #1677ff;outline-offset:3px;box-shadow:0 18px 44px #1473e62e;will-change:transform}.dashboard-grid--dragging .dashboard-widget{transition:none}.dashboard-widget--selected{outline:2px solid rgba(20,115,230,.78);outline-offset:2px;box-shadow:0 0 0 2px #1473e614,0 18px 44px #1473e629}.dashboard-drop-preview{position:relative;z-index:4;border:2px dashed #1473e6;border-radius:8px;background:linear-gradient(#1473e61f,#1473e61f),repeating-linear-gradient(90deg,rgba(20,115,230,.16) 0,rgba(20,115,230,.16) 1px,transparent 1px,transparent 18px);pointer-events:none;box-shadow:inset 0 0 0 1px #fffc}.dashboard-drop-preview span{position:absolute;top:-6px;left:-6px;width:12px;height:12px;border:2px solid #ffffff;border-radius:999px;background:#1473e6;box-shadow:0 6px 16px #1473e661}.dashboard-widget-drag{position:absolute;top:6px;left:6px;z-index:6;width:26px;height:24px;display:grid;place-items:center;border:1px solid #d8e5f5;border-radius:7px;background:#f8fbfff5;color:#64748b;cursor:grab;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.dashboard-widget-drag:active{cursor:grabbing}.widget-menu{position:absolute;top:6px;right:6px;z-index:80}.widget-menu-button{width:26px;height:24px;display:grid;place-items:center;border:1px solid #d8e5f5;border-radius:7px;background:#f8fbfff5;color:#334155;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease,background .14s ease}.dashboard-widget:hover .dashboard-widget-drag,.dashboard-widget:focus-within .dashboard-widget-drag,.dashboard-widget--dragging .dashboard-widget-drag,.dashboard-widget:hover .widget-menu-button,.dashboard-widget:focus-within .widget-menu-button,.widget-menu--open .widget-menu-button{opacity:1;pointer-events:auto;transform:translateY(0)}.widget-menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(320px,82vw);max-height:min(720px,calc(100vh - 120px));overflow-y:auto;display:grid;gap:10px;padding:12px;border:1px solid #d9e3f1;border-radius:10px;background:#fff;box-shadow:0 18px 42px #14233c33}.widget-menu-panel--start{right:auto;left:0}.widget-menu-panel label,.widget-menu-grid{display:grid;gap:6px;color:#536075;font-size:12px;font-weight:var(--settings-label-weight)}.widget-menu-panel.widget-menu-panel--portal{position:fixed;top:0;right:auto;left:0;z-index:1000;margin:0;overscroll-behavior:contain}.widget-menu-panel input,.widget-menu-panel select{width:100%;min-height:36px;border:1px solid #d7deea;border-radius:8px;padding:0 10px;background:#fff;color:#1b2a41}.widget-title-input{font-family:Segoe UI,Arial,sans-serif;ime-mode:active}.widget-menu-panel input[type=range]{padding:0;accent-color:#1473e6}.widget-menu-panel input[type=color]{padding:3px}.widget-color-list{display:grid;gap:6px}.widget-color-list label,.widget-axis-grid{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:center}.widget-axis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.widget-axis-grid label{display:grid;gap:5px}.widget-checkbox-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px}.widget-checkbox-row input[type=checkbox]{width:18px;min-height:18px;accent-color:#1473e6}.chart-grid-settings{display:grid;gap:8px;padding:9px;border:1px solid #e3e9f3;border-radius:8px;background:#f8fafc}.hex-color-field{min-width:0}.hex-color-field>span{min-width:0}.hex-color-control{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:center}.widget-menu-panel .hex-color-control input[type=color]{width:48px;min-width:48px;padding:3px}.widget-menu-panel .hex-color-text{font-family:Cascadia Mono,Consolas,monospace;text-transform:uppercase}.widget-menu-panel .hex-color-text--invalid{border-color:#fda29b;color:#b42318;background:#fff5f4}.widget-menu-action{min-height:36px;justify-content:center}.widget-menu-panel--quick{width:min(210px,78vw);gap:7px}.widget-menu-panel--quick .widget-menu-action,.widget-menu-panel--quick .widget-menu-danger{min-height:34px;width:100%;justify-content:flex-start;padding:8px 10px}.widget-settings-section{display:grid;gap:0;border:1px solid #e3e9f3;border-radius:8px;background:#fff;overflow:hidden}.widget-settings-section__header{width:100%;min-height:38px;border:0;border-radius:0;background:#f8fafc;color:#263244;display:flex;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:var(--settings-section-weight);cursor:pointer;text-align:left}.widget-settings-section__header:hover{background:#eef4ff}.widget-settings-section__header svg{color:#1473e6;flex:0 0 auto}.widget-settings-section__body{display:grid;gap:10px;padding:10px}.widget-settings-subsection{display:grid;gap:0;border:1px solid #e6edf6;border-radius:8px;background:#fbfdff;overflow:hidden}.widget-settings-subsection__header{width:100%;min-height:34px;border:0;border-radius:0;background:#f8fafc;color:#344054;display:flex;align-items:center;gap:7px;padding:0 9px;font-size:12px;font-weight:var(--settings-section-weight);cursor:pointer;text-align:left}.widget-settings-subsection__header:hover{background:#eef4ff}.widget-settings-subsection__header svg{color:#1473e6;flex:0 0 auto}.widget-settings-subsection__body{display:grid;gap:8px;padding:8px}.widget-settings-hint{color:#667085;font-size:12px;font-weight:var(--settings-helper-weight)}.widget-size-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.widget-size-stepper button{min-height:32px;border:1px solid #d7deea;border-radius:7px;background:#f8fafc;color:#334155;font-size:11px;font-weight:var(--settings-button-weight);cursor:pointer}.widget-size-stepper button:hover{border-color:#c7d7eb;background:#eef4ff}.widget-menu-danger{justify-content:center}.dashboard-empty-canvas{border:1px dashed #aac2df;border-radius:10px;background:#ffffffb8;color:#24527f;min-height:76px;display:grid;place-items:center;align-content:center;gap:7px;font-weight:var(--widget-title-weight)}.dashboard-empty-canvas{grid-column:1 / -1;min-height:220px;cursor:pointer}.dashboard-gauge{height:100%;display:grid;place-items:center;align-content:center;gap:2px;text-align:center;min-height:0;padding:0;overflow:hidden}.dashboard-gauge--compact{gap:0}.dashboard-gauge span{color:#5f6f87;font-weight:var(--widget-label-weight);overflow:hidden;text-overflow:ellipsis;max-width:100%}.dashboard-gauge strong{font-size:calc(clamp(22px,12cqw,62px) * var(--gauge-font-scale, 1));line-height:.94;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-weight:var(--widget-value-weight)}.dashboard-gauge--compact strong{font-size:calc(clamp(20px,16cqw,44px) * var(--gauge-font-scale, 1))}.dashboard-gauge small{color:#5f6f87;font-size:clamp(9px,4cqw,13px);font-weight:var(--widget-unit-weight);line-height:1}.kpi-card-widget{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) minmax(16px,clamp(18px,12cqw,38px));gap:0;padding:0;align-items:stretch;overflow:hidden}.kpi-card-main{display:grid;place-items:center;align-content:center;gap:clamp(2px,1.2cqw,4px);min-width:0;min-height:0;text-align:center;padding:0}.kpi-card-value-row{display:flex;align-items:baseline;justify-content:center;gap:clamp(2px,1cqw,4px);min-width:0;max-width:100%;line-height:1}.kpi-card-value-row strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#172033;font-weight:var(--widget-value-weight);font-size:clamp(22px,12cqw,50px)!important;line-height:.92;letter-spacing:0;white-space:nowrap}.kpi-card-value-row small{color:#334155;font-size:clamp(10px,5cqw,20px);font-weight:var(--widget-unit-weight);white-space:nowrap;line-height:1}.kpi-card-no-data{color:#667085;font-size:clamp(14px,8cqw,24px);font-weight:var(--widget-title-weight)}.kpi-card-comparison{display:inline-flex;align-items:center;justify-content:center;gap:clamp(2px,1cqw,5px);font-size:clamp(9px,3.7cqw,13px);font-weight:var(--widget-label-weight);line-height:1.05;min-width:0;max-width:100%}.kpi-card-comparison small{color:#667085;font-weight:var(--widget-label-weight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-card-comparison--positive span,.kpi-card-comparison--negative span{display:inline-flex;align-items:center;gap:4px}.kpi-card-comparison--positive span:before,.kpi-card-comparison--negative span:before{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent}.kpi-card-comparison--positive span:before{border-bottom:9px solid currentColor}.kpi-card-comparison--negative span:before{border-top:9px solid currentColor}.kpi-sparkline{width:100%;height:100%;display:block;overflow:visible;align-self:end}.kpi-sparkline-line{fill:none;stroke-width:2.75;stroke-linecap:round;stroke-linejoin:round}.kpi-sparkline-area{opacity:.14}.kpi-sparkline-dot{filter:drop-shadow(0 1px 2px rgba(23,32,51,.16))}.kpi-sparkline-empty{min-height:18px;display:grid;place-items:center;color:#98a2b3;font-size:12px;font-weight:var(--widget-label-weight);border-top:1px dashed #d9e3f1}.clock-gauge-widget{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) minmax(20px,auto);justify-items:center;align-content:center;gap:0;padding:0;overflow:hidden}.clock-gauge-svg{width:min(100%,460px);height:100%;max-height:210px;align-self:end;display:block;overflow:visible;filter:drop-shadow(0 10px 18px rgba(15,39,66,.12))}.clock-gauge-shell,.clock-gauge-track,.clock-gauge-inner-ring,.clock-gauge-zone{fill:none}.clock-gauge-shell{stroke:#d8e2ee;stroke-width:9;stroke-linecap:round}.clock-gauge-track{stroke:#10263e;stroke-width:23;stroke-linecap:butt;opacity:.92}.clock-gauge-zone{stroke-width:18;stroke-linecap:butt}.clock-gauge-inner-ring{stroke:#8eefff;stroke-width:3;stroke-linecap:round;opacity:.92}.clock-gauge-needle-shadow{stroke:#0f27423d;stroke-width:8;stroke-linecap:round}.clock-gauge-needle{stroke-width:5;stroke-linecap:round}.clock-gauge-hub{stroke:#fff;stroke-width:2}.clock-gauge-tick{stroke:#b9c7d8;stroke-width:1.1;stroke-linecap:round}.clock-gauge-tick--major{stroke:#edf6ff;stroke-width:2}.clock-gauge-scale{fill:#506179;font-size:10px;font-weight:var(--widget-label-weight);text-anchor:middle}.clock-gauge-scale--mid{fill:#6f7f94;font-size:8.5px}.clock-gauge-zone-label{fill:#607087;font-size:9px;font-weight:var(--widget-label-weight);text-anchor:middle;text-transform:uppercase}.clock-gauge-zone-label--normal{fill:#40506a;font-size:10px}.clock-gauge-readout{display:grid;place-items:center;gap:0;text-align:center;pointer-events:none;align-self:start;max-width:100%;min-width:0;margin-top:-2px}.clock-gauge-readout strong{color:#17324d;font-weight:var(--widget-value-weight);line-height:.92;letter-spacing:0;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.clock-gauge-readout small{color:#607087;font-size:clamp(9px,4cqw,13px);font-weight:var(--widget-unit-weight);line-height:1}.clock-gauge-widget--compact{min-height:0;gap:0}.clock-gauge-widget--compact .clock-gauge-svg{max-height:100%}.clock-gauge-widget--compact .clock-gauge-readout strong{font-size:clamp(18px,12cqw,30px)!important}.clock-gauge-widget--compact .clock-gauge-zone-label{display:none}.business-chart-widget{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;gap:4px;padding:0;overflow:hidden;color:#172033}.business-chart-widget--pie{justify-items:center}.business-chart-svg{width:100%;height:100%;min-height:0;display:block}.business-chart-axis-label{font-size:10.5px;font-weight:var(--widget-label-weight);fill:#607087}.business-chart-value-label{font-size:9.5px;font-weight:var(--widget-label-weight);fill:#24344a}.business-chart-warning{fill:#b45309;font-size:10px;font-weight:var(--font-weight-semibold)}.business-chart-donut-total{fill:#172033;font-size:14px;font-weight:var(--widget-value-weight)}.business-chart-segment{cursor:help}.business-chart-segment-labels{min-height:0;display:flex;flex-wrap:wrap;justify-content:center;gap:3px 10px;padding:0 4px;color:#172033;font-size:11px;font-weight:var(--widget-label-weight);line-height:1.2;overflow:hidden}.business-chart-segment-labels span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere}.business-chart-segment-labels--all{align-content:flex-start;max-height:72px;overflow:auto}.business-chart-legend{min-height:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 9px;padding:1px 2px 2px;color:#536075;font-size:10.5px;font-weight:var(--widget-label-weight);overflow:hidden}.business-chart-legend span{min-width:0;display:inline-flex;align-items:center;gap:5px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-chart-legend i{width:9px;height:9px;border-radius:3px;flex:0 0 auto}.widget-validation-message{color:#b42318;font-size:12px;font-weight:var(--font-weight-semibold)}@media(max-width:767px){.dashboard-create-tools{grid-template-columns:1fr}.dashboard-icon-actions{grid-column:1;justify-content:flex-start}.dashboard-add-menu__panel{left:0;right:auto}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-width:0}.form-grid--four{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.form-grid label{display:grid;gap:7px;color:#536075;font-size:12px;font-weight:var(--font-weight-medium);min-width:0}.production-input-field{align-self:start}.wide-field,.form-grid--four .wide-field{grid-column:span 2}.form-action{align-self:end;justify-content:center;min-height:42px}.report-action-grid{align-items:end}.inline-label-icon{display:inline-flex;align-items:center;gap:8px}.reports-workspace,.reports-tab-panel{display:grid;gap:14px;margin-bottom:16px}.reports-generate-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.reports-generate-grid .panel{display:grid;align-content:start;gap:10px}.iso-report-panel{grid-column:1 / -1}.iso-enpi-list{display:grid;gap:10px}.iso-enpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.iso-enpi-option{align-items:flex-start;border:1px solid #d7e2ee;border-radius:8px;padding:10px 12px}.iso-enpi-option span{display:grid;gap:3px}.iso-enpi-option small{color:#7a8798;font-size:12px}.report-meter-exclusions{display:grid;gap:8px;align-self:start}.report-meter-exclusions>small{color:#66758c;line-height:1.35}.report-meter-exclusions .iso-enpi-grid{grid-template-columns:1fr}.report-history-panel{border-top:4px solid #1473e6}.mini-table{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;min-width:0}.mini-table button{border:1px solid #d7deea;background:#f8fafc;border-radius:8px;display:grid;gap:2px;min-width:min(150px,100%);max-width:100%;padding:9px 11px;text-align:left;color:#263244}.mini-table button.mini-table-row--active{background:#143b63;border-color:#143b63;color:#fff}.mini-table button.mini-table-row--active span{color:#ffffffd1}.mini-table button span,.mini-table button strong{overflow-wrap:anywhere}.mini-table span,.muted{color:#66758c}.meter-badge-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.meter-role-badge{border:1px solid #cbd9ec;border-radius:999px;color:#31435d;font-size:11px;font-style:normal;font-weight:var(--font-weight-medium);line-height:1;padding:4px 7px}.meter-role-badge--main{background:#e8f8ef;border-color:#b8ebcb;color:#0d6b36}.mini-table button.mini-table-row--active .meter-role-badge{border-color:#ffffff73;color:#fff}.admin-warning-note,.meter-logic-panel{background:#f8fafc;border:1px solid #d7deea;border-radius:8px;color:#52627a;padding:12px}.admin-warning-note{margin:-4px 0 14px}.meter-logic-panel{display:grid;gap:8px}.meter-logic-panel label{align-items:center;display:flex;flex-direction:row;gap:8px;margin:0}.meter-logic-panel input[type=checkbox]{height:18px;width:18px}.muted{margin-top:-4px}.control-bar{display:grid;gap:12px;margin-bottom:16px}.control-bar label{display:grid;gap:6px;color:#52627a;font-size:13px;font-weight:var(--font-weight-medium)}.control-bar select{width:100%}.two-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.stack-list{display:grid;gap:10px}.stack-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid #e3e9f3;border-radius:8px;padding:12px;background:#fff}.stack-row small{display:block;color:#66758c;margin-top:4px}.baseline-recommendation{margin:14px 0}.recommendation-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}.recommendation-filters label{color:var(--muted);font-size:.88rem}.recommendation-action-card{border:1px solid #dbe5f1;border-radius:8px;background:#fff;padding:10px 12px}.recommendation-action-card summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.recommendation-action-card summary::-webkit-details-marker{display:none}.recommendation-action-card summary small{display:block;margin-top:4px;color:#66758c}.recommendation-action-card__badges{display:flex;align-items:center;gap:8px;white-space:nowrap}.recommendation-action-card p{margin:10px 0 6px;color:#44546b}.recommendation-action-card ul{margin:6px 0 10px;padding-left:20px}.recommendation-action-card select{width:auto;min-width:150px;margin-top:8px}.recommendation-action-card--full{padding:14px}.avoidable-cost-total{display:block;margin:8px 0 14px;font-size:22px}.avoidable-cost-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.avoidable-cost-category{display:grid;gap:5px;border:1px solid #e3e9f3;border-radius:8px;padding:12px;background:#fff}.avoidable-cost-category span,.avoidable-cost-category small{color:#66758c}@media(max-width:767px){.recommendation-action-card summary{display:grid}.recommendation-action-card__badges{white-space:normal}}.baseline-bars{display:grid;grid-template-columns:repeat(48,minmax(10px,1fr));gap:5px;min-height:180px;align-items:end;margin-top:16px;padding-top:12px;border-top:1px solid #e3e9f3}.baseline-bar{display:grid;gap:6px;justify-items:center;min-width:0}.baseline-bar__fill{width:100%;max-width:18px;min-height:4px;border-radius:999px 999px 4px 4px;background:#94a3b8}.baseline-bar__fill--normal{background:#38bdf8}.baseline-bar__fill--medium{background:#f59e0b}.baseline-bar__fill--high{background:#ef4444}.baseline-bar small{color:#66758c;font-size:10px}.issue-text{color:#66758c}.issue-text--blocked,.issue-text--critical{color:#b91c1c}.issue-text--warning{color:#b45309}.notification-channel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.notification-channel-header .panel-title{margin-bottom:0;flex-wrap:wrap}.notification-config-panel{display:grid;gap:14px;margin-top:14px;padding:14px;border:1px solid #d7deea;border-radius:8px;background:#f8fafc}.notification-config-panel h3{margin:0;color:#172033;font-size:16px;font-weight:var(--font-weight-medium)}.notification-config-panel p{margin:4px 0 0;color:#66758c;font-size:13px;line-height:1.4}.notification-config-panel textarea{min-height:72px}.notification-config-actions{align-items:center;justify-content:flex-end}.wizard-progress-card{display:grid;justify-items:end;gap:2px;color:#66758c}.wizard-progress-card strong{color:#172033;font-size:28px}.wizard-progress-card small{color:#66758c;font-size:12px}.wizard-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.wizard-steps{display:grid;gap:8px;position:sticky;top:18px}.wizard-step{border:1px solid #d8e1ee;border-radius:8px;background:#fff;color:#52627a;display:flex;align-items:center;gap:10px;padding:13px 14px;font-weight:var(--font-weight-medium);cursor:pointer}.wizard-step--active{background:#12345b;border-color:#12345b;color:#fff}.wizard-step--done{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.wizard-panel{min-width:0}.wizard-card{display:grid;gap:14px}.wizard-action{justify-self:start}.wizard-payload{width:100%;min-height:420px;resize:vertical;font-family:Cascadia Mono,Consolas,monospace;font-size:13px;line-height:1.5}.wizard-test-result{display:grid;gap:8px;border:1px solid #e3e9f3;border-radius:8px;padding:12px;background:#f8fafc}.wizard-finish-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.wizard-check{display:flex;align-items:center;gap:9px;border:1px solid #e3e9f3;border-radius:8px;padding:12px;color:#66758c;background:#fff}.wizard-check--done{border-color:#bbf7d0;background:#f0fdf4;color:#166534;font-weight:var(--font-weight-medium)}.onboarding-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.onboarding-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e3e9f3;border-left:5px solid #f59e0b;border-radius:8px;padding:12px;background:#fff}.onboarding-item--done{border-left-color:#17a673}.onboarding-item--blocked{border-left-color:#ef4444}.onboarding-item__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#eef4ff;color:#1455ad}.onboarding-item strong,.onboarding-item small{display:block}.onboarding-item small{color:#66758c}.onboarding-handover{box-shadow:none}.onboarding-next-actions{display:flex;flex-wrap:wrap;gap:8px}.hourly-bars{display:grid;grid-template-columns:repeat(24,minmax(18px,1fr));gap:8px;min-height:280px;align-items:end;padding-top:14px}.hourly-bar{position:relative;display:grid;gap:7px;min-width:0;justify-items:center;outline:none}.hourly-bar:focus-visible .hourly-bar__plot{box-shadow:0 0 0 3px #1473e633}.hourly-bar__plot{position:relative;width:100%;height:220px;border-bottom:1px solid #dbe5f2;background:linear-gradient(180deg,#e2e8f080,#f8fafc33);border-radius:6px 6px 0 0}.hourly-bar__avg,.hourly-bar__peak{position:absolute;bottom:0;border-radius:6px 6px 0 0}.hourly-bar__peak{left:18%;width:64%;background:#fecaca}.hourly-bar__avg{left:28%;width:44%;background:#1473e6}.hourly-bar small{color:#66758c;font-size:11px}.site-line-panel{margin-top:16px}.single-line-diagram{--topology-line: rgba(100, 116, 139, .42);--topology-card: #ffffff;--topology-muted: #64748b;position:relative;min-width:0;display:grid;gap:8px;padding:14px 12px 12px;border:1px solid #e2e8f0;border-radius:10px;background:linear-gradient(180deg,#f8fafc,#eef5fb)}.hourly-bar__tooltip{position:absolute;z-index:20;top:12px;left:50%;width:210px;padding:10px 12px;border:1px solid #dbe5f2;border-radius:6px;background:#fffffffa;box-shadow:0 10px 28px #0f172a29;color:#17243a;opacity:0;pointer-events:none;transform:translate(-50%,-6px);transition:opacity .12s ease,transform .12s ease}.hourly-bar:hover .hourly-bar__tooltip,.hourly-bar:focus .hourly-bar__tooltip{opacity:1;transform:translate(-50%)}.hourly-bar:first-child .hourly-bar__tooltip,.hourly-bar:nth-child(2) .hourly-bar__tooltip{left:0;transform:translateY(-6px)}.hourly-bar:first-child:hover .hourly-bar__tooltip,.hourly-bar:first-child:focus .hourly-bar__tooltip,.hourly-bar:nth-child(2):hover .hourly-bar__tooltip,.hourly-bar:nth-child(2):focus .hourly-bar__tooltip{transform:translate(0)}.hourly-bar:nth-last-child(-n+2) .hourly-bar__tooltip{right:0;left:auto;transform:translateY(-6px)}.hourly-bar:nth-last-child(-n+2):hover .hourly-bar__tooltip,.hourly-bar:nth-last-child(-n+2):focus .hourly-bar__tooltip{transform:translate(0)}.hourly-bar__tooltip strong{display:block;margin-bottom:7px;font-size:13px}.hourly-bar__tooltip span{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;font-size:12px;line-height:1.7}.hourly-bar__tooltip b{font-weight:600}.hourly-bar__swatch{width:8px;height:8px;border-radius:2px}.hourly-bar__swatch--avg{background:#1473e6}.hourly-bar__swatch--peak{background:#fecaca}.org-chart-toolbar{position:sticky;top:8px;left:100%;z-index:6;justify-self:end;display:inline-flex;align-items:center;gap:5px;width:max-content;padding:4px;border:1px solid rgba(203,213,225,.9);border-radius:9px;background:#ffffffe0;box-shadow:0 10px 24px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.org-chart-toolbar .icon-only-button{width:28px;height:28px;min-height:28px;border-radius:7px}.org-chart-toolbar span{min-width:42px;color:#536075;font-size:11px;font-weight:var(--font-weight-medium);text-align:center}.org-chart-viewport{min-width:0;overflow:auto;cursor:grab;scrollbar-gutter:stable both-edges;touch-action:pan-x pan-y}.org-chart-viewport:active{cursor:grabbing}.org-chart-stage{position:relative;min-width:100%;margin:0 auto}.org-chart-canvas{position:absolute;top:0;left:0;min-width:max-content;transform-origin:top left}.org-chart-connectors{position:absolute;inset:0;overflow:visible;pointer-events:none}.org-chart-connector{fill:none;stroke:var(--topology-line);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.org-chart-node{position:absolute;display:grid}.org-chart-node .device-node{height:100%}.device-node{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;width:100%;max-width:280px;min-height:0;overflow:visible;padding:8px 10px;border:1px solid #dbe3ee;border-radius:10px;background:var(--topology-card);box-shadow:0 8px 22px #0f172a0e;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.device-node:hover{border-color:#b8cbe1;box-shadow:0 12px 28px #0f172a1a;transform:translateY(-1px)}.device-node__content{display:grid;justify-items:center;gap:3px;min-width:0;width:100%;overflow:visible}.device-node strong,.device-node small{display:block;min-width:0;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.device-node strong{color:#0f172a;font-size:14px;font-weight:var(--font-weight-medium);line-height:16px}.device-node small{color:#475569;margin-top:0;font-size:12px;line-height:14px}.device-node__icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:8px;color:#fff;background:#1473e6}.device-node--site{max-width:340px;border-color:#b7d4ff;background:#f7fbff}.device-node--site strong{font-size:15px}.device-node--gateway .device-node__icon{background:#0f766e}.device-node--main{border-color:#93c5fd;background:#f8fbff}.device-node--main .device-node__icon{background:#1d4ed8}.device-node--aggregate{border-color:#bfdbfe}.device-node--aggregate .device-node__icon{background:#0f766e}.device-node--meter .device-node__icon,.device-node--group .device-node__icon{background:#7c3aed}.device-node--group{border-style:dashed;background:#fbfdff}.device-node--invalid{border-color:#fecaca;border-style:dashed;background:#fff7f7}.device-node--invalid .device-node__icon{background:#dc2626}.device-node--empty{border-style:dashed;background:#ffffffb8}.device-node--empty .device-node__icon{background:#94a3b8}.device-node__badges{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:100%;margin-top:2px;overflow:visible}.device-node__badges em{display:inline-flex;align-items:center;min-height:18px;max-width:72px;padding:0 6px;border:1px solid #dbe5f2;border-radius:999px;color:#335170;background:#f1f5f9;font-size:10px;font-style:normal;font-weight:var(--font-weight-medium);line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1180px){.metric-grid,.skeleton-grid,.content-grid,.two-column-grid,.reports-generate-grid,.admin-layout,.wizard-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.panel--wide{grid-column:span 2}.detail-list--overview-quality{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px)and (max-width:1024px){.page{padding:22px}.metric-grid,.metric-grid--overview,.metric-grid--four,.content-grid,.health-grid,.form-grid,.admin-grid,.reports-generate-grid,.two-column-grid,.wizard-finish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel--wide,.content-grid>.panel--wide{grid-column:span 2}.admin-layout,.wizard-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.data-table{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:767px){.ui-settings-row{grid-template-columns:1fr}.ui-settings-row .form-action{width:100%}.app-shell,.app-shell--sidebar-collapsed{grid-template-columns:1fr}.mobile-menu-button{position:fixed;top:12px;left:12px;z-index:130;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(203,213,225,.9);border-radius:8px;background:#fffffff5;color:#12345b;box-shadow:0 14px 32px #10182829}.mobile-nav-backdrop{position:fixed;inset:0;z-index:110;display:block;border:0;padding:0;background:#0f172a7a}.sidebar,.sidebar--collapsed{position:fixed;top:0;left:0;bottom:0;z-index:120;width:min(86vw,340px);display:grid;grid-template-columns:1fr;align-items:stretch;align-content:start;padding:12px 12px 14px;border-right:0;border-bottom:0;overflow:visible;transform:translate(-105%);transition:transform .18s ease;box-shadow:24px 0 60px #02061759}.sidebar--mobile-open{transform:translate(0)}.sidebar .brand,.sidebar--collapsed .brand{display:flex;justify-content:space-between;justify-items:stretch;width:100%}.sidebar .brand-logo,.sidebar--collapsed .brand-logo{width:44px;height:44px}.sidebar--collapsed .brand-copy,.sidebar--collapsed .nav-label,.sidebar--collapsed .nav-section-title,.sidebar--collapsed .sidebar-select,.sidebar--collapsed .sidebar-status-card,.sidebar--collapsed .sidebar-footer{display:block}.sidebar--collapsed nav,.sidebar--collapsed .sidebar-select,.sidebar--collapsed .sidebar-status-card,.sidebar--collapsed .sidebar-footer{display:grid}.sidebar nav{display:grid;max-height:calc(100vh - 176px);overflow-y:auto;padding:6px 0 0}.nav-section{display:grid}.nav-section-title{display:block}.sidebar button,.sidebar--collapsed .nav-section button{width:100%;height:auto;justify-content:flex-start;padding:9px 11px}.sidebar-toggle{width:40px!important;height:40px!important;justify-content:center!important}.page{padding:72px 14px 16px;min-width:0}.page-header,.panel-header{display:grid;gap:12px;padding-right:0}.page-header>*,.panel-header>*{min-width:0}.page-header .button-row,.page-header .control-strip,.page-header .header-select,.page-header .admin-header-selects,.panel-header .button-row,.panel-header .chart-controls{width:100%;justify-items:stretch}.admin-header-selects{display:grid;min-width:0}.page-header .button-row,.panel-header .button-row{display:grid;grid-template-columns:1fr}.notification-channel-header{display:grid;align-items:stretch}.notification-channel-header .secondary-button{width:100%}.notification-config-actions{display:grid;grid-template-columns:1fr}.page-header h1{font-size:clamp(26px,8vw,40px)}.panel,.metric-card{border-radius:8px}.control-strip,.control-bar,.metric-grid,.metric-grid--overview,.skeleton-grid,.metric-grid--four,.content-grid,.health-grid,.admin-grid,.admin-layout,.two-column-grid,.reports-generate-grid,.wizard-layout,.form-grid,.form-grid--four,.admin-assignment-summary,.admin-assignment-lists,.iso-enpi-grid{grid-template-columns:1fr}.tariff-filter-row.control-strip--four:has(.time-window-selector){grid-template-columns:1fr}.tariff-assign-button{justify-self:stretch;width:100%}.panel--wide,.content-grid>.panel--wide{grid-column:span 1}.admin-tabs{position:static}.dashboard-grid,.dashboard-grid--edit{grid-template-columns:repeat(24,minmax(0,1fr));grid-auto-rows:50px;padding:0;border:0;background:transparent}.dashboard-widget{min-height:190px;padding:7px}.dashboard-widget:has(.kpi-card-widget),.dashboard-widget:has(.dashboard-gauge),.dashboard-widget:has(.clock-gauge-widget){min-height:112px}.dashboard-widget-header{padding-inline:28px;font-size:12px;line-height:1.25}.kpi-card-value-row strong{font-size:clamp(22px,10cqw,42px)!important}.clock-gauge-svg{max-height:170px}.business-chart-legend,.multi-line-legend{font-size:10px;gap:4px 7px}.chart-shell{width:100%;min-width:0}.chart-shell svg{min-width:0}.chart-shell{overflow-x:auto;-webkit-overflow-scrolling:touch}.overview-chart-settings,.widget-menu-panel{position:absolute;right:0;width:min(320px,calc(100vw - 28px))}.dashboard-editor-layout,.dashboard-editor-layout--settings-open{grid-template-columns:1fr}.dashboard-settings-sidebar{position:fixed;inset:0 0 0 auto;z-index:150;width:min(92vw,390px);height:100dvh;max-height:none;border-radius:0;transform:translate(105%);transition:transform .18s ease}.dashboard-settings-sidebar--open{display:grid;transform:translate(0)}.overview-chart-settings{opacity:1;pointer-events:auto;transform:none}.hourly-bars,.baseline-bars{grid-template-columns:repeat(12,minmax(18px,1fr))}.data-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table__head,.data-table__row{min-width:680px}.alarm-table{min-width:820px}.alarm-table--ops{min-width:1240px}.report-table,.backup-table,.retention-table,.notification-table,.audit-table,.security-table,.tenant-table__row{min-width:860px}.backup-table{min-width:1120px}.cost-table,.tariff-editor-table{min-width:720px}.chart-controls,.axis-controls,.segmented{width:100%}.axis-controls{grid-template-columns:1fr}.segmented{overflow-x:auto;justify-content:flex-start}.panel--wide{grid-column:span 1}.detail-list--overview-quality,.overview-chart-settings__grid{grid-template-columns:1fr}.wide-field,.form-grid--four .wide-field{grid-column:span 1}}@media(hover:none),(pointer:coarse){.dashboard-widget-drag,.widget-menu-button{width:24px;height:24px;opacity:.72;pointer-events:auto;transform:none}.dashboard-widget-drag{opacity:0;pointer-events:none}.dashboard-widget:focus-within .dashboard-widget-drag,.dashboard-widget--selected .dashboard-widget-drag,.dashboard-widget--dragging .dashboard-widget-drag,.dashboard-widget:focus-within .widget-menu-button,.dashboard-widget--selected .widget-menu-button,.widget-menu--open .widget-menu-button{opacity:1;pointer-events:auto;transform:translateY(0)}}@media(max-width:1024px){.recommendation-row{grid-template-columns:minmax(0,1fr);gap:6px}.recommendation-row__details{width:100%;flex-wrap:wrap}.recommendation-row__details span{flex-basis:100%;width:100%}}@media(max-width:767px){.dashboard-tabs{display:grid;grid-template-columns:1fr}.dashboard-tab{max-width:none;width:100%;justify-content:space-between}.dashboard-tabs input{width:100%}.data-table__head.backup-table,.data-table__head.retention-table{display:none}.data-table__row.backup-table,.data-table__row.retention-table{min-width:0;grid-template-columns:1fr;gap:9px;padding:12px}.data-table__row.backup-table span,.data-table__row.retention-table span{display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;align-items:start;overflow-wrap:anywhere}.data-table__row.backup-table span:before,.data-table__row.retention-table span:before{content:attr(data-label);color:#66758c;font-size:11px;font-weight:var(--font-weight-semibold);text-transform:uppercase}}@media(max-width:767px)and (pointer:coarse){.dashboard-grid,.dashboard-grid--edit{grid-template-columns:1fr;grid-auto-rows:auto}.dashboard-widget{grid-column:1 / -1!important;grid-row:auto!important}}.mqtt-credentials-panel{margin-top:16px;padding:16px;border:1px solid var(--border-color, #cbd5e1);border-radius:8px;background:var(--surface-subtle, #f8fafc)}.mqtt-credentials-panel code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}
