.connection-scope-control{gap:.35rem;width:min(30rem,42vw);min-width:18rem;display:grid;position:relative}.connection-scope-trigger{text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;min-height:2.35rem;overflow:hidden}.connection-scope-menu{z-index:20;background:var(--surface,#fff);border:1px solid var(--border,#ccc);gap:.35rem;width:max-content;min-width:100%;max-width:min(42rem,80vw);max-height:18rem;padding:.65rem;display:grid;position:absolute;top:100%;left:0;overflow:auto;box-shadow:0 .4rem 1rem #0000002e}.connection-scope-menu label{align-items:center;gap:.45rem;min-width:max-content;display:flex}@media (width<=700px){.connection-scope-control{width:min(100%,22rem);min-width:0}}*{box-sizing:border-box}.server-availability-backdrop{z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#11182766;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.server-availability-modal{text-align:center;background:#fff;border:2px solid #d97706;border-radius:8px;width:min(92vw,30rem);padding:2rem;box-shadow:0 16px 48px #0004}.server-availability-modal h2{margin:.5rem 0}.server-availability-modal p{margin:.6rem 0}.server-availability-indicator{background:#d97706;border-radius:50%;width:1rem;height:1rem;display:inline-block;box-shadow:0 0 0 .35rem #d9770626}.server-availability-indicator.restored{background:#2e7d32;box-shadow:0 0 0 .35rem #2e7d3226}body{background:#e9eaec;margin:0}#root{min-height:100vh}header{background:var(--surface);z-index:10;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;width:260px;padding:0;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:4px 0 16px #1f293314}header strong{border-bottom:1px solid var(--line);align-items:center;gap:1rem;min-height:100px;padding:1rem;font-size:1.35rem;font-weight:500;display:flex}header strong:before{content:"FLA\a VIA";white-space:pre;background:var(--gridware-blue);color:#fff;letter-spacing:.35em;place-items:center;width:52px;height:68px;padding-left:.35em;font-family:Georgia,serif;font-size:.95rem;font-weight:700;line-height:1.35;display:grid}nav{border-bottom:1px solid var(--line);flex-direction:column;flex:1;gap:.2rem;padding:1rem 0;display:flex}@media (width>=761px){.app-shell.authenticated header>nav{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow-y:auto}}.nav-primary,.nav-account,.nav-group{flex-direction:column;gap:.2rem;display:flex}.nav-group summary{cursor:pointer;color:#1d2733;min-height:48px;padding:.75rem 1.25rem .75rem 3.25rem;font-weight:500;list-style:none;position:relative}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:before{content:"▸";color:var(--gridware-orange);margin-left:-1.5rem;position:absolute}.nav-group[open] summary:before{content:"▾"}.nav-group>div{flex-direction:column;gap:.1rem;padding-left:1rem;display:flex}.nav-group>div a{min-height:38px;padding:.55rem 1rem .55rem 3.25rem;font-size:.92rem}.nav-account{border-top:1px solid var(--line);margin-top:auto;padding-top:.75rem}a{color:var(--gridware-blue);font-weight:600;text-decoration:none}nav a{color:#1d2733;align-items:center;min-height:48px;padding:.75rem 1.25rem .75rem 3.25rem;font-weight:500;display:flex;position:relative}nav a:hover{color:var(--gridware-blue);background:#f1f5f9}.nav-lower-link{border-top:1px solid var(--line);margin-top:.7rem;padding-top:1rem!important}.datamart-connection-selector{border-bottom:1px solid var(--line);color:var(--text-muted);flex-direction:column;gap:.25rem;padding:.65rem 1.25rem .7rem;font-size:.75rem;font-weight:700;display:flex}.datamart-connection-selector select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:2.2rem;color:var(--text);font:inherit;border-radius:.35rem;padding:.35rem .5rem;font-size:.86rem;font-weight:500}.nav-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.nav-section summary{color:#1d2733;cursor:pointer;align-items:center;min-height:48px;padding:.75rem 1.25rem .75rem 3.25rem;font-weight:500;list-style:none;display:flex;position:relative}.nav-section summary::-webkit-details-marker{display:none}.nav-section summary:before{content:"≋";color:var(--gridware-blue);text-align:center;width:1.4rem;font-size:1.15rem;position:absolute;left:1.2rem}.nav-section summary:after{content:"▾";margin-left:auto;font-size:.8rem}.nav-section[open] summary:after{content:"▴"}.nav-submenu{padding:0 0 .3rem 1rem}.nav-submenu a{min-height:40px;padding-top:.5rem;padding-bottom:.5rem;padding-left:2.25rem;font-size:.92rem}.nav-submenu a:before{font-size:1rem;left:.55rem}.nav-submenu a[href=\/ocpp-configuration]:before{content:"≋"}.nav-submenu a[href=\/ocpp-templates]:before{content:"▤"}.nav-submenu a[href=\/ocpp-snapshots]:before{content:"▥"}nav a[href=\/dashboard]:before{content:"⌂"}nav a[href=\/gridware-connection]:before{content:"▦"}nav a[href=\/charging-stations]:before{content:"▣"}nav a[href=\/firmware-comparison]:before{content:"◈"}nav a[href=\/charging-sessions]:before{content:"⚡"}nav a[href=\/bi]:before{content:"▥"}nav a[href=\/custom-reports]:before{content:"▤"}nav a[href=\/data-products]:before{content:"▥"}.datamart-boundary-link{background:linear-gradient(90deg,#e097362e,#e097360d);border:1px solid #e0973673;border-radius:.4rem;padding:.3rem .5rem;color:#7a4a08!important}.datamart-boundary-link small{white-space:nowrap;font-size:.68rem;font-weight:700}.datamart-boundary-link:hover{background:#e0973647}.data-product-toolbar{justify-content:space-between;align-items:end;gap:1rem;margin:1.5rem 0;display:flex}.data-product-toolbar input{min-width:260px}.data-products-page .table-wrap{max-height:65vh;overflow:auto}.data-products-page th small{color:var(--muted,#66736f);font-size:.7rem;font-weight:400;display:block}.data-product-pagination{justify-content:flex-end;align-items:center;gap:1rem;margin-top:1rem;display:flex}@media (width<=700px){.ai-companion-modal-anchor{bottom:.75rem;right:.75rem}.ai-companion-modal-content{width:calc(100vw - 1.5rem);max-height:calc(100vh - 1.5rem)}.data-product-toolbar{display:block}.data-product-toolbar label{margin-top:1rem;display:block}.data-product-pagination{flex-wrap:wrap;justify-content:center}.data-access-endpoints{grid-template-columns:1fr}.data-access-endpoints span{padding-left:.5rem}}nav a[href=\/ocpp-configuration]:before{content:"≋"}nav a[href=\/anomalies]:before{content:"⚠"}nav a[href=\/account]:before{content:"♙"}nav a[href=\/]:before,nav a[href=\/login]:before{content:"⌂"}nav a[href=\/register]:before{content:"＋"}nav a:before,.nav-button:before{color:var(--gridware-blue);text-align:center;width:1.4rem;font-size:1.15rem;position:absolute;left:1.2rem}.nav-button{color:#1d2733;min-height:48px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:.75rem 1.25rem .75rem 3.25rem;font-weight:500;display:flex;position:relative}.bi-logout-button{border-radius:3px;min-height:0;padding:.35rem .55rem;font-size:1.1rem;line-height:1}.bi-logout-button:before{display:none}.bi-logout-button:hover{background:var(--surface-muted)}.nav-button:hover{color:var(--gridware-blue);background:#f1f5f9}.nav-button:before{content:"⏻"}main{min-height:calc(100vh - 3.5rem);margin-left:260px;padding:0 1rem 2rem;display:block}main:before{content:"Flavia Gridware Companion";background:var(--gridware-blue);color:#fff;align-items:center;min-height:64px;margin:0 -1rem 1rem;padding:0 max(1rem,50vw - 710px);font-size:1.25rem;font-weight:500;display:flex}.card{background:var(--surface);border:1px solid #e1e5ea;border-radius:2px;width:min(100%,72rem);margin:0 auto;padding:1.5rem;box-shadow:0 2px 8px #1f29331f}h1{color:#20262d;margin:.2rem 0 1rem;font-size:clamp(2rem,5vw,2.8rem);font-weight:500;line-height:1.05}h2{margin-top:2rem;font-weight:500}.eyebrow{color:var(--gridware-blue);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}.actions{flex-wrap:wrap;gap:.75rem;margin:2rem 0 1rem;display:flex}.button{background:var(--gridware-blue);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:2px;justify-content:center;align-items:center;padding:.75rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 2px 4px #1f293326}.button.secondary{color:var(--gridware-blue);box-shadow:none;background:#eef3f8;border:1px solid #cbd8e5}.button.danger{background:var(--danger)}.button.danger:hover{background:#a81818}.tab-list{border-bottom:1px solid var(--line);gap:.25rem;margin:1.5rem 0 1rem;display:flex;overflow-x:auto}.tab{color:var(--text-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:.8rem 1.1rem;font-weight:700}.tab:hover{color:var(--gridware-blue)}.tab.active{border-bottom-color:var(--gridware-accent);color:var(--gridware-blue)}form{gap:.5rem;max-width:34rem;display:grid}label{color:#344054;font-size:.9rem;font-weight:600}input{font:inherit;background:#fff;border:1px solid #b8c3cf;border-radius:2px;margin-bottom:.75rem;padding:.8rem}.measurement-chart{color:#1677a8;background:#f7fbfd;border:1px solid #d8e6ed;width:100%;height:360px;max-height:none;margin:1rem 0}.price-chart{height:190px}.chart-legend{flex-wrap:wrap;gap:1rem;font-size:.85rem;display:flex}.legend-actual,.legend-offered{color:#1677a8}.legend-soc{color:#c26d2d}.legend-energy{color:#6d9daf}.session-summary{border:1px solid var(--border,#d9dde5);background:var(--surface-muted,#f5f6f8);border-radius:.6rem;flex-wrap:wrap;gap:.6rem 1.2rem;margin:1rem 0;padding:1rem;display:flex}.session-summary span{color:var(--text-muted)}.legend-fee,.legend-market{border-radius:2px;width:.75rem;height:.75rem;margin-right:.3rem;display:inline-block}.station-connectors{color:var(--text-muted);margin:.45rem 0 0;padding-left:1.1rem;font-size:.82rem}.hierarchy-parent td{background:var(--surface-muted,#f5f6f8);padding-top:1.1rem}.hierarchy-station td:first-child,.hierarchy-connector td:first-child{position:relative}.hierarchy-station td:first-child{padding-left:1.4rem}.hierarchy-connector td:first-child{color:var(--text-muted);padding-left:3.2rem}.hierarchy-connector td:first-child:before{content:"";border-left:1px solid var(--border,#d9dde5);height:2rem;position:absolute;top:-.8rem;left:1.85rem}.hierarchy-connector td:first-child:after{content:"";border-top:1px solid var(--border,#d9dde5);width:1rem;position:absolute;top:50%;left:1.85rem}.tree-toggle{width:1.4rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;margin-right:.3rem;font-size:1rem}.connector-label{font-weight:500}.status-badge{background:var(--surface-muted,#f5f6f8);border-radius:999px;padding:.15rem .55rem;font-size:.78rem;display:inline-block}.station-map{border:1px solid var(--line);border-radius:12px;height:420px;margin-top:1rem;overflow:hidden}.station-map .leaflet-container{width:100%;height:100%}table{border-collapse:collapse;background:#fff;width:100%;margin-top:1rem;font-size:.92rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.85rem .75rem}th{color:#4b5563;white-space:nowrap;background:#f2f4f7;font-weight:700}small{color:var(--text-muted)}[role=status]{background:#edf7ed;border-left:4px solid #2e7d32;padding:.75rem 1rem}[role=alert]{border-left:4px solid var(--danger);color:#8a1f1f;background:#fff1f1;padding:.75rem 1rem}footer{color:#607174;background:#e9eaec;margin-left:260px;padding:1rem max(1rem,50vw - 710px);font-size:.8rem}ul{padding-left:1.2rem}.muted{color:var(--text-muted)}.success{background:#edf7ed;border-left:4px solid #2e7d32;padding:.75rem 1rem}.error{border-left:4px solid var(--danger);color:#8a1f1f;background:#fff1f1;padding:.75rem 1rem}.page-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.table-wrap,.table-scroll{max-width:100%;overflow-x:auto}.compact-table{font-size:.82rem}.compact-table th,.compact-table td{white-space:nowrap;padding:.55rem .5rem}.compact-table th small{color:inherit;opacity:.78;letter-spacing:0;text-transform:none;font-size:.68rem;font-weight:500;display:block}.sync-table td:first-child,.sync-table td:nth-child(2){min-width:8.5rem}.sync-table td:not(:first-child):not(:nth-child(2)),.sync-table th:not(:first-child):not(:nth-child(2)){text-align:center}.diff-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;display:flex}.diff-toolbar select{border:1px solid #b8c3cf;margin-left:.5rem;padding:.55rem}.diff-toolbar input,.ocpp-key-search input{min-width:min(100%,19rem);margin:.35rem 0 0;padding:.55rem}.ocpp-selection-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:.75rem 0;display:flex}.ocpp-selection-actions .button{padding:.55rem .8rem}.ocpp-key-search{margin:1rem 0;display:block}.ocpp-export-toolbar{flex-wrap:wrap;align-items:end;gap:1rem;margin:1rem 0;display:flex}.ocpp-export-toolbar .ocpp-key-search{margin:0}.ocpp-export-toolbar .checkbox-label{margin-bottom:.55rem}.ocpp-export-toolbar .button{margin-bottom:.15rem}.query-detail{white-space:pre-wrap;word-break:break-all;background:var(--surface-muted,#f5f6f8);border-radius:4px;padding:.6rem;font-size:.78rem;display:block}.sync-error-details{white-space:pre-wrap;text-align:left;max-height:30rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;overflow:auto}.sync-run-summary{border:1px solid var(--line,#d9dde5);border-left:4px solid var(--gridware-accent,#0b4f9f);background:#fff;flex-wrap:wrap;gap:0;margin:1rem 0;display:flex}.sync-run-summary>div{border-right:1px solid var(--line,#d9dde5);flex:auto;min-width:9rem;padding:.7rem 1rem}.sync-run-summary>div:last-child{border-right:0}.sync-run-summary dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.sync-run-summary dd{margin:.2rem 0 0;font-size:1rem;font-weight:600}.sync-run-summary small{font-weight:400;display:block}.compact-table code{font-size:.78rem}.compact-table td.error{color:var(--danger,#b91c1c);font-weight:600}.compact-table .success{color:#2e7d32;background:0 0;border:0;padding:0;font-weight:600}.compact-table .error{color:#b91c1c;background:0 0;border:0;padding:0;font-weight:600}.compact-table .warning{color:#d97706;background:0 0;border:0;padding:0;font-weight:600}.compact-table td.availability-low,.compact-table td.availability-medium,.compact-table td.availability-high,.compact-table td.availability-unknown{text-align:center;font-weight:700}.compact-table td.availability-low{color:#842029;background:#f8d7da}.compact-table td.availability-medium{color:#664d03;background:#fff3cd}.compact-table td.availability-high{color:#0f5132;background:#d1e7dd}.compact-table td.availability-unknown{color:#4b5563;background:#e5e7eb}.report-explanation{border-left:4px solid var(--gridware-accent);background:var(--surface-muted);margin:1rem 0;padding:.85rem 1rem;font-size:.9rem}.report-explanation p{margin:.35rem 0 .7rem}.availability-legend{flex-wrap:wrap;gap:1rem;font-size:.82rem;font-weight:600;display:flex}.availability-legend-swatch{vertical-align:-.08rem;border:1px solid #999;width:.8rem;height:.8rem;margin-right:.3rem;display:inline-block}.availability-legend-swatch.availability-low{background:#f8d7da}.availability-legend-swatch.availability-medium{background:#fff3cd}.availability-legend-swatch.availability-high{background:#d1e7dd}.availability-legend-swatch.availability-unknown{background:#e5e7eb}.compact-table th.availability-day-header{text-align:center;width:2.65rem;min-width:2.65rem;padding:.3rem .15rem;line-height:1.05}.availability-month,.availability-day{display:block}.availability-month{text-transform:uppercase;opacity:.85;font-size:.68rem;font-weight:600}.availability-day{margin-top:.15rem;font-size:.82rem}.anomaly-method summary,.rule-category summary{cursor:pointer;color:var(--gridware-blue);font-weight:700}.anomaly-method>summary{padding:.85rem 0}.anomaly-method-content{padding:0 0 1rem}.rule-category{border:1px solid var(--line);background:#fff;margin:1rem 0}.rule-category>summary{background:#f2f4f7;justify-content:space-between;gap:1rem;padding:.85rem 1rem;display:flex}.rule-category>summary span{color:var(--text-muted);font-size:.82rem;font-weight:600}.rule-category>p{margin:1rem}.rule-category .table-wrap{width:calc(100% - 2rem);margin:0 1rem 1rem}.rule-category table{margin-top:0}.diff-list{gap:1rem;margin-top:1rem;display:grid}.diff-card{border:1px solid var(--line);border-left:5px solid var(--gridware-accent);background:#fff;padding:1rem}.diff-card.should_match{border-left-color:#d97706}.diff-card.allowed_different{border-left-color:#0284c7}.diff-card.unique{border-left-color:#64748b}.diff-card.unrated{border-left-color:#b91c1c}.row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.badge{color:var(--gridware-blue);background:#eef3f8;border:1px solid #cbd8e5;border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.78rem;font-weight:700;display:inline-flex}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.86rem}.ocpp-value{color:#1f2933;white-space:normal;overflow-wrap:anywhere;word-break:break-word;min-width:12rem}.sync-info{border-left:4px solid var(--gridware-accent);background:var(--surface-muted);margin:1rem 0;padding:.8rem 1rem}.sync-progress{border:1px solid var(--gridware-accent);border-left:4px solid var(--gridware-accent);background:var(--surface-muted);align-items:center;gap:.75rem;margin:1rem 0;padding:.8rem 1rem;display:flex}.sync-progress small{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);flex:1;overflow:hidden}.progress-spinner{font-size:1.25rem;animation:1s linear infinite sync-spin}@keyframes sync-spin{to{transform:rotate(360deg)}}.sync-info span{color:var(--text-muted)}.filters{flex-wrap:wrap;gap:1rem;margin:1.25rem 0;display:flex}.filters label{min-width:12rem}.filters select{border:1px solid var(--line);background:var(--surface);width:100%;font:inherit;margin-top:.35rem;padding:.7rem;display:block}.price-controls{flex-wrap:wrap;align-items:end;gap:1rem;margin:1.25rem 0;display:flex}.price-controls select{border:1px solid var(--line);background:var(--surface);font:inherit;margin-top:.35rem;padding:.7rem;display:block}.checkbox-label{align-items:center;gap:.5rem;display:flex}.checkbox-label input{width:auto;margin:0}.chart-with-axis{align-items:stretch;display:flex}.price-y-axis{text-align:right;width:4.5rem;color:var(--text-muted);flex-direction:column;justify-content:space-between;padding:2.1rem .35rem 1.4rem 0;font-size:.68rem;display:flex}.single-day-chart{border:1px solid var(--line);background:var(--surface-muted);flex:1;align-items:flex-end;gap:2px;height:240px;padding:1rem 0 1.4rem;display:flex;position:relative;overflow:visible}.price-days{flex:1;min-width:0;display:flex}.price-day{flex:1;min-width:0}.price-day+.price-day{border-left:3px solid var(--gridware-accent)}.price-day-label{text-align:center;background:var(--surface-muted);letter-spacing:.04em;border:1px solid var(--line);border-bottom:0;height:2.1rem;padding:.55rem;font-size:.72rem;font-weight:700}.day-ahead-chart{border:1px solid var(--line);background:var(--surface-muted);flex:1;align-items:flex-end;gap:2px;height:240px;padding:1rem .5rem .25rem;display:flex;overflow-x:auto}.price-bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:stretch;min-width:8px;height:100%;display:flex;position:relative}.price-bar-wrap small{white-space:nowrap;font-size:.62rem;position:absolute;bottom:0;left:0;transform:translateY(100%)}.price-bar-stack{flex-direction:column;justify-content:flex-end;width:100%;min-height:2px;display:flex}.price-bar-fee{background:#68a878;width:100%}.price-bar-market{background:var(--gridware-accent);width:100%}.price-bar{background:var(--gridware-accent);width:100%;min-height:2px}.price-bar-wrap small{writing-mode:vertical-rl;margin-top:.25rem;font-size:.58rem}.metric-grid{border:1px solid var(--line,#d9dde5);border-left:4px solid var(--gridware-accent,#0b4f9f);background:#fff;flex-wrap:wrap;gap:0;margin:1rem 0;display:flex}.metric-grid>div{border-right:1px solid var(--line,#d9dde5);flex:auto;min-width:9rem;padding:.7rem 1rem}.metric-grid>div:last-child{border-right:0}.metric-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600;display:block}.metric-grid dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.metric-grid dd{margin:.2rem 0 0;font-size:1rem;font-weight:600}.metric-grid strong{margin-top:.2rem;font-size:1rem;display:block}.provider-links{flex-wrap:wrap;grid-column:1/-1;gap:.75rem;margin:.25rem 0 0;display:flex}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0;display:grid}.detail-grid>div,.history-box{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:.8rem}.detail-wide{grid-column:1/-1}.attachment-list,.history-list{gap:.75rem;padding:0;list-style:none;display:grid}.attachment-list li{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.75rem}.history-box{margin-top:.5rem;font-size:.82rem}.history-box p{margin:.45rem 0}.provider-form{border:1px solid var(--line);background:#f8fafc;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;max-width:none;padding:1rem}.provider-form h3{grid-column:1/-1;margin:0}.maintenance-summary{color:#344054;background:#f2f4f7;flex-wrap:wrap;gap:1rem;margin:1.25rem 0;padding:.8rem 1rem;display:flex}.summary-overdue{color:#b91c1c}.summary-upcoming{color:#0b4f9f}.calendar-event.overdue{background:#fff1f1;border-left-color:#b91c1c}.calendar-heading{justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.calendar-heading h2{text-transform:capitalize;margin:0}.maintenance-calendar{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.calendar-weekday{color:#4b5563;text-align:center;background:#f2f4f7;padding:.6rem;font-weight:700}.calendar-day,.calendar-empty{background:#fff;min-height:6.5rem;padding:.5rem}.calendar-day strong{color:var(--gridware-blue)}.calendar-event{border-left:3px solid var(--gridware-accent);white-space:nowrap;text-overflow:ellipsis;background:#eef3f8;margin-top:.35rem;padding:.25rem .35rem;font-size:.75rem;overflow:hidden}.calendar-event.completed{background:#edf7ed;border-left-color:#2e7d32}.calendar-event.blocked{background:#fff7ed;border-left-color:#d97706}.calendar-event.cancelled{background:#f3f4f6;border-left-color:#9ca3af;text-decoration:line-through}.link-button{color:var(--gridware-blue);cursor:pointer;font:inherit;background:0 0;border:0;padding:.35rem .5rem .1rem 0;font-size:.82rem;font-weight:600}.danger-link{color:var(--danger)}.app-shell.public{background:linear-gradient(135deg,var(--gridware-blue) 0%,#0a4388 42%,#e9eaec 42%,#e9eaec 100%);min-height:100vh}.app-shell.public header{width:auto;min-height:auto;box-shadow:none;color:#fff;background:0 0;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem max(1rem,50vw - 520px);position:static}.app-shell.public header strong{color:#fff;border:0;min-height:auto;padding:0}.app-shell.public nav{border:0;flex-direction:row;gap:.5rem;padding:0}.app-shell.public nav a{color:#fff;background:#ffffff12;border:1px solid #fff6;border-radius:2px;min-height:auto;padding:.65rem 1rem}.app-shell.public nav a:before{display:none}.app-shell.public main{place-items:center;min-height:calc(100vh - 160px);margin-left:0;padding:2rem;display:grid}.app-shell.public main:before{display:none}.app-shell.public .card{border:0;border-radius:4px;width:min(100%,34rem);box-shadow:0 24px 60px #001b3d33}.app-shell.public footer{color:#fffc;background:0 0;margin-left:0}.app-shell.public h1{font-size:clamp(2.2rem,6vw,3.4rem)}nav a,.nav-button{color:#00377a;letter-spacing:.04em;font-family:Titillium Web,Arial,sans-serif}h1{letter-spacing:-.02em;font-family:Titillium Web,Arial,sans-serif}.metric-grid>div{background:#f5f5f5;border-color:#d9d9d9}.day-ahead-chart,.single-day-chart{background:#f5f5f5;border-color:#d9d9d9}.price-bar-wrap:nth-child(2n) .price-bar-market{background:#315b91}.price-bar-wrap:nth-child(2n) .price-bar-fee{background:#f9ad4d}.build-info{white-space:nowrap}.ui-event-connection{background:#aaa;border-radius:50%;flex:0 0 .6rem;width:.6rem;height:.6rem;display:inline-block;box-shadow:0 0 0 2px #fffa}.ui-event-connection-connected{background:#3c9b55}.ui-event-connection-connecting{background:#d9a441}.ui-event-connection-disconnected{background:var(--danger)}.backend-status{color:var(--text-muted);align-items:center;gap:.45rem;margin:.25rem 0 0;font-size:.75rem;display:inline-flex}.backend-status span{background:#a0a0a0;border-radius:50%;width:.55rem;height:.55rem}.backend-status-available span{background:#3c9b55}.backend-status-unavailable span{background:var(--danger)}.data-products-page{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;margin:0;padding:1.5rem}.data-product-browser-page{width:100%;max-width:none;padding:1rem}.data-product-browser-page .data-products-page-embedded{padding:0}.data-product-browser-page .url-tabs{margin:.35rem 0 .5rem}.app-shell.area-datamart .data-product-browser-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:.5rem;display:flex}.app-shell.area-datamart .data-product-browser-heading h1{margin-bottom:.2rem}.app-shell.area-datamart .data-product-browser-heading>div>p:last-child{margin:.2rem 0 0}.app-shell.area-datamart .data-product-heading-context{gap:.4rem;min-width:20rem;max-width:28rem;display:grid}.app-shell.area-datamart .data-product-description-box{border:1px solid var(--line);border-left:3px solid var(--gridware-accent);background:var(--surface-muted);color:var(--text-muted);font-size:.8rem}.app-shell.area-datamart .data-product-description-box summary{cursor:pointer;padding:.45rem .7rem;font-weight:700}.app-shell.area-datamart .data-product-description-box p{border-top:1px solid var(--line);margin:0;padding:.45rem .7rem}.app-shell.area-datamart .data-product-snapshot-info{border:1px solid var(--line);border-left:3px solid var(--gridware-accent);background:var(--surface-muted);grid-template-columns:auto minmax(10rem,1fr);gap:.2rem .75rem;min-width:20rem;max-width:28rem;padding:.65rem .85rem;font-size:.82rem;display:grid}.app-shell.area-datamart .data-product-snapshot-info span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:700}.app-shell.area-datamart .data-product-snapshot-info strong{overflow-wrap:anywhere}.app-shell.area-datamart .data-products-page-embedded .data-product-toolbar{margin:.2rem 0 .4rem}.app-shell.area-datamart .data-products-page-embedded .data-product-details{margin:.5rem 0}.app-shell.area-datamart .data-products-page-embedded .data-product-details summary{cursor:pointer;color:var(--text-muted);font-size:.8rem;font-weight:700}.app-shell.area-datamart .data-products-page-embedded .data-product-details p{color:var(--text-muted);margin:.45rem 0;font-size:.85rem}.app-shell.area-datamart .data-products-page-embedded .data-product-details code{color:var(--text-muted);font-size:.75rem}.quality-detail{white-space:pre-wrap;max-width:34rem;font:inherit;color:var(--muted,#66736f);margin:0;font-size:.82rem}.data-access-page{width:100%;max-width:72rem;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 auto;padding:1.5rem 0}.data-access-page-header{align-items:center;margin-top:.5rem}.data-access-page-header h1{margin:.15rem 0 .5rem}.data-access-page-header .dashboard-greeting{max-width:52rem;margin:0}.data-access-copy-fields{gap:.75rem;margin:1rem 0;display:grid}.data-access-copy-fields small{color:var(--text-muted)}.data-access-copy-field{font-weight:600;display:block}.data-access-copy-field>span{align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.data-access-copy-field input{border:1px solid var(--line);background:var(--surface);min-width:0;font:inherit;flex:1;padding:.65rem .75rem}.data-access-copy-field button{white-space:nowrap}.data-access-navigation{flex-flow:row;align-items:stretch;gap:.25rem;margin:1.25rem 0 1.75rem;padding:0;display:flex;overflow-x:auto}.data-access-navigation a{color:var(--text-muted);border:0;border-bottom:3px solid #0000;border-radius:0;flex:none;text-decoration:none}.data-access-navigation a.active,.data-access-navigation a:hover{border-bottom-color:var(--gridware-accent);color:var(--gridware-blue);background:0 0}.data-access-cards{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;display:grid}.mcp-access-details>p:first-of-type{max-width:58rem}.mcp-recommended-path{border:1px solid var(--gridware-accent);border-left:4px solid var(--gridware-accent);background:#fff;margin:1.5rem 0;padding:1.25rem}.mcp-recommended-path h3{color:var(--gridware-blue);margin:.25rem 0 .5rem}.mcp-recommended-path p{max-width:58rem}.mcp-recommended-path .data-access-code{margin-bottom:.75rem}.mcp-technical-details{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.mcp-technical-details summary{cursor:pointer;color:var(--gridware-blue);font-weight:700}.data-access-card{border:1px solid var(--line);border-left:4px solid var(--gridware-accent);color:var(--text);background:#fff;border-radius:0;flex-direction:column;gap:.55rem;padding:1.1rem;text-decoration:none;display:flex}.data-access-card:hover{border-color:var(--gridware-accent)}.data-access-card strong{color:var(--gridware-blue);font-size:1.2rem}.data-access-card p{color:var(--text-muted);margin:0;line-height:1.5}.data-access-card-link{color:var(--gridware-blue);margin-top:auto;font-weight:700}.data-access-code{color:#edf6f3;white-space:pre;background:#102534;border-radius:0;margin:1rem 0;padding:1rem;overflow:auto}.data-access-code code{color:inherit}.data-access-endpoints{grid-template-columns:minmax(0,1fr) minmax(12rem,1fr);align-items:center;gap:.6rem 1rem;margin:1rem 0;display:grid}.data-access-endpoints code{border:1px solid var(--line);background:#fff;padding:.45rem .6rem;overflow:auto}.data-access-endpoints span{color:var(--text-muted)}.data-products-page .table-wrap{width:100%;max-width:none}.data-products-page table{min-width:100%}.data-products-page .table-wrap thead th{z-index:2;box-shadow:0 1px 0 var(--line);position:sticky;top:0}.data-product-active-snapshot{margin:.4rem 0 0}.bi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.bi-panel{border:1px solid var(--line);background:var(--surface);padding:1rem}.bi-panel h2{margin:.1rem 0 1.25rem;font-size:1.2rem}.bi-chart-wrap{width:100%;overflow-x:auto}.bi-chart{width:100%;min-width:420px;height:auto;display:block;overflow:visible}.bi-grid-line{stroke:var(--line);stroke-width:1px}.bi-axis-line{stroke:var(--text-muted);stroke-width:1.2px}.bi-axis-label,.bi-unit-label,.bi-value-label,.bi-x-label{fill:var(--text-muted);font-family:inherit;font-size:12px}.bi-unit-label{font-weight:700}.bi-value-label{fill:var(--gridware-blue);font-size:11px;font-weight:700}.bi-x-label{fill:var(--text);font-size:11px}.bi-bar-fill{fill:var(--gridware-accent)}.bi-note{color:var(--text-muted);margin-top:1.5rem;font-size:.85rem}@media (width<=900px){.bi-grid{grid-template-columns:1fr}}@media (width<=760px){.app-shell.area-datamart .data-product-browser-heading{display:block}.app-shell.area-datamart .data-product-heading-context{min-width:0;max-width:none;margin-top:.75rem}.app-shell.area-datamart .data-product-snapshot-info{min-width:0;max-width:none;margin-top:0}header{width:auto;position:static}header strong{min-height:76px}nav{flex-direction:row;padding:.5rem;overflow:auto}nav a,.nav-button{white-space:nowrap;padding:.75rem 1rem .75rem 2.5rem}.nav-button:before,nav a:before{left:.75rem}main,footer{margin-left:0}main{padding:.75rem}main:before{margin:-.75rem -.75rem 1rem;padding:0 1rem}.card{padding:1rem;overflow-x:auto}table{min-width:760px}.app-shell.public header{flex-direction:column;align-items:flex-start}.app-shell.public main{padding:1rem}}header strong:before{color:#fffafd;background:#d94f87;font-family:Comic Sans MS,Trebuchet MS,cursive}.button{color:#fffafd;background:#d94f87;box-shadow:0 2px 4px #b8326833}input{color:#245b3a;background:#fffafd;border-color:#d78ca9}input:focus{border-color:#b83280;outline-color:#b8328033}.session-summary{background:#fff0f6;border-color:#e8a9c0}.badge{color:#287044;background:#ffe0ec;border-color:#e8a9c0}a{color:#1d1d1b;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}header{background:#fff;box-shadow:4px 0 16px #00000012}header strong{color:#1d1d1b;letter-spacing:.03em;border-bottom-color:#d3d3cf}header strong:before{color:#fff;background:#1d1d1b;border-radius:0;font-family:Arial,Helvetica,sans-serif}main:before{color:#fff;letter-spacing:.02em;background:#1d1d1b}h1,h2{color:#1d1d1b;letter-spacing:-.02em;font-weight:400}.eyebrow{color:#e35d5b}.button{color:#fff;box-shadow:none;text-transform:uppercase;letter-spacing:.06em;background:#e35d5b;border-radius:0;font-size:.85rem}.button.secondary{color:#1d1d1b;background:#fff;border-color:#1d1d1b;border-radius:0}.button.secondary:hover{background:#f1f1ef}label{color:#1d1d1b}a{color:#101010;text-decoration:none}header{box-shadow:none;color:#fff;background:#101010}header strong{color:#fff;letter-spacing:.04em;border-bottom-color:#333;font-weight:400}header strong:before{color:#101010;background:#fff;font-family:Arial,Helvetica,sans-serif;font-weight:700}nav a,.nav-button{color:#fff;letter-spacing:.08em;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:.78rem}main:before{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#101010;font-family:Arial,Helvetica,sans-serif;font-size:1rem;font-weight:400}.card{box-shadow:none;background:#fff;border-color:#d3d5d7;border-radius:0}h1{letter-spacing:-.04em;color:#101010;font-family:Arial,Helvetica,sans-serif;font-weight:300}h2{color:#101010;font-family:Arial,Helvetica,sans-serif;font-weight:400}.eyebrow{color:#101010;letter-spacing:.16em;font-size:.7rem}.button{color:#fff;box-shadow:none;letter-spacing:.1em;text-transform:uppercase;background:#101010;border-radius:0;font-family:Arial,Helvetica,sans-serif;font-size:.78rem;font-weight:400}.button.secondary{color:#101010;background:#fff;border:1px solid #101010;border-radius:0}label{color:#101010;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}input{color:#101010;background:#fff;border-color:#101010;border-radius:0}input:focus{border-color:#e35d5b;outline:2px solid #e35d5b55}.measurement-chart{color:#101010;background:#fafafa;border-color:#d3d5d7}.chart-legend,.legend-actual,.legend-offered,.legend-soc,.legend-energy{color:#101010}.session-summary{background:#f5f5f5;border-color:#d3d5d7;border-radius:0}th{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#101010;font-weight:400}table{background:#fff}small,.muted,.session-summary span{color:#666}.metric-grid>div,.detail-grid>div,.history-box{background:#f5f5f5;border-color:#d3d5d7}.badge{color:#101010;background:#fff;border-color:#101010;border-radius:0}.diff-card{border-color:#d3d5d7 #d3d5d7 #d3d5d7 #e35d5b}.link-button{color:#101010}.app-shell.public header{background:0 0}.app-shell.public header strong:before{color:#101010;background:#fff}.app-shell.public .card{box-shadow:none}.legend-fee{background:#7fc9c6}.legend-market{background:#e35d5b}.success,[role=status]{color:#101010;background:#eff8f7;border-left-color:#287b78}header{color:#00377a;background:#fff;border-bottom:4px solid #f7931e}header strong{color:#00377a;border-bottom-color:#e7e7e7}header strong:before{color:#fff;background:#f7931e}nav a,.nav-button{color:#00377a}main:before{color:#fff;background:#00377a}.card{background:#fff;border-color:#d9d9d9;box-shadow:0 2px 8px #00377a14}h1,h2,.eyebrow{color:#00377a}.button{color:#fff;background:#00377a}input,select{color:#333;background:#fff;border-color:#c8c8c8}.tab.active{color:#00377a;border-bottom-color:#f7931e}.price-bar-market{background:#00377a}.dashboard-panel{border:1px solid var(--line);background:var(--surface-muted);margin:2rem 0;padding:1rem}.dashboard-connection-charts{margin-top:1.5rem}.dashboard-connection-charts>h2{margin-bottom:.75rem}.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.dashboard-chart-grid .dashboard-panel{margin:0}.dashboard-pie-layout{align-items:center;gap:1.25rem;min-height:11rem;display:flex}.dashboard-pie{aspect-ratio:1;color:var(--text);background-clip:padding-box;border-radius:50%;flex-direction:column;flex:0 0 9rem;justify-content:center;align-items:center;display:flex;position:relative}.dashboard-pie:after{content:"";background:var(--surface-muted);border-radius:50%;position:absolute;inset:1.7rem}.dashboard-pie strong,.dashboard-pie span{z-index:1;position:relative}.dashboard-pie strong{font-size:1.4rem}.dashboard-pie span{color:var(--text-muted);font-size:.72rem}.dashboard-pie-legend{gap:.45rem;display:grid}.dashboard-pie-legend span{align-items:center;gap:.4rem;font-size:.85rem;display:flex}.dashboard-pie-legend i{border-radius:50%;width:.7rem;height:.7rem}@media (width<=760px){.dashboard-chart-grid{grid-template-columns:1fr}.dashboard-pie-layout{flex-wrap:wrap;align-items:flex-start}}.user-status-panel{z-index:20;border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:.75rem;max-width:calc(100vw - 280px);padding:.55rem .8rem;font-size:.82rem;display:flex;position:fixed;top:1rem;right:1rem;box-shadow:0 4px 16px #00377a14}.user-status-panel strong{text-overflow:ellipsis;white-space:nowrap;color:#00377a;max-width:22rem;overflow:hidden}.user-status-panel span{color:#666}.approval-pill{background:#fff1d8;border-radius:999px;padding:.15rem .5rem;font-weight:700;color:#7a4a00!important}.approval-drawer{z-index:19;border:1px solid var(--line);background:#fff;border-radius:14px;gap:.75rem;width:min(28rem,100vw - 2rem);padding:1rem;display:grid;position:fixed;top:4.25rem;right:1rem;box-shadow:0 12px 32px #00377a22}.dashboard-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dashboard-panel-header h2{margin-top:0}.range-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.range-buttons .tab{border:1px solid var(--line);background:#fff;padding:.55rem .8rem}.dashboard-pie-panel .dashboard-panel-header{align-items:flex-start}.dashboard-pie-panel .dashboard-panel-header>div:first-child{flex:1 1 0;min-width:0}.dashboard-panel-header .range-buttons{margin-top:0}.use-case-range-buttons{flex-wrap:nowrap;flex:none;gap:.25rem;margin-left:auto}.use-case-range-buttons .tab{white-space:nowrap;padding:.3rem .45rem;font-size:.75rem}.metric-line{margin:.5rem 0 1rem}.daily-energy-chart-with-axis{grid-template-columns:3.8rem minmax(0,1fr) auto;align-items:stretch;gap:.5rem;display:grid}.daily-energy-y-axis{text-align:right;height:220px;color:var(--text-muted);flex-direction:column;justify-content:space-between;padding:.15rem 0 1.25rem;font-size:.72rem;display:flex}.daily-energy-y-unit{color:var(--text-muted);align-self:start;font-size:.72rem}.daily-energy-chart{border-left:1px solid var(--line);border-bottom:1px solid var(--line);align-items:end;gap:.25rem;height:220px;padding:1rem .5rem .25rem;display:flex;position:relative;overflow-x:auto}.approval-list{gap:.75rem;margin:1rem 0;display:grid}.approval-card{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem;display:flex}.approval-card p{margin:.25rem 0}.daily-energy-gridline{pointer-events:none;border-top:1px solid #d9d9d980;position:absolute;left:0;right:0}.daily-energy-bar-wrap{z-index:1;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.35rem;min-width:16px;height:100%;display:flex;position:relative}.daily-energy-bar{background:var(--gridware-blue);border-radius:3px 3px 0 0;width:100%;min-width:10px}.daily-energy-bar-stacked{flex-direction:column;display:flex;overflow:hidden}.daily-energy-bar-stacked span{min-height:0;display:block}.energy-chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:1rem;margin-top:.75rem;font-size:.8rem;display:flex}.energy-chart-legend span{align-items:center;gap:.35rem;display:inline-flex}.energy-chart-legend i{border-radius:2px;width:.7rem;height:.7rem}.daily-energy-bar-wrap:nth-child(2n) .daily-energy-bar{background:#315b91}.daily-energy-bar-wrap small{white-space:nowrap;min-height:1rem;font-size:.7rem}@media (width<=760px){.daily-energy-chart-with-axis{grid-template-columns:3rem minmax(0,1fr) auto}.daily-energy-y-axis{font-size:.65rem}.daily-energy-bar-wrap{min-width:12px}.dashboard-panel{padding:.75rem}.range-buttons .tab{padding:.45rem .6rem}}:root{color:#404042;--gridware-blue:#8bc03e;--gridware-blue-dark:#6d9f2f;--gridware-accent:#8bc03e;--surface:#fff;--surface-muted:#f3f6ef;--line:#d0cece;--text-muted:#6d6e72;--danger:#a94442;background:#fbfbfb;font-family:Lato,Lato Light,Arial,Helvetica,sans-serif}body{color:#404042;background:#fbfbfb}a{color:#6d9f2f}header{color:#404042;background:#fff;border-bottom:4px solid #8bc03e;box-shadow:4px 0 18px #40404214}header strong{color:#404042;letter-spacing:.02em;text-transform:none;border-bottom-color:#d0cece;min-height:112px;font-weight:600}header strong:before{display:none}.brand-logo{object-fit:contain;width:58px;height:54px;display:block}header strong span{color:#404042}nav{border-bottom-color:#d0cece}.nav-account{border-top-color:#d0cece}nav a,.nav-button{color:#404042;letter-spacing:.06em;text-transform:uppercase;font-family:Lato,Arial,Helvetica,sans-serif}nav a:hover,.nav-button:hover{color:#6d9f2f;background:#f3f6ef}nav a:before,.nav-button:before{color:#8bc03e}main{background:#fbfbfb}main:before{content:"Grid & Co. Companion";color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#8bc03e;font-weight:700}.card{background:#fff;border-color:#d0cece;border-radius:14px;box-shadow:0 3px 14px #40404212}h1,h2{color:#8bc03e;text-transform:none;letter-spacing:.01em;font-family:Lato,Arial,Helvetica,sans-serif;font-weight:700}.eyebrow{color:#6d6e72;letter-spacing:.18em}.button{color:#fff;box-shadow:none;letter-spacing:.04em;text-transform:none;background:#8bc03e;border-radius:999px;font-weight:700}.button:hover{background:#6d9f2f}.button.secondary{color:#404042;background:#fff;border-color:#8bc03e}.button.secondary:hover{color:#6d9f2f;background:#f3f6ef}input,select{color:#404042;background:#fff;border-color:#d0cece;border-radius:20px}input:focus,select:focus{border-color:#8bc03e;outline:3px solid #8bc03e40}th{color:#fff;background:#8bc03e}tbody tr:hover{background:#f3f6ef}.dashboard-panel,.detail-grid>div,.history-box{background:#f3f6ef;border-color:#d0cece;border-radius:20px}.metric-grid>div,.sync-info{background:#fff;border-color:#d0cece;border-radius:0}.daily-energy-bar,.price-bar-market{background:#8bc03e}.daily-energy-bar-wrap:nth-child(2n) .daily-energy-bar,.price-bar-wrap:nth-child(2n) .price-bar-market{background:#6d9f2f}.price-bar-fee{background:#d0cece}footer{color:#6d6e72;background:#f3f6ef}.app-shell.public{background:linear-gradient(135deg,#8bc03e 0% 42%,#fbfbfb 42% 100%)}.app-shell.public header strong:before{display:none}.app-shell.public nav a{color:#fff;background:#ffffff18;border-color:#fff9}.app-shell.public nav a:hover{color:#fff;background:#ffffff2b}@media (width<=760px){header strong{min-height:84px}.brand-logo{width:46px;height:42px}}header strong{color:#fff;background:#8bc03e;border-bottom-color:#8bc03e;flex-direction:column;justify-content:center;align-items:flex-start;gap:.45rem}header strong span{color:#fff;text-transform:uppercase;letter-spacing:.16em;margin-left:.1rem;font-size:.82rem;line-height:1.1;display:block}.brand-logo{object-fit:contain;object-position:left center;width:150px;height:30px}.assistant-ui-thread{flex-direction:column;gap:1rem;min-height:25rem;display:flex}.assistant-ui-viewport{flex-direction:column;gap:1rem;min-height:25rem;max-height:42rem;padding:.5rem 0;display:flex;overflow:auto}.assistant-ui-message{border:1px solid var(--line);color:#404042;border-radius:16px;max-width:min(90%,52rem);padding:.8rem 1rem;line-height:1.5}.assistant-ui-user-message{background:#e7f0dc;align-self:flex-end}.assistant-ui-assistant-message{background:#fff;flex-direction:column;align-self:flex-start;display:flex}.assistant-ui-message p{margin:.25rem 0}.assistant-ui-message pre{white-space:pre-wrap;overflow-wrap:anywhere}.assistant-ui-message table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.9rem;display:block;overflow-x:auto}.assistant-ui-message th,.assistant-ui-message td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.4rem .55rem}.assistant-ui-message th{background:var(--surface-muted);font-weight:700}.assistant-ui-message tr:nth-child(2n){background:#f8faf9}.ai-companion-floating-trigger{background:var(--gridware-accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:.8rem 1.05rem;font-weight:700;box-shadow:0 .35rem 1rem #073b7847}.ai-companion-floating-trigger:hover{background:var(--gridware-blue-dark)}.ai-companion-modal-anchor{z-index:40;position:fixed;bottom:1.25rem;right:1.25rem}.ai-companion-modal-content{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:1rem;outline:none;flex-direction:column;width:min(48rem,100vw - 2.5rem);max-height:calc(100vh - 2.5rem);display:flex;overflow:clip;box-shadow:0 1rem 4rem #0f172a59}.ai-companion-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.ai-companion-modal-content .ai-chat-panel{min-height:0;padding:1rem;overflow:auto}.assistant-ui-error{color:#9b2c2c;margin-top:.5rem;font-weight:600}.assistant-ui-status{border-left:3px solid var(--gridware-accent);color:#59604f;background:#f4f8ee;order:99;margin:.35rem 0;padding:.45rem .65rem;font-size:.85rem}.assistant-ui-usage{color:#4b5563;background:#f3f6fa;border-left:3px solid #8ba3c2;margin:.35rem 0;padding:.45rem .65rem;font-size:.82rem}.assistant-ui-usage summary{cursor:pointer}.assistant-ui-usage dl{grid-template-columns:auto 1fr;gap:.15rem .75rem;margin:.45rem 0;display:grid}.assistant-ui-usage dt{font-weight:600}.assistant-ui-usage dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.assistant-ui-tool-response{border:1px solid var(--line);background:#fafcf9;margin:.5rem 0;padding:.45rem .65rem;font-size:.85rem}.assistant-ui-tool-response summary{cursor:pointer;color:#59604f;font-weight:600}.assistant-ui-tool-response pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:20rem;margin:.5rem 0;font-size:.78rem;overflow:auto}.assistant-ui-tool-event{color:#59604f;background:#f4f8ee;border-left:3px solid #8bc03e;margin:.35rem 0;padding:.4rem .6rem;font-size:.85rem}.assistant-ui-tool-event-failed,.assistant-ui-tool-event-too-large{color:#9b2c2c;background:#fff1f1;border-left-color:#c94a4a}.assistant-ui-tool-event summary{cursor:pointer}.assistant-ui-tool-event pre{white-space:pre-wrap;margin:.4rem 0 0;font-size:.8rem}.assistant-ui-entity-results{gap:.5rem;margin:.5rem 0;display:grid}.assistant-ui-entity-card{border:1px solid var(--line);background:#f7faf9;border-radius:.6rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.assistant-ui-entity-card div{gap:.2rem;display:grid}.assistant-ui-entity-card .assistant-ui-entity-type{text-transform:uppercase;letter-spacing:.04em;color:var(--gridware-accent);font-size:.72rem;font-weight:700}.assistant-ui-entity-card-session .assistant-ui-entity-type{color:#5f7fa8}.assistant-ui-entity-card span{color:var(--text-muted);font-size:.82rem}.assistant-ui-entity-card a{white-space:nowrap;font-size:.85rem}.ai-chat-history-actions{flex-wrap:wrap;gap:.6rem;margin:.75rem 0;display:flex}.assistant-ui-composer{border-top:1px solid var(--line);align-items:end;gap:.6rem;padding-top:.75rem;display:flex}.assistant-ui-composer textarea{resize:vertical;border:1px solid var(--line);min-height:3rem;font:inherit;color:#404042;background:#fff;border-radius:14px;flex:1;padding:.75rem}.assistant-ui-composer textarea:focus{border-color:#8bc03e;outline:3px solid #8bc03e40}.assistant-ui-suggestions{flex-wrap:wrap;gap:.5rem;display:flex}.button-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.9rem 0;display:flex}button:disabled{opacity:.55;cursor:not-allowed}.smart-meter-panel{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.5rem}.smart-meter-controls{gap:1rem;margin:1.5rem 0;display:grid}.smart-meter-controls fieldset{border:1px solid var(--line);padding:1rem}.meter-selection{flex-wrap:wrap;gap:.6rem;display:flex}.meter-choice{border:1px solid var(--line);cursor:pointer;border-radius:20px;align-items:center;gap:.45rem;padding:.55rem .7rem;display:flex}.meter-choice.selected{background:#f3f6ef;border-color:#8bc03e}.control-row{flex-wrap:wrap;gap:1rem;display:flex}.control-row label{gap:.3rem;min-width:12rem;display:grid}.range-buttons{gap:.5rem;margin-top:.8rem;display:flex}.smart-meter-chart-wrap{gap:.6rem;margin:1.5rem 0 .35rem;display:flex}.smart-meter-y-axis{text-align:right;width:4.8rem;height:260px;color:var(--text-muted);flex-direction:column;justify-content:space-between;padding:.1rem 0 .15rem;font-size:.72rem;display:flex}.smart-meter-chart-area{flex:1;min-width:0}.smart-meter-chart{border:1px solid var(--line);background:repeating-linear-gradient(to bottom,#f3f6ef 0,#f3f6ef calc(25% - 1px),var(--line) 25%);align-items:flex-end;gap:2px;height:260px;padding:1rem .5rem 0;display:flex}.smart-meter-chart.stacked{align-items:stretch}.smart-meter-chart.stacked .smart-meter-bar{flex-direction:column-reverse;flex:1;min-width:3px;height:100%;display:flex}.smart-meter-chart.stacked .smart-meter-bar span{flex:none;width:100%;display:block}.chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:1rem;margin:0 0 1.5rem;font-size:.85rem;display:flex}.meter-legend-dot{border-radius:50%;width:.7rem;height:.7rem;display:inline-block}.smart-meter-x-axis{color:var(--text-muted);justify-content:space-between;padding:.55rem .5rem 0;font-size:.72rem;display:flex}.smart-meter-line-chart-wrap{margin-top:1rem}.smart-meter-line-chart-scroll{padding:.5rem 0 1rem 3.5rem;overflow-x:auto}.smart-meter-line-chart{border:1px solid var(--line);background:#fbfcfc;min-width:700px;height:350px;position:relative}.smart-meter-line-chart svg{width:100%;height:calc(100% - 2.8rem);position:absolute;inset:0 0 2.8rem}.smart-meter-line-y-axis{width:3.1rem;color:var(--text-muted);flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:.75rem;display:flex;position:absolute;top:0;bottom:0;left:-3.5rem}.smart-meter-grid-lines{position:absolute;inset:0}.smart-meter-grid-lines i{border-top:1px dashed var(--line);position:absolute;left:0;right:0}.smart-meter-line-x-axis{color:var(--text-muted);justify-content:space-between;font-size:.75rem;display:flex;position:absolute;bottom:.7rem;left:0;right:0}.smart-meter-x-axis,.smart-meter-line-x-axis{gap:.4rem;position:relative}.smart-meter-x-axis span,.smart-meter-line-x-axis span{text-align:center;white-space:nowrap;flex:1;min-width:0}.smart-meter-x-axis strong,.smart-meter-line-x-axis strong{color:var(--gridware-blue);font-size:.75rem;position:absolute;top:1.15rem;left:50%;transform:translate(-50%)}.charging-sessions-page,.charging-stations-page{width:min(100%,76rem);overflow:hidden}.charging-stations-page .station-actions{align-items:flex-start;margin:0}.charging-stations-page .station-actions .button{white-space:nowrap}.charging-stations-page .station-stats{margin-top:1rem}.charging-stations-page .station-filter-panel{margin-top:1.25rem}.charging-stations-page .station-table-wrap{margin-top:0}.station-breadcrumbs{border:1px solid var(--line);background:var(--surface-muted);flex-wrap:wrap;align-items:center;gap:.45rem;margin:-.25rem 0 1rem;padding:.7rem 1rem;font-size:.85rem;display:flex}.sync-event-log{border:1px solid var(--line);border-left:4px solid var(--gridware-accent);background:var(--surface-muted);margin:1rem 0;padding:.75rem 1rem}.sync-event-log summary{cursor:pointer;color:var(--gridware-blue);font-weight:700}.sync-event-log-list{white-space:pre-wrap;overflow-wrap:anywhere;gap:.35rem;max-height:18rem;margin-top:.65rem;font:.78rem/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;overflow:auto}.sync-event-log-prominent{border-color:var(--gridware-accent);background:#f2faf7}.inline-backfill-form{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.sync-run-filters{background:var(--surface-muted);border:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:1rem;margin:.75rem 0 1rem;padding:.75rem 1rem;display:flex}.sync-run-filters label{min-width:12rem}.sync-run-filters select{border:1px solid var(--line);background:var(--surface);width:100%;margin-top:.3rem;padding:.55rem;display:block}.inline-backfill-form label{min-width:12rem}.inline-backfill-form input{border:1px solid var(--line);background:var(--surface);width:100%;margin-top:.3rem;padding:.55rem;display:block}.etl-tabs{border-bottom:1px solid var(--line);flex-flow:wrap;gap:.25rem;margin:1.5rem 0 1rem;padding:0;display:flex}.etl-tabs button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:.75rem 1rem;font-weight:700}.etl-tabs button:hover,.etl-tabs button.active{border-bottom-color:var(--gridware-accent);color:var(--gridware-blue)}.sync-toolbar{background:var(--surface-muted);border:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:1rem;margin:1rem 0;padding:.75rem 1rem;display:flex}.sync-toolbar label{min-width:12rem}.sync-toolbar select{border:1px solid var(--line);background:var(--surface);width:100%;margin-top:.3rem;padding:.55rem;display:block}.sync-action-placeholder{align-items:center;gap:.75rem;min-height:3rem;margin:1rem 0;display:flex}.pagination{justify-content:center;align-items:center;gap:1rem;margin:1rem 0;display:flex}.station-breadcrumbs .breadcrumb-select{font-size:inherit;margin:0;font-weight:400}.station-breadcrumbs select{border:0;border-bottom:1px solid var(--text-muted);min-width:8rem;color:var(--gridware-blue);font:inherit;cursor:pointer;background:0 0;border-radius:0;padding:.25rem 1.5rem .25rem .25rem}.station-breadcrumbs select:focus{outline:2px solid var(--gridware-accent);outline-offset:2px}.station-breadcrumbs button{color:var(--gridware-blue);font:inherit;cursor:pointer;background:0 0;border:0;padding:.2rem .1rem}.station-breadcrumbs button:hover,.station-breadcrumbs button.active{font-weight:700;text-decoration:underline}.station-breadcrumbs span{color:var(--text-muted)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tree-node-filter{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.tree-node-filter:hover{color:var(--gridware-blue);text-decoration:underline}.tree-node-connection{color:var(--gridware-blue);font-size:.82rem;font-weight:600}.charging-sessions-page .page-heading{align-items:flex-start;margin-bottom:.75rem}.charging-sessions-page .page-heading .button{white-space:nowrap;margin-top:.9rem}.session-stats{border:1px solid var(--line);border-left:4px solid var(--gridware-accent);background:#fff;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:1rem 0;display:grid}.session-stats>div{border-right:1px solid var(--line);padding:.8rem 1rem}.session-stats>div:last-child{border-right:0}.session-stats span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;display:block}.session-stats strong{margin-top:.2rem;font-size:1.25rem;font-weight:600;display:block}.session-stats small{margin-top:.1rem;display:block}.template-list{gap:.65rem;margin-bottom:2rem;display:grid}.template-list-item{border:1px solid var(--line);border-radius:.5rem;overflow:hidden}.template-list-header{align-items:center;gap:.75rem;padding:.35rem;display:flex}.template-list-header .template-list-toggle{flex:1}.template-list-toggle{background:var(--surface);text-align:left;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.9rem 1rem;display:flex}.template-list-toggle:hover{background:var(--surface-muted)}.template-values{border-top:1px solid var(--line);margin:0}.template-preset-panel{border:1px solid var(--line);background:var(--surface-muted);border-radius:.75rem;margin:1rem 0;padding:.75rem 1rem}.template-preset-panel summary{cursor:pointer;color:var(--gridware-blue);font-weight:700}.template-preset-card{border:1px solid var(--line);background:var(--surface);border-radius:.6rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;padding:.75rem;display:flex}.template-preset-card p{margin:.25rem 0 0}.rollout-summary{border:1px solid var(--line);background:var(--surface);flex-wrap:wrap;margin:1rem 0;display:flex}.rollout-summary>div{border-right:1px solid var(--line);flex:12rem;gap:.25rem;padding:.75rem 1rem;display:grid}.rollout-summary>div:last-child{border:0}.rollout-summary span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.rollout-confirmation{border:1px solid var(--line);border-left:4px solid var(--gridware-accent);background:var(--surface-muted);margin:1rem 0;padding:1rem}.rollout-confirmation label{gap:.4rem;max-width:34rem;margin:.8rem 0;display:grid}.rollout-confirmation input{margin:0}.rollout-log{padding-left:1.5rem}.rollout-log li{border-bottom:1px solid var(--line);grid-template-columns:11rem 4rem minmax(0,1fr) minmax(8rem,auto);gap:.75rem;padding:.55rem 0;display:grid}.rollout-log li.rollout-log-group{background:var(--surface-muted);margin-top:.75rem;padding:.55rem;font-weight:700;display:block}.rollout-log time,.rollout-log small{color:var(--text-muted);font-variant-numeric:tabular-nums}.rollout-log strong{font-size:.8rem}.rollout-summary progress,.rollout-confirmation progress,.table-wrap progress{width:100%;height:.6rem;accent-color:var(--gridware-accent);margin-top:.5rem;display:block}.rollout-confirmation label:has(input[type=checkbox]){align-items:flex-start;gap:.65rem;display:flex}.rollout-confirmation label:has(input[type=checkbox]) input{margin-top:.2rem}.session-filter-panel{background:var(--surface-muted);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(10rem,1fr));gap:.85rem 1rem;margin:1.25rem 0;padding:1rem;display:grid}.session-filter-panel label{min-width:0}.session-filter-panel input,.session-filter-panel select{border:1px solid var(--line);background:var(--surface);width:100%;height:2.75rem;font:inherit;margin:.35rem 0 0;padding:.65rem .75rem;display:block}.session-filter-panel input{margin-bottom:0}.session-search-timing{min-height:1.1rem;color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:.3rem;font-size:.8rem;font-weight:600;display:block}.session-search-timing-note{color:var(--text-muted);margin-top:.2rem;font-size:.73rem;font-weight:400;display:block}.session-search-partial{border-left:4px solid var(--gridware-accent);background:var(--surface-muted);padding:.75rem 1rem}.session-filter-panel .filter-wide{grid-column:span 2}.session-filter-panel .filter-reset{align-self:end;height:2.75rem}.firmware-filter-panel{display:block}.firmware-filter-panel legend{font-weight:700}.checkbox-filter-list{gap:.35rem;margin-top:.75rem;display:grid}.checkbox-filter-list label{border:1px solid var(--line);background:var(--surface);cursor:pointer;align-items:center;gap:.45rem;width:auto;min-width:0;padding:.5rem .65rem;display:flex}.checkbox-filter-list input{width:1rem;height:1rem;accent-color:var(--gridware-accent);margin:0}.model-filter-dropdown{margin:1.25rem 0;padding:0;position:relative}.model-filter-dropdown summary{border:1px solid var(--line);background:var(--surface-muted);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;width:min(100%,24rem);padding:.75rem 1rem;font-weight:700;list-style:none;display:flex}.model-filter-dropdown summary::-webkit-details-marker{display:none}.model-filter-dropdown summary:after{content:"▾";font-size:.9rem}.model-filter-dropdown[open] summary:after{content:"▴"}.model-filter-dropdown summary span{color:var(--text-muted);font-size:.85rem;font-weight:400}.model-filter-dropdown .checkbox-filter-list{z-index:2;background:var(--surface);border:1px solid var(--line);width:min(100%,24rem);max-height:16rem;padding:.65rem;position:absolute;overflow:auto;box-shadow:0 .5rem 1.5rem #0002}.session-table-wrap{border:1px solid var(--line);background:#fff;width:100%;max-width:100%;overflow-x:auto}.session-table{table-layout:fixed;min-width:1240px;margin-top:0;font-size:.86rem}.session-table th,.session-table td{padding:.72rem .65rem}.session-table th:first-child,.session-table th:nth-child(2){width:7.1rem}.session-table th:nth-child(3){width:20rem}.session-table th:nth-child(4){width:14rem}.gridware-instance-cell{align-items:center;gap:.5rem;min-width:12rem;display:flex}.gridware-instance-logo{object-fit:contain;width:1.75rem;height:1.75rem}.session-table th:nth-child(5),.session-table th:nth-child(6){width:7rem}.session-table th:nth-child(7){width:11rem}.session-table th:nth-child(8){width:13rem}.session-table th:nth-child(9){width:5.5rem}.session-table th:nth-child(10){width:9rem}.session-table th:nth-child(11){width:6.5rem}.session-table th:nth-child(12){width:8rem}.session-station-cell a{color:var(--gridware-blue);white-space:nowrap;text-overflow:ellipsis;font-weight:700;display:block;overflow:hidden}.session-station-cell small,.session-use-case small{white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;display:block;overflow:hidden}.session-search-score-note{color:var(--text-muted);margin:.5rem 0;font-size:.8rem}.session-station-cell .session-search-score{font-variant-numeric:tabular-nums;color:var(--text-muted)}.date-cell{gap:.15rem;line-height:1.2;display:grid}.date-cell strong{font-size:.95rem;font-weight:700}.date-cell small{font-size:.78rem}.numeric{text-align:right;white-space:nowrap}.status-pill{border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-muted);white-space:nowrap;align-items:center;max-width:100%;padding:.2rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-done{color:#245b3a;background:#edf7ed;border-color:#9ec3a1}.status-in_use{color:#7a4a00;background:#fff7e8;border-color:#e3b46c}.station-visualization{margin-top:1.5rem}.station-tabs{border-bottom:1px solid var(--border-color,#d8dde5);gap:.5rem;margin-bottom:1rem;display:flex}.station-tab{color:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:.7rem 1rem}.station-tab.active{border-bottom-color:#1769aa;font-weight:700}.station-tab:disabled{cursor:not-allowed;opacity:.45}.station-overview{background:#050505;border-radius:.5rem;padding:1rem}.station-overview svg{width:100%;min-height:320px;display:block}.station-overview-legend{color:#fff;flex-wrap:wrap;gap:1.5rem;padding:.75rem .25rem .25rem;font-size:.9rem;display:flex}.station-overview-detail{color:#fff;background:#111;border:1px solid #444;border-radius:.4rem;margin-top:.75rem;padding:.85rem}.station-overview-detail h3{margin:.1rem 0 .7rem}.station-overview-detail dl{grid-template-columns:minmax(10rem,max-content) 1fr;gap:.35rem .9rem;margin:0;display:grid}.station-overview-detail dt{color:#aaa}.station-overview-detail dd{margin:0}.overview-dot{border-radius:50%;width:.7rem;height:.7rem;margin-right:.35rem;display:inline-block}.overview-dot.red{background:#ef4444}.overview-dot.green{background:#22c55e}.status-idle{color:#475569;background:#f8fafc;border-color:#cbd5e1}.status-discarded{color:#8a1f1f;background:#fff1f1;border-color:#e8a9a9}.truncate-cell{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=1100px){.session-filter-panel,.session-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.session-filter-panel .filter-wide{grid-column:1/-1}}@media (width<=760px){.charging-sessions-page,.charging-stations-page{overflow:hidden}.charging-sessions-page .page-heading,.charging-stations-page .page-heading{display:block}.charging-sessions-page .page-heading .button,.charging-stations-page .page-heading .button{width:100%;margin-top:.5rem}.session-filter-panel{grid-template-columns:1fr}.session-filter-panel .filter-wide{grid-column:auto}.session-stats{grid-template-columns:1fr}.session-stats>div{border-right:0;border-bottom:1px solid var(--line)}}.etl-tabs{flex-direction:row!important;align-items:stretch!important;gap:.25rem!important;padding:0!important;display:flex!important}.etl-tabs button{flex:none!important;width:auto!important}.onboarding-page{max-width:72rem;margin:2rem auto}.onboarding-lead{max-width:50rem;color:var(--text-muted);font-size:1.08rem;line-height:1.65}.onboarding-diagram{border:1px solid var(--line);background:#f7faf9;border-radius:12px;grid-template-columns:minmax(11rem,1fr) auto minmax(14rem,1.2fr) auto minmax(14rem,1.5fr);align-items:center;gap:1rem;margin:2rem 0;padding:1.25rem;display:grid}.onboarding-node{border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;gap:.3rem;padding:1rem;display:flex;box-shadow:0 4px 14px #14322d0f}.onboarding-node strong{color:var(--gridware-blue)}.onboarding-node span{color:var(--text-muted);font-size:.82rem;line-height:1.4}.onboarding-node.source{border-left:4px solid #e09f3e}.onboarding-node.mirror{border-left:4px solid var(--gridware-accent)}.onboarding-arrow{color:var(--gridware-accent);text-align:center;font-size:2rem}.onboarding-targets{gap:.6rem;display:grid}.onboarding-actions{flex-wrap:wrap;gap:.75rem;display:flex}.connection-catalog{border:1px solid var(--line);background:linear-gradient(135deg,#f7faf9,#fff);border-radius:10px;margin:1.25rem 0;padding:1rem}.app-shell.area-datamart .gridware-connection-permission-note{border:1px solid var(--line);border-left:4px solid var(--gridware-accent);background:var(--surface-muted);color:var(--gridware-primary);margin:1rem 0;padding:.8rem 1rem}.app-shell.area-datamart .gridware-connection-permission-note p{color:var(--text-muted);margin:.3rem 0 0}.app-shell.area-datamart .gridware-connection-permission-note strong{font-weight:700}.connection-catalog h2{margin:.1rem 0 .75rem}.connection-catalog-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.connection-catalog-heading h2{margin:0}.connection-create-menu{position:relative}.connection-create-menu summary{cursor:pointer;list-style:none}.connection-create-menu summary::-webkit-details-marker{display:none}.connection-create-menu-items{z-index:15;background:var(--surface,#fff);border:1px solid var(--line);min-width:14rem;margin-top:.35rem;padding:.35rem;display:grid;position:absolute;right:0;box-shadow:0 .4rem 1rem #14322d2e}.connection-create-menu-items a,.connection-create-menu-items button{color:var(--text,#333);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:.65rem .75rem;text-decoration:none}.connection-create-menu-items a:hover,.connection-create-menu-items button:hover{background:var(--surface-muted,#f3f6ef)}.connection-list{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.65rem;display:grid}.connection-item{border:1px solid var(--line);text-align:left;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.connection-item:hover,.connection-item.active{border-color:var(--gridware-accent);box-shadow:0 4px 14px #14322d1a}.connection-item.active{background:#f2faf7}.connection-item strong{font-size:1rem}.connection-item span{color:var(--text-muted);font-size:.78rem}.sync-progress{border-left:4px solid var(--gridware-accent);color:#174c46;background:#f2faf7;margin:.5rem 0;padding:.7rem .9rem;font-weight:600}.reporting-data-model-page{width:min(100%,90rem);overflow:hidden}.reporting-data-model-page>p:not(.eyebrow){max-width:76rem;line-height:1.6}.reporting-data-model-page figure{border:1px solid var(--line);background:#fff;margin:1.5rem 0;padding:1rem}.reporting-data-model-page figcaption{margin-bottom:.75rem}.reporting-data-model-diagram-scroll{max-width:100%;padding:.5rem 0;overflow:auto}.reporting-data-model-diagram{min-width:0}.reporting-data-model-diagram svg{width:100%;max-width:100%;height:auto;margin-inline:auto;display:block}.reporting-data-model-text{border:1px solid var(--line);background:var(--surface-muted);margin-top:1.25rem;padding:1rem}.reporting-data-model-text summary{color:var(--gridware-blue);cursor:pointer;font-weight:700}.reporting-data-model-tables{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:1rem;margin-top:1rem;display:grid}.reporting-data-model-tables section{border:1px solid var(--line);background:#fff;min-width:0;padding:.85rem}.reporting-data-model-tables h2{flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:1.05rem;display:flex}.reporting-data-model-tables h2 code{overflow-wrap:anywhere;font-size:.76rem}.reporting-data-model-tables ul,.reporting-data-model-text>ul{padding-left:1.35rem;line-height:1.55}.reporting-data-model-tables li code{overflow-wrap:anywhere}@media (width<=760px){.reporting-data-model-page figure{padding:.65rem}.reporting-data-model-diagram-scroll{margin-inline:-.2rem}.reporting-data-model-text{padding:.8rem}.reporting-data-model-tables{grid-template-columns:1fr}}.anomaly-report-page h1{margin-top:.2rem}.anomaly-report-filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:1rem;margin:1.25rem 0;padding:1rem 0;display:flex}.anomaly-report-filters fieldset{border:1px solid var(--line);flex:100%;min-width:0;padding:.75rem}.anomaly-report-filters legend{font-weight:700}.anomaly-report-filters>label{min-width:10rem}.anomaly-report-filters input[type=date]{margin:.35rem 0 0;padding:.55rem;display:block}.anomaly-report-group-list{flex-wrap:wrap;gap:.35rem 1rem;max-height:10rem;display:flex;overflow:auto}.anomaly-report-group-list .checkbox-label{font-weight:400}.anomaly-report-kpis{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:1rem 0;display:grid}.anomaly-report-kpis>div{border-right:1px solid var(--line);gap:.35rem;padding:.85rem;display:grid}.anomaly-report-kpis>div:last-child{border-right:0}.anomaly-report-kpis strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.anomaly-report-kpis span{color:var(--text-muted);font-size:.82rem}.anomaly-report-chart{margin:1.5rem 0}.anomaly-report-bars{border-bottom:1px solid var(--line);align-items:stretch;gap:.3rem;min-height:13rem;padding:1rem .25rem .25rem;display:flex;overflow-x:auto}.anomaly-report-bar-column{flex-direction:column;flex:1 0 2.2rem;justify-content:flex-end;align-items:center;gap:.3rem;min-height:11rem;font-size:.72rem;display:flex}.anomaly-report-bar-column i{background:var(--gridware-accent);border:1px solid color-mix(in srgb,var(--gridware-accent),#333 15%);width:min(70%,2rem);min-height:2px;display:block}.anomaly-report-bar-column small{white-space:nowrap}.anomaly-report-table-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.anomaly-report-table-heading h2{margin-bottom:0}.anomaly-report-rule{margin-top:.2rem;display:block}.anomaly-report-note{border-left:3px solid var(--line);background:var(--surface-muted);margin-top:1.2rem;padding:.75rem}.anomaly-filters{flex-wrap:wrap;align-items:flex-end;margin-top:1rem}.anomaly-station-groups{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:1.5rem 0;padding:1rem 0}.anomaly-station-groups h2{margin:.25rem 0}.anomaly-group-buttons{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.anomaly-group-buttons .button{padding:.5rem .8rem}.anomaly-group-control{align-items:center;display:inline-flex}.anomaly-group-delete{border:1px solid var(--line);color:var(--text-muted);cursor:pointer;background:#fff;border-left:0;align-self:stretch;padding:0 .5rem}.anomaly-group-delete:hover{color:var(--danger)}.anomaly-pagination-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.anomaly-pagination-bar .actions{margin:0}.anomaly-pagination-bar p{margin:.25rem 0}.anomaly-group-editor{margin-top:.75rem}.anomaly-group-editor>summary{cursor:pointer;color:var(--gridware-blue);font-weight:700}.anomaly-group-editor>label{margin-top:.75rem;display:block}.anomaly-group-editor>label input,.anomaly-group-save label input{width:min(100%,28rem);margin:.35rem 0;padding:.55rem;display:block}.anomaly-station-list{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.25rem .75rem;max-height:18rem;padding:.75rem;display:grid;overflow:auto}.anomaly-station-list .checkbox-label{font-weight:400}.anomaly-group-save{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.75rem;display:flex}.anomaly-group-save label{min-width:min(100%,18rem)}.finding-type-filter{border:1px solid var(--line);flex-wrap:wrap;gap:.7rem;min-width:max-content;margin:0;padding:.55rem .75rem;display:flex}.occurrence-summary{border:1px solid var(--line);background:#fff;align-items:center;gap:1rem;min-width:20rem;padding:.8rem 1rem;display:flex}.occurrence-pie{aspect-ratio:1;color:var(--text);background-clip:padding-box;border-radius:50%;flex-direction:column;flex:0 0 7.5rem;justify-content:center;align-items:center;display:flex;position:relative}.occurrence-pie:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:1.35rem}.occurrence-pie strong,.occurrence-pie span{z-index:1;position:relative}.occurrence-pie strong{font-size:1.35rem}.occurrence-pie span{color:var(--text-muted);text-align:center;font-size:.67rem}.occurrence-summary-content{gap:.25rem;display:grid}.occurrence-legend{align-items:center;gap:.35rem;font-size:.82rem;display:flex}.severity-dot{border-radius:50%;width:.65rem;height:.65rem;display:inline-block}.severity-dot-high{background:#b94243}.severity-dot-medium{background:#c78214}.severity-dot-low{background:#287b78}.finding-type-filter legend{letter-spacing:.06em;text-transform:uppercase;padding:0 .25rem;font-size:.72rem;font-weight:700}.checkbox-label{letter-spacing:0;text-transform:none;cursor:pointer;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.checkbox-label input{accent-color:#101010;width:1rem;height:1rem;margin:0}.diff-card.severity-high{background:#fff8f7;border-left-color:#b94243}.diff-card.severity-medium{background:#fffaf0;border-left-color:#c78214}.diff-card.severity-low{background:#f4fbfa;border-left-color:#287b78}.finding-badge{white-space:nowrap}.ocpp-differences-table>tbody>tr>td{vertical-align:top}.ocpp-station-values{border-collapse:collapse;background:0 0;width:100%;margin:0}.ocpp-station-values td{border-bottom:1px solid var(--line);padding:.35rem .5rem}.ocpp-station-values tr:last-child td{border-bottom:0}.ocpp-station-values td:last-child{text-align:right}.firmware-summary{margin-top:1.5rem}.firmware-comparison-list{gap:1rem;margin-top:1.5rem;display:grid}.firmware-comparison-card{border:1px solid var(--line);border-left:5px solid var(--gridware-accent);background:#fff;padding:1rem}.firmware-comparison-card h2{margin:.1rem 0 .25rem}.firmware-comparison-card table{margin-top:.75rem}.firmware-station-toggle{padding:.1rem .5rem .1rem 0}.firmware-station-links{flex-wrap:wrap;gap:.25rem .75rem;margin-top:.35rem;display:flex}.firmware-station-link{display:inline-block}.ocpp-station-selection{border:1px solid var(--line);background:#fff;margin:1rem 0}.ocpp-station-selection summary{cursor:pointer;color:var(--gridware-blue);justify-content:space-between;gap:1rem;padding:.8rem 1rem;display:flex}.ocpp-station-selection summary span{color:var(--text-muted);font-size:.85rem;font-weight:600}.ocpp-station-selection .ocpp-selection-actions{padding:0 1rem}.ocpp-selection-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.multi-select-panel{gap:.6rem;display:grid}.multi-select-search{width:100%;margin:0;padding:.55rem}.multi-select-options{gap:.25rem;max-height:16rem;padding-right:.25rem;display:grid;overflow-y:auto}.multi-select-option{cursor:pointer;border:1px solid #0000;border-radius:2px;align-items:center;gap:.5rem;padding:.45rem .5rem;font-weight:400;display:flex}.multi-select-option:hover{background:var(--surface-muted);border-color:var(--line)}.multi-select-option input{width:auto;margin:0}.multi-select-option span{overflow-wrap:anywhere}.location-selection{gap:.25rem;max-height:22rem;padding:.25rem;display:grid;overflow-y:auto}.location-tree-row{align-items:center;gap:.25rem;display:flex}.location-tree-row .tree-toggle{flex:0 0 1.4rem;margin:0}.location-tree-row .multi-select-option{flex:1}.location-tree-row small{white-space:nowrap;margin-left:auto}.ocpp-station-selection .table-wrap{padding:0 1rem 1rem}.ocpp-key-toggle{color:var(--gridware-blue);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.6rem;padding:0;display:flex}.ocpp-key-toggle span{text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.ocpp-difference-expanded{background:#f8fafc}.model-filter{border:1px solid var(--line);background:#fff;min-width:13rem;padding:.55rem .7rem}.model-filter summary{cursor:pointer;color:#344054;font-weight:700}.model-filter>div{gap:.45rem;max-height:12rem;margin-top:.65rem;display:grid;overflow-y:auto}.ocpp-rating-filter{border:1px solid var(--line);background:#fff;margin:0 0 1rem;padding:.5rem .8rem;display:inline-block}.ocpp-rating-filter legend{color:#4b5563;padding:0 .3rem;font-size:.78rem;font-weight:700}.ocpp-rating-filter>div{flex-wrap:wrap;gap:.8rem;display:flex}@media (width<=700px){.finding-type-filter{width:100%;min-width:0}.anomaly-filters>label{width:100%}.onboarding-diagram{grid-template-columns:1fr;gap:.65rem}.onboarding-arrow{transform:rotate(90deg)}.onboarding-targets{grid-template-columns:1fr}.onboarding-actions{flex-direction:column}.onboarding-actions .button{text-align:center}}.modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:#fff;width:min(42rem,100%);max-height:90vh;padding:1.5rem;overflow:auto;box-shadow:0 24px 80px #0f172a40}.modal-card h2{margin-top:0}.modal-card .actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.anomaly-rules-settings{width:min(100%,76rem);margin:2rem auto 0;padding:0 1rem}.anomaly-rules-settings h1{color:var(--gridware-blue);margin:0 0 1rem;font-size:1.5rem;font-weight:600}.anomaly-rules-settings .eyebrow{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.rules-categories{gap:1rem;margin-top:1rem;display:grid}.rule-category{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.rule-category-header{cursor:pointer;gap:.5rem;padding:1rem;transition:background-color .15s;display:grid}.rule-category-header:hover{background:var(--surface-muted)}.rule-category-header h2{color:var(--gridware-blue);align-items:center;gap:.75rem;margin:0;font-size:1rem;font-weight:600;display:flex}.rule-category-header h2 .rule-count{color:var(--text-muted);font-size:.85rem;font-weight:400}.rule-category-description{color:var(--text-muted);margin:0;font-size:.85rem}.time-window-info{color:var(--text-muted);margin:0;font-size:.8rem}.time-window-info strong{color:var(--gridware-blue)}.toggle-button{color:var(--gridware-blue);font:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;margin-left:auto;font-size:.85rem;font-weight:600}.toggle-button:hover{text-decoration:underline}.rule-category-content{padding:0 1rem 1rem}.rules-table{border-collapse:collapse;width:100%;font-size:.86rem}.rules-table th,.rules-table td{text-align:left;border-bottom:1px solid var(--line);padding:.72rem .65rem}.rules-table th{background:var(--surface-muted);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.rules-table th:first-child{width:4rem}.rules-table th:nth-child(2){width:14rem}.rules-table th:nth-child(3){width:20rem}.rules-table th:nth-child(4){width:12rem}.rules-table th:nth-child(5){width:6rem}.rules-table th:nth-child(6),.rules-table th:nth-child(7){width:8rem}.rules-table th:nth-child(8){width:6rem}.rules-table tr:hover{background:var(--surface-muted)}.rules-table tr.rule-disabled{opacity:.6;background:#fcfcfc}.rules-table .rule-code{color:var(--gridware-blue);font-family:monospace;font-weight:700}.rules-table .rule-title{font-weight:600}.rules-table .rule-description{color:var(--text-muted);font-size:.85rem}.rules-table .rule-time-window{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.rules-table .rule-enabled{text-align:center}.rules-table .rule-enabled input{cursor:pointer;width:1.1rem;height:1.1rem;accent-color:var(--gridware-blue);margin:0}.rules-table .rule-threshold input{border:1px solid var(--line);width:4rem;font:inherit;text-align:center;background:#fff;padding:.35rem .45rem}.rules-table .rule-threshold input:focus{outline:2px solid var(--gridware-accent);outline-offset:1px}.rules-table .rule-severity select{border:1px solid var(--line);width:100%;font:inherit;cursor:pointer;background:#fff;padding:.35rem .45rem}.rules-table .rule-severity select:focus{outline:2px solid var(--gridware-accent);outline-offset:1px}.rules-table .rule-actions{text-align:center}.rules-table .rule-actions button{cursor:pointer;border:1px solid var(--line);background:var(--surface-muted);color:var(--gridware-blue);border-radius:4px;padding:.35rem .55rem;font-size:.9rem;line-height:1}.rules-table .rule-actions button:hover{background:var(--gridware-blue);color:#fff;border-color:var(--gridware-blue)}.rules-table .rule-actions button:disabled{opacity:.5;cursor:not-allowed}.rules-legend{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.rules-legend h3{color:var(--gridware-blue);margin:0 0 .5rem;font-size:.9rem}.rules-legend ul{color:var(--text-muted);margin:0;padding-left:1.25rem;font-size:.85rem;line-height:1.5}.rules-legend li{margin-bottom:.35rem}.saving-indicator{background:var(--gridware-blue);color:#fff;z-index:100;border-radius:4px;padding:.75rem 1rem;font-size:.85rem;position:fixed;bottom:1rem;right:1rem;box-shadow:0 4px 12px #073b784d}@media (width<=1100px){.rules-table th:nth-child(3),.rules-table th:nth-child(4){width:auto}}@media (width<=760px){.anomaly-rules-settings{overflow:hidden}.rule-category-header,.rule-category-header h2{display:block}.rule-category-header h2 .rule-count{margin-top:.25rem;display:block}.toggle-button{text-align:center;width:100%;margin-top:.5rem;display:block}.rules-table{min-width:800px}.rules-table th,.rules-table td{padding:.5rem .4rem;font-size:.8rem}.rules-table th:first-child{width:3rem}.rules-table th:nth-child(2){width:10rem}.rules-table th:nth-child(3){width:14rem}.rules-table th:nth-child(4){width:8rem}.rules-table th:nth-child(5){width:5rem}.rules-table th:nth-child(6),.rules-table th:nth-child(7){width:6rem}.rules-table th:nth-child(8){width:4rem}}.target-selection-page{max-width:74rem;margin:2rem auto}.target-selection-page>p{max-width:48rem}.target-selection-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;margin-top:2rem;display:grid}.target-selection-card{border:1px solid var(--line);border-left:6px solid var(--gridware-accent);min-height:15rem;color:var(--text);background:#fff;border-radius:10px;flex-direction:column;gap:.65rem;padding:1.5rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;box-shadow:0 10px 24px #14322d14}.target-selection-card:hover{border-color:var(--gridware-accent);color:var(--text);transform:translateY(-2px);box-shadow:0 16px 32px #14322d24}.target-selection-card strong{color:var(--gridware-blue);font-size:1.45rem}.target-selection-card p{color:var(--text-muted);margin:0;line-height:1.55}.ai-widget-test-page{max-width:78rem}.ai-widget-test-page .page-heading h1{margin-bottom:.5rem}.ai-widget-test-page .dashboard-greeting{max-width:58rem}.ai-mock-badge{color:#9a4d0b;background:#fff7ed;border-color:#f6ad55}.ai-widget-presets{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.25rem;margin:1.5rem 0 1rem;display:flex}.ai-widget-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,25rem);align-items:start;gap:1rem;display:grid}.ai-widget-card,.ai-widget-filters,.ai-toolcall-preview{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:1rem;box-shadow:0 4px 14px #00377a0d}.ai-widget-card h2,.ai-toolcall-preview h2{margin:.1rem 0 1rem;font-size:1.25rem}.ai-widget-card .page-heading{align-items:center}.ai-chart-shell{margin-top:.5rem}.ai-chart-legend{flex-wrap:wrap;gap:.75rem 1.25rem;margin:.5rem 0 .75rem;font-size:.85rem;display:flex}.ai-chart-legend span{align-items:center;gap:.4rem;display:inline-flex}.ai-chart-legend i{border-radius:2px;width:.75rem;height:.75rem}.ai-chart-scroll{padding-bottom:.25rem;overflow-x:auto}.ai-stacked-chart{width:100%;min-width:620px;height:auto;display:block;overflow:visible}.ai-chart-gridline{stroke:var(--line);stroke-width:1px}.ai-chart-axis{stroke:var(--text-muted);stroke-width:1.2px}.ai-chart-axis-label,.ai-chart-unit-label,.ai-chart-date-label,.ai-chart-total-label{fill:var(--text-muted);font-family:inherit;font-size:11px}.ai-chart-unit-label{font-weight:700}.ai-chart-date-label{fill:var(--text);font-weight:600}.ai-chart-total-label{font-size:10px}.ai-chart-bar{stroke:#fff;stroke-width:1px;cursor:pointer;transition:filter .15s}.ai-chart-bar:hover{filter:brightness(1.15)}.ai-chart-caption{color:var(--text-muted);margin:.25rem 0 0;font-size:.8rem}.ai-widget-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.ai-widget-filters strong{color:var(--gridware-blue);margin-bottom:.65rem;display:block}.ai-choice-list{flex-wrap:wrap;gap:.45rem;display:flex}.ai-choice-list .checkbox-label{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .55rem;font-size:.85rem;font-weight:500;display:inline-flex}.ai-choice-list .checkbox-label input{margin:0}.ai-choice-list small{font-size:.72rem}.ai-color-dot{border-radius:2px;width:.65rem;height:.65rem}.ai-toolcall-preview{color:#edf6f3;background:#102534}.ai-toolcall-preview h2,.ai-toolcall-preview .eyebrow{color:#fff}.ai-toolcall-preview .muted{color:#c3d0d8}.ai-toolcall-preview pre{color:#c9f0db;white-space:pre-wrap;background:#071923;border:1px solid #fff2;border-radius:6px;max-height:25rem;margin:1rem 0;padding:.85rem;font:.76rem/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.ai-toolcall-status{color:#b9e8c8;border:1px solid #5bbf7c66;border-radius:6px;align-items:center;gap:.5rem;padding:.65rem .75rem;font-size:.82rem;display:flex}.ai-status-dot{background:#59a96a;border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 0 3px #59a96a33}.ai-widget-empty{border:1px dashed var(--line);min-height:18rem;color:var(--text-muted);place-items:center;display:grid}.ai-filter-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.ai-filter-heading strong{margin:0}.ai-random-button{white-space:nowrap;padding:.4rem .65rem;font-size:.78rem}.ai-inline-warning{color:#7a4a08;background:#fff7ed;border-left:3px solid #f7931e;margin:.5rem 0;padding:.5rem .65rem;font-size:.82rem}@media (width<=900px){.ai-widget-layout{grid-template-columns:1fr}.ai-toolcall-preview{order:-1}.ai-widget-filters{grid-template-columns:1fr}}.financial-report-filters{gap:1rem;margin:1.25rem 0;display:grid}.financial-report-filters fieldset{border:1px solid var(--line);background:var(--surface-muted);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.85rem 1rem;margin:0;padding:1rem;display:grid}.financial-report-filters legend{color:var(--gridware-primary);padding:0 .45rem;font-weight:700}.financial-report-filters label{min-width:0}.financial-report-filters input,.financial-report-filters select{border:1px solid var(--line);background:var(--surface);width:100%;font:inherit;margin-top:.35rem;padding:.65rem .75rem;display:block}.financial-report-grouping{border-left:4px solid var(--gridware-accent)!important;background:var(--surface)!important}.financial-report-grouping label{font-weight:600}.financial-report-grouping select{font-weight:400}.financial-report-multi-filter{background:var(--surface)!important;padding:.65rem!important;display:block!important}.financial-report-checkboxes{gap:.35rem;display:grid}.financial-report-checkboxes label{align-items:center;gap:.45rem;font-weight:400;display:flex}.financial-report-checkboxes input{width:auto;margin:0;padding:0;display:inline-block}.financial-report-chart-type{min-width:14rem;margin:.75rem 0;font-weight:600;display:inline-block}.financial-report-chart-type select{border:1px solid var(--line);background:var(--surface);width:100%;font:inherit;margin-top:.35rem;padding:.55rem;display:block}.financial-report-chart{align-items:flex-end;gap:.75rem;min-height:16rem;padding:1rem 0;display:flex;overflow-x:auto}.financial-report-bar{flex-direction:column;flex:1 0 3.5rem;justify-content:flex-end;align-items:center;gap:.25rem;min-width:3.5rem;height:15rem;display:flex}.financial-report-bar-value{font-variant-numeric:tabular-nums;font-size:.8rem}.financial-report-bar-track{border-bottom:1px solid var(--line);background:var(--surface-muted);align-items:flex-end;width:2.5rem;height:11rem;display:flex}.financial-report-bar-fill{background:var(--gridware-primary);width:100%;min-height:0}.financial-report-bar-label{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.financial-report-line-chart{overflow-x:auto}.financial-report-line-chart svg{width:100%;height:12rem;min-height:12rem;display:block;overflow:visible}.financial-report-line{fill:none;stroke-width:3px}.financial-report-line-0{stroke:#404042}.financial-report-line-1{stroke:#8bc03e}.financial-report-line-2{stroke:#5b8def}.financial-report-line-3{stroke:#c77dff}.financial-report-line-4{stroke:#e07a5f}.financial-report-line-5{stroke:#4d908e}.financial-report-chart-axis{color:var(--text-muted);justify-content:space-between;gap:.75rem;font-size:.78rem;display:flex}.financial-report-chart-legend{flex-wrap:wrap;gap:.5rem 1rem;margin-top:.75rem;font-size:.82rem;display:flex}.financial-report-chart-legend span{align-items:center;gap:.35rem;display:inline-flex}.financial-report-chart-legend i{background:var(--gridware-primary);width:.7rem;height:.7rem}.financial-report-legend-1{background:var(--gridware-accent)!important}.financial-report-legend-2{background:#5b8def!important}.financial-report-legend-3{background:#c77dff!important}.financial-report-legend-4{background:#e07a5f!important}.financial-report-legend-5{background:#4d908e!important}.financial-report-stacked-chart{flex-wrap:wrap;align-items:flex-end;gap:.75rem;min-height:16rem;padding:1rem 0;display:flex;overflow-x:auto}.financial-report-stack-column{flex-direction:column;flex:1 0 3.5rem;align-items:center;gap:.25rem;min-width:3.5rem;display:flex}.financial-report-stack-track{border-bottom:1px solid var(--line);background:var(--surface-muted);flex-direction:column-reverse;width:2.5rem;height:11rem;display:flex}.financial-report-stack-track i{flex:none;width:100%;min-height:0;display:block}.financial-report-stack-0{background:var(--gridware-primary)}.financial-report-stack-1{background:var(--gridware-accent)}.financial-report-stack-2{background:#5b8def}.financial-report-stack-3{background:#c77dff}.financial-report-stack-4{background:#e07a5f}.financial-report-stack-5{background:#4d908e}.financial-report-stack-column strong{font-variant-numeric:tabular-nums;font-size:.8rem}.financial-report-stack-column span{color:var(--text-muted);white-space:nowrap;font-size:.75rem}html{font-size:90%}.app-shell.area-datamart{--gridware-primary:#404042;--gridware-secondary:#8bc03e;--gridware-blue:#404042;--gridware-blue-dark:#2f3032;--gridware-accent:#8bc03e;--surface-muted:#f3f6ef;--line:#d0cece;--text-muted:#6d6e72;color:#404042;background:#fbfbfb}.app-shell.area-datamart main{background:#fbfbfb}.app-shell.area-datamart main:before{display:none}.app-shell.authenticated.area-datamart>header>strong{z-index:11;flex-direction:row;align-items:center;width:100vw;height:64px;min-height:64px;padding:.7rem 1.25rem;position:fixed;top:0;left:0}.app-shell.authenticated.area-datamart>header>nav{padding-top:64px}.app-shell.authenticated.area-datamart main{padding-top:80px}.app-shell.authenticated.area-datamart .user-status-panel{z-index:12;top:1rem;right:1rem}.app-shell.area-datamart header{border-bottom-color:#404042;box-shadow:4px 0 18px #4040421f}.app-shell.area-datamart>header strong{background:#404042;border-bottom-color:#404042}.app-shell.area-datamart>header strong span{color:#fff}.app-shell.area-datamart nav a:hover,.app-shell.area-datamart .nav-button:hover{color:#6d9f2f;background:#f3f6ef}.app-shell.area-datamart nav a:before,.app-shell.area-datamart .nav-button:before{color:#8bc03e}.app-shell.area-datamart main:before,.app-shell.area-datamart .button,.app-shell.area-datamart th{background:#404042}.app-shell.area-datamart h1,.app-shell.area-datamart h2{color:#404042}.app-shell.area-datamart a{color:#6d9f2f}.app-shell.area-datamart .button:hover{background:#2f3032}.app-shell.area-datamart .button.secondary{color:#404042;border-color:#404042}.app-shell.area-datamart .button.secondary:hover{color:#fff;background:#6d9f2f}.app-shell.area-datamart .button,.app-shell.area-datamart button:not(.documentation-dots button){border-radius:2px}.app-shell.area-datamart .button{background:var(--gridware-primary);color:#fff}.app-shell.area-datamart .button:hover{color:#fff;background:#2f3032}.app-shell.area-datamart .button.secondary{background:var(--gridware-secondary);border-color:var(--gridware-secondary);color:#fff}.app-shell.area-datamart .button.secondary:hover{color:#fff;background:#6d9f2f;border-color:#6d9f2f}.app-shell.area-datamart input:focus,.app-shell.area-datamart select:focus{border-color:#8bc03e;outline-color:#8bc03e40}.app-shell.area-datamart .daily-energy-bar,.app-shell.area-datamart .price-bar-market{background:#8bc03e}.app-shell.area-datamart .daily-energy-bar-wrap:nth-child(2n) .daily-energy-bar,.app-shell.area-datamart .price-bar-wrap:nth-child(2n) .price-bar-market{background:#6d9f2f}.app-shell.area-datamart .price-bar-fee{background:#d0cece}.app-shell.area-datamart .assistant-ui-user-message,.app-shell.area-datamart .assistant-ui-status,.app-shell.area-datamart .assistant-ui-tool-event,.app-shell.area-datamart .sync-progress{background:#f3f6ef}.app-shell.area-datamart .assistant-ui-tool-event,.app-shell.area-datamart .meter-choice.selected{border-color:#8bc03e}.app-shell.area-datamart .assistant-ui-composer textarea:focus{border-color:#8bc03e;outline-color:#8bc03e40}.app-shell.area-datamart .assistant-ui-suggestions .suggestion-chip{border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left;font:inherit;cursor:pointer;padding:.45rem .65rem}.app-shell.area-datamart .assistant-ui-suggestions .suggestion-chip:hover{border-color:var(--gridware-accent);background:var(--surface-muted)}.app-shell.area-datamart .url-tabs{border-bottom:1px solid var(--line);overscroll-behavior-x:contain;gap:.25rem;margin:1.5rem 0 1rem;display:flex;overflow-x:auto}.app-shell.area-datamart .url-tab{color:var(--text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:.8rem 1rem;font-weight:700}.app-shell.area-datamart .url-tab[aria-selected=true]{border-bottom-color:var(--gridware-accent);color:var(--gridware-primary)}.app-shell.area-datamart .url-tab:focus-visible{outline:3px solid color-mix(in srgb,var(--gridware-accent) 45%,transparent);outline-offset:-3px}.app-shell.area-datamart .url-tabs+[role=tabpanel]{min-width:0}.app-shell.area-datamart .snapshot-overview{border:1px solid var(--line);border-left:4px solid var(--gridware-accent);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));margin:1.25rem 0;display:grid}.app-shell.area-datamart .snapshot-overview>div{border-right:1px solid var(--line);align-content:start;gap:.3rem;min-width:0;padding:.75rem 1rem;display:grid}.app-shell.area-datamart .snapshot-overview>div:last-child{border-right:0}.app-shell.area-datamart .snapshot-overview span{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.72rem;font-weight:700}.app-shell.area-datamart .snapshot-overview strong{overflow-wrap:anywhere;font-size:.9rem}.app-shell.area-datamart .data-product-publication-panel .table-wrap{overflow-x:auto}.app-shell.area-datamart .data-products-page .numeric{font-variant-numeric:tabular-nums}.app-shell.area-datamart .data-product-publication-panel td:last-child{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:15rem;display:flex}.app-shell.area-datamart .bi-navigation{border-left:4px solid var(--gridware-accent);background:#24333a;padding:.75rem}.app-shell.area-datamart .bi-navigation a{color:#f5faf7}.app-shell.area-datamart .bi-navigation a:hover,.app-shell.area-datamart .bi-navigation a.active{color:#b9df72;background:#40535a}.app-shell.area-datamart:has(.bi-page)>header strong{background:#24333a;border-bottom-color:#8bc03e}.app-shell.authenticated.area-datamart:not(.bi-only)>header>nav .nav-account{z-index:1;background:var(--surface);padding-bottom:.5rem;position:sticky;bottom:0;box-shadow:0 -.35rem .7rem #0000000d}.datamart-mobile-actions{display:none}@media (width<=760px){.app-shell.authenticated.area-datamart:not(.bi-only)>header{z-index:30;background:var(--gridware-primary);width:100%;height:64px;position:fixed;inset:0 0 auto}.app-shell.authenticated.area-datamart:not(.bi-only)>header strong span{display:none}.app-shell.authenticated.area-datamart:not(.bi-only) .datamart-mobile-actions{z-index:14;gap:.35rem;margin-left:auto;padding-right:.65rem;display:flex;position:relative}.app-shell.authenticated.area-datamart:not(.bi-only) .datamart-mobile-actions button{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:1px solid #fff9;padding:.4rem .55rem;font-size:.82rem}.app-shell.authenticated.area-datamart:not(.bi-only) .datamart-mobile-actions button:focus-visible{outline:3px solid var(--gridware-accent);outline-offset:2px}.app-shell.authenticated.area-datamart:not(.bi-only)>header>nav{border:1px solid var(--line);background:var(--surface);flex-direction:column;width:min(100vw,22rem);height:calc(100dvh - 64px);min-height:0;padding:0;display:none;position:fixed;inset:64px 0 0;overflow:hidden auto;box-shadow:4px 8px 18px #0003}.app-shell.authenticated.area-datamart.mobile-menu-open>header>nav{display:flex}.app-shell.authenticated.area-datamart:not(.bi-only)>header>nav .nav-account{margin-top:auto}.app-shell.authenticated.area-datamart:not(.bi-only) .user-status-panel{flex-wrap:wrap;width:fit-content;max-width:calc(100vw - 1.5rem);margin:72px .75rem -64px;position:static}}.app-shell.authenticated.area-datamart.bi-workspace:not(.mobile-menu-open)>header{background:var(--gridware-primary);flex-direction:row;width:100%;height:64px;inset:0 0 auto}.app-shell.authenticated.area-datamart.bi-workspace:not(.mobile-menu-open)>header>nav{display:none}.app-shell.authenticated.area-datamart.bi-workspace:not(.mobile-menu-open) main,.app-shell.authenticated.area-datamart.bi-workspace:not(.mobile-menu-open) footer{margin-left:0}.app-shell.authenticated.area-datamart.bi-workspace>header strong{padding-left:4.75rem}.app-shell.authenticated.area-datamart.bi-workspace .datamart-mobile-actions{z-index:14;pointer-events:none;justify-content:space-between;align-items:center;height:64px;padding:.5rem 1rem;display:flex;position:fixed;inset:0 0 auto}.app-shell.authenticated.area-datamart.bi-workspace .datamart-mobile-actions button{color:#fff;min-height:40px;font:inherit;cursor:pointer;pointer-events:auto;background:#24333a;border:1px solid #fff9;padding:.35rem .65rem}.app-shell.authenticated.area-datamart.bi-workspace .datamart-mobile-actions button:focus-visible{outline:3px solid var(--gridware-accent);outline-offset:2px}.app-shell.authenticated.area-datamart.bi-workspace .datamart-mobile-menu-toggle{min-width:40px;line-height:1;font-size:1.4rem!important}.app-shell.authenticated.area-datamart.bi-workspace .user-status-panel{right:8.5rem}.app-shell.authenticated.area-datamart.bi-workspace>header>nav .nav-account .nav-button{display:none}@media (width<=760px){.app-shell.authenticated.area-datamart.bi-workspace>header{z-index:30;background:var(--gridware-primary);width:100%;height:64px;position:fixed;inset:0 0 auto}.app-shell.authenticated.area-datamart.bi-workspace.mobile-menu-open>header>nav{display:flex}.app-shell.authenticated.area-datamart.bi-workspace.mobile-menu-open main,.app-shell.authenticated.area-datamart.bi-workspace.mobile-menu-open footer{margin-left:0}.app-shell.authenticated.area-datamart.bi-workspace .user-status-panel{right:auto}}.app-shell.authenticated.area-datamart.bi-only>header{color:#f5faf7;background:#24333a;flex-direction:row;align-items:center;width:100%;height:64px;inset:0 0 auto;box-shadow:0 2px 12px #1f293344}.app-shell.authenticated.area-datamart.bi-only>header strong{color:#f5faf7;background:#24333a;border-bottom:0;min-height:64px;padding:.65rem 1rem}.app-shell.authenticated.area-datamart.bi-only main{padding-top:64px}.app-shell.authenticated.area-datamart.bi-only>header nav{z-index:12;border:0;flex-direction:row;flex:none;align-items:center;margin-left:auto;padding:0 .75rem 0 .5rem;display:flex;position:relative;overflow:visible}.app-shell.authenticated.area-datamart.bi-only .user-status-panel,.app-shell.authenticated.area-datamart.bi-only>header nav .bi-navigation,.app-shell.authenticated.area-datamart.bi-only>header nav .nav-primary{display:none}.app-shell.authenticated.area-datamart.bi-only>header nav .nav-account{border:0;flex-direction:row;align-items:center;gap:.25rem;margin:0;padding:0}.app-shell.authenticated.area-datamart.bi-only>header nav .nav-account a,.app-shell.authenticated.area-datamart.bi-only>header nav .nav-account .nav-button{color:#f5faf7;min-height:40px;padding:.5rem .75rem}.app-shell.authenticated.area-datamart.bi-only>header nav .nav-account a:hover,.app-shell.authenticated.area-datamart.bi-only>header nav .nav-account .nav-button:hover{color:#b9df72;background:#40535a}.app-shell.authenticated.area-datamart.bi-only>header nav .nav-account .bi-logout-button{white-space:nowrap;border:1px solid;border-radius:.25rem;justify-content:center;width:auto;padding:.5rem .75rem!important}.app-shell.authenticated.area-datamart.bi-only main,.app-shell.authenticated.area-datamart.bi-only footer{margin-left:0}@media (width<=760px){.app-shell.area-datamart .snapshot-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.area-datamart .snapshot-overview>div:nth-child(2){border-right:0}.app-shell.area-datamart .snapshot-overview>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=420px){.app-shell.area-datamart .snapshot-overview{grid-template-columns:1fr}.app-shell.area-datamart .snapshot-overview>div{border-right:0;border-bottom:1px solid var(--line)}.app-shell.area-datamart .snapshot-overview>div:last-child{border-bottom:0}}.app-shell.area-datamart .charging-stations-page .station-breadcrumbs{width:fit-content;max-width:100%}.app-shell.area-datamart .charging-stations-page .station-breadcrumb-label{color:var(--gridware-primary);margin-right:.45rem;font-weight:700}.app-shell.area-datamart .charging-stations-page .tree-node-count{font-variant-numeric:tabular-nums;margin-left:.75rem;font-weight:400;display:inline-block}.app-shell.area-datamart .charging-stations-page [role=tabpanel]>.station-overview-legend{color:var(--gridware-primary)}.app-shell.area-datamart .charging-stations-page .station-filters>summary{display:none}.app-shell.area-datamart .charging-stations-page .button.secondary{background:var(--surface);border-color:var(--line);color:var(--gridware-primary);box-shadow:none}.app-shell.area-datamart .charging-stations-page .button.secondary:hover{background:var(--surface-muted);border-color:var(--gridware-primary);color:var(--gridware-primary)}.app-shell.authenticated.area-datamart:not(.bi-only)>footer{padding-bottom:5.5rem}@media (width<=760px){.app-shell.area-datamart .charging-stations-page .station-filters{border:1px solid var(--line);background:var(--surface-muted);margin:1.25rem 0}.app-shell.area-datamart .charging-stations-page .station-filters>summary{cursor:pointer;padding:.8rem 1rem;font-weight:700;display:list-item}.app-shell.area-datamart .charging-stations-page .station-filters>summary:focus-visible{outline:3px solid var(--gridware-accent);outline-offset:-3px}.app-shell.area-datamart .charging-stations-page .station-filters .station-filter-panel{border:0;border-top:1px solid var(--line);margin:0}}.app-shell.area-datamart .station-marker-filter{border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.6rem .8rem;display:flex}.app-shell.area-datamart .station-marker-filter legend{color:var(--text-muted);padding:0 .25rem;font-size:.75rem;font-weight:700}.app-shell.area-datamart .station-marker-filter label{cursor:pointer;align-items:center;gap:.35rem;font-weight:500;display:inline-flex}.app-shell.area-datamart .station-marker-filter input{width:1rem;height:1rem;accent-color:var(--gridware-accent);margin:0}.support-dashboard-map-panel .station-marker-filter{border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.6rem .8rem;display:flex}.support-dashboard-map-panel .station-marker-filter legend{color:var(--text-muted);padding:0 .25rem;font-size:.75rem;font-weight:700}.support-dashboard-map-panel .station-marker-filter label{cursor:pointer;align-items:center;gap:.35rem;font-weight:500;display:inline-flex}.support-dashboard-map-panel .station-marker-filter input{width:1rem;height:1rem;accent-color:var(--gridware-accent);margin:0}.support-dashboard-map-panel .station-overview-legend{color:var(--text-muted)}.support-dashboard-map-panel .support-dashboard-station-map{border-radius:2px;height:480px}.support-dashboard-map-panel .support-map-connections{margin-top:.25rem}.ocpp-report-search{max-width:34rem;margin:1.25rem 0;display:grid}.ocpp-report-search input{margin:.35rem 0 0}.ocpp-reports-table td:last-child{text-align:right}.ocpp-report-kpis{border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:1.5rem 0;display:grid}.ocpp-report-kpis>div{border-right:1px solid var(--line);padding:1rem}.ocpp-report-kpis>div:last-child{border-right:0}.ocpp-report-kpis span,.ocpp-report-kpis strong{display:block}.ocpp-report-kpis span{color:var(--text-muted);font-size:.82rem}.ocpp-report-kpis strong{margin-top:.3rem;font-size:1.65rem}.ocpp-report-section{margin-top:2rem}.ocpp-report-bar-row{grid-template-columns:minmax(12rem,24%) minmax(8rem,1fr) 9rem;align-items:center;gap:1rem;margin:.7rem 0;display:grid}.ocpp-report-bar{background:var(--surface-muted);border:1px solid var(--line);height:.7rem}.ocpp-report-bar i{background:var(--gridware-accent);height:100%;display:block}.ocpp-report-controls{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.ocpp-report-controls label{min-width:14rem;display:grid}.ocpp-report-controls input,.ocpp-report-controls select{margin:.35rem 0 0;padding:.55rem}.ocpp-report-stations td:last-child{min-width:21rem}.ocpp-report-value{border-bottom:1px solid var(--line);grid-template-columns:minmax(10rem,1fr) 5rem minmax(7rem,auto);gap:.5rem;padding:.2rem 0;display:grid}.ocpp-report-value .muted{font-size:.78rem}.ocpp-report-detail .page-heading>div>h1{margin:.55rem 0}.ocpp-report-detail .badge{margin:0 .2rem .2rem 0}@media (width<=800px){.ocpp-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ocpp-report-kpis>div:nth-child(2){border-right:0}.ocpp-report-kpis>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.ocpp-report-bar-row{grid-template-columns:1fr 5rem;gap:.35rem .75rem}.ocpp-report-bar-row .ocpp-report-bar{grid-column:1/2}.ocpp-report-bar-row strong{grid-area:2/2}.ocpp-report-value{grid-template-columns:1fr auto}.ocpp-report-value .muted{grid-column:1/-1}}.anomaly-report-visuals{gap:1rem;margin:1.5rem 0;display:grid}.anomaly-report-trend,.anomaly-report-chart-list{border:1px solid var(--line);background:#fff;min-width:0;padding:1rem}.anomaly-report-trend h2,.anomaly-report-chart-list h2{margin:.1rem 0 .35rem;font-size:1rem}.anomaly-report-trend>div:first-child p{margin:.2rem 0}.anomaly-report-bars-stacked{align-items:flex-end;gap:.5rem;min-height:0}.anomaly-report-bars-stacked .anomaly-report-bar-column{min-height:11rem}.anomaly-report-stack{border-bottom:1px solid var(--line);flex-direction:column-reverse;flex:1 0 auto;justify-content:flex-start;width:min(70%,2rem);height:9rem;min-height:0;display:flex}.anomaly-report-stack i{flex:none;width:100%;min-height:0;display:block}.anomaly-report-chart-legend{flex-wrap:wrap;gap:.5rem 1rem;margin-top:.65rem;font-size:.78rem;display:flex}.anomaly-report-chart-legend span{align-items:center;gap:.35rem;display:inline-flex}.anomaly-report-chart-legend i{width:.65rem;height:.65rem}.anomaly-report-visual-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;display:grid}.anomaly-report-chart-list ol{gap:.65rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.anomaly-report-chart-list li{min-width:0}.anomaly-report-chart-label{justify-content:space-between;gap:.75rem;font-size:.82rem;display:flex}.anomaly-report-chart-label span{overflow-wrap:anywhere;min-width:0}.anomaly-report-chart-label small{color:var(--text-muted);display:block}.anomaly-report-chart-label strong{font-variant-numeric:tabular-nums}.anomaly-report-chart-track{background:var(--surface-muted);border:1px solid var(--line);height:.55rem;margin-top:.25rem}.anomaly-report-chart-track i{min-width:2px;height:100%;display:block}.anomaly-report-page .table-wrap{max-width:100%}.admin-role-actions{gap:.4rem;min-width:12rem;display:grid}.admin-role-actions .button{text-align:left;padding:.45rem .6rem;font-size:.78rem}.app-shell.area-datamart .card .admin-role-actions span{color:var(--text-muted);font-size:.75rem}@media (width<=700px){.anomaly-report-trend,.anomaly-report-chart-list{padding:.75rem}.anomaly-report-bars-stacked{gap:.25rem}.anomaly-report-bars-stacked .anomaly-report-bar-column{flex-basis:2rem}}.anomaly-report-actions{flex-wrap:wrap;gap:.4rem;display:flex}.anomaly-report-actions .button{padding:.45rem .65rem;font-size:.82rem}.ocpp-report-actions{flex-wrap:wrap;gap:.4rem;display:flex}.ocpp-report-actions .button{padding:.45rem .65rem;font-size:.82rem}.ocpp-comparison-create{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:1.5rem 0;padding:1rem 0}.ocpp-comparison-create h2{margin:.1rem 0 .35rem}.ocpp-create-controls{flex-wrap:wrap;align-items:end;gap:1rem;margin:1rem 0;display:flex}.ocpp-create-controls>label:first-child{min-width:min(100%,22rem)}.ocpp-create-controls select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;margin-top:.35rem;padding:.65rem;display:block}.ocpp-create-station-picker{margin:1rem 0}.ocpp-create-station-picker>summary{cursor:pointer;color:var(--gridware-blue);font-weight:700}.ocpp-create-station-picker .multi-select-options{max-height:16rem}.ocpp-snapshot-key-search{max-width:32rem;margin:1rem 0;display:block}.ocpp-snapshot-key-search input{width:100%;margin:.35rem 0;padding:.6rem;display:block}.editable-report-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.editable-report-title h1{margin:.5rem 0}.editable-report-title form{flex-wrap:wrap;align-items:flex-end;gap:.5rem;max-width:none;display:flex}.editable-report-title label{min-width:min(100%,16rem);display:grid}.editable-report-title input{margin:.25rem 0 0;padding:.5rem}.editable-report-title [role=alert]{padding:.4rem}@media (width<=700px){.ocpp-comparison-create{padding:.75rem 0}.ocpp-create-controls>label:first-child{width:100%}.ocpp-report-actions .button{padding:.4rem .5rem}}.financial-report-hierarchy-filter{grid-column:1/-1;background:var(--surface)!important;padding:.75rem!important;display:block!important}.financial-report-hierarchy-filter>input[type=search]{border:1px solid var(--line);background:var(--surface);width:100%;max-width:36rem;font:inherit;margin:.25rem 0 .5rem;padding:.6rem .7rem;display:block}.financial-report-hierarchy-filter p{margin:.35rem 0 .65rem;font-size:.8rem}.financial-report-hierarchy-filter ul{gap:.1rem;max-height:24rem;margin:.4rem 0 0;padding:0;list-style:none;display:grid;overflow:auto}.financial-report-hierarchy-filter ul ul{max-height:none;margin:.1rem 0 0}.financial-report-hierarchy-all{align-items:center;gap:.4rem;font-weight:600;display:flex}.financial-report-hierarchy-row{align-items:center;gap:.25rem;min-height:2rem;display:flex}.financial-report-hierarchy-row label{flex:1;align-items:center;gap:.4rem;min-width:0;font-weight:400;display:flex}.financial-report-hierarchy-row label span{overflow-wrap:anywhere}.financial-report-hierarchy-row small{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.7rem}.financial-report-hierarchy-toggle{width:1.6rem;height:1.6rem;color:var(--gridware-blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:1rem}.financial-report-hierarchy-spacer{width:1.6rem;display:inline-block}.financial-report-hierarchy-item{min-width:0}@media (width<=700px){.financial-report-hierarchy-filter ul{max-height:20rem}.financial-report-hierarchy-row small{display:none}}.app-shell.area-datamart .financial-reporting-page{background:var(--surface);border:1px solid var(--line);width:min(100%,96rem);margin:0 auto;padding:1.75rem 2rem 2.5rem;box-shadow:0 8px 24px #40404212}.app-shell.area-datamart .financial-reporting-page>h1{letter-spacing:-.035em;margin:.2rem 0 .45rem;font-size:clamp(2rem,3.5vw,3rem)}.app-shell.area-datamart .financial-reporting-page>p:not(.eyebrow){max-width:52rem;color:var(--text-muted);margin:.25rem 0 1.5rem;line-height:1.55}.app-shell.area-datamart .financial-report-filters{gap:1.25rem;margin:1.5rem 0}.app-shell.area-datamart .financial-report-filter-group{background:var(--surface-muted);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1.25rem;display:grid}.app-shell.area-datamart .financial-report-filter-group>legend{grid-column:1/-1;margin-bottom:-.25rem}.app-shell.area-datamart .financial-report-grouping{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.25rem;display:grid}.app-shell.area-datamart .financial-report-grouping>legend{grid-column:1/-1;margin-bottom:-.25rem}.app-shell.area-datamart .financial-report-multi-filter{min-width:0;padding:.85rem!important}.app-shell.area-datamart .financial-report-multi-filter legend{font-size:.82rem}.app-shell.area-datamart .financial-reporting-scope{border:1px solid var(--line);border-left:4px solid var(--gridware-accent);background:var(--surface-muted);grid-template-columns:minmax(9rem,.35fr) minmax(0,1fr);gap:.65rem 1.25rem;margin:1.75rem 0;padding:1.25rem 1.5rem;line-height:1.4;display:grid}.app-shell.area-datamart .financial-reporting-scope>span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.app-shell.area-datamart .financial-reporting-scope>strong{overflow-wrap:anywhere;min-width:0;font-weight:650}.app-shell.area-datamart .financial-reporting-scope-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.app-shell.area-datamart .financial-reporting-quality{flex-wrap:wrap;gap:.35rem .85rem;font-weight:500!important;display:flex!important}.app-shell.area-datamart .financial-reporting-quality>span{white-space:nowrap;align-items:baseline;gap:.3rem;display:inline-flex}.app-shell.area-datamart .financial-reporting-quality>span:first-child{font-weight:700}.app-shell.area-datamart .financial-reporting-quality b{font-variant-numeric:tabular-nums}.app-shell.area-datamart .financial-reporting-page .tab-list{margin-top:2rem}.app-shell.area-datamart .financial-reporting-page .dashboard-panel{border:1px solid var(--line);background:var(--surface);margin-top:1.5rem;padding:1.5rem}.app-shell.area-datamart .financial-reporting-page .dashboard-panel-header{border-bottom:1px solid var(--line);align-items:center;padding-bottom:1rem}.app-shell.area-datamart .financial-reporting-page .dashboard-panel-header h2{margin:.1rem 0 .35rem}.app-shell.area-datamart .financial-report-view-toggle{flex-wrap:wrap;gap:.5rem;display:flex}.app-shell.area-datamart .financial-report-kpis{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem;margin:1.5rem 0;display:grid}.app-shell.area-datamart .financial-report-kpi{border:1px solid var(--line);border-top:3px solid var(--gridware-accent);background:var(--surface-muted);gap:.45rem;min-width:0;padding:1rem 1.1rem;display:grid}.app-shell.area-datamart .financial-report-kpi>span{color:var(--text-muted);font-size:.82rem;line-height:1.35}.app-shell.area-datamart .financial-report-kpi>strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.65rem;line-height:1.1}.app-shell.area-datamart .financial-report-kpi-meta{flex-wrap:wrap;gap:.25rem .6rem;font-size:.76rem;display:flex}.app-shell.area-datamart .financial-report-kpi-meta>span+span{border-left:1px solid var(--line);padding-left:.6rem}.app-shell.area-datamart .financial-report-chart{margin-top:.75rem;padding:1.25rem .5rem 1rem}.app-shell.area-datamart .financial-report-chart-value,.app-shell.area-datamart .financial-report-bar-value{font-variant-numeric:tabular-nums;letter-spacing:.01em}@media (width<=900px){.app-shell.area-datamart .financial-report-filter-group{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.area-datamart .financial-report-grouping{grid-template-columns:1fr}}@media (width<=600px){.app-shell.area-datamart .financial-reporting-page{padding:1.25rem 1rem 2rem}.app-shell.area-datamart .financial-reporting-scope{grid-template-columns:1fr;gap:.25rem;margin:1.25rem 0;padding:1rem}.app-shell.area-datamart .financial-reporting-scope>span:not(:first-child){margin-top:.7rem}.app-shell.area-datamart .financial-report-filter-group{grid-template-columns:1fr}.app-shell.area-datamart .financial-reporting-quality>span{white-space:normal}.app-shell.area-datamart .financial-reporting-page .dashboard-panel{padding:1rem}}.documentation-presentation-header strong{min-height:0;font-size:inherit;font-weight:inherit;align-items:initial;border-bottom:0;flex:none;gap:0;padding:0;display:inline}.bi-kpi-title{color:var(--bi-muted);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.86rem;font-weight:700;display:flex}.bi-kpi .bi-kpi-quality,.bi-kpi .bi-kpi-context{overflow-wrap:anywhere}@media (width<=900px){.bi-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.bi-filter-bar{grid-template-columns:1fr}.bi-filter-chip-row{grid-template-columns:1fr;gap:.2rem}.bi-filter-row-label{padding-top:0}.bi-page,.bi-panel{padding:1rem}.bi-widget-header{flex-direction:column;align-items:stretch}.bi-chart-metric-selector{min-width:0}}.claims-page .claims-filter-bar{grid-template-columns:minmax(14rem,2fr) repeat(2,minmax(11rem,1fr));align-items:end;gap:1rem;margin:1.25rem 0;display:grid}.claims-page .claims-filter-bar label{min-width:0;display:block}.claims-page .claims-filter-bar input,.claims-page .claims-filter-bar select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:2.75rem;font:inherit;margin:.4rem 0 0;padding:.55rem .7rem;display:block}.claim-detail-list{border:1px solid var(--line);border-left:4px solid var(--gridware-accent);background:var(--surface);grid-template-columns:minmax(10rem,.7fr) minmax(0,1.3fr);gap:.6rem 1.25rem;margin:1.25rem 0;padding:1rem;display:grid}.claim-detail-list dt{color:var(--text-muted);border-bottom:1px solid var(--line);padding:.45rem 0;font-size:.84rem;font-weight:700}.claim-detail-list dd{overflow-wrap:anywhere;border-bottom:1px solid var(--line);min-width:0;margin:0;padding:.45rem 0;font-weight:500}@media (width<=700px){.claims-page .claims-filter-bar{grid-template-columns:minmax(0,1fr)}.claim-detail-list{grid-template-columns:minmax(0,1fr);gap:.1rem;padding:.75rem}.claim-detail-list dt{border-bottom:0;padding:.55rem 0 .1rem}.claim-detail-list dd{padding:.1rem 0 .55rem}}.bi-page{max-width:78rem;margin:0 auto;padding:1rem}.bi-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.bi-panel-grid .bi-panel{margin:0}.bi-panel-grid-development{grid-template-columns:repeat(3,minmax(0,1fr))}.bi-filter-bar{border:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:1rem 0;padding:.85rem 1rem;display:grid}.bi-filter-heading{grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.bi-filter-heading strong{color:var(--gridware-primary)}.bi-filter-heading .button{padding:.4rem .65rem;font-size:.8rem}.bi-filter{min-width:0;color:var(--text-muted);gap:.3rem;font-size:.76rem;font-weight:700;display:grid}.bi-filter input,.bi-filter select{background:var(--surface);width:100%;min-width:0;font:inherit;color:var(--text);margin:0;padding:.5rem}.bi-filter-multi select{min-height:2.5rem}.bi-page-header{width:auto;height:auto;box-shadow:none;color:inherit;border:0;border-bottom:1px solid var(--line);background:0 0;flex-direction:row;justify-content:space-between;align-items:end;gap:2rem;padding:1.5rem 0 1rem;display:flex;position:static}.bi-page-header nav{border:0;padding:0;display:block;position:static;overflow:visible}.bi-page-header h1{margin:.25rem 0;font-size:2.25rem}.bi-page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:1.25rem;display:flex}.bi-dashboard-selector{gap:.35rem;display:grid}.bi-dashboard-selector>span,.bi-connection-selector{color:var(--text-muted);font-size:.76rem;font-weight:700}.bi-connection-selector{gap:.35rem;min-width:13rem;display:grid}.bi-connection-selector select{background:var(--surface);border:1px solid var(--line);width:100%;font:inherit;color:var(--text);padding:.55rem}.bi-page-header p{max-width:44rem;color:var(--text-muted);margin:.25rem 0}.bi-eyebrow{letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#6d9f2f!important;font-size:.75rem!important}.bi-tabs{flex-flow:wrap;gap:.25rem;display:flex}.bi-tabs a{color:var(--text-muted);border-bottom:3px solid #0000;padding:.55rem .75rem;font-weight:700;text-decoration:none}.bi-tabs a.active{border-bottom-color:var(--gridware-accent);color:var(--gridware-primary)}.bi-freshness{border-left:4px solid var(--gridware-accent);background:#fff;margin:1.25rem 0;padding:.75rem 1rem}.bi-warning{background:#fff9ed;border-left-color:#d99327}.bi-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;margin:1rem 0;display:grid}.bi-kpi{border:1px solid var(--line);border-top:4px solid var(--gridware-accent);background:#fff;gap:.3rem;padding:1rem;display:grid}.bi-kpi span,.bi-kpi small{color:var(--text-muted)}.bi-kpi strong{color:var(--gridware-primary);font-variant-numeric:tabular-nums;font-size:1.7rem}.bi-kpi-trend{font-size:.75rem}.bi-kpi-trend.positive{color:#4f8524}.bi-kpi-trend.negative{color:#a35c27}.bi-kpi-sparkline{width:100%;height:2rem;overflow:visible}.bi-kpi-sparkline polyline{fill:none;stroke:var(--gridware-accent);stroke-width:2px;vector-effect:non-scaling-stroke}.bi-chart-toolbar{color:var(--text-muted);justify-content:space-between;align-items:center;gap:1rem;margin:.25rem 0 .5rem;font-size:.78rem;display:flex}.bi-chart-toolbar label{min-width:0;max-width:100%;color:var(--text-muted);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.bi-chart-toolbar select{border:1px solid var(--line);background:var(--surface);min-width:0;max-width:100%;font:inherit;padding:.35rem .45rem}.bi-chart-legend{align-items:center;gap:.4rem;display:inline-flex}.bi-chart-legend i{background:var(--gridware-accent);border-radius:2px;width:.7rem;height:.7rem}.bi-panel{border:1px solid var(--line);background:#fff;margin:1rem 0;padding:1.25rem}.bi-panel h2{margin-top:0}.bi-bars{align-items:end;gap:.75rem;min-height:18rem;padding:1rem 0;display:flex;overflow-x:auto}.bi-bar{flex-direction:column;flex:1 0 3.5rem;justify-content:end;align-items:center;gap:.35rem;min-width:3.5rem;height:16rem;display:flex;position:relative}.bi-bar strong{font-variant-numeric:tabular-nums;font-size:.75rem}.bi-tooltip{z-index:2;border:1px solid var(--line);background:var(--gridware-primary);color:#fff;opacity:0;pointer-events:none;width:max-content;max-width:15rem;padding:.35rem .5rem;font-size:.72rem;line-height:1.3;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% - 1rem);left:50%;transform:translate(-50%,.25rem)}.bi-bar:hover .bi-tooltip,.bi-bar:focus-visible .bi-tooltip{opacity:1;transform:translate(-50%)}.bi-bar-track{border-bottom:1px solid var(--line);background:#edf2ed;align-items:end;width:2.5rem;height:11rem;display:flex}.bi-bar-track span{background:#8bc03e;width:100%;min-height:4px;display:block}.bi-bar small{max-width:6rem;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.bi-bar.is-interactive{cursor:pointer}.bi-bar.is-interactive:hover .bi-bar-track{filter:brightness(.95)}.bi-bar.is-interactive:focus-visible{outline:3px solid color-mix(in srgb, var(--gridware-accent) 55%, transparent);outline-offset:3px}.bi-bar-track:focus-visible{outline:3px solid color-mix(in srgb, var(--gridware-accent) 55%, transparent);outline-offset:2px}.bi-data-table{border-top:1px solid var(--line);margin-top:.5rem}.bi-data-table summary{color:var(--gridware-primary);cursor:pointer;padding:.65rem 0;font-size:.82rem;font-weight:700}.bi-data-table table{margin-top:.25rem}.bi-data-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.bi-export-button{align-self:end;padding:.5rem .7rem;font-size:.8rem}.bi-empty{border:1px dashed var(--line);color:var(--text-muted);background:#fff;padding:2rem}@media (width<=900px){.bi-panel-grid-development,.bi-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.bi-filter-bar{grid-template-columns:1fr}.bi-filter-heading{grid-column:auto}.bi-chart-toolbar{flex-wrap:wrap;justify-content:flex-start}}@media (width<=760px){.bi-page,.bi-page-header,.bi-page-header-actions,.bi-dashboard-selector,.bi-filter-bar,.bi-panel{min-width:0;max-width:100%}.bi-page-header{display:block}.bi-page-header-actions{margin-top:1rem;display:block}.bi-connection-selector{min-width:0;max-width:100%}.bi-dashboard-selector{margin-top:1rem}.bi-tabs{flex-wrap:nowrap;max-width:100%;margin-top:.25rem;overflow-x:auto}.bi-page-header h1{font-size:1.8rem}.bi-panel-grid,.bi-panel-grid-development{grid-template-columns:1fr}}.app-shell.area-datamart:has(.bi-page) main{background:#f7f8fb}.bi-page{--bi-ink:#243447;--bi-blue:#3b82f6;--bi-purple:#7c3aed;--bi-teal:#0f9f9a;--bi-orange:#f59e0b;--bi-pink:#db2777;--bi-series-1:#0072b2;--bi-series-2:#d55e00;--bi-series-3:#009e73;--bi-series-4:#cc79a7;--bi-series-5:#e69f00;--bi-series-6:#6c4eae;--bi-series-other:#64748b;--bi-line:#dbe2ea;--bi-surface:#fff;max-width:92rem;color:var(--bi-ink);padding:1.5rem 2rem 3rem}.bi-page-header{border-bottom:1px solid var(--bi-line);padding:1.25rem 0 1rem}.bi-page-header-actions{align-items:flex-end;gap:1rem;min-width:0}.bi-page-header nav.bi-tabs,.bi-page-header .bi-tabs{white-space:nowrap;align-items:center;gap:.25rem;max-width:100%;overflow-x:auto;flex-flow:row!important;display:flex!important}.bi-dashboard-selector{gap:.45rem;min-width:0}.bi-dashboard-selector>span{color:#718096;text-transform:uppercase;letter-spacing:.08em}.bi-tabs a{color:#64748b;background:0 0;border:0;border-radius:999px;padding:.55rem .8rem;transition:background .15s,color .15s}.bi-tabs a:hover{color:var(--bi-blue);background:#e8eefc}.bi-tabs a.active{background:var(--bi-blue);color:#fff;border:0;box-shadow:0 2px 5px #3b82f633}.bi-eyebrow{color:var(--bi-blue)!important}.bi-filter-bar{border:1px solid var(--bi-line);background:var(--bi-surface);border-radius:.65rem;margin:1.25rem 0;padding:1rem 1.25rem;display:block;box-shadow:0 4px 16px #2434470b}.bi-filter-heading{border-bottom:1px solid var(--bi-line);padding-bottom:.25rem}.bi-filter{color:#64748b;gap:.4rem}.bi-filter input,.bi-filter select{color:var(--bi-ink);background:#fff;border:1px solid #cbd5e1;border-radius:.45rem;padding:.55rem .65rem}.bi-filter input:focus,.bi-filter select:focus{border-color:var(--bi-blue);outline:3px solid #3b82f633}.bi-filter-chip-row{grid-template-columns:minmax(10rem,13rem) minmax(0,1fr);align-items:start;gap:.75rem;padding-top:.85rem;display:grid}.bi-filter-chip-row+.bi-filter-chip-row{border-top:1px solid var(--bi-line);margin-top:.85rem;padding-top:1rem}.bi-filter-row-label{color:#64748b;letter-spacing:.08em;text-transform:uppercase;padding-top:.7rem;font-size:.72rem;font-weight:800}.bi-filter-chips{flex-wrap:wrap;gap:.55rem;display:flex}.bi-filter-chip{min-height:2.5rem;color:var(--bi-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.45rem;align-items:center;gap:.45rem;padding:.45rem .7rem;display:inline-flex}.bi-filter-chip:hover,.bi-filter-chip:focus-visible{border-color:var(--bi-blue);box-shadow:0 0 0 3px #3b82f633}.bi-filter-chip span{color:#64748b;font-size:.76rem;font-weight:700}.bi-filter-chip strong{font-size:.82rem}.bi-filter-chip.is-active{border-color:var(--bi-blue);background:#f3f8eb}.bi-filter-dialog{z-index:4;border:1px solid var(--bi-line);background:#fff;border-radius:.55rem;width:min(30rem,100%);margin-top:.75rem;padding:1rem;position:relative;box-shadow:0 8px 24px #24344722}.bi-filter-dialog-header{color:var(--bi-ink);justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.bi-filter-dialog-header button{color:var(--bi-ink);cursor:pointer;background:0 0;border:0;font-size:1.35rem;line-height:1}.bi-filter-dialog-list{gap:.15rem;display:grid}.bi-filter-option{color:var(--bi-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:.35rem;padding:.62rem .7rem}.bi-filter-option:hover,.bi-filter-option:focus-visible{outline:2px solid var(--bi-blue);outline-offset:-2px;background:#f3f8eb}.bi-filter-form{gap:.75rem;display:grid}.bi-filter-form>label{color:#64748b;gap:.35rem;font-size:.8rem;font-weight:700;display:grid}.bi-filter-form input,.bi-filter-form select{box-sizing:border-box;width:100%}.bi-filter-dialog-tabs{border-bottom:1px solid var(--bi-line);gap:.25rem;display:flex}.bi-filter-dialog-tabs button{color:#64748b;font:inherit;cursor:pointer;background:#fff;border:0;border-bottom:3px solid #0000;padding:.55rem .7rem;font-weight:700}.bi-filter-dialog-tabs button.active{border-bottom-color:var(--bi-blue);color:var(--bi-ink)}.bi-filter-checkbox,.bi-filter-check{align-items:center;color:var(--bi-ink)!important;grid-template-columns:auto 1fr!important;gap:.45rem!important;font-weight:500!important;display:flex!important}.bi-filter-checkbox input,.bi-filter-check input{width:auto!important}.bi-filter-options{gap:.45rem;max-height:14rem;padding:.25rem 0;display:grid;overflow:auto}.bi-filter-preview{color:#64748b;background:#f7f8fb;margin:0;padding:.65rem;font-size:.8rem}.bi-filter-dialog-actions{justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.bi-filter-dialog-actions .button{padding:.5rem .7rem;font-size:.8rem}.bi-filter select[multiple]{height:3.8rem}.bi-panel-grid{gap:1.25rem}.bi-panel-grid .bi-panel-wide{grid-column:1/-1}.bi-panel{border:1px solid var(--bi-line);background:var(--bi-surface);border-radius:.65rem;margin:1.25rem 0;padding:1.35rem 1.5rem;box-shadow:0 4px 16px #2434470a}.bi-panel h2{color:var(--bi-ink);font-size:1.15rem}.bi-unavailable-panel{background:#f8fafc;border-top:4px solid #94a3b8}.bi-unavailable-panel strong{color:#64748b}.bi-kpi-groups{gap:1.25rem;display:grid}.bi-kpi-group{max-width:72rem}.bi-kpi-group h2{border-bottom:1px solid var(--bi-line);color:var(--bi-ink);margin:0;padding-bottom:.4rem;font-size:1rem}.bi-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-width:72rem;margin:.75rem 0 0}.bi-page-header-actions{align-items:flex-end;gap:1rem}.bi-page-header-actions>.bi-export-button{flex:none;padding:.3rem .5rem;font-size:.72rem;line-height:1.2}.bi-copy-link-button{border:1px solid var(--bi-line);width:2.25rem;height:2.25rem;color:var(--bi-ink);cursor:pointer;background:0 0;border-radius:.25rem;flex:none;place-items:center;display:inline-grid}.bi-copy-link-button:hover{background:var(--bi-surface-muted)}.bi-copy-link-button:focus-visible{outline:2px solid var(--bi-blue);outline-offset:2px}.bi-copy-link-button svg{width:1.15rem;height:1.15rem}.bi-page-header-actions>.bi-connection-name{color:#64748b;align-self:flex-end;margin:0 0 .55rem;font-size:.8rem}.bi-page-header-actions>.bi-connection-name strong{color:var(--bi-ink)}.bi-page-header strong{min-height:0;font-size:inherit;font-weight:inherit;align-items:initial;border-bottom:0;flex:none;gap:0;padding:0;display:inline}.bi-page-header-actions>.bi-connection-selector{align-self:flex-end}@media (width<=1200px){.bi-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.bi-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.bi-kpi-grid{grid-template-columns:minmax(0,1fr)}.bi-page-header-actions>.bi-export-button{margin-bottom:.5rem}}@media (width<=420px){.bi-kpi-grid{grid-template-columns:minmax(0,1fr)}}.bi-kpi{border:1px solid var(--bi-line);border-top:4px solid var(--bi-blue);border-radius:.55rem;padding:1.1rem 1.15rem;box-shadow:0 3px 12px #2434470b}.bi-kpi strong{color:var(--bi-ink);font-size:1.65rem}.bi-kpi-title{color:var(--bi-muted);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.86rem;font-weight:700;display:flex}.bi-kpi-id{letter-spacing:.04em;background:#edf2f7;border-radius:.25rem;flex:none;padding:.1rem .35rem;font-size:.65rem;font-weight:800;color:#475569!important}.bi-kpi-detail{color:var(--bi-muted);font-size:.75rem}.bi-kpi-trend{border-top:1px solid var(--bi-line);color:var(--bi-ink);grid-template-columns:1fr auto;gap:.1rem .35rem;padding-top:.5rem;font-size:.82rem;display:grid}.bi-kpi-trend-change{white-space:nowrap;color:inherit!important;font-size:.95rem!important}.bi-kpi-trend-delta{grid-column:1/-1}.bi-kpi-footnotes{border-top:1px solid var(--bi-line);color:var(--bi-muted);margin:1.5rem 0;padding-top:1rem;font-size:.82rem}.bi-kpi-footnotes h2{margin:0 0 .6rem;font-size:1rem}.bi-kpi-footnotes ol{padding-left:1.6rem}.bi-kpi-footnotes li{padding:.25rem 0;scroll-margin-top:2rem}.bi-kpi sup{margin-left:.25rem}.bi-kpi sup a{color:var(--bi-blue)}.bi-kpi-quality{color:#9a3412;font-size:.75rem;font-weight:700;display:block}.bi-widget-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.bi-widget-header h2{margin:0}.bi-chart-metric-selector{min-width:14rem;color:var(--bi-muted);gap:.3rem;font-size:.76rem;font-weight:700;display:grid}.bi-chart-metric-selector select{border:1px solid var(--bi-line);background:var(--bi-surface);width:100%;max-width:100%;color:var(--bi-ink);font:inherit;border-radius:.35rem;padding:.5rem}.bi-widget-table{margin-top:.4rem}.bi-widget-table table{border-collapse:collapse;width:100%}.bi-widget-table th,.bi-widget-table td{border-bottom:1px solid var(--bi-line);padding:.55rem .65rem}.bi-widget-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.bi-data-view-toggle{white-space:nowrap}.bi-kpi-sparkline polyline{stroke:var(--bi-blue)}.bi-chart-legend i,.bi-bar-track span{background:var(--bi-blue)}.bi-chart-toolbar.bi-metric-sessions .bi-chart-legend i,.bi-bars.bi-metric-sessions .bi-bar-track span,.bi-kpi.bi-metric-sessions{--bi-metric-color:var(--bi-blue)}.bi-chart-toolbar.bi-metric-energy .bi-chart-legend i,.bi-bars.bi-metric-energy .bi-bar-track span,.bi-kpi.bi-metric-energy{--bi-metric-color:var(--bi-teal)}.bi-chart-toolbar.bi-metric-amount .bi-chart-legend i,.bi-bars.bi-metric-amount .bi-bar-track span,.bi-kpi.bi-metric-amount{--bi-metric-color:var(--bi-purple)}.bi-chart-toolbar.bi-metric-utilization .bi-chart-legend i,.bi-bars.bi-metric-utilization .bi-bar-track span,.bi-kpi.bi-metric-utilization{--bi-metric-color:var(--bi-orange)}.bi-chart-toolbar.bi-metric-infrastructure .bi-chart-legend i,.bi-bars.bi-metric-infrastructure .bi-bar-track span{--bi-metric-color:#16a34a}.bi-chart-toolbar.bi-metric-error .bi-chart-legend i,.bi-bars.bi-metric-error .bi-bar-track span{--bi-metric-color:#dc2626}.bi-chart-toolbar[class*=bi-metric-] .bi-chart-legend i,.bi-bars[class*=bi-metric-] .bi-bar-track span{background:var(--bi-metric-color)}.bi-kpi[class*=bi-metric-]{border-top-color:var(--bi-metric-color)}.bi-bar-track{border-bottom-color:var(--bi-line);background:#eef2f7}.bi-time-bars{gap:.3rem;min-height:16rem;padding:.8rem .25rem .3rem}.bi-time-bars .bi-bar{flex:1 0 1.4rem;min-width:1.4rem;height:15rem}.bi-time-bars .bi-bar-track{width:100%;max-width:2rem}.bi-time-bars .bi-bar small{text-align:center;font-variant-numeric:tabular-nums;max-width:none;overflow:visible}.bi-time-bars .bi-bar:focus-visible{outline:2px solid var(--bi-blue);outline-offset:2px}.bi-time-bars .bi-bar:focus-visible .bi-tooltip{opacity:1;transform:translate(-50%)}.bi-stacked-bars{width:100%;height:22rem;overflow-x:auto}.bi-stacked-bars svg{width:100%;min-width:620px;height:100%;display:block;overflow:visible}.bi-stacked-time-bars svg{max-width:820px;margin-inline:auto}.bi-stack-gridline{stroke:#dce3eb;stroke-width:1px}.bi-stack-axis-label,.bi-stack-x-label,.bi-stack-total-label,.bi-stack-segment-label{fill:#64748b;font-family:inherit;font-size:11px}.bi-stack-x-label{fill:#334155;font-size:10px}.bi-stack-total-label{fill:#1e293b;font-size:10px;font-weight:700}.bi-stack-segment-label{fill:#fff;paint-order:stroke;stroke:#334155;stroke-width:1.5px;stroke-linejoin:round;font-size:9px;font-weight:700}.bi-stack-legend{color:#64748b;flex-wrap:wrap;gap:.45rem 1rem;margin:.6rem 0;font-size:.78rem;display:flex}.bi-stack-legend span{align-items:center;gap:.35rem;display:inline-flex}.bi-stack-legend i{border-radius:2px;width:.7rem;height:.7rem;display:inline-block}.bi-stacked-area{padding:.75rem .35rem 0}.bi-stacked-area svg{background:linear-gradient(to bottom, transparent 0, transparent 94%, var(--bi-line) 94%, var(--bi-line) 95%, transparent 95%);width:100%;height:15rem;display:block}.bi-stacked-axis-labels{color:#64748b;justify-content:space-between;gap:.5rem;font-size:.7rem;display:flex}.bi-stacked-axis-labels small{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;overflow:hidden}.bi-tooltip{background:var(--bi-ink)}.bi-data-table{border-top-color:var(--bi-line)}.bi-export-button{background:var(--bi-blue)!important;border-color:var(--bi-blue)!important}@media (width<=900px){.bi-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.bi-filter-bar{grid-template-columns:1fr}.bi-filter-chip-row{grid-template-columns:1fr;gap:.2rem}.bi-filter-row-label{padding-top:0}.bi-page,.bi-panel{padding:1rem}.bi-widget-header{flex-direction:column;align-items:stretch}.bi-chart-metric-selector{min-width:0}}.bi-horizontal-bars,.bi-horizontal-stacks{gap:.55rem;min-width:0;padding:.35rem 0;display:grid}.bi-horizontal-bar,.bi-horizontal-stack-row{grid-template-columns:minmax(8rem,.9fr) minmax(5rem,2fr) minmax(5.5rem,auto);align-items:center;gap:.65rem;min-width:0;display:grid;position:relative}.bi-horizontal-category{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:.82rem;line-height:1.25}.bi-horizontal-track,.bi-horizontal-stack-track{background:color-mix(in srgb, var(--line) 40%, transparent);border-radius:.25rem;min-width:0;height:.85rem;display:flex;overflow:hidden}.bi-horizontal-track>span{border-radius:inherit;background:var(--bi-blue);min-width:0;height:100%;display:block}.bi-horizontal-stack-segment{cursor:pointer;min-width:0;height:100%;display:block}.bi-horizontal-stack-segment:focus-visible,.bi-horizontal-bar.is-interactive:focus-visible{outline:2px solid var(--gridware-primary);outline-offset:2px}.bi-horizontal-value{white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:baseline;gap:.3rem;font-size:.78rem;display:flex}.bi-horizontal-value small{color:var(--text-muted);font-size:.68rem;font-weight:500}.bi-horizontal-bar.is-interactive{cursor:pointer}.bi-horizontal-bar.is-interactive:hover .bi-horizontal-category{color:var(--gridware-primary)}.bi-horizontal-bar:hover .bi-tooltip,.bi-horizontal-bar:focus-visible .bi-tooltip{opacity:1;transform:translate(-50%)}.bi-panel-grid-comparison{min-width:0}.bi-widget-data-region{border-radius:.35rem;min-width:0;min-height:2.5rem;position:relative}.bi-widget-data-region.is-loading .bi-widget-data-content{opacity:.42}.bi-widget-loading-overlay{z-index:2;border-radius:inherit;background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--gridware-primary);justify-content:center;align-items:center;gap:.55rem;padding:.75rem;font-size:.82rem;font-weight:600;display:flex;position:absolute;inset:0}.bi-widget-spinner{border:2px solid var(--line);border-top-color:var(--gridware-primary);border-radius:50%;flex:none;width:1rem;height:1rem;animation:.8s linear infinite bi-widget-spin}@keyframes bi-widget-spin{to{transform:rotate(360deg)}}.bi-widget-skeleton{gap:.6rem;min-height:8rem;padding:.45rem .2rem;display:grid}.bi-widget-skeleton span{background:color-mix(in srgb, var(--line) 72%, var(--surface));border-radius:999px;height:.7rem;display:block}.bi-widget-skeleton span:first-child{width:92%}.bi-widget-skeleton span:nth-child(2){width:74%}.bi-widget-skeleton span:nth-child(3){width:84%}.bi-widget-skeleton span:nth-child(4){width:61%}.bi-widget-load-error{border:1px solid var(--line);color:var(--gridware-primary);background:var(--surface);border-radius:.45rem;flex-wrap:wrap;align-items:center;gap:.55rem .8rem;padding:.7rem;font-size:.84rem;display:flex}.bi-widget-load-error small{color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.bi-widget-spinner{animation:none}}@media (width<=900px){.bi-panel-grid-comparison{grid-template-columns:minmax(0,1fr)}.bi-panel-grid-comparison>.bi-panel{min-width:0}.bi-page-comparison .bi-chart-toolbar{flex-wrap:wrap;gap:.55rem}.bi-page-comparison .bi-chart-toolbar label{flex-wrap:wrap}.bi-horizontal-bar,.bi-horizontal-stack-row{grid-template-columns:minmax(6rem,.8fr) minmax(3rem,1.5fr) minmax(4.5rem,auto);gap:.45rem}}@media (width<=560px){.bi-horizontal-bar,.bi-horizontal-stack-row{grid-template-columns:minmax(0,1fr) auto;gap:.3rem .55rem}.bi-horizontal-category{grid-column:1/-1}.bi-horizontal-track,.bi-horizontal-stack-track{grid-column:1}.bi-horizontal-value{grid-area:2/2}}.bi-comparison-controls{border:1px solid var(--line);background:var(--surface);border-radius:.65rem;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin:0 0 1rem;padding:.85rem 1rem;display:flex}.bi-comparison-controls label,.bi-period-toolbar>label{align-items:center;gap:.65rem;font-weight:600;display:flex}.bi-comparison-controls select,.bi-period-toolbar select{border:1px solid var(--line);background:var(--surface);min-height:2.25rem;color:var(--text);border-radius:.35rem;padding:.3rem .55rem}.bi-comparison-controls p{margin:0}.bi-period-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.bi-period-legend{color:var(--text-muted);flex-wrap:wrap;gap:.85rem;font-size:.78rem;display:flex}.bi-period-legend>span{align-items:center;gap:.35rem;display:inline-flex}.bi-period-legend i{border-radius:.12rem;width:.65rem;height:.65rem;display:inline-block}.bi-period-current{background:var(--bi-blue)}.bi-period-previous{background:var(--bi-orange)}.bi-period-range{margin:.6rem 0;font-size:.78rem}.bi-period-chart-scroll{max-width:100%;overflow-x:auto}.bi-period-chart{grid-template-columns:repeat(var(--bi-period-bucket-count), minmax(2.75rem, 1fr));min-width:max(100%, calc(var(--bi-period-bucket-count) * 3.25rem));gap:.25rem;padding:.5rem 0 0;display:grid}.bi-period-bucket{text-align:center;cursor:help;min-width:0}.bi-period-bars{border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top, transparent 0 calc(25% - 1px), color-mix(in srgb, var(--line) 60%, transparent) calc(25% - 1px) 25%);justify-content:center;align-items:flex-end;gap:.18rem;height:12rem;padding:0 .2rem;display:flex}.bi-period-bar{border-radius:.22rem .22rem 0 0;width:min(38%,1.2rem);min-height:0}.bi-period-bar.bi-period-current{background:var(--bi-blue)}.bi-period-bar.bi-period-previous{background:var(--bi-orange)}.bi-period-bucket small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.35rem;font-size:.7rem;display:block;overflow:hidden}@media (width<=560px){.bi-comparison-controls{flex-direction:column;align-items:flex-start}.bi-comparison-controls label,.bi-period-toolbar>label{flex-direction:column;align-items:flex-start;gap:.3rem}.bi-period-chart{min-width:max(100%, calc(var(--bi-period-bucket-count) * 2.8rem))}}.app-shell.area-datamart:has(.bi-page-comparison) .ai-companion-modal-anchor{justify-content:flex-end;width:100%;padding:.5rem 1rem;display:flex;position:static!important;transform:none!important}.mcp-clients-page .mcp-client-uri{overflow-wrap:anywhere;max-width:28rem;display:block}.documentation-hub,.documentation-article,.documentation-presentation{width:100%;max-width:110rem;margin:0 auto;padding:2rem}.documentation-hub h1{color:var(--gridware-blue);margin:.25rem 0 .75rem;font-size:clamp(2rem,4vw,3.2rem)}.documentation-hub h2{color:var(--gridware-blue);margin:2.5rem 0 1rem}.documentation-lead{max-width:60rem;color:var(--text-muted);font-size:1.2rem}.documentation-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.documentation-card{border:1px solid var(--line);background:var(--surface);min-height:8rem;color:var(--text);border-radius:.5rem;flex-direction:column;justify-content:space-between;gap:.6rem;padding:1.2rem;text-decoration:none;display:flex;box-shadow:0 5px 16px #00377a0b}.documentation-card:hover{border-color:var(--gridware-blue);background:#f7fafc}.documentation-card-kind{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.documentation-card strong{color:var(--gridware-blue);font-size:1.1rem}.documentation-card span:last-child{color:var(--gridware-blue);font-size:.9rem}.documentation-article{max-width:70rem}.documentation-markdown{color:var(--text);line-height:1.65}.documentation-markdown h1,.documentation-markdown h2,.documentation-markdown h3{color:var(--gridware-blue);line-height:1.2}.documentation-markdown h1{font-size:clamp(2rem,4vw,3rem)}.documentation-markdown h2{margin-top:2.5rem}.documentation-markdown img{max-width:100%;height:auto;margin:1.5rem auto;display:block}.documentation-markdown table{border-collapse:collapse;max-width:100%;display:block;overflow:auto}.documentation-markdown th,.documentation-markdown td{border:1px solid var(--line);text-align:left;padding:.5rem .7rem}.documentation-markdown code{background:#eef3f8;border-radius:.2rem;padding:.1rem .3rem}.documentation-markdown pre{color:#f8fafc;background:#1f2933;border-radius:.4rem;padding:1rem;overflow:auto}.documentation-markdown pre code{background:0 0;padding:0}.documentation-presentation{min-height:calc(100vh - 5rem)}.documentation-presentation-header,.documentation-presentation-controls{justify-content:space-between;align-items:center;gap:1rem;display:flex}.documentation-presentation-header{margin-bottom:1rem}.documentation-presentation-header a{color:var(--gridware-blue);font-weight:700}.documentation-slide{aspect-ratio:16/9;border-top:5px solid var(--gridware-accent);background:var(--surface);min-height:0;padding:clamp(1.25rem,3vw,2.5rem) clamp(2rem,7vw,6rem);overflow:auto;box-shadow:0 12px 32px #00377a12}.documentation-slide h1{color:var(--gridware-blue);margin:0 0 1rem;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.05}.documentation-slide .documentation-markdown{font-size:clamp(1rem,1.5vw,1.25rem)}.documentation-slide .documentation-markdown h1{display:none}.documentation-slide .documentation-markdown ul,.documentation-slide .documentation-markdown ol{font-size:1.2em;line-height:1.55}.documentation-presentation-controls{margin-top:1rem}.documentation-dots{gap:.5rem;display:flex}.documentation-dots button{border:1px solid var(--gridware-blue);cursor:pointer;background:0 0;border-radius:50%;width:.7rem;height:.7rem;padding:0}.documentation-dots button.active{background:var(--gridware-blue)}@media (width<=700px){.documentation-hub,.documentation-article,.documentation-presentation{padding:1rem}.documentation-slide{aspect-ratio:auto;min-height:28rem;padding:1.5rem}.documentation-presentation-controls{flex-wrap:wrap}.documentation-dots{order:3;justify-content:center;width:100%}}
