:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/140% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer;border-radius:9px;transition:background-color .16s,border-color .16s,color .16s,opacity .16s}.primary-button,.secondary-button,.ghost-button,.danger-button,.action-button{white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;min-height:36px;padding:.45rem .75rem;font-weight:500;line-height:1.1;text-decoration:none;display:inline-flex}.primary-button{color:#fff;background:#0b2752}.primary-button:hover:not(:disabled){background:#071b3b}.secondary-button{color:#0b2752;background:#fff;border-color:#aebed3}.secondary-button:hover:not(:disabled){background:#f2f5f9;border-color:#7188a8}.ghost-button{color:#0b2752;background:0 0;border-color:#0000}.ghost-button:hover:not(:disabled){background:#eef3f9}.danger-button{color:#9f2933;background:#fff;border-color:#e2a8ad}.danger-button:hover:not(:disabled){background:#fff1f2;border-color:#c96770}.action-button{color:#0b2752;background:#f5f7fa;border-color:#cbd5e1;min-height:32px;padding:.35rem .55rem;font-size:.78rem}.action-button:hover:not(:disabled){background:#e8eef6}button:disabled,.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.danger-button:disabled,.action-button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible{outline-offset:2px;outline:3px solid #0b275238}.dashboard,.customer-energy-dashboard,.installer-dashboard,.admin-dashboard{width:100%}.dashboard-header,.page-header{margin-bottom:10px}.dashboard-header h1,.page-header h1{letter-spacing:-.035em;margin:0;font-size:clamp(24px,2vw,30px);line-height:1.1}.dashboard-header p,.page-header p{margin-top:5px;line-height:1.4}.table-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px;overflow-x:auto;box-shadow:0 8px 24px #0f172a0d}.table-card+.table-card{margin-top:14px}.table-card h2{margin-bottom:10px;font-size:19px}.table-card table{border-collapse:collapse;width:100%}.table-card th,.table-card td{text-align:left;border-bottom:1px solid #eef0f3;padding:9px 10px}.table-card th{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;font-size:12px}.table-card button{color:#0b2752;cursor:pointer;background:#eef3f9;border:0;border-radius:9px;min-height:34px;padding:7px 11px;font-weight:500}@media (width<=640px){.dashboard-header,.page-header{margin-bottom:11px}.table-card{border-radius:13px;padding:11px}}#root{text-align:left;border-inline:0;width:100%;max-width:none;margin:0}h1{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(28px,2.4vw,38px)}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{background:#f5f7fb;min-height:100vh}#root{min-height:100vh}.login-page{background:radial-gradient(circle at 100% 0,#0b27521f,#0000 34%),radial-gradient(circle at 0 100%,#0b275212,#0000 32%),#f5f7fb;place-items:center;width:100%;min-height:100vh;padding:clamp(12px,2vw,22px);display:grid}.login-shell{width:min(440px,100%)}.login-brand-panel,.login-card{background:#fff;border:1px solid #edf0f4;border-radius:16px;box-shadow:0 18px 55px #0f172a14}.login-brand-panel{background:radial-gradient(circle at 100% 0,#0b275224,#0000 34%),linear-gradient(135deg,#fff,#f8fafc);flex-direction:column;justify-content:space-between;min-height:min(520px,100dvh - 44px);padding:clamp(20px,2.2vw,30px);display:flex}.login-brand{justify-content:center;align-items:center;width:100%;height:160px;margin-bottom:8px;display:flex;overflow:hidden}.login-brand img{object-fit:contain;border-radius:10px;width:100%;max-width:330px;height:auto;display:block}.login-eyebrow{color:#0b2752;margin-bottom:10px;font-size:13px;font-weight:500;display:inline-flex}.login-brand-panel h1{color:#111827;letter-spacing:-.06em;max-width:620px;margin:0;font-size:clamp(28px,3.2vw,44px);line-height:.98}.login-brand-panel p{color:#6b7280;max-width:560px;margin:12px 0 0;font-size:16px;line-height:1.45}.login-feature-list{flex-wrap:wrap;gap:10px;display:flex}.login-feature-list span{color:#0b2752;background:#eef3f9;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:500}.login-card{padding:20px}.login-card-header h1{color:#111827;letter-spacing:-.035em;margin:14px 0 0;font-size:26px}.login-form{gap:14px;margin-top:14px;display:grid}.login-form label{color:#374151;gap:8px;font-size:13px;font-weight:500;display:grid}.login-form input{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:16px;outline:none;width:100%;min-height:50px;padding:13px 15px;box-shadow:0 6px 18px #0f172a09}.login-form input:focus{border-color:#7188a8;box-shadow:0 0 0 4px #0b275221}.login-form button{color:#fff;cursor:pointer;background:#0b2752;border:none;border-radius:16px;min-height:52px;margin-top:6px;padding:13px 16px;font-weight:500;box-shadow:0 12px 26px #0b275233}.login-form button:hover{background:#071b3b}.login-form button:disabled{opacity:.7;cursor:not-allowed}.login-error{color:#dc2626;background:#fef2f2;border-radius:16px;padding:11px 13px;font-size:13px;font-weight:500}@media (width<=560px){.login-page{padding:14px}.login-card{border-radius:16px}.login-brand img{border-radius:8px;max-width:270px}.login-brand{height:132px}}.login-page{min-height:100dvh}.login-form{gap:10px;margin-top:17px}.login-form label{gap:4px}.login-form input{border-radius:11px;min-height:40px;padding:8px 11px}.login-form button{border-radius:11px;min-height:42px;padding:9px 14px}.login-demo-box{border-radius:14px;gap:6px;margin-top:14px;padding:11px}.login-register-link{text-align:center;margin-top:12px;font-size:13px}.platform{background:#f5f7fb;width:100%;min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;gap:8px;width:260px;min-width:260px;height:100vh;padding:14px 13px;display:flex;position:sticky;top:0}.sidebar-brand{justify-content:center;align-items:center;height:86px;padding:0 8px 6px;display:flex;overflow:hidden}.sidebar-logo{object-fit:contain;border-radius:8px;width:100%;max-width:196px;height:auto;display:block}.sidebar-installation{background:radial-gradient(circle at 100% 0,#0b27521a,#0000 42%),#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px}.sidebar-installation span{color:#0b2752;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-size:12px;font-weight:500;display:block}.sidebar-installation select{color:#111827;cursor:pointer;background:#fff;border:none;border-radius:14px;outline:none;width:100%;padding:8px 10px;font-weight:500;box-shadow:inset 0 0 0 1px #e5e7eb}.sidebar-installation select:focus{box-shadow:inset 0 0 0 1px #41658f,0 0 0 4px #0b27521f}.sidebar-installation-context{background:#f8faf9;border:1px solid #dce6df;border-radius:14px;gap:6px;padding:10px;display:grid}.sidebar-installation-context__label{color:#0b2752;letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:500}.sidebar-installation-context strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.sidebar-installation-context__meta{color:#66717d;flex-wrap:wrap;gap:4px 8px;font-size:11px;display:flex}.sidebar-installation-context__customer{color:#52606d;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.sidebar-back-button{color:#0b2752;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;width:fit-content;margin-top:3px;padding:3px 0;font-size:11px;font-weight:500;display:inline-flex}.sidebar-back-button:hover{color:#071b3b;text-decoration:underline}.sidebar-nav{gap:4px;display:grid}.sidebar-nav button{text-align:left;color:#4b5563;cursor:pointer;background:0 0;border:none;border-radius:11px;grid-template-columns:30px 1fr;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:14px;font-weight:500;transition:background .16s,color .16s,transform .16s,box-shadow .16s;display:grid}.sidebar-nav button:hover{color:#111827;background:#f3f4f6;transform:translate(2px)}.sidebar-nav button.active{color:#0b2752;background:#eef3f9;box-shadow:inset 0 0 0 1px #c6d2e2}.sidebar-nav button:active{transform:scale(.99)}.sidebar-nav-icon{width:30px;height:30px;color:inherit;background:#f3f4f6;border-radius:12px;place-items:center;display:grid}.sidebar-nav button.active .sidebar-nav-icon{color:#0b2752;background:#fff}.sidebar-nav-label{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.sidebar-nav-label span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-nav-badge{color:#fff;background:#ef4444;border-radius:999px;place-items:center;min-width:23px;height:23px;padding:0 7px;font-size:12px;font-weight:500;line-height:1;display:inline-grid;box-shadow:0 8px 18px #ef444433}.sidebar-divider{background:#e5e7eb;height:1px;margin:8px 6px 0}.sidebar-account{gap:10px;padding:0 4px;display:grid;position:relative}.sidebar-account-button{color:#111827;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:16px;grid-template-columns:38px 1fr;align-items:center;gap:10px;width:100%;padding:8px 6px;display:grid}.sidebar-account-button:hover{background:#f3f4f6}.sidebar-account-avatar{color:#fff;background:#0b2752;border-radius:999px;place-items:center;width:38px;height:38px;font-weight:500;display:grid}.sidebar-account-button strong{color:#111827;overflow-wrap:anywhere;font-size:14px;font-weight:500;display:block}.sidebar-account-button small{color:#6b7280;overflow-wrap:anywhere;margin-top:2px;font-size:12px;display:block}.sidebar-logout-button:hover{background:#fee2e2}.platform-content{background:radial-gradient(circle at 100% 0,#0b275212,#0000 28%),#f5f7fb;flex:1;min-width:0;padding:clamp(14px,1.5vw,18px)}@media (width<=1050px){.platform{flex-direction:column}.sidebar{border-bottom:1px solid #e5e7eb;border-right:none;width:100%;min-width:0;height:auto;padding:14px 16px;position:relative}.sidebar-brand{height:78px;padding:0}.sidebar-logo{max-width:176px}.sidebar-installation{padding:12px}.sidebar-nav{scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.sidebar-nav button{white-space:nowrap;grid-template-columns:28px auto;width:auto;min-width:max-content;padding:10px 12px}.sidebar-nav-icon{width:28px;height:28px}.sidebar-divider{margin:4px 0 0}.sidebar-account{grid-template-columns:1fr auto;align-items:center;padding:0}.sidebar-nav-label{gap:7px}.sidebar-nav-badge{min-width:20px;height:20px;font-size:11px}.platform-content{padding:18px}}@media (width<=620px){.sidebar-account{grid-template-columns:1fr}.platform-content{padding:14px}}@media (width>=1051px){.sidebar{width:252px;min-width:252px}.sidebar-logo{max-width:196px}.sidebar-installation{border-radius:15px;padding:10px}.sidebar-nav{gap:4px}.sidebar-nav button{padding:8px 10px;font-size:14px}.sidebar-nav-icon{width:27px;height:27px}}.sidebar-account-copy{min-width:0}.sidebar-account-button{grid-template-columns:38px minmax(0,1fr) auto}.sidebar-account-button.active{background:#e8f5ec;box-shadow:inset 0 0 0 1px #bbdfc5}.management-card{padding:.75rem}.management-toolbar{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr));gap:.55rem;margin-bottom:.65rem;display:grid}.management-toolbar label,.management-pagination label{color:#52606d;gap:.25rem;font-size:.78rem;font-weight:500;display:grid}.management-toolbar input,.management-toolbar select,.management-pagination select{background:#fff;border:1px solid #cbd5df;border-radius:7px;min-height:36px;padding:.4rem .55rem}.management-table{border-collapse:collapse;width:100%;font-size:.86rem}.management-table th{text-align:left;color:#52606d;white-space:nowrap;border-bottom:1px solid #dfe5ea;padding:.55rem .5rem}.management-table td{vertical-align:middle;border-bottom:1px solid #edf0f2;padding:.58rem .5rem}.management-actions{flex-wrap:wrap;gap:.35rem;display:flex}.management-actions button,.management-pagination button{color:#0b2752;white-space:nowrap;background:#f5f7fa;border:1px solid #cbd5e1;border-radius:8px;min-height:32px;padding:.35rem .55rem;font-size:.78rem;font-weight:500}.management-actions button:hover:not(:disabled),.management-pagination button:hover:not(:disabled){background:#e8f6ec;border-color:#9ac9a8}.management-status{background:#eef2f5;border-radius:999px;padding:.18rem .45rem;font-size:.76rem;font-weight:500;display:inline-flex}.management-status--active{color:#17603a;background:#e1f5e9}.management-status--pending,.management-status--invited{color:#765400;background:#fff3c4}.management-status--no_account{color:#475569;background:#eef2f6}.management-status--disabled{color:#8a2830;background:#fde7e9}.management-pagination{justify-content:flex-end;align-items:end;gap:.55rem;margin-top:.6rem;font-size:.82rem;display:flex}.management-pagination label{grid-template-columns:auto 64px;align-items:center}.management-empty{color:#66717d;text-align:center;margin:1.25rem 0}.management-message{border-radius:7px;margin:0 0 .75rem;padding:.55rem .75rem}.management-message--success{color:#17603a;background:#e1f5e9}.management-message--error{color:#8a2830;background:#fde7e9}.management-modal-backdrop{z-index:50;background:#111d2675;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.management-modal{background:#fff;border-radius:12px;width:min(620px,100%);max-height:calc(100vh - 2rem);padding:.9rem;overflow:auto;box-shadow:0 18px 60px #00000040}.management-modal header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.management-modal h2,.management-modal p{margin:0 0 .2rem}.management-details{grid-template-columns:minmax(130px,.7fr) 1.5fr;gap:.45rem .8rem;margin:0;display:grid}.management-details dt{color:#66717d;font-weight:500}.management-details dd{overflow-wrap:anywhere;margin:0}.management-actions .danger-button{color:#9f2933;background:#fff;border-color:#e2a8ad}.management-actions .danger-button:hover:not(:disabled){background:#fff1f2;border-color:#c96770}@media (width<=900px){.management-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.management-toolbar{grid-template-columns:1fr}.management-table thead{display:none}.management-table,.management-table tbody,.management-table tr,.management-table td{width:100%;display:block}.management-table tr{border:1px solid #dfe5ea;border-radius:9px;margin-bottom:.7rem;padding:.55rem}.management-table td{border:0;grid-template-columns:115px 1fr;gap:.6rem;padding:.35rem 0;display:grid}.management-table td:before{content:attr(data-label);color:#66717d;font-size:.76rem;font-weight:500}.management-pagination{flex-wrap:wrap;justify-content:flex-start}.management-details{grid-template-columns:1fr}.management-details dd{margin-bottom:.3rem}}.management-status-help{color:#66717d;max-width:230px;margin-top:.3rem;font-size:.73rem;line-height:1.35;display:block}.management-invite-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.management-invite-actions small{color:#66717d;flex-basis:100%;max-width:250px;font-size:.7rem;line-height:1.3}.management-linked-list{margin:0;padding-left:1.1rem}.management-linked-list li+li{margin-top:.2rem}.installations-page{width:100%}.installations-page .page-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.create-installation-button{flex:none}.installation-create-panel{background:#fff;border:1px solid #dfe7e1;border-radius:16px;margin-bottom:12px;padding:clamp(13px,1.4vw,18px);box-shadow:0 12px 34px #0f172a12}.installation-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.installation-create-form label{color:#374151;gap:4px;font-size:13px;font-weight:500;display:grid}.installation-create-form label small{color:#6b7280;font-weight:500}.installation-create-form input,.installation-create-form select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:13px;min-height:38px;padding:10px 12px}.installation-create-error,.installation-create-success{border-radius:13px;padding:11px 13px;font-size:13px;font-weight:500}.installation-create-error{color:#b91c1c;background:#fef2f2;grid-column:1/-1;margin:0}.installation-create-success{color:#0b2752;background:#eef3f9;margin:0 0 16px}.installation-list{gap:10px;display:grid}.installation-card{background:#fff;border:1px solid #e7ece8;border-radius:15px;overflow:hidden;box-shadow:0 8px 24px #0f172a0b}.installation-card.active{border-color:#86efac}.installation-open-area{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px 12px;padding:12px;display:grid}.installation-open-area:hover{background:#f8faf9}.installation-open-area span,.installation-open-area small,.installation-open-area strong{display:block}.installation-open-area small{color:#9ca3af;letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:500}.installation-open-area strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.installation-card-actions{background:#fbfcfb;border-top:1px solid #eef1ef;justify-content:flex-end;padding:7px 11px;display:flex}.invite-customer-button,.invite-submit-button,.invite-link-row button{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:4px;font-weight:500;display:inline-flex}.invite-customer-button{color:#0b2752;background:#eef3f9;padding:9px 13px}.invite-panel{background:#fff;border:1px solid #dfe7e1;border-radius:16px;margin-top:12px;padding:clamp(13px,1.4vw,18px);box-shadow:0 12px 34px #0f172a12}.invite-panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.invite-panel-header span{color:#0b2752;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:500}.invite-panel-header h2{color:#111827;margin:4px 0 0}.invite-panel-header p{color:#6b7280;margin:6px 0 0}.invite-panel-header>button{color:#4b5563;cursor:pointer;background:#f3f4f6;border:none;border-radius:999px;place-items:center;width:38px;height:38px;display:grid}.invite-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.invite-form label{color:#374151;gap:4px;font-size:13px;font-weight:500;display:grid}.invite-form label small{color:#9ca3af;font-weight:500}.invite-form input,.invite-link-row input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:13px;min-height:38px;padding:10px 12px}.invite-submit-button{color:#fff;background:#0b2752;justify-self:start;padding:8px 13px}.invite-submit-button:disabled{cursor:wait;opacity:.6}.invite-error{color:#dc2626;grid-column:1/-1;margin:0}.invite-result{gap:9px;display:grid}.invite-result>strong{color:#111827;font-size:19px}.invite-result>p{color:#6b7280;margin:0}.invite-link-row{grid-template-columns:1fr auto;gap:8px;display:grid}.invite-link-row button{color:#fff;background:#0b2752;padding:10px 13px}.invite-status{color:#4b5563;text-transform:capitalize;background:#f3f4f6;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:5px 9px;font-size:11px;font-weight:500;display:inline-flex}.invite-status.pending{color:#c2410c;background:#fff7ed}.invite-status.accepted{color:#15803d;background:#dcfce7}.invite-status.expired,.invite-status.cancelled{color:#dc2626;background:#fef2f2}.invite-history{border-top:1px solid #eef1ef;gap:8px;margin-top:13px;padding-top:11px;display:grid}.invite-history h3{color:#111827;margin:0 0 2px;font-size:15px}.invite-history>div{background:#f8faf9;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.invite-history strong,.invite-history small{display:block}.invite-history strong{color:#111827;font-size:13px}.invite-history small{color:#6b7280;margin-top:3px}.installations-empty{color:#6b7280;text-align:center;border:1px dashed #d1d5db;border-radius:18px;padding:18px}.installations-empty strong{color:#111827}.installations-empty p{margin:6px 0 0}@media (width<=1050px){.installation-open-area{grid-template-columns:repeat(3,minmax(110px,1fr))}}@media (width<=650px){.installations-page .page-header{flex-direction:column;align-items:stretch}.create-installation-button{align-self:flex-start}.installation-open-area,.invite-form,.installation-create-form,.invite-link-row{grid-template-columns:1fr}}.installation-create-panel,.invite-panel{border-radius:16px;padding:clamp(13px,1.4vw,18px)}.installation-create-form,.invite-form{gap:10px 12px}.installation-create-form label,.invite-form label{gap:4px}.installation-create-form input,.installation-create-form select,.invite-form input,.invite-link-row input{border-radius:10px;min-height:38px;padding:7px 10px}.invite-panel-header{margin-bottom:12px}.invite-submit-button{padding:8px 13px}.invite-required-help{color:#64748b;grid-column:1/-1;margin:0;font-size:12px;font-weight:500}.installation-management-card{padding:14px}.installation-toolbar{grid-template-columns:minmax(220px,2fr) repeat(4,minmax(135px,1fr))}.installation-address{color:#64748b;margin-top:3px;font-size:11px;font-weight:500;display:block}.installation-management-table td{vertical-align:top}.installation-management-table .management-actions{min-width:220px}.installation-row-active{background:#f2f5f9}@media (width<=1100px){.installation-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.installation-toolbar{grid-template-columns:1fr}.installation-management-table .management-actions{min-width:0}}.gateway-link-summary{margin-bottom:14px}.gateway-link-form{gap:12px;display:grid}.gateway-link-form label{color:#334155;gap:5px;font-size:13px;font-weight:500;display:grid}.gateway-link-form input{border:1px solid #cbd5df;border-radius:8px;min-height:38px;padding:7px 10px}.gateway-link-form small{color:#64748b;font-size:12px;font-weight:500}.gateway-link-actions{flex-wrap:wrap;gap:8px;display:flex}.gateway-key-actions{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:14px}.gateway-key-actions h3{margin:0 0 6px;font-size:14px;font-weight:500}.gateway-key-actions p{color:#64748b;margin:0 0 10px;font-size:12px}.gateway-key-actions .gateway-key-warning{color:#9f1239;margin-top:14px}.alarms-page{gap:.7rem;display:grid}.alarms-toolbar{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));margin:0}.alarms-search-field>div{background:#fff;border:1px solid #cbd5df;border-radius:7px;align-items:center;min-height:36px;padding:0 .55rem;display:flex}.alarms-search-field>div:focus-within{border-color:#86b99a;box-shadow:0 0 0 2px #15803d1a}.alarms-search-field input{border:0;outline:0;width:100%;min-width:0;padding:.4rem}.alarm-installation-filter{color:#1d4ed8;background:#eff6ff;border-radius:8px;justify-content:space-between;align-items:center;padding:.45rem .65rem;font-size:.82rem;font-weight:500;display:flex}.alarm-table td:first-child{white-space:nowrap}.alarm-table td:nth-child(5){min-width:220px}.alarm-table strong,.alarm-code{display:block}.alarm-code{color:#7b8794;margin-top:.2rem;font-size:.7rem}.alarm-badge{color:#475569;white-space:nowrap;background:#eef2f5;border-radius:999px;padding:.18rem .45rem;font-size:.74rem;font-weight:500;display:inline-flex}.alarm-badge.info{color:#1d4ed8;background:#eff6ff}.alarm-badge.warning,.alarm-badge.acknowledged{color:#9a4b0b;background:#fff4df}.alarm-badge.critical,.alarm-badge.open{color:#b4232c;background:#fdecee}.alarm-badge.resolved{color:#17603a;background:#e1f5e9}.alarm-action-modal{width:min(480px,100%)}.alarm-action-modal>p{color:#364152;margin:0 0 .75rem}.alarm-action-modal label{color:#52606d;gap:.3rem;font-size:.8rem;font-weight:500;display:grid}.alarm-action-modal label span{font-weight:400}.alarm-action-modal textarea{resize:vertical;font:inherit;border:1px solid #cbd5df;border-radius:7px;padding:.55rem}.alarm-modal-actions{gap:.45rem;margin-top:.8rem;display:flex}@media (width<=900px){.alarms-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.alarms-toolbar{grid-template-columns:1fr}.alarm-table td:nth-child(5){min-width:0}}.installation-assets-page{gap:14px;display:grid}.device-management-layout{grid-template-columns:minmax(0,1.65fr) minmax(340px,.95fr);align-items:start;gap:16px;display:grid}.device-inventory,.device-settings-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 24px #0f172a0a}.device-inventory{padding:14px}.device-filter-tabs{border-bottom:1px solid #edf1f5;gap:5px;padding-bottom:11px;display:flex;overflow-x:auto}.device-filter-tabs button{color:#64748b;font:inherit;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ec;border-radius:999px;flex:none;padding:6px 10px;font-size:13px;font-weight:500}.device-filter-tabs button:hover,.device-filter-tabs button.active{color:#fff;background:#0b2752;border-color:#0b2752}.device-list-toolbar{grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;padding:12px 0;display:grid}.device-list-toolbar input,.device-list-toolbar select,.device-settings-grid input,.device-settings-grid select{color:#1e293b;min-width:0;min-height:36px;font:inherit;background:#fff;border:1px solid #dbe2ea;border-radius:8px;padding:7px 9px;font-size:13px}.device-row-list{gap:8px;display:grid}.device-list-row{background:#fff;border:1px solid #e2e8f0;border-radius:11px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;transition:border-color .12s,box-shadow .12s;display:grid}.device-list-row.selected{border-color:#0b2752;box-shadow:0 0 0 2px #0b275214}.device-type-icon{color:#0b2752;background:#e8eef7;border-radius:10px;place-items:center;width:36px;height:36px;font-size:15px;font-weight:500;display:grid}.device-row-content{min-width:0}.device-row-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.device-row-identity h2{color:#0f172a;margin:0;font-size:14px;font-weight:500}.device-row-identity span{color:#64748b;font-size:11px}.device-row-tags{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.device-row-tags small{color:#0b2752;background:#e8eef7;border-radius:999px;padding:2px 6px;font-size:9px}.device-model-line,.device-connection-line{color:#475569;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:12px;overflow:hidden}.device-connection-line{color:#64748b;font-size:11px}.device-spec-lines{color:#334155;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:11px;display:flex}.device-status-badge{color:#0b2752;background:#e8eef7;border-radius:999px;flex:none;padding:3px 8px;font-size:10px;font-weight:500}.device-status-badge.active{color:#166534;background:#dcfce7}.device-status-badge.inactive{color:#64748b;background:#f1f5f9}.device-status-badge.offline{color:#9a3412;background:#fff7ed}.device-battery-summary,.device-battery-empty{color:#64748b;margin-top:5px;font-size:11px;display:block}.hybrid-battery-settings>.asset-checkbox-field,.device-settings-section>.asset-checkbox-field{margin-bottom:10px}.battery-settings-grid{margin-top:10px}.device-battery-limit-note,.device-battery-limits{color:#64748b;margin:10px 0 0;font-size:13px}.device-battery-limits{background:#f8fafc;border:1px solid #dbe3ec;border-radius:12px;padding:12px}.device-battery-limits dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 8px;display:grid}.device-battery-limits dt,.device-battery-limits dd{margin:0}.device-battery-limits dt{color:#64748b}.device-battery-limits dd{color:#0f172a;font-weight:500}.device-battery-limits.unavailable{gap:3px;display:grid}.device-battery-limits.unavailable strong{color:#334155;font-weight:500}.device-row-actions{white-space:nowrap;justify-content:flex-end;gap:5px;display:flex}.device-row-actions button{min-height:32px;padding:6px 9px;font-size:11px}.device-settings-panel{max-height:calc(100vh - 28px);position:sticky;top:14px;overflow-y:auto}.device-settings-empty{text-align:center;justify-items:center;padding:52px 24px;display:grid}.device-settings-empty-icon{color:#0b2752;background:#e8eef7;border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:10px;font-size:16px;font-weight:500;display:grid}.device-settings-empty h2,.device-settings-header h2{color:#0f172a;margin:0;font-size:17px;font-weight:500}.device-settings-empty p,.device-settings-header p{color:#64748b;margin:4px 0 0;font-size:12px}.device-settings-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:start;gap:12px;padding:15px 16px;display:flex}.device-settings-meta{color:#64748b;align-items:center;gap:7px;margin-top:5px;font-size:11px;display:flex}.device-settings-section{border-bottom:1px solid #edf1f5;padding:13px 16px}.device-settings-section h3{color:#0b2752;margin:0 0 10px;font-size:13px;font-weight:500}.device-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.device-settings-grid label{color:#475569;gap:5px;font-size:11px;font-weight:400;display:grid}.device-settings-grid input:disabled,.device-settings-grid select:disabled{color:#64748b;opacity:1;background:#f8fafc}.device-status-details{gap:7px;margin:0;display:grid}.device-status-details div{justify-content:space-between;gap:12px;display:flex}.device-status-details dt{color:#64748b;font-size:12px}.device-status-details dd{color:#1e293b;text-align:right;margin:0;font-size:12px}.device-settings-actions{justify-content:flex-end;gap:8px;padding:13px 16px;display:flex}.device-panel-actions{flex-wrap:wrap;gap:7px;display:flex}.device-functional-tags{flex-wrap:wrap;gap:5px;display:flex}.supported-device-card .device-functional-tags small{color:#0b2752;background:#e8eef7;border-radius:999px;margin:0;padding:3px 7px;font-size:10px}@media (width<=1180px){.device-management-layout{grid-template-columns:1fr}.device-settings-panel{max-height:none;position:static}}@media (width<=760px){.device-list-toolbar{grid-template-columns:1fr}.device-list-row{grid-template-columns:36px minmax(0,1fr)}.device-row-actions{grid-column:1/-1}.device-settings-grid{grid-template-columns:1fr}}.asset-page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.asset-management-header{align-items:flex-start;margin-bottom:0}.asset-management-header h1{margin-bottom:3px}.asset-installation-context{color:#64748b;margin-top:5px;font-size:12px;font-weight:500;display:block}.asset-management-card{padding:14px}.asset-management-toolbar{grid-template-columns:minmax(220px,2fr) repeat(4,minmax(120px,1fr))}.asset-management-table td{vertical-align:top}.asset-management-table .management-actions{flex-wrap:nowrap;min-width:220px}.asset-management-table .management-actions button{white-space:nowrap}.management-modal.asset-config-form{background:#fff;width:min(720px,100%);max-height:min(760px,100vh - 32px);margin:0;overflow-y:auto}.management-modal.asset-catalog-modal{border-radius:12px;width:min(820px,100%);margin:0;padding:16px}.asset-metadata{color:#334155;white-space:pre-wrap;background:#f8fafc;border-radius:8px;max-height:220px;margin:0;padding:9px;font-size:11px;overflow:auto}.assets-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.assets-toolbar input,.assets-toolbar select{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:999px;min-height:44px;padding:11px 15px;box-shadow:0 6px 18px #0f172a0a}.assets-toolbar input{min-width:min(360px,100%)}.assets-toolbar select{min-width:190px}.assets-list,.asset-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));align-items:stretch;gap:16px;display:grid}.asset-list-header{margin-bottom:14px}.asset-list-header h2{color:#111827;letter-spacing:-.03em;margin:0;font-size:24px}.asset-list-header p{color:#6b7280;margin:7px 0 0;line-height:1.5}.asset-configuration-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.asset-configuration-summary.simple{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-configuration-summary article{background:#fff;border:1px solid #e7ece8;border-radius:18px;min-width:0;padding:16px;box-shadow:0 8px 22px #0f172a0b}.asset-configuration-summary article.ready{background:#f0fdf4;border-color:#bbf7d0}.asset-configuration-summary article.warning{background:#fff7ed;border-color:#fed7aa}.asset-configuration-summary span,.asset-configuration-summary small{color:#6b7280;display:block}.asset-configuration-summary span{font-size:12px;font-weight:500}.asset-configuration-summary strong{color:#111827;margin-top:5px;font-size:29px;line-height:1;display:block}.asset-configuration-summary small{margin-top:6px}.asset-card{background:#fff;border:1px solid #edf0f4;border-radius:24px;flex-direction:column;gap:14px;min-height:285px;padding:18px;display:flex;box-shadow:0 10px 28px #0f172a0d}.asset-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.asset-card-tags{flex-wrap:wrap;gap:7px;display:flex}.asset-type-tag{color:#4b5563;background:#f3f4f6;border-radius:999px;width:fit-content;padding:6px 10px;font-size:12px;font-weight:500}.asset-card-main{min-height:58px}.asset-card-main h2{color:#111827;letter-spacing:-.025em;margin:0;font-size:20px}.asset-card-main p{color:#6b7280;margin:7px 0 0;line-height:1.45}.asset-card-details{grid-template-columns:1fr;gap:8px;display:grid}.asset-card-details div{background:#f8fafc;border:1px solid #eef0f3;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.asset-card-details .asset-driver-detail{background:#f0fdf4;border-color:#dcfce7}.asset-card-details span{color:#6b7280;font-size:12px;font-weight:500}.asset-config-status{color:#4b5563;text-align:center;background:#f3f4f6;border-radius:999px;flex:none;padding:6px 9px;font-size:11px;font-weight:500}.asset-config-status.ready{color:#15803d;background:#dcfce7}.asset-config-status.missing-connection,.asset-config-status.missing-config{color:#c2410c;background:#fff7ed}.asset-config-status.inactive{color:#6b7280;background:#f3f4f6}.asset-card-details strong{color:#111827;text-align:right;overflow-wrap:anywhere;font-size:13px}.asset-card-actions{border-top:1px solid #eef0f3;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:14px;display:flex}.asset-card-actions button{cursor:pointer;border:none;border-radius:13px;padding:10px 13px;font-size:13px;font-weight:500}.asset-card-actions .secondary-button{color:#374151;background:#f3f4f6}.asset-card-actions .secondary-button:hover{background:#e5e7eb}.asset-card-actions .secondary-danger-button{color:#dc2626;background:#fef2f2}.asset-card-actions .secondary-danger-button:hover{background:#fee2e2}.asset-add-tile{min-height:285px}.asset-card h3{color:#111827;letter-spacing:-.02em;margin:0 0 6px;font-size:18px}.asset-card p{color:#6b7280}.asset-add-panel{background:radial-gradient(circle at 100% 0,#22c55e1a,#0000 35%),#fff;border:1px solid #edf0f4;border-radius:26px;margin-top:22px;padding:clamp(18px,1.4vw,26px);box-shadow:0 10px 30px #0f172a0e}.asset-add-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.asset-add-header h3{color:#111827;letter-spacing:-.03em;margin:0;font-size:24px}.asset-add-header p{color:#6b7280;margin:6px 0 0;line-height:1.5}.asset-add-pill{color:#0b2752;white-space:nowrap;background:#eef3f9;border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:500;display:inline-flex}.supported-devices-grid,.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.supported-device-card,.catalog-device-card{background:#fff;border:1px solid #e8edf2;border-radius:22px;gap:12px;padding:18px;display:grid;position:relative;box-shadow:0 8px 24px #0f172a0b}.supported-device-card h4,.catalog-device-card h4{color:#111827;margin:0;font-size:17px}.supported-device-card p,.catalog-device-card p{color:#6b7280;margin:0;line-height:1.45}.device-type-badge,.asset-type-badge{color:#4b5563;background:#f3f4f6;border-radius:999px;width:fit-content;padding:5px 10px;font-size:12px;font-weight:500}.supported-device-card button,.catalog-device-card button,.asset-card button{color:#fff;cursor:pointer;background:#0b2752;border:none;border-radius:14px;padding:10px 13px;font-weight:500}.supported-device-card button:hover,.catalog-device-card button:hover,.asset-card button:hover{background:#071b3b}.supported-device-card button:disabled,.catalog-device-card button:disabled{color:#9ca3af;cursor:not-allowed;background:#e5e7eb}.asset-config-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:22px;gap:14px;margin-top:16px;padding:18px;display:grid}.asset-config-form label{color:#374151;gap:7px;font-size:13px;font-weight:500;display:grid}.asset-config-form input,.asset-config-form select{background:#fff;border:1px solid #e5e7eb;border-radius:14px;min-height:44px;padding:11px 13px}.asset-config-form input[aria-invalid=true]{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.asset-field-error{color:#b91c1c;font-size:12px;font-weight:500}.asset-admin-settings{border-top:1px solid #e5e7eb;gap:14px;padding-top:16px;display:grid}.asset-admin-settings h3{color:#111827;margin:3px 0 0}.asset-admin-settings p{color:#6b7280;margin:4px 0 0}.asset-config-form .asset-checkbox-field{grid-template-columns:auto 1fr;align-content:center;align-items:center;min-height:44px}.asset-config-form .asset-checkbox-field input{width:18px;height:18px;min-height:0}.asset-config-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.asset-config-actions button{cursor:pointer;border:none;border-radius:14px;padding:11px 14px;font-weight:500}.asset-config-actions button:first-child{color:#374151;background:#f3f4f6}.asset-config-actions button:last-child{color:#fff;background:#0b2752}.asset-add-tile{color:#6b7280;cursor:pointer;text-align:center;background:#fff;border:2px dashed #d1d5db;border-radius:22px;align-content:center;place-items:center;gap:8px;min-height:220px;padding:20px;transition:border-color .18s,background .18s,color .18s,transform .18s,box-shadow .18s;display:grid}.asset-add-tile:hover{color:#0b2752;background:#f2f5f9;border-color:#41658f;transform:translateY(-1px);box-shadow:0 12px 28px #0b275214}.asset-add-tile-icon{color:#0b2752;background:#eef3f9;border-radius:999px;place-items:center;width:54px;height:54px;font-size:34px;font-weight:500;line-height:1;display:grid}.asset-add-tile strong{color:#111827;font-size:18px}.asset-add-tile small{color:#6b7280;max-width:260px;line-height:1.45}.asset-add-close-button{color:#374151;cursor:pointer;white-space:nowrap;background:#f3f4f6;border:none;border-radius:999px;padding:9px 14px;font-weight:500}.asset-add-close-button:hover{background:#e5e7eb}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:999px;width:7px;height:7px}.status-pill-success{color:#0b2752;background:#ecfdf5}.status-pill-warning{color:#ea580c;background:#fff7ed}.status-pill-info{color:#2563eb;background:#eff6ff}.status-pill-danger{color:#dc2626;background:#fef2f2}@media (width<=720px){.device-battery-limits dl{grid-template-columns:1fr}.device-row-actions{flex-wrap:wrap;justify-content:flex-start}.asset-add-header{flex-direction:column}.asset-add-pill{justify-content:center;width:100%}.assets-toolbar{flex-direction:column;align-items:stretch}.assets-toolbar input,.assets-toolbar select{width:100%}.asset-config-actions{flex-direction:column}.asset-config-actions button{width:100%}}.asset-section-eyebrow{color:#15803d;margin-bottom:6px;font-size:13px;font-weight:500;display:inline-flex}.asset-add-panel{margin-bottom:22px}.asset-add-header h2,.asset-config-header h2{color:#111827;letter-spacing:-.03em;margin:0;font-size:24px}.asset-add-header p,.asset-config-header p{color:#6b7280;margin:7px 0 0;line-height:1.5}.catalog-toolbar{gap:14px;width:100%;max-width:980px;margin:0 auto 18px;display:grid}.catalog-search{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:999px;width:100%;min-height:48px;padding:12px 18px;box-shadow:0 6px 18px #0f172a0a}.catalog-filter-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.catalog-filter{color:#4b5563;cursor:pointer;background:#f3f4f6;border:none;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:500}.catalog-filter.active{color:#0b2752;background:#eef3f9}.supported-devices-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.supported-device-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e8edf2;border-radius:22px;gap:8px;padding:18px;display:grid;box-shadow:0 8px 24px #0f172a0b}.supported-device-card:hover{border-color:#bbf7d0;transform:translateY(-1px);box-shadow:0 14px 34px #15803d1a}.supported-device-card span{color:#4b5563;background:#f3f4f6;border-radius:999px;width:fit-content;padding:5px 10px;font-size:12px;font-weight:500}.supported-device-card strong{color:#111827;font-size:17px}.supported-device-card small{color:#6b7280}.supported-device-card em{color:#0b2752;margin-top:6px;font-style:normal;font-weight:500}.supported-device-card.already-added{opacity:.55;cursor:not-allowed}.asset-config-form{margin-bottom:22px}.asset-config-header{margin-bottom:16px}.asset-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.asset-config-grid label{color:#374151;gap:7px;font-size:13px;font-weight:500;display:grid}.asset-config-grid input{background:#fff;border:1px solid #e5e7eb;border-radius:14px;min-height:44px;padding:11px 13px}@media (width<=900px){.asset-configuration-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-config-grid{grid-template-columns:1fr}}.asset-service-info-card{background:radial-gradient(circle at 100% 0,#22c55e21,#0000 36%),#fff;border:1px solid #edf0f4;border-radius:24px;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;padding:clamp(18px,1.6vw,26px);display:flex;box-shadow:0 10px 30px #0f172a0e}.asset-service-info-card h1{color:#111827;letter-spacing:-.05em;margin:0;font-size:clamp(30px,2.4vw,42px)}.asset-service-info-card p{color:#6b7280;max-width:860px;margin:10px 0 0;line-height:1.55}.asset-service-info-card button{color:#fff;cursor:pointer;white-space:nowrap;background:#0b2752;border:none;border-radius:999px;padding:12px 16px;font-size:14px;font-weight:500;box-shadow:0 12px 24px #15803d2e}.asset-service-info-card button:hover{background:#071b3b}@media (width<=720px){.asset-page-actions{justify-content:stretch;width:100%}.asset-page-actions button{flex:1}.asset-management-table .management-actions{flex-wrap:wrap;min-width:0}.asset-configuration-summary{grid-template-columns:1fr}.asset-service-info-card{display:grid}.asset-service-info-card button{justify-self:start}.asset-card-top{display:grid}.asset-config-status{justify-self:start}}.ems-decision-card{background:#fff;border:1px solid #e7ece8;border-radius:22px;min-width:0;padding:clamp(18px,1.5vw,24px);box-shadow:0 10px 30px #0f172a0d}.customer-dashboard-grid>.ems-decision-card,.admin-dashboard-grid>.ems-decision-card{grid-column:1/-1}.ems-decision-heading,.ems-decision-main,.ems-decision-safety-title{align-items:center;display:flex}.ems-decision-heading{justify-content:space-between;gap:16px}.ems-decision-heading h2{color:#111827;margin:4px 0 0;font-size:23px}.ems-decision-eyebrow{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:500}.ems-decision-badge{color:#4338ca;background:#eef2ff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:500}.ems-decision-badge.mode-dry_run{color:#c2410c;background:#fff7ed}.ems-decision-badge.mode-active_control{color:#15803d;background:#dcfce7}.ems-decision-notice{color:#9a3412;background:#fff7ed;border-radius:12px;margin:18px 0 0;padding:11px 13px;font-weight:500}.ems-decision-main{color:#15803d;gap:12px;margin-top:18px}.ems-decision-main strong{color:#111827;font-size:18px;line-height:1.45}.ems-decision-reason{color:#374151;margin:16px 0;line-height:1.55}.ems-decision-reason span{color:#6b7280;text-transform:uppercase;margin-bottom:3px;font-size:12px;font-weight:500;display:block}.ems-decision-details,.ems-decision-safety dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;display:grid}.ems-decision-details div,.ems-decision-safety dl div{gap:3px;display:grid}.ems-decision-details dt,.ems-decision-safety dt{color:#6b7280;font-size:12px}.ems-decision-details dd,.ems-decision-safety dd{color:#111827;margin:0;font-weight:500}.ems-decision-safety{border-top:1px solid #edf0ee;margin-top:18px;padding-top:16px}.ems-decision-safety-title{color:#15803d;gap:8px;margin-bottom:12px}.ems-decision-stale{color:#b45309;margin-top:14px;display:block}.ems-decision-empty{color:#6b7280;margin:18px 0 0;line-height:1.55}.ems-decision-empty.error{color:#b91c1c}@media (width<=620px){.ems-decision-heading{align-items:flex-start}.ems-decision-details,.ems-decision-safety dl{grid-template-columns:1fr}}.ems-decision-safety-reasons{color:#9a3412;gap:4px;margin:9px 0 0;padding-left:18px;font-size:12px;display:grid}.customer-energy-dashboard{color:#17211a;width:100%}.customer-energy-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:13px;display:flex}.customer-dashboard-eyebrow,.customer-panel-heading span,.customer-alert-card>div>span{color:#0b2752;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:500;display:block}.customer-energy-header h1{color:#111827;letter-spacing:-.04em;margin:5px 0;font-size:clamp(30px,2.4vw,40px)}.customer-energy-header p{color:#6b7280;margin:0}.customer-last-update{color:#0b2752;background:#fff;border:1px solid #e5e7eb;border-radius:16px;align-items:center;gap:11px;min-width:205px;padding:12px 15px;display:flex;box-shadow:0 8px 24px #0f172a0a}.customer-last-update span{color:#6b7280;gap:3px;font-size:12px;font-weight:500;display:grid}.customer-last-update strong{color:#111827;font-size:14px}.customer-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:11px;display:grid}.customer-p1-summary{background:#e7ece8;border:1px solid #e7ece8;border-radius:18px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin-bottom:11px;display:grid;overflow:hidden}.customer-p1-summary div{background:#fff;min-width:0;padding:14px}.customer-p1-summary span,.customer-p1-summary strong,.customer-p1-summary small{display:block}.customer-p1-summary span{color:#6b7280;font-size:11px;font-weight:500}.customer-p1-summary strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:15px;overflow:hidden}.customer-p1-summary small{color:#8b938e;margin-top:3px}.customer-kpi-card,.customer-panel{background:#fff;border:1px solid #e7ece8;border-radius:22px;min-width:0;box-shadow:0 10px 30px #0f172a0d}.customer-kpi-card{align-items:center;gap:14px;min-height:126px;padding:18px;display:flex}.customer-kpi-icon,.customer-device-icon{border-radius:15px;flex:none;place-items:center;width:46px;height:46px;display:grid}.customer-kpi-card.production .customer-kpi-icon{color:#d97706;background:#fff7d6}.customer-kpi-card.consumption .customer-kpi-icon{color:#15803d;background:#ecfdf5}.customer-kpi-card.grid .customer-kpi-icon{color:#7e22ce;background:#f3e8ff}.customer-kpi-card.update .customer-kpi-icon{color:#2563eb;background:#eff6ff}.customer-kpi-card div{gap:3px;display:grid}.customer-kpi-card div>span,.customer-device-heading div>span,.customer-today-grid span,.customer-flow-summary span{color:#6b7280;font-size:13px;font-weight:500}.customer-kpi-card strong{color:#111827;font-size:clamp(19px,1.5vw,25px);line-height:1.15}.customer-kpi-card small{color:#8b938e}.customer-dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(250px,.8fr);gap:16px;display:grid}.customer-panel{padding:clamp(13px,1.2vw,18px)}.energy-flow-card{min-height:430px}.customer-panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.customer-panel-heading h2,.customer-alert-card h2{color:#111827;letter-spacing:-.025em;margin:5px 0 0;font-size:22px}.customer-live{color:#6b7280;background:#f3f4f6;border-radius:999px;align-items:center;padding:7px 11px;font-size:12px;font-weight:500;display:inline-flex}.customer-live.active{color:#15803d;background:#dcfce7}.customer-live.stale{color:#c2410c;background:#fff7ed}.customer-energy-flow{background:linear-gradient(#dce8df,#dce8df) 25% 32%/27% 2px no-repeat,linear-gradient(#dce8df,#dce8df) 75% 32%/27% 2px no-repeat,linear-gradient(#dce8df,#dce8df) 25% 72%/27% 2px no-repeat,linear-gradient(#dce8df,#dce8df) 75% 72%/27% 2px no-repeat;grid-template-columns:minmax(120px,1fr) minmax(155px,.8fr) minmax(120px,1fr);grid-template-areas:"pv home grid""battery home ev";align-items:center;gap:24px clamp(32px,5vw,80px);min-height:270px;margin:22px 0;padding:12px;display:grid;position:relative}.customer-flow-node,.customer-flow-home{z-index:1;text-align:center;place-items:center;gap:4px;display:grid;position:relative}.customer-flow-node{background:#fff;border:1px solid;border-radius:18px;min-height:82px;padding:10px}.customer-flow-node strong,.customer-flow-home strong{color:#111827;font-size:18px}.customer-flow-node span,.customer-flow-home span{color:#6b7280;font-size:12px;font-weight:500}.customer-flow-node.pv{color:#d97706;background:#fffbeb;grid-area:pv}.customer-flow-node.battery{color:#2563eb;background:#eff6ff;grid-area:battery}.customer-flow-node.grid{color:#7e22ce;background:#faf5ff;grid-area:grid}.customer-flow-node.ev{color:#15803d;background:#f0fdf4;grid-area:ev}.customer-flow-home{color:#15803d;background:#fff;border:10px solid #dff1e2;border-radius:999px;grid-area:home;justify-self:center;width:150px;height:150px;box-shadow:0 14px 34px #15803d1f}.customer-flow-summary{border:1px solid #e7ece8;border-radius:16px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.customer-flow-summary div{border-right:1px solid #e7ece8;padding:13px 15px}.customer-flow-summary div:last-child{border-right:none}.customer-flow-summary strong{color:#111827;margin-top:4px;font-size:14px;display:block}.customer-side-stack{gap:16px;display:grid}.customer-device-card{align-content:center;min-height:205px;display:grid}.customer-device-heading{align-items:center;gap:13px;display:flex}.customer-device-icon.battery{color:#2563eb;background:#eff6ff}.customer-device-icon.ev{color:#15803d;background:#ecfdf5}.customer-device-heading h2{color:#111827;margin:3px 0 0;font-size:26px}.customer-device-status{color:#111827;margin-top:18px}.customer-device-card>small{color:#6b7280;margin-top:5px}.today-card{min-height:200px}.customer-today-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;display:grid}.customer-today-grid div{background:#f7faf8;border-radius:15px;padding:16px}.customer-today-grid strong{color:#111827;margin-top:7px;font-size:19px;display:block}.customer-alert-card{grid-template-columns:48px 1fr;align-items:center;gap:14px;min-height:200px;display:grid}.customer-alert-icon{color:#15803d;background:#dcfce7;border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.customer-alert-card.has-problems{background:#fffaf3;border-color:#fed7aa}.customer-alert-card.has-problems .customer-alert-icon{color:#c2410c;background:#ffedd5}.customer-alert-card.has-problems>div>span{color:#c2410c}.customer-alert-card p{color:#6b7280;margin:9px 0 0;line-height:1.5}@media (width<=1250px){.customer-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-dashboard-grid{grid-template-columns:1fr}.customer-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-p1-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.customer-energy-header{display:grid}.customer-last-update{width:100%}.customer-kpi-grid,.customer-side-stack,.customer-today-grid,.customer-flow-summary,.customer-p1-summary{grid-template-columns:1fr}.customer-energy-flow{background:0 0;grid-template-columns:1fr;grid-template-areas:"home""pv""battery""grid""ev"}.customer-flow-summary div{border-bottom:1px solid #e7ece8;border-right:none}.customer-flow-summary div:last-child{border-bottom:none}}.messages-page{width:100%}.messages-header{margin-bottom:10px}.messages-header h1{color:#111827;letter-spacing:-.04em;margin:0;font-size:clamp(26px,2vw,34px)}.messages-header p{color:#6b7280;max-width:720px;margin:8px 0 0;line-height:1.5}.messages-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.messages-summary-card{background:#fff;border:1px solid #e7ece8;border-radius:12px;grid-template-columns:36px 1fr;align-items:center;gap:9px;min-width:0;padding:10px;display:grid;box-shadow:0 9px 28px #0f172a0d}.messages-summary-icon{color:#15803d;background:#ecfdf5;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.messages-summary-icon.red{color:#dc2626;background:#fef2f2}.messages-summary-icon.orange{color:#ea580c;background:#fff7ed}.messages-summary-icon.blue{color:#2563eb;background:#eff6ff}.messages-summary-card div>span{color:#6b7280;font-size:12px;font-weight:500}.messages-summary-card strong{color:#111827;margin-top:3px;font-size:21px;line-height:1;display:block}.messages-content-card{background:#fff;border:1px solid #e7ece8;border-radius:14px;padding:12px;box-shadow:0 10px 30px #0f172a0d}.messages-content-header{margin-bottom:16px}.messages-content-header h2{color:#111827;letter-spacing:-.03em;margin:0;font-size:23px}@media (width<=1100px){.messages-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.messages-summary-grid{grid-template-columns:1fr}}.history-page{width:100%}.history-page,.history-page :is(h1,h2,h3,strong,b,button,dt,dd){font-weight:400}.history-header{margin-bottom:10px}.history-header h1{color:#111827;letter-spacing:-.04em;margin:0;font-size:clamp(26px,2vw,34px)}.history-header p{color:#6b7280;max-width:760px;margin:8px 0 0;line-height:1.5}.history-context-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.history-context-grid article{background:#fff;border:1px solid #e7ece8;border-radius:12px;min-width:0;padding:10px 12px;box-shadow:0 8px 22px #0f172a0b}.history-context-grid span,.history-context-grid strong{display:block}.history-context-grid span{color:#6b7280;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:400}.history-context-grid strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:15px;overflow:hidden}.history-control-card{background:#fff;border:1px solid #e7ece8;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:9px 12px;display:flex;box-shadow:0 8px 24px #0f172a0b}.history-period-navigator{grid-template-columns:38px minmax(190px,auto) 38px;align-items:center;gap:8px;display:grid}.history-period-navigator button{color:#4b5563;cursor:pointer;background:#f3f4f6;border:none;border-radius:999px;place-items:center;width:38px;height:38px;display:grid}.history-period-navigator button:hover{color:#0b2752;background:#e8eef6}.history-period-navigator strong{color:#111827;text-align:center}.history-range-tabs{background:#f3f4f6;border-radius:999px;gap:5px;padding:4px;display:inline-flex}.history-range-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:400}.history-range-tab.active,.history-range-tab:hover{color:#0b2752;background:#fff;box-shadow:0 3px 10px #0f172a14}.history-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.history-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.history-summary-grid article{background:#fff;border:1px solid #e7ece8;border-radius:12px;padding:10px 12px}.history-summary-grid span,.history-summary-grid strong{display:block}.history-summary-grid span{color:#6b7280;font-size:11px;font-weight:400}.history-summary-grid strong{color:#111827;margin-top:3px;font-size:16px}.history-chart-card{background:#fff;border:1px solid #e7ece8;border-radius:16px;min-width:0;padding:14px;box-shadow:0 9px 28px #0f172a0d}.history-card-header{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:10px;display:grid}.history-card-header h2,.history-card-header p{margin:0}.history-card-header h2{color:#111827;font-size:18px}.history-card-header p{color:#6b7280;margin-top:3px;font-size:12px}.history-card-header>strong{color:#111827;font-size:17px}.history-series-icon{border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.history-series-icon.grid{color:#7e22ce;background:#f3e8ff}.history-series-icon.pv{color:#d97706;background:#fef3c7}.history-series-icon.battery{color:#2563eb;background:#eff6ff}.history-series-icon.ev{color:#15803d;background:#dcfce7}.history-power-chart{background:#fbfcfb;border-radius:15px;height:280px;min-height:280px;padding:8px}.history-chart-card.grid{grid-column:1/-1}.history-chart-card.grid .history-power-chart{height:330px;min-height:330px}.history-period-chart-card{grid-column:1/-1}.history-period-chart{background:#fbfcfb;border-radius:15px;height:350px;padding:8px}.battery-history-section{margin-bottom:10px}.battery-history-controls{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.battery-history-controls button{color:#475569;font:inherit;cursor:pointer;background:#fff;border:1px solid #d7dee8;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:400}.battery-history-controls button.active,.battery-history-controls button:hover{color:#fff;background:#0b2752;border-color:#0b2752}.battery-history-card{width:100%}.battery-history-chart{background:#fbfcfb;border-radius:15px;height:330px;padding:8px}.battery-history-tooltip{color:#475569;background:#fffffff7;border:1px solid #dbe2ea;border-radius:10px;gap:3px;padding:9px 11px;font-size:12px;display:grid;box-shadow:0 8px 20px #0f172a1a}.battery-history-tooltip strong{color:#111827;font-weight:400}.battery-history-legend{color:#64748b;gap:8px;margin-top:8px;font-size:11px;display:flex}.history-power-chart .recharts-cartesian-axis-tick-value,.history-power-chart .recharts-label,.history-period-chart .recharts-cartesian-axis-tick-value,.history-period-chart .recharts-label,.history-period-chart .recharts-legend-item-text{fill:#6b7280;font-size:10px}.history-power-chart .recharts-default-tooltip,.history-period-chart .recharts-default-tooltip{border-radius:10px;box-shadow:0 8px 20px #0f172a14;border:1px solid #e5e7eb!important}.history-grid-legend{gap:8px;margin-top:9px;display:flex}.history-grid-legend span{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:400}.history-grid-legend .import{color:#c2410c;background:#fff7ed}.history-grid-legend .export{color:#15803d;background:#dcfce7}.history-chart-footer{color:#6b7280;justify-content:flex-end;gap:12px;margin-top:10px;font-size:11px;display:flex}.history-chart-empty,.history-page-empty{color:#6b7280;text-align:center;border:1px dashed #d1d5db;border-radius:17px;justify-items:center;gap:7px;padding:28px 18px;display:grid}.history-chart-empty{align-content:center;min-height:210px}.history-chart-empty svg,.history-page-empty svg{color:#9ca3af}.history-chart-empty strong,.history-page-empty strong{color:#111827}.history-chart-empty span,.history-page-empty p{margin:0;font-size:13px}.history-page-empty.compact{margin-bottom:16px;padding:20px}.history-loading{color:#6b7280;background:#f8fafc;border-radius:17px;justify-content:center;align-items:center;gap:9px;padding:24px;font-weight:400;display:flex}.history-loading svg{animation:1s linear infinite history-spin}@keyframes history-spin{to{transform:rotate(360deg)}}.history-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.history-demo-badge{color:#0b2752;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;margin-top:7px;padding:4px 8px;font-size:.72rem;display:inline-flex}.history-energy-section{margin:0 0 24px;padding-top:4px}.history-energy-section+.history-energy-section{border-top:1px solid #e2e8f0;padding-top:20px}.history-energy-section-title h2{color:#0f172a;margin:0;font-size:1.15rem}.history-section-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.history-section-kpis article{background:#fff;border:1px solid #dbe2ea;border-radius:10px;min-width:0;padding:11px 12px}.history-section-kpis span,.history-section-kpis strong{display:block}.history-section-kpis span{color:#64748b;min-height:30px;font-size:.76rem}.history-section-kpis strong{color:#0b2752;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;overflow:hidden}.history-wide-chart{grid-column:1/-1}.history-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.history-stat-grid article{background:#fff;border:1px solid #dbe2ea;border-radius:10px;min-width:0;padding:14px;box-shadow:0 2px 8px #0f172a0d}.history-stat-grid span{color:#64748b;min-height:32px;font-size:.78rem;display:block}.history-stat-grid strong{color:#0b2752;font-size:1.15rem;font-weight:400;display:block}.history-stat-progress{background:#e2e8f0;border-radius:999px;height:4px;margin-top:10px;overflow:hidden}.history-stat-progress i{border-radius:inherit;background:#0b2752;height:100%;display:block}.history-section-heading p{color:#64748b;margin:3px 0 0;font-size:.82rem}.history-highlight-value{color:#0b2752;place-items:center;min-height:220px;font-size:1.45rem;font-weight:400;display:grid}.history-donut-content{grid-template-columns:minmax(180px,.8fr) minmax(180px,1fr);align-items:center;gap:12px;display:grid}.history-donut-chart{height:230px}.history-donut-content ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.history-donut-content li{grid-template-columns:9px 1fr auto;align-items:center;gap:8px;font-size:.82rem;display:grid}.history-donut-content li i{border-radius:50%;width:9px;height:9px}.history-advanced-section{margin-top:20px}.history-advanced-title{margin-bottom:10px}.history-advanced-title h2,.history-advanced-title p{margin:0}.history-advanced-title p{color:#64748b;margin-top:3px;font-size:.82rem}.history-flow-list,.history-metric-list{gap:10px;margin:14px 0 0;display:grid}.history-flow-list>div{grid-template-columns:64px minmax(80px,1fr) 72px 74px;align-items:center;gap:8px;font-size:.8rem;display:grid}.history-flow-list i{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.history-flow-list b{border-radius:inherit;background:linear-gradient(90deg,#0b2752,#0f766e);height:100%;display:block}.history-metric-list{grid-template-columns:repeat(2,minmax(0,1fr))}.history-metric-list div{background:#f8fafc;border-radius:7px;padding:9px}.history-metric-list dt{color:#64748b;font-size:.76rem}.history-metric-list dd{color:#0f172a;margin:3px 0 0}.history-heatmap{grid-template-columns:repeat(12,minmax(28px,1fr));gap:4px;margin-top:14px;display:grid}.history-heatmap span{aspect-ratio:1.5;background:color-mix(in srgb, #0b2752 calc(var(--heat) * 82%), #e8eef6);color:color-mix(in srgb, #fff calc(var(--heat) * 130%), #334155);border-radius:4px;place-items:center;display:grid}.history-heatmap small{font-size:.7rem}.history-analysis-grid>:first-child,.history-analysis-summary-grid,.history-daily-balance,.history-simulation-card{grid-column:1/-1}.history-analysis-chart{min-width:0;height:300px}.history-analysis-chart-card{min-height:350px}.history-clickable-legend{flex-wrap:wrap;gap:6px;margin:-2px 0 10px;display:flex}.history-clickable-legend button{color:#334155;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:.75rem;transition:opacity .12s,border-color .12s,background .12s;display:inline-flex}.history-clickable-legend button:hover,.history-clickable-legend button:focus-visible{background:#f5f7fa;border-color:#0b2752;outline:none}.history-clickable-legend button.disabled{opacity:.4}.history-clickable-legend i{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.history-analysis-chart.compact{height:240px}.history-analysis-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.history-analysis-summary-grid h2,.history-daily-balance h2,.history-simulation-card h2{margin:0 0 12px;font-size:1rem;font-weight:400}.history-analysis-summary-grid dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.history-analysis-summary-grid dl div,.history-daily-balance span{gap:4px;display:grid}.history-analysis-summary-grid dt,.history-daily-balance small{color:#64748b}.history-analysis-summary-grid dd{color:#0f172a;margin:0}.history-daily-balance>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=1050px){.history-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-stat-grid,.history-section-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.history-control-card{flex-direction:column;align-items:stretch}.history-charts-grid,.history-analysis-grid,.history-analysis-summary-grid{grid-template-columns:1fr}.history-stat-grid,.history-section-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=580px){.history-context-grid,.history-summary-grid{grid-template-columns:1fr}.history-section-kpis,.history-daily-balance>div,.history-analysis-summary-grid dl{grid-template-columns:1fr 1fr}.history-donut-content{grid-template-columns:1fr}.history-heatmap{grid-template-columns:repeat(6,minmax(34px,1fr))}.history-flow-list>div{grid-template-columns:50px minmax(60px,1fr) 60px}.history-flow-list>div strong{grid-column:2/-1}.history-period-navigator{grid-template-columns:38px 1fr 38px}.history-range-tabs{width:100%;overflow-x:auto}.history-range-tab{flex:1}.history-card-header{grid-template-columns:42px 1fr}.history-card-header>strong{grid-column:2}.history-chart-footer{flex-direction:column}.history-period-chart{height:320px}.history-chart-card.grid .history-power-chart{height:290px;min-height:290px}.battery-history-chart{height:290px}}.history-page{background:#f7f9fc;padding:2px 2px 28px}.history-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.history-header .history-demo-badge{flex:none;margin-top:3px}.history-control-card{border-color:#e3e9f1;border-radius:18px;margin-bottom:18px;padding:10px 14px;box-shadow:0 8px 24px #0f27520d}.history-kpi-hero{background:linear-gradient(135deg,#fff 0%,#f4f8fc 100%);border:1px solid #dfe7f0;border-radius:20px;margin-bottom:18px;padding:14px;box-shadow:0 14px 38px #0f275212}.history-kpi-hero-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px;display:grid}.history-kpi-hero-grid>article{background:#ffffffd1;border:1px solid #e5ebf2;border-radius:15px;align-items:center;gap:10px;min-width:0;padding:13px;display:flex}.history-kpi-hero-grid article>div:last-child{min-width:0}.history-kpi-hero-grid article>div:last-child>span,.history-kpi-hero-grid article>div:last-child>strong{display:block}.history-kpi-hero-grid article>div:last-child>span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.history-kpi-hero-grid article>div:last-child>strong{color:#0b2752;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:clamp(1rem,1.4vw,1.32rem);overflow:hidden}.history-hero-icon{color:#0b2752;background:#edf2f8;border-radius:11px;flex:none;place-items:center;width:34px;height:34px;display:grid}.history-hero-ring{background:conic-gradient(#0b2752 var(--ring-value), #dfe7f0 0);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.history-hero-ring:before{content:"";background:#fff;border-radius:50%;width:30px;height:30px;position:absolute}.history-hero-ring span{z-index:1;color:#0b2752;font-size:.62rem;position:relative}.history-analysis-grid{gap:18px;margin-bottom:0}.history-demo-badge{background:#f1f5fb}.history-energy-section,.history-energy-section+.history-energy-section{background:#fff;border:1px solid #e3e9f1;border-radius:20px;margin:0 0 18px;padding:20px;box-shadow:0 12px 34px #0f27520f}.history-energy-section-title{margin-bottom:16px}.history-energy-section-title h2{letter-spacing:-.02em;font-size:1.18rem}.history-section-kpis{gap:10px;margin-bottom:20px}.history-section-kpis article{background:#f9fbfd;border-color:#e6ebf2;border-radius:16px;padding:15px 16px}.history-section-kpis span{min-height:24px;font-size:.77rem}.history-section-kpis span:before{content:"";background:#0b2752;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 0 4px #0b275214}.history-section-kpis strong{letter-spacing:-.035em;font-size:clamp(1.25rem,1.9vw,1.75rem)}.history-distribution-grid>:first-child{grid-column:auto}.history-distribution-grid .history-donut-card{box-shadow:none;background:#f9fbfd;border-color:#e7ecf3}.history-donut-content li strong{color:#0b2752;white-space:nowrap}.history-energy-section>.history-analysis-grid>.history-chart-card,.history-battery-layout>.history-chart-card{box-shadow:none;border:0;padding:4px 0 0}.history-energy-section>.history-analysis-grid>.history-chart-card .history-analysis-chart{height:350px}.history-single-chart-grid>:first-child{grid-column:1/-1}.history-battery-layout{grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);align-items:stretch;gap:22px;display:grid}.history-battery-summary{background:linear-gradient(145deg,#f8fafc,#f2f6fb);border:1px solid #e6ebf2;border-radius:18px;padding:22px}.history-battery-summary>span,.history-battery-summary>strong{display:block}.history-battery-summary>span{color:#64748b;font-size:.8rem}.history-battery-summary>strong{color:#0b2752;letter-spacing:-.055em;margin-top:5px;font-size:clamp(2.2rem,4vw,3.4rem)}.history-soc-track,.history-device-grid article>i{background:#dfe7f1;border-radius:999px;height:7px;margin-top:14px;display:block;overflow:hidden}.history-soc-track i,.history-device-grid article>i b{border-radius:inherit;background:#0b2752;height:100%;display:block}.history-battery-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0 0;display:grid}.history-battery-summary dt{color:#64748b;font-size:.74rem}.history-battery-summary dd{color:#172033;margin:4px 0 0;font-size:.95rem}.history-battery-layout .battery-history-chart{height:380px}.history-battery-layout .battery-history-card{min-width:0}.history-battery-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.history-battery-detail-card{background:#f9fbfd;border:1px solid #e5ebf2;border-radius:17px;min-width:0;padding:17px;box-shadow:0 7px 20px #0f27520a}.history-battery-detail-card h3{color:#172033;margin:0 0 12px;font-size:.92rem}.history-battery-donut-content{grid-template-columns:142px minmax(0,1fr);align-items:center;gap:16px;display:grid}.history-battery-donut-content ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.history-battery-donut-content li{grid-template-columns:8px minmax(62px,1fr) auto 36px;align-items:center;gap:7px;font-size:.76rem;display:grid}.history-battery-donut-content li i{border-radius:50%;width:8px;height:8px}.history-battery-donut-content li span,.history-battery-donut-content li small{color:#64748b}.history-battery-donut-content li strong{color:#172033;white-space:nowrap}.history-battery-donut-content li small{text-align:right}.history-battery-insight-card,.history-battery-tip-card{flex-direction:column;justify-content:center;align-items:flex-start;min-height:150px;display:flex}.history-battery-insight-card{background:linear-gradient(145deg,#edf8f4,#f8fbfa)}.history-battery-insight-card>strong,.history-battery-tip-card>strong{color:#0b2752;margin-top:12px;font-size:1.13rem;line-height:1.4}.history-battery-insight-card p,.history-battery-tip-card p{color:#64748b;margin:8px 0 0;font-size:.78rem;line-height:1.45}.history-battery-tip-card{background:linear-gradient(145deg,#fff8e8,#fffdf7)}.history-battery-tip-card>span{color:#8a5700;background:#ffedbe;border-radius:999px;padding:4px 9px;font-size:.7rem}.history-device-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.history-device-grid article{background:#f9fbfd;border:1px solid #e6ebf2;border-radius:16px;min-width:0;padding:16px}.history-device-grid article>div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.history-device-grid span{color:#64748b;font-size:.78rem}.history-device-grid strong{color:#0b2752;white-space:nowrap}.history-energy-balance-chart{box-shadow:none;border:0;grid-column:1/-1;padding:6px 0 0}.history-energy-balance-chart .history-section-heading{max-width:820px;margin-bottom:8px}.history-energy-balance-chart .history-section-heading p{line-height:1.45}.history-energy-balance-plot{width:100%;min-width:0;height:440px}.history-energy-balance-legend{flex-wrap:wrap;justify-content:center;gap:7px 14px;margin-top:10px;display:flex}.history-energy-balance-legend button{color:#526071;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:4px 2px;font-size:.76rem;display:inline-flex}.history-energy-balance-legend button.disabled{opacity:.38}.history-energy-balance-legend i{background:var(--series-color);border-radius:3px;width:18px;height:8px}.history-energy-balance-legend i.line{border-radius:999px;height:3px}.history-energy-balance-legend i.soc{background:repeating-linear-gradient(90deg, var(--series-color) 0 5px, transparent 5px 8px);border-radius:0;height:2px}.history-balance-summary-row{grid-template-columns:minmax(0,1.35fr) minmax(210px,.8fr) minmax(230px,.9fr);gap:12px;margin-top:20px;display:grid}.history-balance-summary-card{background:#f9fbfd;border:1px solid #e5ebf2;border-radius:17px;min-width:0;padding:16px;box-shadow:0 7px 20px #0f27520a}.history-balance-summary-card h3{color:#172033;margin:0 0 13px;font-size:.92rem}.history-coverage-content{grid-template-columns:142px minmax(145px,1fr);align-items:center;gap:14px;display:grid}.history-compact-donut{width:142px;height:142px;position:relative}.history-compact-donut>div:last-child{pointer-events:none;align-content:center;justify-items:center;display:grid;position:absolute;inset:0}.history-compact-donut strong,.history-compact-donut span{display:block}.history-compact-donut strong{color:#0b2752;letter-spacing:-.03em;font-size:1.15rem}.history-compact-donut span{color:#7a8797;margin-top:2px;font-size:.68rem}.history-coverage-content ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.history-coverage-content li{grid-template-columns:8px minmax(55px,1fr) auto 34px;align-items:center;gap:7px;font-size:.76rem;display:grid}.history-coverage-content li i{border-radius:50%;width:8px;height:8px}.history-coverage-content li span,.history-coverage-content li small{color:#64748b}.history-coverage-content li strong{color:#172033;white-space:nowrap}.history-coverage-content li small{text-align:right}.history-surplus-summary{background:#f5f9fb}.history-surplus-summary>div{align-items:center;gap:11px;padding:10px 0;display:flex}.history-surplus-summary>div+div{border-top:1px solid #e4eaf0}.history-surplus-summary p,.history-surplus-summary p span,.history-surplus-summary p strong{display:block}.history-surplus-summary p{flex:1;margin:0}.history-surplus-summary p span{color:#64748b;font-size:.75rem}.history-surplus-summary p strong{color:#0b2752;margin-top:3px;font-size:1.05rem}.history-summary-icon{color:#0b2752;background:#eaf0f7;border-radius:12px;flex:none;place-items:center;width:36px;height:36px;display:grid}.history-summary-icon.battery{color:#187664;background:#e4f4ef}.history-summary-icon.grid{color:#6f58a8;background:#eeeafb}.history-insight-summary{background:linear-gradient(145deg,#f1f6fc,#f8fbfe);flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.history-insight-summary .solar{color:#b36c00;background:#fff3d9;margin-bottom:14px}.history-insight-summary>strong{color:#0b2752;font-size:1.17rem;line-height:1.35}.history-insight-summary p{color:#64748b;margin:9px 0 0;font-size:.78rem;line-height:1.45}@media (width<=1050px){.history-device-grid,.history-balance-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.history-insight-summary{grid-column:1/-1}.history-kpi-hero-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=820px){.history-battery-layout,.history-distribution-grid{grid-template-columns:1fr}.history-distribution-grid>:first-child{grid-column:1}.history-balance-summary-row,.history-battery-detail-grid{grid-template-columns:1fr}.history-insight-summary{grid-column:auto}.history-kpi-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=580px){.history-page{padding-inline:0}.history-header{flex-direction:column;align-items:stretch}.history-header .history-demo-badge{align-self:flex-start}.history-energy-section,.history-energy-section+.history-energy-section{border-radius:16px;padding:15px}.history-section-kpis,.history-device-grid,.history-battery-summary dl{grid-template-columns:1fr 1fr}.history-section-kpis article{padding:12px}.history-section-kpis strong{font-size:1.18rem}.history-energy-balance-plot{height:360px}.history-energy-balance-legend{justify-content:flex-start}.history-coverage-content{grid-template-columns:120px minmax(0,1fr)}.history-compact-donut{width:120px;height:120px}.history-battery-donut-content{grid-template-columns:120px minmax(0,1fr)}.history-kpi-hero{padding:10px}.history-kpi-hero-grid>article{flex-direction:column;align-items:flex-start}}.reports-page{gap:16px;width:100%;display:grid}.reports-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.reports-eyebrow{color:#15803d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:500;display:inline-flex}.reports-header h1{color:#111827;letter-spacing:-.04em;margin:0;font-size:clamp(28px,2.2vw,38px)}.reports-header p{color:#6b7280;max-width:680px;margin:7px 0 0}.reports-range-tabs{background:#f3f4f6;border-radius:999px;gap:5px;padding:4px;display:inline-flex}.reports-range-tabs button{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:500}.reports-range-tabs button.active,.reports-range-tabs button:hover{color:#15803d;background:#fff;box-shadow:0 3px 10px #0f172a14}.reports-context-bar,.reports-summary-grid,.reports-detail-grid{gap:12px;display:grid}.reports-context-bar{background:#fff;border:1px solid #e7ece8;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 16px}.reports-reliability-notice{color:#9a3412;background:#fffaf3;border:1px solid #fed7aa;border-radius:14px;gap:4px;padding:13px 15px;display:grid}.reports-reliability-notice strong{font-size:13px}.reports-reliability-notice span{font-size:12px;line-height:1.45}.reports-context-bar span,.reports-context-bar strong{display:block}.reports-context-bar span{color:#9ca3af;text-transform:uppercase;font-size:10px;font-weight:500}.reports-context-bar strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;overflow:hidden}.reports-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reports-summary-grid article,.reports-card{background:#fff;border:1px solid #e7ece8;border-radius:20px;box-shadow:0 8px 24px #0f172a0b}.reports-summary-grid article{align-items:center;gap:12px;min-width:0;padding:16px;display:flex}.reports-summary-icon{border-radius:14px;flex:none;place-items:center;width:43px;height:43px;display:grid}.reports-summary-icon.import{color:#2563eb;background:#eff6ff}.reports-summary-icon.export{color:#15803d;background:#dcfce7}.reports-summary-icon.peak{color:#c2410c;background:#fff7ed}.reports-summary-icon.latest{color:#7e22ce;background:#f3e8ff}.reports-summary-grid article div>span,.reports-summary-grid strong,.reports-summary-grid small{display:block}.reports-summary-grid article div>span{color:#6b7280;font-size:11px;font-weight:500}.reports-summary-grid strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:19px;overflow:hidden}.reports-summary-grid small{color:#9ca3af;margin-top:3px;font-size:10px}.reports-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-card{min-width:0;padding:18px}.reports-card-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.reports-card-header h2{color:#111827;margin:0;font-size:18px}.reports-card-header>span{color:#6b7280;font-size:11px;font-weight:500}.report-status,.flow-label{border-radius:999px;width:fit-content;padding:6px 9px;font-size:11px;font-weight:500;display:inline-flex}.report-status.online,.flow-label.export{color:#15803d;background:#dcfce7}.report-status.offline,.flow-label.import{color:#c2410c;background:#fff7ed}.report-status.unknown{color:#6b7280;background:#f3f4f6}.reports-value-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;display:grid}.reports-value-list div{background:#f8faf9;border-radius:12px;min-width:0;padding:11px}.reports-value-list dt{color:#6b7280;font-size:11px}.reports-value-list dd{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:14px;font-weight:500;overflow:hidden}.online-text{color:#15803d!important}.offline-text{color:#b91c1c!important}.reports-table-wrap{overflow-x:auto}.reports-measurements-card table{border-collapse:collapse;width:100%}.reports-measurements-card th,.reports-measurements-card td{color:#374151;text-align:left;border-bottom:1px solid #edf1ee;padding:11px 9px;font-size:12px}.reports-measurements-card th{color:#9ca3af;text-transform:uppercase;font-size:10px;font-weight:500}.reports-measurements-card tbody tr:last-child td{border-bottom:none}.reports-card-empty,.reports-empty-state{color:#6b7280;margin:0}.reports-card-empty{text-align:center;background:#f8faf9;border-radius:13px;padding:16px}.reports-empty-state{text-align:center;border:1px dashed #d1d5db;border-radius:18px;justify-items:center;gap:7px;padding:30px;display:grid}.reports-empty-state strong{color:#111827}.reports-empty-state p{margin:0}.reports-loading{color:#6b7280;background:#f8faf9;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:12px;font-weight:500;display:flex}.reports-loading svg{animation:1s linear infinite reports-spin}@keyframes reports-spin{to{transform:rotate(360deg)}}@media (width<=1100px){.reports-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.reports-header{flex-direction:column}.reports-range-tabs{width:100%;overflow-x:auto}.reports-range-tabs button{flex:1}.reports-context-bar,.reports-detail-grid{grid-template-columns:1fr}}@media (width<=560px){.reports-summary-grid,.reports-value-list{grid-template-columns:1fr}}.settings-page{width:100%}.settings-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:12px;display:flex}.settings-eyebrow{color:#0b2752;margin-bottom:8px;font-size:13px;font-weight:500;display:inline-flex}.settings-header h1{letter-spacing:-.04em;color:#111827;margin:0;font-size:clamp(26px,2vw,32px)}.settings-header p{color:#6b7280;max-width:760px;margin:5px 0 0;line-height:1.55}.settings-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:12px;display:grid}.settings-summary-card,.settings-card{background:#fff;border:1px solid #edf0f4;border-radius:13px;min-width:0;box-shadow:0 10px 30px #0f172a0e}.settings-summary-card{grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:13px;display:grid}.settings-summary-card.primary{background:radial-gradient(circle at 100% 0,#0b27521c,#0000 40%),#fff}.settings-summary-icon{color:#15803d;background:#ecfdf5;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.settings-summary-icon.green{color:#15803d;background:#dcfce7}.settings-summary-icon.purple{color:#9333ea;background:#f3e8ff}.settings-summary-icon.blue{color:#2563eb;background:#eff6ff}.settings-summary-card span{color:#6b7280;font-size:13px;font-weight:500}.settings-summary-card strong{color:#111827;letter-spacing:-.04em;overflow-wrap:anywhere;margin-top:4px;font-size:clamp(17px,1.3vw,23px);line-height:1;display:block}.settings-summary-card small{color:#9ca3af;overflow-wrap:anywhere;margin-top:5px;font-size:12px;display:block}.settings-grid{grid-template-columns:2fr 1fr;gap:11px;display:grid}.settings-card{padding:14px}.settings-card.large{grid-row:span 2}.settings-card-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px;display:flex}.settings-card-header h2{color:#111827;letter-spacing:-.03em;margin:0;font-size:20px}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-form-grid label{color:#374151;gap:4px;font-size:13px;font-weight:500;display:grid}.settings-form-grid input,.settings-form-grid select{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:14px;min-height:44px;padding:11px 13px}.settings-form-grid input[readonly]{color:#6b7280;background:#f9fafb}.settings-note{color:#6b7280;margin:10px 0 0;line-height:1.5}.settings-toggle-list,.settings-option-list,.settings-action-list{gap:8px;display:grid}.settings-toggle-list label,.settings-option-list div{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:10px;padding-bottom:7px;display:flex}.settings-toggle-list label:last-child,.settings-option-list div:last-child{border-bottom:none;padding-bottom:0}.settings-toggle-list span,.settings-option-list span{min-width:0}.settings-toggle-list strong,.settings-option-list strong{color:#111827;display:block}.settings-toggle-list small,.settings-option-list small{color:#6b7280;margin-top:4px;display:block}.settings-toggle-list input{accent-color:#0b2752;width:42px;height:24px}.settings-option-pill{color:#15803d;background:#ecfdf5;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:500}.settings-action-list button{color:#fff;cursor:pointer;background:#0b2752;border:none;border-radius:14px;width:100%;padding:11px 13px;font-weight:500}.settings-action-list button:hover{background:#071b3b}@media (width<=1250px){.settings-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.settings-card.large{grid-row:auto}}@media (width<=720px){.settings-summary-grid,.settings-form-grid{grid-template-columns:1fr}.settings-toggle-list label,.settings-option-list div{align-items:flex-start}}.service-action-status{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:18px;padding:16px}.service-action-status span{color:#15803d;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.service-action-status strong{color:#111827;font-size:18px;font-weight:500;display:block}.service-action-status small{color:#6b7280;margin-top:6px;font-weight:500;display:block}.service-remote-action{background:#fff;border:1px solid #eef0f3;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;padding:16px;display:flex}.service-remote-action:hover{background:#f8fafc;border-color:#bbf7d0}.service-remote-action.danger{background:snow}.service-remote-action strong{color:#111827;font-size:15px;font-weight:500;display:block}.service-remote-action small{color:#6b7280;margin-top:6px;font-weight:500;line-height:1.45;display:block}.service-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.service-secondary-button,.service-danger-button{cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:10px 13px;font-size:13px;font-weight:500}.service-secondary-button{color:#374151;background:#f3f4f6}.service-secondary-button:hover{background:#e5e7eb}.service-danger-button{color:#dc2626;background:#fef2f2}.service-danger-button:hover{background:#fee2e2}@media (width<=720px){.service-remote-action{display:grid}.service-confirm-actions{justify-content:flex-start}}.settings-header{margin-bottom:12px}.settings-header h1{font-size:clamp(26px,2vw,32px)}.settings-header p{margin-top:5px}.settings-summary-grid{gap:10px;margin-bottom:12px}.settings-summary-card{grid-template-columns:38px 1fr;gap:10px;padding:13px}.settings-summary-icon{border-radius:12px;width:38px;height:38px}.settings-grid{gap:11px}.settings-card{border-radius:16px;padding:14px}.settings-card-header{margin-bottom:11px}.settings-card-header h2{font-size:20px}.settings-form-grid{gap:10px}.settings-form-grid label{gap:4px}.settings-form-grid input,.settings-form-grid select{border-radius:10px;min-height:38px;padding:7px 10px}.settings-note{margin-top:10px;font-size:13px}.settings-toggle-list,.settings-option-list,.settings-action-list{gap:8px}.settings-audit-card{grid-column:1/-1}.settings-audit-filters{grid-template-columns:minmax(180px,1fr) minmax(190px,1fr) 90px;gap:8px;margin-bottom:10px;display:grid}.settings-audit-filters label{color:#52606d;gap:4px;font-size:12px;font-weight:500;display:grid}.settings-audit-filters input,.settings-audit-filters select{background:#fff;border:1px solid #cbd5df;border-radius:8px;min-height:36px;padding:6px 9px}.settings-audit-table-wrap{overflow-x:auto}.settings-audit-table{border-collapse:collapse;width:100%;font-size:13px}.settings-audit-table th,.settings-audit-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf0f2;padding:8px}.settings-audit-table th{color:#52606d;text-transform:uppercase;font-size:11px}.settings-audit-state{color:#66717d;text-align:center;padding:14px}.settings-audit-state.error{color:#9f2933}.settings-audit-pagination{justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.settings-audit-backdrop{z-index:60;background:#111d2675;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.settings-audit-modal{background:#fff;border-radius:14px;width:min(560px,100%);max-height:calc(100vh - 32px);padding:14px;overflow:auto;box-shadow:0 18px 60px #00000040}.settings-audit-modal header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.settings-audit-modal header h2{margin:0}.settings-audit-modal dl{grid-template-columns:90px 1fr;gap:6px 10px;margin:0;display:grid}.settings-audit-modal dt{color:#66717d;font-weight:500}.settings-audit-modal dd{overflow-wrap:anywhere;margin:0}.settings-audit-modal pre{background:#f5f7f6;border-radius:9px;margin:12px 0 0;padding:10px;font-size:12px;overflow:auto}@media (width<=700px){.settings-audit-filters{grid-template-columns:1fr}.settings-audit-pagination{flex-wrap:wrap;justify-content:flex-start}.settings-audit-modal dl{grid-template-columns:1fr}}.profile-page{gap:12px;max-width:1040px;margin:0 auto;display:grid}.profile-header h1{margin:0;font-size:clamp(24px,2vw,30px)}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:13px;box-shadow:0 6px 18px #0f172a0a}.profile-card h2{margin:0 0 9px;font-size:17px}.profile-account-list{grid-template-columns:minmax(110px,.7fr) 1.3fr;gap:8px 12px;margin:0;display:grid}.profile-account-list dt{color:#64748b}.profile-account-list dd{overflow-wrap:anywhere;margin:0;font-weight:500}.profile-form{gap:12px;display:grid}.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.profile-form-grid label{color:#334155;gap:4px;font-size:13px;font-weight:500;display:grid}.profile-form-grid input{min-height:38px;font:inherit;border:1px solid #cbd5e1;border-radius:10px;padding:7px 10px}.profile-form button,.profile-session button{justify-self:start}.profile-password{grid-column:1/-1}.profile-password .profile-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-session{grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;display:flex}.profile-session h2{margin-bottom:4px}.profile-session p{color:#64748b;margin:0}.profile-session button{color:#fff;background:#b91c1c}.profile-message,.profile-state{border-radius:10px;margin:0;padding:9px 11px}.profile-message--success{color:#17603a;background:#e1f5e9}.profile-message--error{color:#8a2830;background:#fde7e9}@media (width<=760px){.profile-grid,.profile-form-grid,.profile-password .profile-form-grid{grid-template-columns:1fr}.profile-password,.profile-session{grid-column:auto}.profile-account-list{grid-template-columns:1fr;gap:3px}.profile-account-list dd{margin-bottom:7px}.profile-session{flex-direction:column;align-items:flex-start}}.service-page{width:100%}.service-header{margin-bottom:18px}.service-eyebrow{color:#0b2752;margin-bottom:8px;font-size:13px;font-weight:500;display:inline-flex}.service-header h1{letter-spacing:-.05em;color:#111827;margin:0;font-size:clamp(30px,2.4vw,42px)}.service-header p{color:#6b7280;max-width:760px;margin:10px 0 0;line-height:1.55}.service-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.2vw,20px);margin-bottom:18px;display:grid}.service-summary-card,.service-tabs-card{background:#fff;border:1px solid #edf0f4;border-radius:24px;box-shadow:0 10px 30px #0f172a0e}.service-summary-card{padding:20px}.service-summary-card span{color:#6b7280;font-size:13px;font-weight:500}.service-summary-card strong{color:#111827;letter-spacing:-.04em;margin-top:8px;font-size:26px;line-height:1.1;display:block}.service-summary-card small{color:#9ca3af;margin-top:8px;font-size:12px;font-weight:500;display:block}.service-summary-card.success{background:radial-gradient(circle at 100% 0,#0b27521a,#0000 38%),#fff}.service-summary-card.warning{background:radial-gradient(circle at 100% 0,#f59e0b24,#0000 38%),#fff}.service-tabs-card{padding:clamp(16px,1.4vw,24px)}.service-tabs{border-bottom:1px solid #eef0f3;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding-bottom:14px;display:flex}.service-tabs button{color:#4b5563;cursor:pointer;background:#f3f4f6;border:none;border-radius:999px;padding:10px 14px;font-size:14px;font-weight:500}.service-tabs button:hover{color:#111827;background:#e5e7eb}.service-tabs button.active{color:#0b2752;background:#ecfdf5;box-shadow:inset 0 0 0 1px #bbf7d0}.service-tab-panel{gap:18px;display:grid}.service-panel-header h2{color:#111827;letter-spacing:-.04em;margin:0;font-size:26px}.service-panel-header p{color:#6b7280;max-width:760px;margin:8px 0 0;line-height:1.55}.service-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.service-info-grid div{background:#f8fafc;border:1px solid #eef0f3;border-radius:18px;padding:14px}.service-info-grid span{color:#6b7280;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.service-info-grid strong{color:#15803d;font-weight:500}.service-warning-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:16px}.service-warning-box strong{color:#ea580c}.service-warning-box p{color:#6b7280;margin:7px 0 0;line-height:1.5}.service-primary-button{color:#fff;cursor:pointer;background:#0b2752;border:none;border-radius:999px;justify-self:start;padding:12px 16px;font-size:14px;font-weight:500;box-shadow:0 12px 24px #0b27522e}.service-primary-button:hover{background:#071b3b}.service-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.service-action-list{gap:12px;display:grid}.service-action-grid button,.service-action-list button{color:#111827;cursor:pointer;text-align:left;background:#f8fafc;border:1px solid #eef0f3;border-radius:18px;padding:16px;font-weight:500}.service-action-grid button:hover,.service-action-list button:hover{color:#15803d;background:#ecfdf5;border-color:#bbf7d0}.service-action-grid button strong,.service-action-list button strong{font-size:15px;display:block}.service-action-grid button small,.service-action-list button small{color:#6b7280;margin-top:6px;font-weight:500;line-height:1.45;display:block}.service-config-preview{color:#ecfdf5;background:#111827;border-radius:18px;margin:0;padding:18px;font-size:13px;line-height:1.55;overflow-x:auto}.service-log-list{gap:10px;display:grid}.service-log-list div{background:#fff;border:1px solid #eef0f3;border-radius:18px;padding:14px}.service-log-list strong{color:#111827;display:block}.service-log-list small{color:#6b7280;margin-top:4px;display:block}@media (width<=1250px){.service-summary-grid,.service-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.service-summary-grid,.service-info-grid,.service-action-grid{grid-template-columns:1fr}}.service-action-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=720px){.service-action-grid-compact{grid-template-columns:1fr}}.tickets-page{width:100%}.tickets-header{justify-content:space-between;gap:18px;margin-bottom:18px;display:flex}.tickets-header span{color:#0b2752;font-size:13px;font-weight:500}.tickets-header h1{color:#111827;margin:5px 0}.tickets-header p{color:#6b7280;margin:0}.tickets-page button{color:#fff;cursor:pointer;background:#0b2752;border:0;border-radius:14px;padding:11px 15px;font-weight:500}.tickets-page button:disabled{cursor:not-allowed;opacity:.55}.tickets-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;margin-bottom:14px;padding:12px}.ticket-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:20px;box-shadow:0 10px 30px #0f172a0f}.ticket-form{margin-bottom:16px}.ticket-form h2,.ticket-list h2,.ticket-detail h2{color:#111827;margin-top:0}.ticket-form-grid,.ticket-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ticket-form-grid{margin-bottom:14px}.ticket-form-grid .wide{grid-column:1/-1}.ticket-form-grid label,.ticket-filters label,.ticket-status-edit{color:#374151;gap:6px;font-size:13px;font-weight:500;display:grid}.tickets-page input,.tickets-page select,.tickets-page textarea{color:#111827;width:100%;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:13px;padding:11px 12px}.tickets-page textarea{resize:vertical}.ticket-filters{max-width:760px;margin-bottom:16px}.tickets-layout{grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr);align-items:start;gap:16px;display:grid}.ticket-list{gap:9px;display:grid}.ticket-list>button{color:#111827;text-align:left;background:#fff;border:1px solid #e5e7eb;gap:5px;width:100%;display:grid}.ticket-list>button.active,.ticket-list>button:hover{background:#f2f5f9;border-color:#7188a8}.ticket-list small,.ticket-list span{color:#6b7280}.ticket-detail>header{justify-content:space-between;gap:12px;display:flex}.ticket-detail>header small{color:#0b2752;font-weight:500}.ticket-detail>header>strong{color:#0b2752}.ticket-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ticket-detail dl div,.ticket-description,.ticket-comments article,.tickets-empty{background:#f8fafc;border-radius:14px;padding:12px}.ticket-detail dt{color:#6b7280;font-size:12px;font-weight:500}.ticket-detail dd{color:#111827;margin:4px 0 0;font-weight:500}.ticket-description{margin:14px 0}.ticket-description h3,.ticket-comments h3{margin:0 0 8px}.ticket-description p,.ticket-comments p{color:#374151;white-space:pre-wrap;margin:0}.ticket-status-edit{max-width:260px;margin-bottom:16px}.ticket-comments{gap:10px;margin-bottom:14px;display:grid}.ticket-comments article small{color:#6b7280;margin-top:7px;display:block}.ticket-comment-form{gap:10px;display:grid}.ticket-comment-form button{justify-self:end}.tickets-empty{color:#6b7280}@media (width<=900px){.tickets-layout{grid-template-columns:1fr}}@media (width<=620px){.tickets-header{display:grid}.ticket-form-grid,.ticket-filters,.ticket-detail dl{grid-template-columns:1fr}.ticket-form-grid .wide{grid-column:auto}}.control-page{gap:16px;width:100%;display:grid}.control-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.control-eyebrow{color:#0b2752;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:500}.control-header h1{color:#111827;letter-spacing:-.035em;margin:0;font-size:clamp(25px,2vw,34px);font-weight:600}.control-header p{color:#6b7280;max-width:720px;margin:7px 0 0}.control-installation-context{color:#64748b;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:12px;display:flex}.control-installation-context span+span:before{content:"•";color:#c2cad3;margin-right:14px}.control-mode{color:#4338ca;white-space:nowrap;background:#eef2ff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:500}.control-mode.mode-dry_run{color:#c2410c;background:#fff7ed}.control-mode.mode-monitoring_only{color:#4b5563;background:#f3f4f6}.control-notice{color:#9a3412;background:#fffaf3;border:1px solid #fed7aa;border-radius:14px;align-items:center;gap:10px;padding:12px 15px;display:flex}.control-notice.neutral{color:#475569;background:#f8fafc;border-color:#dbe4ea}.control-notice strong{margin-right:5px}.control-latest .ems-decision-card{height:100%}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.control-card{background:#fff;border:1px solid #e7ece8;border-radius:20px;padding:18px;box-shadow:0 8px 24px #0f172a0b}.control-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.control-summary-grid article{background:#fff;border:1px solid #dfe6ed;border-radius:13px;gap:5px;min-width:0;padding:12px 14px;display:grid}.control-summary-grid span{color:#6b7280;font-size:11px}.control-summary-grid strong{color:#0b2752;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.control-card-title{color:#0b2752;align-items:center;gap:9px;display:flex}.control-card-title h2{color:#111827;margin:0;font-size:17px}.control-card-title p{color:#9ca3af;margin:3px 0 0;font-size:12px}.control-list,.control-details{gap:0;margin:14px 0 0;display:grid}.control-list>div,.control-details>div{border-top:1px solid #f0f3f1;justify-content:space-between;gap:16px;padding:10px 0;display:flex}.control-list span,.control-details dt{color:#6b7280;font-size:12px}.control-list strong,.control-details dd{color:#111827;text-align:right;margin:0;font-size:12px;font-weight:500}.control-list .enabled{color:#15803d}.control-list .disabled{color:#9ca3af}.control-explanation{color:#64748b;background:#f8fafc;border-radius:12px;margin:12px 0 0;padding:11px 12px;font-size:12px;line-height:1.5}.control-history{min-width:0}.control-table-wrap{margin-top:14px;overflow-x:auto}.control-table{border-collapse:collapse;width:100%;min-width:920px}.control-table th,.control-table td{text-align:left;vertical-align:top;border-bottom:1px solid #edf1ee;padding:11px 10px;font-size:12px}.control-table th{color:#6b7280;letter-spacing:.04em;text-transform:uppercase;font-size:10px}.control-table td{color:#374151}.control-table tr.stale td{color:#9ca3af}.control-empty{color:#6b7280;text-align:center;background:#fff;border:1px dashed #d7ded9;border-radius:16px;padding:28px}.control-empty.compact{margin-top:14px;padding:18px}.control-empty.error{color:#b91c1c;border-color:#fecaca}@media (width<=900px){.control-grid{grid-template-columns:1fr}.control-header{flex-direction:column}}.control-settings-form{gap:16px;display:grid}.control-config-section{border-top:1px solid #edf1ee;gap:10px;padding-top:14px;display:grid}.control-config-section h3{color:#374151;margin:0;font-size:13px;font-weight:500}.control-main-strategies{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.control-main-strategies label{color:#374151;cursor:pointer;border:1px solid #d9e1e8;border-radius:11px;align-items:center;gap:8px;min-height:44px;padding:10px 12px;display:flex}.control-main-strategies label>span{gap:3px;display:grid}.control-main-strategies label strong{font-size:12px;font-weight:500}.control-main-strategies label small{color:#6b7280;font-size:10px;line-height:1.35}.control-main-strategies label.selected{color:#0b2752;background:#eef3f9;border-color:#0b2752}.control-main-strategies label:has(input:disabled){cursor:default}.control-main-strategies input{accent-color:#0b2752}.control-electrical-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.control-electrical-grid>label,.control-board-fields>label,.control-device-electrical>label{color:#66717d;align-content:start;gap:5px;font-size:11px;display:grid}.control-electrical-grid input,.control-electrical-grid select,.control-board-fields input,.control-board-fields select,.control-device-electrical input,.control-device-electrical select,.control-rights-grid input[type=number]{color:#17232c;background:#fff;border:1px solid #d9e1e8;border-radius:9px;width:100%;min-height:36px;padding:7px 9px}.control-tuning-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.control-tuning-grid>label{color:#66717d;align-content:start;gap:5px;font-size:11px;display:grid}.control-tuning-grid input{color:#17232c;background:#fff;border:1px solid #d9e1e8;border-radius:9px;width:100%;min-height:36px;padding:7px 9px}.control-tuning-grid label>small{color:#75808a;font-size:10px;line-height:1.35}.control-zero-toggle{width:fit-content}.control-input-unit{grid-template-columns:1fr auto;align-items:center;gap:7px;display:grid}.control-input-unit small{color:#75808a;font-size:11px}.control-phase-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.control-phase-options button{color:#52606d;cursor:pointer;background:#fff;border:1px solid #d9e1e8;border-radius:8px;min-height:36px;font-size:11px}.control-phase-options button.selected{color:#0b2752;background:#eef3f9;border-color:#0b2752}.control-phase-options button:disabled{cursor:default}.control-section-help{color:#75808a;margin:0;font-size:11px}.control-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.control-section-heading h3{margin:0}.control-board-tree{background:#f8fafc;border:1px solid #e3e8ed;border-radius:13px;gap:8px;padding:10px;display:grid}.control-schema{background:linear-gradient(#f8fafc,#fff);border:1px solid #dfe6ed;border-radius:13px;gap:9px;padding:14px;display:grid}.control-schema-node{color:#0b2752;background:#fff;border:1px solid #ccd7e2;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;width:min(330px,100%);padding:10px 12px;display:grid}.control-schema-node.root{background:#eef3f9;border-color:#0b2752}.control-schema-node svg{grid-row:1/3}.control-schema-node strong{font-size:12px;font-weight:500}.control-schema-node span{color:#64748b;font-size:10px}.control-schema-branch{margin-left:calc(28px + var(--board-depth) * 28px);gap:5px;padding-left:24px;display:grid;position:relative}.control-schema-branch:before{content:"";border-bottom:1px solid #9eabb8;border-left:1px solid #9eabb8;width:17px;position:absolute;top:-10px;bottom:50%;left:5px}.control-schema-line{color:#75808a;font-size:10px}.control-schema-assets{flex-wrap:wrap;gap:5px;margin-left:12px;display:flex}.control-schema-assets span{color:#475569;background:#edf2f7;border-radius:999px;padding:4px 8px;font-size:10px}.control-subheading{color:#475569;margin:4px 0 0;font-size:12px;font-weight:500}.control-board-row{margin-left:calc(var(--board-depth) * 22px);background:#fff;border:1px solid #dfe5eb;border-radius:10px;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:10px;display:grid}.control-board-branch{color:#0b2752;text-align:center}.control-board-fields{grid-template-columns:1.1fr 1.1fr .65fr .75fr 1.3fr;gap:8px;display:grid}.control-board-fields .wide{min-width:0}.control-icon-danger{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.control-device-configs{gap:10px;display:grid}.control-device-config{background:#fff;border:1px solid #dfe5eb;border-radius:13px;gap:12px;padding:13px;display:grid}.control-device-config>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.control-device-config>header div{gap:2px;display:grid}.control-device-config>header strong{color:#17232c;font-size:14px;font-weight:500}.control-device-config>header span{color:#75808a;font-size:11px}.control-device-config>header label{color:#0b2752;align-items:center;gap:7px;font-size:12px;display:flex}.control-device-electrical{border-top:1px solid #edf1f4;grid-template-columns:1.2fr .7fr .7fr .9fr;gap:8px;padding-top:10px;display:grid}.control-rights-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.control-rights-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.control-rights-grid fieldset{background:#fafbfc;border:1px solid #e3e8ed;border-radius:10px;align-content:start;gap:7px;min-width:0;margin:0;padding:10px;display:grid}.control-rights-grid legend{color:#0b2752;padding:0 5px;font-size:11px;font-weight:500}.control-rights-grid label{color:#52606d;align-items:center;gap:7px;font-size:11px;display:flex}.control-rights-grid label:has(input[type=number]){grid-template-columns:1fr 76px;display:grid}.control-live-limits dl{gap:7px;margin:0;display:grid}.control-live-limits dl div{justify-content:space-between;gap:10px;display:flex}.control-live-limits dt,.control-live-limits dd{color:#52606d;margin:0;font-size:11px}.control-live-limits dd{color:#17232c;font-weight:500}.control-live-limits>span,.control-limit-unavailable span{color:#75808a;font-size:10px}.control-limit-unavailable{gap:4px;display:grid}.control-limit-unavailable strong{color:#475569;font-size:11px;font-weight:500}.control-function-section{background:#f8fafc;border:1px solid #dbe4ec;border-radius:10px;min-width:0;margin:0;padding:10px}.control-function-section legend{color:#0b2752;padding:0 5px;font-size:11px;font-weight:500}.control-function-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.control-function-grid label{color:#52606d;align-items:center;gap:7px;font-size:11px;display:flex}.control-function-grid .control-function-number{grid-template-columns:1fr 100px;display:grid}.control-function-number input{border:1px solid #d9e1e8;border-radius:8px;width:100%;min-height:34px;padding:6px 8px}.control-config-overview{background:#f8fafc;border:1px solid #dfe6ed;border-radius:13px;padding:13px}.control-config-overview h3{color:#0b2752;margin:0 0 8px;font-size:13px;font-weight:500}.control-config-overview dl{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;display:grid}.control-config-overview dl div{gap:3px;display:grid}.control-config-overview dt{color:#75808a;font-size:10px}.control-config-overview dd{color:#263746;margin:0;font-size:11px;font-weight:500}.control-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.control-form-grid label{gap:6px;display:grid}.control-form-grid label>span,.control-strategy-options legend{color:#6b7280;font-size:11px;font-weight:500}.control-form-grid select{color:#111827;background:#fff;border:1px solid #d9e1dc;border-radius:11px;width:100%;padding:10px 12px}.control-toggle-option{border:1px solid #edf1ee;border-radius:11px;grid-template-columns:auto 1fr;align-content:center;align-items:center;padding:10px 12px;display:flex!important}.control-strategy-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;display:grid}.control-strategy-options legend{margin-bottom:8px}.control-strategy-options label{color:#374151;border:1px solid #edf1ee;border-radius:11px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:500;display:flex}.control-form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.control-form-actions button{color:#fff;cursor:pointer;background:#0b2752;border:0;border-radius:11px;padding:10px 14px;font-weight:500}.control-form-actions button:disabled{cursor:wait;opacity:.65}.control-form-actions .success{color:#15803d;font-size:12px;font-weight:500}.control-form-actions .error{color:#b91c1c;font-size:12px;font-weight:500}.control-settings-form>small{color:#9ca3af}@media (width<=700px){.control-form-grid,.control-strategy-options{grid-template-columns:1fr}}.control-settings-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.control-secondary-button,.control-cancel-button{color:#0b2752;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:11px;padding:9px 13px;font-weight:500}.control-form-grid select:disabled,.control-safe-options input:disabled{color:#6b7280;cursor:default;background:#f8faf9}.control-strategy-options:disabled label{color:#6b7280;background:#f8faf9}.control-safe-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.control-safe-options>label{color:#374151;border:1px solid #edf1ee;border-radius:11px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:500;display:flex}.control-number-field{grid-template-columns:1fr auto auto;display:grid!important}.control-number-field input{border:1px solid #d9e1dc;border-radius:8px;width:74px;padding:7px 8px}.control-number-field small{color:#6b7280}.control-asset-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.control-asset-setting{background:#fafbfc;border:1px solid #e3e8ed;border-radius:13px;align-content:start;gap:10px;padding:13px;display:grid}.control-asset-setting>strong{color:#17232c;font-size:14px;font-weight:500}.control-asset-setting>label{color:#4b5563;align-items:center;gap:8px;font-size:12px;display:flex}.control-asset-setting>label:has(select){gap:5px;display:grid}.control-asset-setting select{color:#111827;background:#fff;border:1px solid #d9e1dc;border-radius:9px;width:100%;padding:8px 10px}.control-asset-setting input{accent-color:#0b2752}.control-asset-setting.unavailable{color:#8a949e}.control-asset-setting.unavailable span{font-size:12px}.control-cancel-button:disabled{cursor:wait;opacity:.65}.control-validation-error{color:#b91c1c;background:#fef2f2;border-radius:10px;margin:0;padding:10px 12px;font-size:12px;font-weight:500}@media (width<=900px){.control-summary-grid,.control-electrical-grid,.control-device-electrical,.control-tuning-grid,.control-board-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.control-rights-grid,.control-rights-grid.two{grid-template-columns:1fr}.control-config-overview dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.control-installation-context span+span:before{content:none}.control-settings-heading{flex-direction:column}.control-summary-grid,.control-safe-options,.control-main-strategies,.control-asset-settings,.control-electrical-grid,.control-device-electrical,.control-config-overview dl,.control-function-grid,.control-tuning-grid{grid-template-columns:1fr}.control-board-row{grid-template-columns:16px 1fr;margin-left:0}.control-board-row .control-icon-danger{grid-column:2}.control-board-fields{grid-template-columns:1fr}.control-device-config>header{flex-direction:column;align-items:flex-start}.control-schema-branch{margin-left:12px}}.control-form-actions .control-cancel-button{color:#0b2752;background:#fff;border:1px solid #cbd5e1}.control-audit-items{gap:0;margin-top:14px;display:grid}.control-audit-item{border-top:1px solid #edf1ee;grid-template-columns:minmax(170px,.35fr) 1fr;gap:18px;padding:13px 0;display:grid}.control-audit-item>div{align-content:start;gap:3px;display:grid}.control-audit-item strong{color:#374151;font-size:12px}.control-audit-item span{color:#9ca3af;text-transform:capitalize;font-size:11px}.control-audit-item ul{color:#4b5563;gap:5px;margin:0;padding-left:18px;font-size:12px;display:grid}@media (width<=700px){.control-audit-item{grid-template-columns:1fr;gap:8px}}.invite-accept-page{background:radial-gradient(circle at 0 0,#0b275221,#0000 36%),#f4f7f4;place-items:center;min-height:100dvh;padding:12px;display:grid}.invite-accept-card{background:#fff;border:1px solid #e1e8e3;border-radius:18px;width:min(560px,100%);padding:clamp(18px,2vw,24px);box-shadow:0 22px 60px #0f172a1c}.invite-accept-brand{object-fit:contain;border-radius:10px;width:42px;height:42px;margin-bottom:12px;display:block}.invite-accept-eyebrow{color:#0b2752;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:500}.invite-accept-card h1{color:#111827;letter-spacing:-.04em;margin:6px 0 0;font-size:clamp(25px,3vw,32px)}.invite-accept-card>p{color:#6b7280;margin:10px 0 0;line-height:1.5}.invite-accept-card>a{color:#0b2752;margin-top:18px;font-weight:500;display:inline-flex}.invite-installation-card{color:#0b2752;background:#f2f5f9;border:1px solid #c6d2e2;border-radius:17px;align-items:center;gap:12px;margin:14px 0;padding:10px;display:flex}.invite-installation-card strong,.invite-installation-card span{display:block}.invite-installation-card strong{color:#111827}.invite-installation-card span{color:#6b7280;margin-top:3px;font-size:13px}.invite-accept-form{gap:10px;display:grid}.invite-accept-form label{color:#374151;gap:4px;font-size:13px;font-weight:500;display:grid}.invite-accept-form input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:14px;min-height:39px;padding:11px 13px}.invite-accept-form input[readonly]{color:#6b7280;background:#f3f4f6}.invite-account-hint{color:#1d4ed8;background:#eff6ff;border-radius:14px;align-items:flex-start;gap:8px;padding:11px 12px;font-size:13px;line-height:1.4;display:flex}.invite-account-hint svg{flex:none}.invite-accept-error{color:#dc2626;background:#fef2f2;border-radius:13px;margin:0;padding:10px 12px;font-size:13px}.invite-accept-form button{color:#fff;cursor:pointer;background:#0b2752;border:none;border-radius:999px;min-height:40px;font-weight:500}.invite-accept-form button:hover{background:#071b3b}.invite-accept-form button:disabled{cursor:wait;opacity:.65}.invite-expiry{color:#9ca3af;text-align:center;margin-top:10px;display:block}.auth-flow{background:#f3f7f4;place-items:center;min-height:100dvh;padding:clamp(12px,2vh,22px);display:grid}.auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;width:min(500px,100%);max-height:calc(100dvh - 24px);padding:clamp(16px,1.7vw,20px);overflow-y:auto;box-shadow:0 14px 36px #0f172a14}.auth-card.wide{width:min(780px,100%)}.auth-card h1{color:#111827;margin:0 0 5px;font-size:clamp(23px,2.2vw,29px)}.auth-card p{color:#64748b;margin:0;font-size:14px;line-height:1.4}.auth-eyebrow{color:#0b2752;font-size:12px;font-weight:500}.auth-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px;margin-top:12px;display:grid}.auth-form-grid label{color:#374151;gap:4px;font-size:13px;font-weight:500;display:grid}.auth-form-grid .full{grid-column:1/-1}.auth-form-grid input{min-height:38px;font:inherit;border:1px solid #dbe1e8;border-radius:10px;padding:7px 10px}.auth-form-grid input[readonly]{background:#f3f4f6}.auth-actions{justify-content:flex-end;align-items:center;gap:12px;padding-top:2px;display:flex}.auth-card button{color:#fff;cursor:pointer;background:#0b2752;border:0;border-radius:10px;min-height:38px;padding:8px 15px;font-weight:500}.auth-card a{color:#0b2752;font-weight:500}.auth-error{color:#b91c1c;background:#fef2f2;border-radius:10px;padding:9px 11px;font-size:13px}@media (width<=640px){.auth-flow{padding:10px;display:block}.auth-card{border-radius:15px;max-height:none}.auth-form-grid{grid-template-columns:1fr}.auth-form-grid label{grid-column:1/-1}}.auth-required-help{font-weight:500;color:#475569!important;margin-top:7px!important;font-size:12px!important}.auth-form-grid label small{color:#64748b;font-weight:500}.auth-success{background:#ecfdf3;border-radius:10px;padding:9px 11px;font-size:13px;color:#166534!important}.auth-copy-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.auth-copy-row input{background:#f8fafc;min-width:0}.auth-result{gap:14px;margin-top:16px;display:grid}@media (width<=520px){.auth-copy-row{grid-template-columns:1fr}}.auth-help{color:#475569!important;font-size:13px!important;line-height:1.45!important}.installation-detail-page{gap:18px;width:100%;display:grid}.installation-detail-header,.installation-section-heading,.device-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.installation-detail-header h1{color:#111827;margin:4px 0}.installation-detail-header p{color:#6b7280;margin:0}.installation-detail-eyebrow,.installation-section-heading>div>span{color:#15803d;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:500}.installation-gateway-badge,.p1-status,.device-state,.alarm-severity{border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:7px 11px;font-size:12px;font-weight:500;display:inline-flex}.installation-gateway-badge.online,.p1-status.online,.device-state.active{color:#15803d;background:#dcfce7}.installation-gateway-badge.offline,.p1-status.offline,.device-state:not(.active){color:#b91c1c;background:#fef2f2}.p1-status.unknown{color:#6b7280;background:#f3f4f6}.installation-detail-actions{flex-wrap:wrap;gap:9px;display:flex}.installation-detail-actions button,.installation-section-heading button{color:#166534;cursor:pointer;background:#fff;border:1px solid #dfe7e1;border-radius:999px;align-items:center;gap:7px;padding:10px 13px;font-weight:500;display:inline-flex}.installation-detail-actions button:first-child{color:#fff;background:#15803d;border-color:#15803d}.installation-basics-card,.installation-detail-section,.installation-status-grid article{background:#fff;border:1px solid #e5ebe7;border-radius:20px;box-shadow:0 8px 24px #0f172a0b}.installation-basics-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:18px;display:grid}.installation-basics-card span,.installation-status-grid article div>span,.p1-measurement-grid span{color:#6b7280;margin-bottom:5px;font-size:12px;font-weight:500;display:block}.installation-basics-card strong{color:#111827;font-size:14px}.installation-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.installation-status-grid article{align-items:center;gap:12px;padding:16px;display:flex}.installation-status-grid strong,.installation-status-grid small{display:block}.installation-status-grid strong{color:#111827;font-size:19px}.installation-status-grid small{color:#9ca3af;margin-top:3px;font-size:11px}.status-icon{border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:grid}.status-icon.online{color:#15803d;background:#dcfce7}.status-icon.offline{color:#b91c1c;background:#fef2f2}.status-icon.warning{color:#c2410c;background:#fff7ed}.status-icon.neutral{color:#2563eb;background:#eff6ff}.installation-detail-section{padding:18px}.installation-section-heading{margin-bottom:14px}.installation-section-heading h2{color:#111827;margin:3px 0 0;font-size:18px}.p1-measurement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.p1-measurement-grid>div{background:#f8faf9;border-radius:14px;padding:13px}.p1-measurement-grid strong{color:#111827;font-size:17px}.installation-device-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.installation-device-list article{border:1px solid #edf1ee;border-radius:15px;padding:14px}.installation-device-list p{color:#6b7280;margin:5px 0 12px;font-size:12px}.installation-device-list dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.installation-device-list dl div{background:#f8faf9;border-radius:10px;min-width:0;padding:8px}.installation-device-list dt{color:#9ca3af;text-transform:uppercase;font-size:10px;font-weight:500}.installation-device-list dd{color:#374151;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:12px;font-weight:500;overflow:hidden}.installation-alarm-list{gap:8px;display:grid}.installation-alarm-list article{background:#f8faf9;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.alarm-severity.critical{color:#b91c1c;background:#fef2f2}.alarm-severity.warning{color:#c2410c;background:#fff7ed}.alarm-severity.info{color:#2563eb;background:#eff6ff}.installation-alarm-list time{color:#6b7280;font-size:11px}.installation-section-empty,.installation-detail-empty{color:#6b7280;margin:0}.installation-detail-empty{text-align:center;border:1px dashed #d1d5db;border-radius:18px;padding:28px}.installation-detail-empty strong{color:#111827}@media (width<=1050px){.installation-status-grid,.installation-basics-card,.p1-measurement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.installation-detail-header,.installation-section-heading{flex-direction:column;align-items:flex-start}.installation-status-grid,.installation-basics-card,.p1-measurement-grid,.installation-device-list,.installation-alarm-list article{grid-template-columns:1fr}}.installation-hub__header{align-items:center}.installation-hub__actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.installation-hub__actions button{align-items:center;gap:.35rem;display:inline-flex}.installation-hub__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-bottom:.75rem;display:grid}.installation-hub__stats article{color:#52606d;background:#fff;border:1px solid #e1e7eb;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.7rem .8rem;display:grid}.installation-hub__stats strong{color:#17232c;font-size:1.15rem}.installation-hub__filters{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.installation-hub__filters>label:first-child{grid-column:span 2}.installation-hub__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.installation-hub__card{background:#fff;border:1px solid #dfe5ea;border-radius:10px;gap:.65rem;padding:.8rem;display:grid}.installation-hub__card-head{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.installation-hub__card h2{margin:0;font-size:1rem}.installation-hub__card-head span:not(.installation-hub__status){color:#66717d;font-size:.8rem}.installation-hub__card dl{grid-template-columns:1fr auto;gap:.3rem .7rem;margin:0;font-size:.8rem;display:grid}.installation-hub__card dt{color:#66717d}.installation-hub__card dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:500}.installation-hub__card>button{justify-self:start}.installation-hub__card-footer{border-top:1px solid #edf0f2;justify-content:space-between;align-items:center;gap:.65rem;margin-top:auto;padding-top:.55rem;display:flex}.installation-hub__card-actions{align-items:center;gap:.35rem;display:inline-flex}.installation-hub__counters{align-items:center;gap:.45rem;display:inline-flex}.installation-hub__counter{color:#75808a;white-space:nowrap;align-items:center;gap:.22rem;font-size:.76rem;font-weight:500;display:inline-flex}.installation-hub__counter small{font:inherit;font-weight:500}.installation-hub__counter--alarm.has-value{color:#b4232e}.installation-hub__counter--ticket.has-value{color:#1769aa}.installation-hub__status{white-space:nowrap;background:#eef2f5;border-radius:999px;padding:.2rem .45rem;font-size:.72rem;font-weight:500}.installation-hub__status--online{color:#17603a;background:#e1f5e9}.installation-hub__status--warning{color:#765400;background:#fff3c4}.installation-hub__status--offline{color:#8a2830;background:#fde7e9}.installation-hub__status--no_gateway{color:#52606d}@media (width<=1050px){.installation-hub__grid,.installation-hub__filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.installation-hub__header{align-items:flex-start}.installation-hub__actions{justify-content:flex-start}.installation-hub__stats,.installation-hub__grid,.installation-hub__filters{grid-template-columns:1fr}.installation-hub__filters>label:first-child{grid-column:auto}.installation-hub__card-footer{flex-direction:column;align-items:flex-start}}
