.brand-icon{display:inline-grid;flex:none;width:var(--brand-icon-size, 32px);height:var(--brand-icon-size, 32px);background:transparent;vertical-align:middle}.brand-icon>img{grid-area:1 / 1;display:block;width:100%;height:100%;background:transparent}.brand-icon>.brand-icon__dark,:root[data-theme=dark] .brand-icon>.brand-icon__light{display:none}:root[data-theme=dark] .brand-icon>.brand-icon__dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme]) .brand-icon>.brand-icon__light{display:none}:root:not([data-theme]) .brand-icon>.brand-icon__dark{display:block}}.brand__name-full,.brand__name-short{white-space:nowrap}.brand__name-short{display:none}@media(max-width:480px){.brand__name-full{display:none}.brand__name-short{display:inline}}:root{color-scheme:light;--bg-app: #f3f7fc;--bg-canvas: var(--bg-app);--bg-surface: #f9fbfe;--bg-surface-elevated: #ffffff;--bg-surface-raised: var(--bg-surface-elevated);--bg-surface-secondary: #edf3f9;--bg-input: #ffffff;--bg-hover: #e7f0fa;--bg-active: #dceafb;--bg-sidebar: #071321;--bg-sidebar-elevated: #0d1d2e;--border-subtle: #d9e4ef;--border-default: #cbd9e7;--border-strong: #c3d3e4;--border-sidebar: #d9e4ef;--nav-text: #52647a;--nav-text-active: #122238;--nav-hover: #e7f0fa;--nav-active: #e3efff;--text-primary: #122238;--text-secondary: #52647a;--text-muted: #7b8b9e;--text-disabled: #9aa8b7;--accent-primary: #2878f5;--accent-primary-hover: #3f8cff;--accent-primary-soft: #e3efff;--accent-primary-ink: #ffffff;--accent-secondary: #12afca;--accent-secondary-soft: #ddf6fa;--success: #23845f;--success-hover: #2d9a70;--success-soft: #def2e9;--warning: #a76d19;--warning-soft: #f8edd7;--danger: #bd4b59;--danger-soft: #fae8eb;--informational: #287fd7;--informational-soft: #e3f0fc;--offline: #7b8b9e;--table-surface: transparent;--table-header: transparent;--table-row: transparent;--table-row-hover: color-mix(in srgb, var(--text-primary) 4%, transparent);--table-row-selected: var(--accent-primary-soft);--table-divider: var(--border-subtle);--gradient-primary: linear-gradient(112deg, #235fd7 0%, #287ef7 52%, #20b7d2 100%);--gradient-success: linear-gradient(112deg, #2674e8 0%, #13aeca 48%, #27a875 100%);--gradient-premium: linear-gradient(112deg, #3458dc 0%, #2588f7 40%, #16bdd1 70%, #39b874 100%);--button-subscription-surface: linear-gradient(110deg, #173b66 0%, #155964 100%);--button-subscription-surface-hover: linear-gradient(110deg, #1a4674 0%, #176671 100%);--button-subscription-border: rgb(38 105 133 / 48%);--button-subscription-border-hover: rgb(44 128 157 / 62%);--button-subscription-highlight: rgb(255 255 255 / 12%);--color-bg-canvas: var(--bg-canvas);--color-bg-surface: var(--bg-surface);--color-bg-surface-raised: var(--bg-surface-elevated);--color-bg-input: var(--bg-input);--color-bg-hover: var(--bg-hover);--color-border-subtle: var(--border-subtle);--color-border-default: var(--border-default);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-text-disabled: var(--text-disabled);--color-canvas: var(--bg-canvas);--color-surface: var(--bg-surface);--color-surface-raised: var(--bg-surface-elevated);--color-surface-subtle: var(--bg-surface-secondary);--color-sidebar: var(--bg-sidebar);--color-panel: var(--bg-surface);--color-control: var(--bg-input);--color-control-hover: var(--bg-hover);--color-control-active: var(--bg-active);--color-text: var(--text-primary);--color-text-muted: var(--text-secondary);--color-text-faint: var(--text-muted);--color-strong: var(--bg-sidebar);--color-strong-soft: var(--bg-sidebar-elevated);--color-accent: var(--accent-primary);--color-accent-hover: var(--accent-primary-hover);--color-accent-soft: var(--accent-primary-soft);--color-accent-ink: var(--accent-primary-ink);--color-border: var(--border-subtle);--color-border-strong: var(--border-strong);--color-success: var(--success);--color-success-soft: var(--success-soft);--color-warning: var(--warning);--color-warning-soft: var(--warning-soft);--color-error: var(--danger);--color-error-soft: var(--danger-soft);--color-danger: var(--danger);--color-danger-soft: var(--danger-soft);--color-info: var(--informational);--color-info-soft: var(--informational-soft);--color-offline: var(--offline);--font-sans: "Inter", "Avenir Next", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-size-xs: .875rem;--font-size-sm: .9375rem;--font-size-md: 1.0625rem;--font-size-lg: 1.1875rem;--font-size-xl: 1.5rem;--font-size-2xl: clamp(1.875rem, 2.5vw, 2.5625rem);--font-size-display: clamp(3.25rem, 7vw, 5.875rem);--tracking-tight: -.035em;--leading-tight: 1.06;--leading-copy: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--space-9: 4rem;--space-10: 5rem;--space-11: 6rem;--space-12: 8rem;--radius-xs: .375rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-control: .6875rem;--radius-panel: 1rem;--control-height-sm: 2.5rem;--control-height: 2.875rem;--control-height-lg: 3rem;--button-height: 3rem;--button-padding-inline: 1rem;--button-radius: .9375rem;--button-gap: .5rem;--button-font-size: 1rem;--button-font-weight: 600;--button-icon-size: 1rem;--button-transition-duration: .18s;--shadow-sm: 0 1px 2px rgb(24 61 99 / 6%);--shadow-md: 0 12px 30px rgb(24 61 99 / 10%);--shadow-elevated: 0 24px 64px rgb(15 43 74 / 18%);--glow-primary: 0 10px 28px rgb(40 120 245 / 22%);--glow-success: 0 10px 28px rgb(35 132 95 / 20%);--shadow-surface: var(--shadow-sm);--shadow-floating: var(--shadow-md);--shadow-dialog: var(--shadow-elevated);--content-readable: 72rem;--content-workspace: 90rem;--motion-fast: .16s;--motion-standard: .2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--focus-ring: 0 0 0 3px rgb(40 120 245 / 22%);--chart-grid: rgb(24 61 99 / 10%);--chart-axis: var(--color-text-faint);--chart-usage: var(--accent-primary);--chart-actual: #a56712;--chart-price: var(--accent-secondary);--chart-solar: var(--success);--chart-reference: var(--color-text-faint);--chart-departure: var(--color-danger);--chart-height: clamp(15rem, 28vw, 20rem);--chart-height-mobile: 15rem}:root[data-theme=dark]{color-scheme:dark;--bg-app: #07111d;--bg-canvas: #07111d;--bg-sidebar: #091522;--bg-sidebar-elevated: #0d1a29;--bg-surface: #0d1a29;--bg-surface-elevated: #112235;--bg-surface-secondary: #102033;--bg-input: #0b1928;--bg-hover: #14283d;--bg-active: #19314a;--border-subtle: #182a3c;--border-default: #22374c;--border-strong: #304a63;--border-sidebar: #1a2c3e;--nav-text: #a6b5c5;--nav-text-active: #dceaff;--nav-hover: #102337;--nav-active: rgb(76 141 255 / 12%);--text-primary: #f2f6fa;--text-secondary: #aab8c8;--text-muted: #7e90a5;--text-disabled: #536579;--accent-primary: #4c8dff;--accent-primary-hover: #67a2ff;--accent-primary-soft: rgb(76 141 255 / 14%);--accent-primary-ink: #f7fbff;--accent-secondary: #31c7e8;--accent-secondary-soft: rgb(49 199 232 / 13%);--success: #45d49a;--success-hover: #5bdfaa;--success-soft: rgb(69 212 154 / 13%);--warning: #f4b860;--warning-soft: rgb(244 184 96 / 14%);--danger: #f06a78;--danger-soft: rgb(240 106 120 / 14%);--informational: #5da9ff;--informational-soft: rgb(93 169 255 / 14%);--offline: #71859a;--table-surface: transparent;--table-header: transparent;--table-row: transparent;--table-row-hover: color-mix(in srgb, var(--text-primary) 3%, transparent);--table-row-selected: rgb(76 141 255 / 8%);--table-divider: #1b3044;--gradient-primary: linear-gradient(110deg, #397ff6 0%, #35bfe5 100%);--gradient-success: linear-gradient(110deg, #397ff6 0%, #35bfe5 62%, #45d49a 100%);--gradient-premium: linear-gradient(110deg, #5874f0 0%, #4c8dff 44%, #31c7e8 100%);--button-subscription-surface: linear-gradient(110deg, #17344f 0%, #124650 100%);--button-subscription-surface-hover: linear-gradient(110deg, #1b3e5c 0%, #16535e 100%);--button-subscription-border: rgb(93 169 255 / 24%);--button-subscription-border-hover: rgb(49 199 232 / 38%);--button-subscription-highlight: rgb(255 255 255 / 11%);--shadow-sm: 0 1px 2px rgb(2 8 15 / 28%);--shadow-md: 0 18px 48px rgb(2 8 15 / 38%);--shadow-elevated: 0 32px 80px rgb(2 8 15 / 54%);--glow-primary: none;--glow-success: none;--focus-ring: 0 0 0 3px rgb(76 141 255 / 12%);--chart-grid: rgb(170 184 200 / 11%);--chart-axis: var(--text-muted);--chart-actual: #f4b860;--chart-reference: var(--text-muted)}.ui-status{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600}.ui-status:before{width:.4375rem;height:.4375rem;flex:0 0 auto;border-radius:50%;background:var(--informational);box-shadow:0 0 0 3px var(--informational-soft);content:""}.ui-status[data-tone=success]:before,.ui-status[data-active=true]:before{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.ui-status[data-tone=info]:before{background:var(--informational);box-shadow:0 0 0 3px var(--informational-soft)}.ui-status[data-tone=warning]:before,.ui-status[data-active=false]:before{background:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}.ui-status[data-tone=danger]:before,.ui-status[data-tone=attention]:before{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.ui-status[data-tone=muted]{color:var(--text-muted)}.ui-status[data-tone=muted]:before{background:var(--text-muted);box-shadow:0 0 0 3px var(--bg-surface-secondary)}.ui-kpi-strip{display:grid;min-width:0;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.ui-kpi-strip__item{display:grid;min-width:0;align-items:center;gap:var(--space-3)}.ui-kpi-strip__item+.ui-kpi-strip__item{border-inline-start:1px solid var(--border-subtle)}.ui-kpi-strip__icon{display:grid;place-items:center;color:var(--accent-primary)}.ui-kpi-strip__copy{display:grid;min-width:0;gap:var(--space-2)}.ui-kpi-strip :is(dt,dd){min-width:0;margin:0}.ui-kpi-strip dt{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:550}.ui-kpi-strip dd{display:flex;align-items:baseline;gap:var(--space-2)}.ui-kpi-strip dd strong{color:var(--text-primary);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;line-height:1.1}.ui-kpi-strip dd>span{color:var(--text-muted);font-size:var(--font-size-xs)}.ui-stable-status-region{min-block-size:calc(var(--ui-stable-status-lines, 1) * 1lh)}.ui-stable-status-region[data-empty]{min-block-size:0;visibility:hidden}.ui-stable-status-region[data-empty]:not([data-reserve-empty]){display:none}.ui-stable-status-region[data-empty][data-reserve-empty]{min-block-size:calc(var(--ui-stable-status-lines, 1) * 1lh)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--accent-primary)}.ui-field{display:grid;min-width:0;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600}.ui-field__label{color:var(--text-secondary)}.ui-field__meta{justify-self:end;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:550;line-height:1.35}.ui-textarea{display:block;width:100%;min-height:7rem;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-control);outline:0;color:var(--text-primary);background:var(--bg-input);box-shadow:none;font:inherit;font-size:var(--font-size-sm);font-weight:500;line-height:1.5;resize:none;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){.ui-textarea:hover:not(:disabled){border-color:var(--border-strong)}}.ui-textarea:focus-visible{border-color:var(--accent-primary);outline:0;box-shadow:var(--focus-ring)}.ui-textarea::placeholder{color:var(--text-muted)}.ui-textarea:disabled{color:var(--text-disabled);background:var(--bg-surface-secondary);cursor:not-allowed;opacity:.72}.ui-checkbox{position:relative;display:grid;min-width:0;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:var(--space-3);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;line-height:1.45;cursor:pointer}.ui-checkbox__input{position:absolute;top:0;left:0;width:18px;height:18px;margin:0;opacity:0;cursor:inherit}.ui-checkbox__control{position:relative;display:grid;width:18px;height:18px;place-items:center;border:1px solid var(--border-default);border-radius:var(--radius-xs);background:var(--bg-input);box-shadow:none;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.ui-checkbox__control:after{width:5px;height:9px;margin-top:-2px;border:solid var(--accent-primary-ink);border-width:0 2px 2px 0;content:"";opacity:0;transform:rotate(45deg) scale(.7);transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){.ui-checkbox:hover .ui-checkbox__control{border-color:var(--border-strong);background:var(--bg-hover)}}.ui-checkbox__input:checked+.ui-checkbox__control{border-color:var(--accent-primary);background:var(--accent-primary)}.ui-checkbox__input:checked+.ui-checkbox__control:after{opacity:1;transform:rotate(45deg) scale(1)}.ui-checkbox__input:focus-visible+.ui-checkbox__control{border-color:var(--accent-primary);box-shadow:var(--focus-ring)}.ui-checkbox[data-disabled=true]{color:var(--text-disabled);cursor:not-allowed;opacity:.68}.ui-checkbox[data-disabled=true] .ui-checkbox__control{background:var(--bg-surface-secondary)}.ui-switch{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.ui-switch__label{display:inline-flex;align-items:center;justify-content:center}.ui-switch__input{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap}.ui-switch__indicator{display:grid;width:40px;height:32px;flex:0 0 auto;box-sizing:border-box;place-items:center;border-radius:var(--radius-control);color:var(--text-muted);background:transparent;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.ui-switch__battery{width:32px;height:32px;grid-area:1 / 1;stroke-width:1.8;transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.ui-switch__battery--empty{opacity:1;transform:scale(1)}.ui-switch__battery--full{opacity:0;transform:scale(.82)}@media(hover:hover)and (pointer:fine){.ui-switch:not([data-disabled=true]):hover .ui-switch__indicator{color:var(--text-secondary);background:var(--bg-hover)}}.ui-switch__input:checked+.ui-switch__indicator{color:var(--accent-primary);background:var(--accent-primary-soft)}.ui-switch__input:checked+.ui-switch__indicator .ui-switch__battery--empty{opacity:0;transform:scale(.82)}.ui-switch__input:checked+.ui-switch__indicator .ui-switch__battery--full{opacity:1;transform:scale(1)}.ui-switch__input:focus-visible+.ui-switch__indicator{box-shadow:var(--focus-ring)}.ui-switch[data-disabled=true]{color:var(--text-disabled);cursor:not-allowed;opacity:.68}.ui-checkbox-with-help{display:flex;min-width:0;align-items:flex-start;gap:var(--space-2)}.ui-checkbox-with-help .ui-checkbox{flex:0 1 auto}.ui-inline-help{display:inline-flex;flex:0 0 auto;align-items:center}.ui-inline-help__button{display:inline-grid;width:24px;height:24px;place-items:center;margin:-3px 0;padding:0;border:0;border-radius:50%;color:var(--text-muted);background:transparent;cursor:help}.ui-inline-help__button:focus-visible,.ui-inline-help[data-open=true] .ui-inline-help__button{color:var(--accent-primary);background:var(--accent-primary-soft)}@media(hover:hover)and (pointer:fine){.ui-inline-help__button:hover{color:var(--accent-primary);background:var(--accent-primary-soft)}}.ui-inline-help__button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.ui-anchored-overlay{position:fixed;z-index:var(--z-popover, 40);box-sizing:border-box;width:max-content;max-width:min(var(--ui-anchored-overlay-intended-width, 20rem),calc(100vw - var(--ui-anchored-overlay-gutter, 10px) - var(--ui-anchored-overlay-gutter, 10px)));max-height:calc(100vh - var(--ui-anchored-overlay-gutter, 10px) - var(--ui-anchored-overlay-gutter, 10px));max-height:calc(100dvh - var(--ui-anchored-overlay-gutter, 10px) - var(--ui-anchored-overlay-gutter, 10px));overflow:auto;overflow-wrap:anywhere;visibility:hidden}.ui-anchored-overlay[data-positioned=true]{visibility:visible}.ui-inline-help__tooltip{padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-elevated, var(--bg-surface));box-shadow:var(--shadow-md);font-size:var(--font-size-sm);font-weight:500;line-height:1.45;white-space:normal;word-break:normal}:where(input[type=range]){accent-color:var(--accent-primary)}.ui-filter-bar{--ui-filter-bar-height: var( --page-header-control-size, var(--control-height) );position:relative;display:grid;box-sizing:border-box;width:100%;min-width:0;min-height:var(--ui-filter-bar-height);grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-2)}.ui-filter-bar[data-has-secondary-filters=true]{grid-template-columns:minmax(0,1fr) var(--ui-filter-bar-height)}.ui-filter-bar__options{display:flex;box-sizing:border-box;min-width:0;min-height:var(--ui-filter-bar-height);align-items:stretch;gap:3px;padding:3px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface-secondary)}.ui-filter-bar__option{min-width:0;min-height:calc(var(--ui-filter-bar-height) - 8px);flex:1 1 0;padding:0 var(--space-2);border:0;border-radius:calc(var(--radius-sm) - 1px);color:var(--text-muted);background:transparent;box-shadow:none;font:inherit;font-size:var(--font-size-xs);font-weight:650;line-height:1;white-space:nowrap;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.ui-filter-bar__option:focus-visible{color:var(--text-primary);background:var(--bg-hover)}@media(hover:hover)and (pointer:fine){.ui-filter-bar__option:hover{color:var(--text-primary);background:var(--bg-hover)}}.ui-filter-bar__option[data-selected=true]{color:var(--text-primary);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.ui-filter-bar__option:focus-visible,.ui-filter-bar__toggle:focus-visible{outline:0;box-shadow:var(--focus-ring)}.ui-filter-bar__option:disabled{color:var(--text-disabled);cursor:not-allowed}.ui-filter-bar__toggle{position:relative;display:grid;box-sizing:border-box;width:var(--ui-filter-bar-height);height:var(--ui-filter-bar-height);min-height:var(--ui-filter-bar-height);place-items:center;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);background:var(--bg-surface);box-shadow:none;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.ui-filter-bar__toggle:focus-visible{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-hover)}@media(hover:hover)and (pointer:fine){.ui-filter-bar__toggle:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-hover)}}.ui-filter-bar__toggle[data-active=true]{border-color:var(--accent-primary);color:var(--accent-primary)}.ui-filter-bar__active-count{position:absolute;top:-5px;right:-5px;display:grid;width:18px;height:18px;place-items:center;border:2px solid var(--bg-canvas);border-radius:50%;color:var(--accent-primary-ink);background:var(--accent-primary);font-size:.625rem;font-weight:750}.ui-filter-bar__secondary{position:absolute;z-index:40;top:calc(100% + var(--space-2));right:0;left:0;display:grid;box-sizing:border-box;min-width:0;grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface-secondary)}.ui-filter-bar__secondary label{display:grid;min-width:0;gap:5px;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:650}.ui-filter-bar__secondary :is(input,.ui-select,.ui-select__trigger){box-sizing:border-box;width:100%;max-width:100%;min-width:0}.ui-filter-bar__secondary input{height:var(--control-height-sm);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:0;color:var(--text-primary);background:var(--bg-input);font:inherit}.ui-filter-bar__secondary input:focus-visible{border-color:var(--accent-primary);box-shadow:var(--focus-ring)}.ui-select{position:relative;min-width:0;color:var(--color-text);font-family:var(--font-sans)}.ui-select__trigger{display:flex;width:100%;min-height:var(--control-height);align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-3) 0 var(--space-4);border:1px solid color-mix(in srgb,var(--color-border) 82%,transparent);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-control);box-shadow:none;font:inherit;font-size:var(--font-size-sm);font-weight:560;text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){.ui-select__trigger:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-control-hover)}}.ui-select__trigger:focus-visible{border-color:color-mix(in srgb,var(--accent-primary) 68%,var(--border-strong));outline:0;box-shadow:var(--focus-ring)}.ui-select__trigger:active:not(:disabled){background:var(--color-control-active);transform:translateY(1px)}.ui-select__value{display:grid;min-width:0;gap:1px}.ui-select__value>span,.ui-select__option strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select__value>span[data-placeholder=true]{color:var(--color-text-faint);font-weight:480}.ui-select__value small,.ui-select__option small{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:450;line-height:1.35}.ui-select__chevron{flex:0 0 auto;color:var(--color-text-muted);transition:transform var(--motion-fast) var(--ease-standard)}.ui-select[data-open=true] .ui-select__chevron{transform:rotate(180deg)}.ui-select__menu{z-index:var(--z-dropdown, var(--z-popover, 40));width:max(var(--ui-anchored-overlay-anchor-width, 0px),12rem);max-height:min(20rem,calc(100vh - 20px));max-height:min(20rem,calc(100dvh - 20px));overflow-x:hidden;overflow-y:auto;padding:.375rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-raised);box-shadow:var(--shadow-floating);transform-origin:top center;animation:ui-select-menu-in var(--motion-fast) var(--ease-standard)}.ui-select__menu[data-placement=top]{transform-origin:bottom center}.ui-select__option{display:flex;width:100%;min-height:var(--control-height);align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);color:var(--color-text);background:transparent;font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.ui-select__option-shell{display:block;min-width:0}.ui-select__option>span{display:grid;min-width:0;gap:1px}.ui-select__option strong{font-weight:560}.ui-select__option[data-active=true]{background:var(--color-control-hover)}@media(hover:hover)and (pointer:fine){.ui-select__option:hover{background:var(--color-control-hover)}}.ui-select__option[aria-selected=true]{color:var(--text-primary);background:var(--accent-primary-soft)}.ui-select__option:focus-visible{outline:0}.ui-select__check{flex:0 0 auto;color:var(--accent-primary);opacity:0}.ui-select__check[data-visible=true]{opacity:1}.ui-select[data-disabled=true]{opacity:.56}.ui-select__trigger:disabled,.ui-select__option:disabled{cursor:not-allowed}@keyframes ui-select-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}:root[data-theme=dark] .ui-select__trigger{border-color:var(--border-default);color:var(--text-primary);background:var(--bg-input)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .ui-select__trigger:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-input)}}:root[data-theme=dark] .ui-select__trigger:focus-visible{border-color:var(--accent-primary);box-shadow:var(--focus-ring)}:root[data-theme=dark] .ui-select__menu{border-color:var(--border-default);background:var(--bg-surface-elevated)}:root[data-theme=dark] .ui-select__option{color:var(--text-secondary)}:root[data-theme=dark] .ui-select__option[data-active=true]{color:var(--text-primary);background:var(--bg-hover)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .ui-select__option:hover{color:var(--text-primary);background:var(--bg-hover)}}:root[data-theme=dark] .ui-select__option[aria-selected=true]{color:var(--text-primary);background:var(--accent-primary-soft)}:root[data-theme=dark] :is(.ui-select__trigger:disabled,.ui-select__option:disabled){color:var(--text-disabled)}@media(prefers-reduced-motion:reduce){.ui-switch__indicator,.ui-switch__battery,.ui-select__trigger,.ui-select__chevron,.ui-select__option{transition:none}.ui-select__menu{animation:none}}@media(max-width:768px),(hover:none)and (pointer:coarse){:where(input:not([type]),input:is([type=text],[type=search],[type=email],[type=url],[type=tel],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=week],[type=time]),textarea,select):not(:disabled),::part(text-input),::part(passcode-input){font-size:max(16px,1em)!important}}:root{color:var(--color-text);background:var(--color-canvas);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;--ink: var(--color-text);--ink-muted: var(--color-text-muted);--night: var(--color-strong);--night-soft: var(--color-strong-soft);--mint: var(--color-accent);--mint-bright: var(--color-accent-hover);--cream: var(--color-canvas);--panel: var(--color-surface);--line: var(--color-border);--white: var(--bg-surface-elevated);--shadow-card: var(--shadow-surface);--app-sidebar-width: 64px;--app-sidebar-width-expanded: 232px;--app-content-max-width: 1120px;--app-page-gutter: clamp(20px, 4vw, 56px);--mobile-nav-icon-row: 1.875rem;--mobile-nav-label-size: .625rem;--mobile-nav-label-line-height: 1.15;--mobile-nav-item-gap: var(--space-1);--mobile-nav-padding-block: var(--space-2);--mobile-nav-height: calc( var(--mobile-nav-icon-row) + var(--mobile-nav-label-size) * var(--mobile-nav-label-line-height) + var(--mobile-nav-item-gap) + 2 * var(--mobile-nav-padding-block) + 1px );--mobile-safe-area-bottom: min(env(safe-area-inset-bottom, 0px), 34px);--mobile-navigation-offset: calc( var(--mobile-nav-height) + var(--mobile-safe-area-bottom) );--app-space-1: 8px;--app-space-2: 12px;--app-space-3: 16px;--app-space-4: 24px;--app-space-5: 32px}:root[data-theme=dark]{color:var(--color-text);background:var(--color-canvas)}@media(max-width:768px){:root{--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.625rem;--font-size-display: 2.75rem;--button-font-size: .875rem}}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:var(--cream)}button,input,select,textarea{font:inherit}button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap}.auth-redirect-page{display:grid;min-height:100vh;place-items:center;padding:24px;color:var(--ink);background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface-raised) 72%,transparent),color-mix(in srgb,var(--color-surface-raised) 18%,transparent)),var(--cream)}.auth-redirect-panel{display:grid;width:min(100%,430px);gap:14px;border:1px solid var(--line);border-radius:var(--radius-md);padding:clamp(24px,5vw,34px);background:color-mix(in srgb,var(--color-surface-raised) 86%,transparent);box-shadow:var(--shadow-card)}.auth-redirect-panel h1{margin:0;color:var(--ink);font-size:35px;line-height:1.08}.auth-redirect-panel p{margin:0;color:var(--ink-muted);font-size:16px;line-height:1.5}.auth-redirect-panel__error{border:1px solid color-mix(in srgb,var(--color-error) 34%,transparent);border-radius:var(--radius-sm);padding:11px 12px;color:var(--color-error);background:var(--color-error-soft)}.auth-redirect-panel__actions{display:flex;justify-content:flex-end}.hanko-auth-page{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));color:var(--color-text);background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 38rem),var(--color-canvas)}.hanko-auth-page__layout{display:grid;width:min(100%,440px);gap:var(--space-5)}.hanko-auth-page__brand{display:inline-flex;align-items:center;justify-self:center;gap:var(--space-3);color:var(--color-text);text-decoration:none}.welcome-dialog__brand-icon{--brand-icon-size: var(--ui-dialog-icon-size, 36px)}.hanko-auth-page__brand .brand__mark{display:grid;width:38px;height:38px;place-items:center;border-radius:var(--radius-md)}.hanko-auth-page__brand .brand__copy{display:grid;gap:1px}.hanko-auth-page__brand .brand__copy strong{font-size:var(--font-size-xl);line-height:1.2;letter-spacing:var(--tracking-tight)}.hanko-auth-page__brand .brand__copy small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.hanko-auth-page__element{min-width:0}.hanko-auth-element{display:block;width:100%;color-scheme:inherit;--color: var(--color-text);--color-shade-1: var(--color-text-muted);--color-shade-2: var(--color-border);--brand-color: var(--color-accent);--brand-color-shade-1: var(--color-accent-hover);--brand-contrast-color: var(--color-accent-ink);--background-color: var(--color-surface-raised);--error-color: var(--color-error);--link-color: var(--color-accent);--font-family: var(--font-sans);--font-size: var(--font-size-md);--font-weight: 400;--border-radius: var(--radius-control);--border-style: solid;--border-width: 1px;--item-height: var(--control-height);--item-margin: var(--space-3) 0;--container-padding: clamp(24px, 6vw, 34px);--container-max-width: 100%;--headline1-font-size: var(--font-size-2xl);--headline1-font-weight: 700;--headline1-margin: 0 0 var(--space-4);--headline2-font-size: var(--font-size-md);--headline2-font-weight: 600;--headline2-margin: var(--space-4) 0 var(--space-2);--divider-padding: 0 var(--space-4);--link-text-decoration: none;--link-text-decoration-hover: underline;--input-min-width: 0;--button-min-width: 100%}.hanko-auth-element::part(container){box-sizing:border-box;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-surface)}.hanko-auth-element::part(headline1),.hanko-auth-element::part(headline2){color:var(--color-text);line-height:var(--leading-heading)}.hanko-auth-element::part(paragraph){color:var(--color-text-muted);line-height:var(--leading-copy)}.hanko-auth-element::part(text-input),.hanko-auth-element::part(passcode-input){border-color:var(--color-border);color:var(--color-text);background:var(--color-control)}.hanko-auth-element::part(text-input):focus,.hanko-auth-element::part(passcode-input):focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.hanko-auth-element::part(button){min-height:var(--control-height);font:inherit;font-weight:var(--button-font-weight);transition:border-color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.hanko-auth-element::part(primary-button){border-color:transparent;color:var(--color-accent-ink);background:var(--gradient-primary);box-shadow:var(--glow-primary)}.hanko-auth-element::part(secondary-button){border-color:var(--color-border);color:var(--color-text);background:var(--color-control)}.hanko-auth-element::part(secondary-button):hover{border-color:var(--color-accent);background:var(--color-control-hover)}.hanko-auth-element::part(link){color:var(--color-accent)}.hanko-auth-element::part(divider-line){border-color:var(--color-border);background:var(--color-border)}.hanko-auth-element::part(error){border-color:color-mix(in srgb,var(--color-error) 34%,transparent);color:var(--color-error);background:var(--color-error-soft)}.hanko-auth-page__error{border:1px solid color-mix(in srgb,var(--color-error) 34%,transparent);border-radius:var(--radius-sm);padding:var(--space-3);color:var(--color-error);background:var(--color-error-soft)}.hanko-auth-page__retry{justify-self:center}.hanko-auth-page__switch{margin:0;color:var(--color-text-muted);text-align:center}.hanko-auth-page__switch a{color:var(--color-accent);font-weight:700}@media(max-width:520px){.hanko-auth-page{align-items:start;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.hanko-auth-page__layout{gap:var(--space-4)}.hanko-auth-element{--container-padding: 24px 20px}}.optimizer-shell{min-height:100vh;min-height:100dvh;padding-left:var(--app-sidebar-width);overflow-x:clip;overflow-y:visible;color:var(--ink);background:var(--cream)}.optimizer-shell[data-sidebar-open=true]{padding-left:var(--app-sidebar-width-expanded)}.mobile-bottom-navigation{display:none}:root.keyboard-open{--mobile-navigation-offset: var(--mobile-safe-area-bottom)}.app-sidebar{position:fixed;z-index:12;top:0;bottom:0;left:0;display:flex;width:var(--app-sidebar-width);flex-direction:column;align-items:stretch;overflow-y:auto;border-right:1px solid rgb(255 255 255 / 10%);background:linear-gradient(rgb(255 255 255 / 2%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 2%) 1px,transparent 1px),var(--night);background-size:46px 46px,46px 46px,auto}.optimizer-shell[data-sidebar-open=true] .app-sidebar{width:var(--app-sidebar-width-expanded)}.sidebar-toggle,.sidebar-nav__item{display:flex;min-width:0;align-items:center;border:0;color:rgba(255,255,255,.68);background:transparent;transition:color .16s ease,background .16s ease,transform .16s ease}.sidebar-toggle{justify-content:center;height:64px;padding:0;border-bottom:1px solid rgb(255 255 255 / 10%)}.app-theme-toggle{display:flex;min-width:0;min-height:42px;align-items:center;justify-content:center;gap:11px;padding:0 10px;border:0;border-bottom:1px solid rgb(255 255 255 / 10%);color:rgba(255,255,255,.74);background:rgba(255,255,255,.04);transition:color .16s ease,background .16s ease,transform .16s ease}@media(hover:hover)and (pointer:fine){.app-theme-toggle:hover{color:var(--white);background:rgba(255,255,255,.09);transform:translateY(-1px)}}.app-theme-toggle span{display:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.optimizer-shell[data-sidebar-open=true] .app-theme-toggle{justify-content:flex-start;padding-inline:27px 13px}.optimizer-shell[data-sidebar-open=true] .app-theme-toggle span{display:block;color:inherit;font-size:15px;font-weight:800}.sidebar-nav__item[data-active=true]{color:var(--white);background:rgba(255,255,255,.08)}@media(hover:hover)and (pointer:fine){.sidebar-toggle:hover,.sidebar-nav__item:hover{color:var(--white);background:rgba(255,255,255,.08);transform:translateY(-1px)}}.sidebar-nav{display:grid;gap:8px;padding:16px 10px}.sidebar-nav__separator{height:1px;margin:2px 6px;background:rgba(255,255,255,.14)}.sidebar-nav__item{position:relative;justify-content:center;min-height:42px;gap:11px;padding:0 10px;border-radius:var(--radius-sm)}.sidebar-nav__item[data-active=true]{color:var(--night);background:var(--mint)}.sidebar-nav__item[data-active=true]:before{position:absolute;top:10px;bottom:10px;left:-10px;width:3px;border-radius:999px;background:var(--mint);content:""}.sidebar-nav__label{display:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav__badge{position:absolute;top:4px;right:5px;display:grid;min-width:18px;height:18px;place-items:center;border:2px solid var(--night);border-radius:999px;padding:0 5px;color:#fff;background:#c64735;font-size:12px;font-weight:900;line-height:1}.optimizer-shell[data-sidebar-open=true] .sidebar-toggle{justify-content:flex-end;padding-inline:18px}.optimizer-shell[data-sidebar-open=true] .sidebar-nav{padding-inline:14px}.optimizer-shell[data-sidebar-open=true] .sidebar-nav__separator{margin-inline:4px}.optimizer-shell[data-sidebar-open=true] .sidebar-nav__item{justify-content:flex-start;padding-inline:13px}.optimizer-shell[data-sidebar-open=true] .sidebar-nav__label{display:block;color:inherit;font-size:.6875rem;font-weight:800}.optimizer-shell[data-sidebar-open=true] .sidebar-nav__badge{position:static;margin-left:auto}.sidebar-language{margin-top:auto;padding:10px;border-top:1px solid rgb(255 255 255 / 10%)}.sidebar-language__button{display:grid;width:100%;min-width:0;min-height:42px;align-items:center;justify-content:center;gap:10px;padding:0 8px;border:0;border-radius:var(--radius-sm);color:rgba(255,255,255,.74);background:rgba(255,255,255,.05);transition:color .16s ease,background .16s ease,transform .16s ease}@media(hover:hover)and (pointer:fine){.sidebar-language__button:hover{color:var(--white);background:rgba(255,255,255,.1);transform:translateY(-1px)}}.sidebar-language__button svg{display:none}.sidebar-language__label{display:none;min-width:0;overflow:hidden;font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.sidebar-language__code{display:grid;min-inline-size:2.4ch;place-items:center;font-size:13px;font-weight:900;letter-spacing:.04em;line-height:1;text-align:center}.optimizer-shell[data-sidebar-open=true] .sidebar-language{padding-inline:14px}.optimizer-shell[data-sidebar-open=true] .sidebar-language__button{display:flex;justify-content:flex-start;padding-inline:13px}.optimizer-shell[data-sidebar-open=true] .sidebar-language__button svg{display:block}.optimizer-shell[data-sidebar-open=true] .sidebar-language__label{display:block}.optimizer-shell[data-sidebar-open=true] .sidebar-language__code{margin-left:auto}.optimizer-workspace{display:grid;min-width:0;min-height:100vh;min-height:100dvh;align-content:start;gap:var(--app-space-4);overflow-y:visible;padding:30px var(--app-page-gutter) 56px}.suggestion-button .suggestion-button__text{display:none}.station-list{display:grid;min-width:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));align-items:stretch;gap:var(--app-space-4)}.charging-sessions-usage-panel{border:1px solid var(--line);color:var(--ink);background:rgba(255,255,255,.88);box-shadow:var(--shadow-card);backdrop-filter:blur(12px)}.station-list__status{grid-column:1 / -1;margin:0;border:1px dashed var(--line);border-radius:var(--radius-md);padding:18px 19px;color:var(--ink-muted);background:rgba(255,255,255,.54);font-size:15px;line-height:1.4}.station-list__empty{display:grid;justify-items:start;gap:14px}.station-list__empty p{margin:0}.station-list__error{border-color:rgba(173,72,62,.4);color:#8d2f28;background:#fff1ef}.station-card{display:flex;min-width:0;flex-direction:column;padding:19px;border:1px solid var(--app-divider, var(--line));border-radius:12px;color:var(--ink);background:var(--white);box-shadow:0 8px 24px rgba(24,48,40,.06)}.station-card__identity{display:grid;min-width:0;grid-template-columns:34px minmax(0,1fr) auto 28px;align-items:center;gap:9px}.station-card__icon{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:#47725f;background:var(--app-status-bg, #eef6e8)}.station-card h3{min-width:0;margin:0;overflow:hidden;color:var(--ink);font-size:16px;font-weight:780;letter-spacing:0;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.station-card__status{display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted);font-size:13px;font-weight:680;line-height:1;white-space:nowrap}.station-card__status>span{width:7px;height:7px;border-radius:50%;background:#8b9892}.station-card[data-state=charging] .station-card__status>span{background:#65a341}.station-card[data-state=paused] .station-card__status>span,.station-card[data-state=waiting] .station-card__status>span{background:#c49436}.station-card[data-state=attention] .station-card__status>span{background:#b9554a}.station-card__pin{display:grid;width:28px;height:28px;padding:0;place-items:center;border:1px solid transparent;border-radius:8px;color:#708078;background:transparent}.station-card__pin[data-pinned=true]{color:#31572a;background:var(--app-selected-bg, #edf7e8)}@media(hover:hover)and (pointer:fine){.station-card__pin:hover{color:#31572a;background:var(--app-selected-bg, #edf7e8)}}.station-card__pin:disabled{cursor:not-allowed;opacity:.58}.station-card__activity{display:grid;min-width:0;gap:6px;padding-top:24px}.station-card__headline{margin:0;color:var(--ink);font-size:22px;font-weight:780;letter-spacing:-.02em;line-height:1.2}.station-card__description{max-width:42ch;margin:0;color:var(--ink-muted);font-size:15px;font-weight:560;line-height:1.45}.station-card__metadata{display:flex;min-width:0;flex-wrap:wrap;gap:5px 8px;margin:16px 0 0;padding:0;color:var(--ink-muted);font-size:13px;font-weight:650;line-height:1.35;list-style:none}.station-card__metadata li+li:before{margin-right:8px;color:#9ba69f;content:"·"}.station-card__footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:20px}.station-card__action{min-height:40px}.station-card[data-state=offline]{background:rgba(255,255,255,.62)}.station-card[data-state=offline] .station-card__icon{color:#75827c;background:#edf0ec}.charging-sessions-usage-panel{display:grid;min-height:360px;align-items:stretch;overflow:hidden;padding:24px;border-radius:var(--radius-md);background:linear-gradient(color-mix(in srgb,var(--text-primary) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text-primary) 4%,transparent) 1px,transparent 1px),linear-gradient(135deg,var(--accent-primary-soft),transparent 46%),var(--white);background-size:34px 34px,34px 34px,auto,auto}.charging-sessions-usage-panel{position:relative;min-width:0;width:100%;min-height:clamp(410px,48vh,520px);padding:20px}.usage-graph{display:grid;min-width:0;grid-template-rows:auto auto minmax(0,1fr);gap:16px}.usage-graph__header{display:flex;min-width:0;align-items:start;justify-content:space-between;gap:18px}.usage-graph__eyebrow{display:inline-flex;align-items:center;gap:8px;color:#47725f;font-size:13px;font-weight:800;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.usage-graph h3,.session-detail-graph h3{margin:8px 0 0;font-family:Avenir Next,Inter,sans-serif;font-size:24px;font-weight:700;letter-spacing:0;line-height:1.15}.usage-graph__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:210px;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f4f6f2}.usage-graph__tabs button{min-width:0;min-height:34px;padding:0 8px;border:0;border-radius:8px;color:#75817d;background:transparent;font-size:13px;font-weight:800}.usage-graph__tabs button.is-selected{color:var(--ink);background:var(--white);box-shadow:0 2px 8px rgba(22,44,38,.09)}.usage-graph__range{display:grid;width:220px;gap:6px}.usage-graph__range span{color:#53635e;font-size:13px;font-weight:850;line-height:1.2}.usage-graph__range select{width:100%;min-height:40px;padding:0 36px 0 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:rgba(255,255,255,.84);font-size:14px;font-weight:850}.usage-graph__legend{display:flex;flex-wrap:wrap;gap:8px}.usage-graph__legend-item{display:inline-flex;align-items:center;gap:7px;min-height:31px;padding:0 9px;border:1px solid #d7dfd5;border-radius:999px;color:#53635e;background:rgba(255,255,255,.76);font-size:13px;font-weight:800;line-height:1}.usage-graph__legend-item input{width:13px;height:13px;margin:0;accent-color:#457e37}.usage-graph__legend-dot{width:9px;height:9px;border-radius:50%}.usage-graph__legend-dot--usage{background:var(--mint)}.usage-graph__legend-dot--constant{border:2px solid #87928d;background:transparent}.usage-graph__legend-dot--departure{width:3px;height:14px;border-radius:999px;background:#a5523b}.usage-graph__chart-frame{position:relative;min-width:0;min-height:220px}.usage-graph__chart{min-width:0;min-height:220px}.usage-graph__chart svg{display:block;width:100%;height:100%;min-height:220px}.usage-graph__grid line{stroke:#dbe3d9;stroke-width:1}.usage-graph__bars rect{fill:url(#usage-bar-fill);opacity:.82;transition:opacity .14s ease,stroke .14s ease,stroke-width .14s ease}.usage-graph__bars[data-has-highlight=true] rect{opacity:.32}.usage-graph__bars rect.is-highlighted{opacity:1;stroke:#173128;stroke-width:3}.usage-graph__difference{fill:url(#price-difference-fill)}.usage-graph__constant-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.usage-graph__constant-line{stroke:#7d8b85;stroke-width:2;stroke-dasharray:10 7}.usage-graph__departure-markers line{stroke:#a5523b;stroke-width:2;stroke-dasharray:5 6;stroke-linecap:round;opacity:.78;transition:opacity .14s ease,stroke-width .14s ease}.usage-graph__departure-markers[data-has-highlight=true] line{opacity:.34}.usage-graph__departure-markers line.is-highlighted{stroke-width:3;opacity:1}.usage-graph__points circle{fill:var(--white);stroke:#315d48;stroke-width:3}.usage-graph__plot-hit-areas path,.usage-graph__plot-hit-areas line{fill:none;stroke:transparent;stroke-linecap:round;stroke-linejoin:round;stroke-width:18;pointer-events:stroke}.usage-graph__axis text{fill:#7a8681;font-size:13px;font-weight:800}.usage-graph__empty{fill:#53635e;font-size:15px;font-weight:850}.usage-graph__loading-battery{color:var(--accent-primary)}.usage-graph__loading-battery .outline{fill:none;stroke:currentcolor;stroke-width:7}.usage-graph__loading-battery .terminal,.usage-graph__loading-battery .segment{fill:currentcolor}.usage-graph__loading-battery .segment{opacity:.12}.usage-graph__plot-note{position:absolute;top:12px;right:12px;display:grid;max-width:min(240px,calc(100% - 24px));gap:3px;padding:10px 12px;border:1px solid #d7dfd5;border-radius:10px;color:#53635e;background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(22,44,38,.12);pointer-events:none}.usage-graph__plot-note strong{color:var(--ink);font-size:14px;font-weight:900;line-height:1.2}.usage-graph__plot-note span{font-size:14px;font-weight:750;line-height:1.35}.empty-workspace{display:grid;min-height:420px;align-content:center;justify-items:center;gap:13px;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-muted);background:linear-gradient(180deg,var(--accent-primary-soft),transparent 42%),rgba(255,255,255,.84);box-shadow:var(--shadow-card)}.empty-workspace__marker{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;color:#315d48;background:#e2f0d8}.empty-workspace span{color:var(--ink);font-family:Avenir Next,Inter,sans-serif;font-size:26px;font-weight:700;letter-spacing:0}.chargers-panel__empty{margin:0;color:var(--ink-muted);font-size:14px;font-weight:700;line-height:1.45}.chargers-panel__error{color:#9d3131}.tutorial-anchor{position:absolute;z-index:-1;inline-size:1px;block-size:1px;pointer-events:none}.tutorial-anchor--usage-graph,.tutorial-anchor--sessions-list{top:24px;left:24px}.charging-sessions-panel__empty{margin:0;color:var(--ink-muted);font-size:14px;font-weight:700;line-height:1.45}.charging-sessions-panel__error{color:#9d3131}.session-filter-export{display:grid;min-width:0;align-content:end;gap:5px}.session-filter-export .ui-button{width:100%}.session-filter-export__error{color:var(--danger);font-size:var(--font-size-xs)}.session-export-dialog{--ui-dialog-header-padding: var(--space-5) var(--space-6) var(--space-4);--ui-dialog-body-padding: var(--space-4) var(--space-6);--ui-dialog-footer-padding: var(--space-4) var(--space-6) var(--space-5);width:min(100%,32rem);gap:0}.session-export-dialog__body{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-3);border-block:1px solid var(--line)}.session-export-dialog__body p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5}.session-export-dialog__icon{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:var(--radius-sm);color:var(--accent-primary);background:var(--accent-primary-soft)}.session-export-dialog__icon svg{width:1.25rem;height:1.25rem}.messages-status{margin:0;padding:12px 0;color:var(--text-secondary);background:transparent;font-size:14px;font-weight:800;line-height:1.45}.messages-status--error{color:var(--danger)}.message-conversations-list{display:grid;min-width:0;gap:0;margin:0;padding:0;border-block:1px solid var(--app-divider, var(--border-subtle));list-style:none}.message-conversation-row{min-width:0;border-top:1px solid var(--app-divider, var(--border-subtle))}.message-conversation-row:first-child{border-top:0}.message-conversation-row__button{display:grid;width:100%;min-width:0;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 8px;border:0;border-radius:0;color:inherit;background:transparent;cursor:pointer;text-align:left}.message-conversation-row[data-unread=true] .message-conversation-row__button{background:var(--accent-primary-soft)}@media(hover:hover)and (pointer:fine){.message-conversation-row__button:hover,.message-conversation-row[data-unread=true] .message-conversation-row__button:hover{background:var(--bg-hover)}}.message-conversation-row__button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.message-conversation-row__dot{display:block;width:7px;height:7px;border-radius:50%;background:transparent}.message-conversation-row[data-unread=true] .message-conversation-row__dot{background:var(--accent-primary);box-shadow:none}.message-conversation-row__body{display:grid;min-width:0;gap:2px}.message-conversation-row__title,.message-conversation-row__preview,.message-conversation-row__context{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-conversation-row__title{color:var(--text-primary);font-size:15px;font-weight:760;line-height:1.3}.message-conversation-row__preview{color:var(--text-secondary);font-size:14px;font-weight:560;line-height:1.35}.message-conversation-row__context{color:var(--text-muted);font-size:13px;font-weight:650;line-height:1.35}.message-conversation-row[data-unread=true] .message-conversation-row__title{font-weight:880}.message-conversation-row[data-unread=true] .message-conversation-row__preview{color:var(--text-primary);font-weight:720}.message-conversation-row__meta{display:grid;min-width:max-content;justify-items:end;gap:3px;color:var(--text-muted);font-size:13px;font-weight:680;line-height:1.2;white-space:nowrap}.message-conversation-row__meta time{color:inherit;font:inherit}.message-conversation-row__count{color:var(--text-muted);font-size:12px;font-weight:680}.message-conversation-row[data-unread=true] .message-conversation-row__meta{color:var(--accent-primary);font-weight:820}@media(max-width:620px){.message-conversation-row__button{grid-template-columns:10px minmax(0,1fr);grid-template-areas:"dot body" ". meta";gap:4px 9px;padding:10px 4px}.message-conversation-row__dot{grid-area:dot;margin-top:5px}.message-conversation-row__body{grid-area:body}.message-conversation-row__meta{grid-area:meta;grid-auto-flow:column;align-items:center;justify-content:start;justify-items:start;gap:8px;min-width:0}}.message-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;padding:0;border:0;border-radius:0;background:transparent}.message-filters__title{display:inline-flex;min-height:36px;align-items:center;gap:7px;color:var(--text-secondary);font-size:13px;font-weight:850;line-height:1.2}.message-filters label{display:grid;min-width:0;gap:5px;color:var(--text-secondary);font-size:13px;font-weight:760}.message-filters input,.message-filters select{min-width:0;height:36px;border:1px solid var(--border-default);border-radius:8px;padding:0 10px;color:var(--text-primary);background:var(--bg-input)}.admin-events-filters{grid-template-columns:auto minmax(180px,1fr) minmax(140px,200px) minmax(130px,190px)}@media(max-width:760px){.admin-events-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-events-filters .message-filters__title{grid-column:1 / -1}}.message-thread__messages{display:flex;min-width:0;min-height:0;flex:1 1 auto;flex-direction:column;gap:6px;margin:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px;list-style:none;background:var(--bg-canvas);-webkit-overflow-scrolling:touch}.message-thread__messages>.message-bubble:first-child{margin-top:auto}.message-thread__messages>.message-bubble[data-owner=self]{align-self:flex-end}.message-thread__messages>.message-bubble[data-owner=other]{align-self:flex-start}.message-conversation-dialog-backdrop{--ui-modal-gutter: 24px;z-index:30}.message-conversation-dialog{display:flex;width:min(100%,700px);height:min(68vh,100%);height:min(68dvh,100%);min-height:0;max-height:100%;flex-direction:column;overflow:hidden;padding:0;animation:dialog-in .18s ease-out}.message-conversation-dialog__heading{--ui-dialog-header-padding: 13px 16px 12px;--ui-dialog-title-font-size: 19px;--ui-dialog-title-font-weight: 760;--ui-dialog-title-letter-spacing: -.01em;--ui-dialog-title-line-height: 1.25;--ui-dialog-description-color: var(--text-secondary);--ui-dialog-description-font-size: 13px;--ui-dialog-description-font-weight: 560;--ui-dialog-description-line-height: 1.4;flex:0 0 auto;border-bottom:1px solid var(--border-subtle)}.message-conversation-dialog__meta{display:flex;min-width:0;flex-wrap:wrap}.message-conversation-dialog__meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-conversation-dialog__meta span+span:before{display:inline-block;width:3px;height:3px;margin:0 8px 2px;border-radius:50%;background:currentColor;content:"";opacity:.55;vertical-align:middle}.message-conversation-dialog__meta-table{width:100%;border-collapse:collapse;table-layout:fixed}.message-conversation-dialog__meta-table th,.message-conversation-dialog__meta-table td{padding:6px 8px;border:1px solid var(--border-subtle);background:transparent;text-align:left;vertical-align:top}.message-conversation-dialog__meta-table th{width:20%;color:var(--text-secondary);font-size:12px;font-weight:900;line-height:1.25;text-transform:uppercase}.message-conversation-dialog__meta-table td{overflow-wrap:anywhere;color:var(--text-primary);font-size:13px;font-weight:750;line-height:1.45}.message-bubble{position:relative;display:grid;width:fit-content;max-width:min(72%,500px);min-width:0;gap:4px;padding:7px 9px 6px;border:1px solid var(--border-default);border-radius:9px;color:var(--text-primary);background:var(--bg-surface-elevated);box-shadow:var(--shadow-sm)}.message-bubble[data-owner=self]{justify-self:end;border-color:color-mix(in srgb,var(--accent-primary) 28%,var(--border-default));border-bottom-right-radius:3px;background:var(--accent-primary-soft)}.message-bubble[data-owner=other]{justify-self:start;border-bottom-left-radius:3px}.message-bubble__meta{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:7px;color:var(--text-muted);font-size:11px;font-weight:580;line-height:1.2}.message-bubble__meta strong{overflow:hidden;margin-right:auto;color:var(--accent-primary);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.message-bubble p{margin:0;overflow-wrap:anywhere;color:var(--text-primary);font-size:15px;font-weight:520;line-height:1.4;white-space:pre-wrap}.message-event-reference{display:grid;min-width:min(260px,100%);gap:7px;color:var(--text-primary)}.message-event-reference>strong{overflow-wrap:anywhere;font-size:15px;font-weight:820;line-height:1.3}.message-event-reference dl{display:grid;gap:5px;margin:0}.message-event-reference dl>div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px}.message-event-reference dt,.message-event-reference dd{margin:0;font-size:14px;line-height:1.35}.message-event-reference dt{color:var(--text-secondary);font-weight:760}.message-event-reference dd{overflow-wrap:anywhere;font-weight:560}.message-event-reference__link{justify-self:start;color:var(--accent-primary);font-size:14px;font-weight:820;text-decoration:underline;text-underline-offset:2px}.message-reply-form{display:grid;min-width:0;min-height:0;flex:0 0 auto;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px;padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--bg-surface-elevated)}.message-reply-form__composer{display:grid;min-width:0}.message-reply-form textarea{width:100%;min-height:44px;max-height:112px;overflow-y:hidden;resize:none;border:1px solid var(--border-default);border-radius:8px;padding:8px 10px;color:var(--text-primary);background:var(--bg-input);font:inherit;font-size:16px;line-height:1.35}.message-reply-form textarea::placeholder{color:var(--text-muted);opacity:1}.message-reply-form textarea:disabled{color:var(--text-disabled);background:var(--bg-surface-secondary)}.message-reply-form textarea:focus-visible{border-color:var(--app-selected-border);outline:0;box-shadow:var(--focus-ring)}.message-reply-form__footer{display:flex;align-items:center;gap:7px}.message-reply-form__footer span{color:var(--text-muted);font-size:11px;font-weight:600}.message-reply-form .messages-status{grid-column:1 / -1}@media(max-width:768px){:root:has([data-ui-modal-backdrop=true]) .mobile-bottom-navigation{display:none}}@media(max-width:640px),(max-height:640px)and (pointer:coarse){.message-conversation-dialog-backdrop{--ui-modal-gutter: 0px;background:var(--bg-surface-elevated, var(--white));backdrop-filter:none}.message-conversation-dialog__heading{--ui-dialog-header-padding: 12px}.message-conversation-dialog__heading .ui-dialog-header-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.message-conversation-dialog__meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-conversation-dialog__meta span{display:inline;overflow:visible;white-space:inherit}.message-thread__messages{padding:12px 10px}.message-bubble{max-width:86%}.message-reply-form{padding:8px 8px max(8px,env(safe-area-inset-bottom,0px))}.message-reply-form__footer span{display:none}}.grid-provider-header-add{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.grid-provider-state-line{min-height:20px;margin:0;color:var(--ink-muted);font-size:14px;font-weight:620;line-height:1.45}.grid-provider-state-line--success{color:#3f6d2b}.grid-provider-state-line--error{color:#a0443e}.grid-provider-empty{display:grid;min-height:132px;place-items:center;border-block:1px solid var(--app-divider, var(--line));color:var(--ink-muted);font-size:15px;font-weight:620;text-align:center}.grid-provider-empty--error{color:#a0443e}.subscription-plan-editor{display:grid;min-width:0;gap:18px}.subscription-plan-editor__plan{display:grid;min-width:0;gap:16px;margin:0;padding:16px 0 18px;border:0;border-top:1px solid var(--app-divider, var(--line))}.subscription-plan-editor__plan[data-inactive=true],.subscription-plan-editor__row[data-inactive=true]{opacity:.6}.subscription-plan-editor__plan legend{display:flex;max-width:100%;align-items:baseline;gap:8px;padding-right:10px;color:var(--ink);font-size:16px;font-weight:820}.subscription-plan-editor__plan legend span{min-width:0;overflow-wrap:anywhere}.subscription-plan-editor__plan legend small{flex:0 0 auto;color:var(--ink-muted);font-size:13px;font-weight:760;text-transform:uppercase}.subscription-plan-editor__fields,.subscription-plan-editor__row{display:grid;min-width:0;align-items:end;gap:10px}.subscription-plan-editor__fields{grid-template-columns:minmax(140px,.82fr) minmax(180px,1.15fr) minmax(76px,.35fr) auto auto}.subscription-plan-editor__row{border-top:1px solid var(--app-divider, var(--line));padding-top:10px}.subscription-plan-editor__row--price{grid-template-columns:minmax(140px,.95fr) minmax(96px,.52fr) minmax(92px,.42fr) minmax(82px,.38fr) minmax(104px,.5fr) minmax(76px,.35fr) auto auto}.subscription-plan-editor__row--entitlement{grid-template-columns:minmax(140px,.82fr) minmax(220px,1.3fr) minmax(76px,.35fr) auto auto}.subscription-plan-editor__row--limit{grid-template-columns:minmax(130px,.75fr) minmax(180px,1fr) minmax(90px,.45fr) auto auto}.charger-limit-usage{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--ink-muted);font-size:13px;font-weight:680}.charger-limit-usage[data-limit-reached=true]{color:var(--danger, #b44b43)}.charger-limit-usage a{color:var(--accent);font-weight:760}.subscription-plan-editor__section,.subscription-plan-editor__rows{display:grid;min-width:0;gap:10px}.subscription-plan-editor__section-heading,.subscription-plan-editor__actions{display:flex;min-width:0;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.subscription-plan-editor__section-heading h3{margin:0;color:var(--ink-muted);font-size:14px;font-weight:820;line-height:1.2;text-transform:uppercase}.subscription-plan-editor__actions{justify-content:flex-end;border-top:1px solid var(--app-divider, var(--line));padding-top:14px}.subscription-plan-editor label{display:grid;min-width:0;gap:6px;color:var(--ink-muted);font-size:14px;font-weight:720}.subscription-plan-editor input,.subscription-plan-editor select{min-width:0;width:100%;min-height:34px;border:1px solid var(--app-divider, var(--line));border-radius:7px;padding:0 9px;color:var(--ink);background:var(--app-control-bg, var(--white));font:inherit;font-size:15px;font-weight:620}.subscription-plan-editor input[readonly]{color:var(--ink-muted);background:var(--app-control-hover, #f6f8f4)}.subscription-plan-editor input:focus-visible,.subscription-plan-editor select:focus-visible{border-color:var(--app-selected-border, var(--mint));outline:0;box-shadow:var(--focus-ring)}.subscription-plan-editor__checkbox{display:inline-flex;min-height:34px;align-items:center;gap:8px;color:var(--ink);white-space:nowrap}.subscription-plan-editor__checkbox input{flex:0 0 auto;width:16px;min-height:16px;margin:0}.subscription-plan-editor__empty{margin:0;color:var(--ink-muted);font-size:14px;font-weight:680;line-height:1.45}@media(max-width:940px){.subscription-plan-editor__fields,.subscription-plan-editor__row--price,.subscription-plan-editor__row--entitlement,.subscription-plan-editor__row--limit{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.subscription-plan-editor__fields,.subscription-plan-editor__row--price,.subscription-plan-editor__row--entitlement,.subscription-plan-editor__row--limit{grid-template-columns:1fr}.subscription-plan-editor__section-heading,.subscription-plan-editor__actions{align-items:stretch;flex-direction:column}.subscription-plan-editor__section-heading .settings-button,.subscription-plan-editor__actions .settings-button,.subscription-plan-editor__fields .settings-button,.subscription-plan-editor__row .settings-button{width:100%}}.grid-provider-table-wrap{min-width:0;overflow-x:auto;border-block:1px solid var(--app-divider, var(--line))}.grid-provider-table{width:100%;min-width:780px;border-collapse:collapse;table-layout:fixed}.grid-provider-table__col-name{width:28%}.grid-provider-table__col-key{width:22%}.grid-provider-table__col-country{width:82px}.grid-provider-table__col-region{width:auto}.grid-provider-table__col-actions{width:190px}.admin-users-table{min-width:860px}.admin-users-table__col-name{width:30%}.admin-users-table__col-email{width:26%}.admin-users-table__col-provider{width:120px}.admin-users-table__col-status{width:118px}.admin-users-table__col-updated{width:180px}.grid-provider-table th,.grid-provider-table td{border-bottom:1px solid var(--app-divider, var(--line));text-align:left;vertical-align:middle}.grid-provider-table th{height:34px;padding:0 10px;color:var(--ink-muted);font-size:13px;font-weight:760;line-height:1.2}.grid-provider-table td{height:42px;padding:6px 10px;color:var(--ink);font-size:15px;line-height:1.3}.grid-provider-table tbody tr:last-child td{border-bottom:0}.grid-provider-table__row:focus-within td{background:var(--table-row-hover)}@media(hover:hover)and (pointer:fine){.grid-provider-table__row:hover td{background:var(--table-row-hover)}}.grid-provider-table__row--editing td{background:var(--table-row-selected)}.grid-provider-table__row--busy td{opacity:.74}.grid-provider-name{display:flex;align-items:center;gap:7px;overflow:hidden;color:var(--ink);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.grid-provider-name-with-lifecycle{display:inline-flex;align-items:center;min-width:0;gap:6px}.grid-provider-lifecycle-badge{display:inline-flex;align-items:center;flex:0 0 auto;min-height:18px;padding:1px 6px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent-strong, var(--accent));font-size:10px;font-weight:800;letter-spacing:.06em;line-height:1;text-transform:uppercase;vertical-align:middle}.overview-content-slide>.grid-provider-lifecycle-badge{margin-inline-start:6px}.grid-provider-key{display:inline-block;max-width:100%;overflow:hidden;color:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;font-weight:620;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.grid-provider-country{color:var(--ink);font-size:14px;font-weight:760;letter-spacing:.02em}.grid-provider-muted{color:var(--ink-muted)}.admin-users-table__row{cursor:pointer}.admin-users-table__row:focus-visible td{background:var(--table-row-hover);outline:0;box-shadow:inset 3px 0 0 var(--app-selected-border, var(--mint))}.admin-users-table__primary,.admin-users-table__secondary{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-users-table__primary{color:var(--ink);font-weight:720}.admin-users-table__secondary{margin-top:3px;color:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;font-weight:580}.admin-users-table__status{color:var(--ink-muted);font-size:14px;font-weight:720}.admin-users-table time{color:var(--ink-muted);font-size:14px;font-weight:620}.grid-provider-table input,.grid-provider-dialog input,.grid-provider-dialog select{min-height:32px;width:100%;min-width:0;border:1px solid var(--app-divider, var(--line));border-radius:6px;padding:0 8px;color:var(--ink);background:var(--app-control-bg, var(--white));font:inherit;font-size:15px;font-weight:620}.grid-provider-table input[aria-invalid=true]{border-color:#cf6259}.grid-provider-table input:focus-visible,.grid-provider-dialog input:focus-visible,.grid-provider-dialog select:focus-visible{border-color:var(--app-selected-border, var(--mint));outline:0;box-shadow:var(--focus-ring)}.grid-provider-table__actions,.grid-provider-table__actions-head{text-align:right}.grid-provider-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--button-gap);width:100%}.grid-provider-row-actions--idle{opacity:.38;transition:opacity .12s ease}.grid-provider-table__row:focus-within .grid-provider-row-actions--idle{opacity:1}@media(hover:hover)and (pointer:fine){.grid-provider-table__row:hover .grid-provider-row-actions--idle{opacity:1}}.grid-provider-table__message-row td{height:auto;padding:0 10px 7px;border-bottom-color:var(--app-divider, var(--line));background:var(--app-control-hover, #f7faf6)}.grid-provider-row-state{min-height:16px;margin:0;color:var(--ink-muted);font-size:14px;font-weight:620;line-height:1.35}.grid-provider-row-state--error{color:#a0443e}.grid-provider-dialog-backdrop{z-index:26}.grid-provider-dialog{--ui-dialog-title-color: var(--ink);--ui-dialog-title-font-size: 19px;--ui-dialog-title-font-weight: 780;--ui-dialog-title-letter-spacing: 0;--ui-dialog-description-color: var(--ink-muted);--ui-dialog-description-font-size: 15px;--ui-dialog-description-line-height: 1.5;display:grid;width:min(100%,440px);gap:12px;margin-block:auto;animation:dialog-in .18s ease-out}.grid-provider-dialog p{margin:0;color:var(--ink-muted);font-size:15px;line-height:1.5}.grid-provider-dialog__form{display:grid;gap:11px}.grid-provider-dialog__form label{display:grid;gap:5px;color:var(--ink-muted);font-size:14px;font-weight:720}.grid-provider-dialog__field-grid{display:grid;grid-template-columns:minmax(84px,.38fr) minmax(0,1fr);gap:9px}.grid-provider-dialog__status{min-height:18px;color:var(--ink-muted);font-size:14px;font-weight:620}.grid-provider-dialog__status--error{color:#a0443e}.grid-provider-dialog__actions,.admin-user-dialog__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.grid-provider-delete-confirmation{display:grid;gap:5px;color:var(--ink-muted);font-size:14px;font-weight:720}.grid-provider-dialog--delete{width:min(100%,400px)}.grid-provider-dialog-backdrop--nested,.unsaved-changes-dialog-backdrop{z-index:40}.grid-provider-dialog--tariffs{width:min(100%,1200px)}.grid-provider-dialog--static-tariff{width:min(100%,540px)}.grid-provider-dialog--tariff-detail{width:min(100%,760px)}.grid-provider-tariff-detail__structure{display:flex;align-items:baseline;justify-content:space-between;gap:10px 18px;border:1px solid var(--app-divider, var(--line));border-left:3px solid var(--app-selected-border, var(--mint));border-radius:8px;padding:9px 11px;background:var(--app-selected-bg, var(--panel));color:var(--ink-muted);font-size:14px;line-height:1.45}.grid-provider-tariff-detail__structure p,.grid-provider-tariff-detail__assumptions,.grid-provider-tariff-detail__state{margin:0}.grid-provider-tariff-detail__structure a{flex:0 0 auto;color:var(--ink);font-weight:720;text-underline-offset:3px}.grid-provider-tariff-detail__assumptions{color:var(--ink-muted);font-size:13px;line-height:1.45}.grid-provider-tariff-detail__time-of-use{display:grid;gap:9px;border-block:1px solid var(--app-divider, var(--line));padding-block:12px}.grid-provider-tariff-detail__time-of-use h3,.grid-provider-tariff-detail__time-of-use p,.grid-provider-tariff-detail__time-of-use ul{margin:0}.grid-provider-tariff-detail__time-of-use h3{font-size:14px}.grid-provider-tariff-detail__time-of-use p,.grid-provider-tariff-detail__time-of-use small{color:var(--ink-muted);font-size:12px}.grid-provider-tariff-detail__time-of-use ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;padding:0;list-style:none}.grid-provider-tariff-detail__time-of-use li{display:grid;gap:2px;border:1px solid var(--app-divider, var(--line));border-radius:8px;padding:8px 9px;background:var(--app-surface, var(--panel))}.grid-provider-tariff-detail__time-of-use li>span,.grid-provider-tariff-detail__time-of-use li>strong{font-size:13px}.grid-provider-tariff-detail__state{min-height:96px;display:grid;place-items:center;border-block:1px solid var(--app-divider, var(--line));color:var(--ink-muted);font-size:14px;font-weight:650}.grid-provider-tariff-detail__state--error{color:#a0443e}.admin-user-dialog{width:min(100%,760px)}.admin-user-dialog__details{display:grid;grid-template-columns:minmax(132px,.38fr) minmax(0,1fr);margin:0;border-block:1px solid var(--app-divider, var(--line))}.admin-user-dialog__details dt,.admin-user-dialog__details dd{min-width:0;margin:0;border-bottom:1px solid var(--app-divider, var(--line));padding:8px 0;font-size:14px;line-height:1.35}.admin-user-dialog__details dt{padding-right:14px;color:var(--ink-muted);font-weight:720}.admin-user-dialog__details dd{overflow-wrap:anywhere;color:var(--ink);font-weight:620}.admin-user-dialog__details dt:nth-last-child(2),.admin-user-dialog__details dd:last-child{border-bottom:0}.admin-user-dialog__mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px}.admin-user-subscription{display:grid;gap:11px;border-top:1px solid var(--app-divider, var(--line));padding-top:14px}.admin-user-subscription__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-user-subscription__heading h3{margin:0;color:var(--ink);font-size:16px;font-weight:780}.admin-user-subscription__heading span,.admin-user-subscription__source{color:var(--ink-muted);font-size:14px;font-weight:650}.admin-user-subscription__form,.admin-user-subscription__readonly{display:grid;gap:10px}.admin-user-subscription__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-user-subscription__fields label{display:grid;gap:5px;color:var(--ink-muted);font-size:14px;font-weight:720}.admin-user-subscription__checkbox{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:14px;font-weight:650}.grid-provider-dialog .admin-user-subscription__checkbox input{width:16px;min-height:16px;margin:0}.admin-user-subscription__actions{display:flex;justify-content:flex-end;gap:8px}.admin-user-subscription__readonly>p{font-size:14px}.admin-user-subscription__readonly dl{display:grid;grid-template-columns:minmax(130px,.38fr) minmax(0,1fr);margin:0}.admin-user-subscription__readonly dt,.admin-user-subscription__readonly dd{margin:0;border-bottom:1px solid var(--app-divider, var(--line));padding:6px 0;font-size:14px}.admin-user-subscription__readonly dt{color:var(--ink-muted);font-weight:720}.admin-user-subscription__readonly dd{color:var(--ink);font-weight:620}.admin-user-subscription__catalog{display:grid;gap:8px}.admin-user-subscription__catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-user-subscription__catalog-heading span{color:var(--ink);font-size:14px;font-weight:740}.app-data-table-wrap--subscription-tiers .app-data-table{min-width:620px}.subscription-tier-row{cursor:pointer}.subscription-tier-row:focus-visible{outline:0}.subscription-tier-row:focus-visible td{background:var(--app-control-hover, #f7faf6);box-shadow:inset 3px 0 0 var(--app-selected-border, var(--mint))}.subscription-tier-dialog{--ui-dialog-icon-size: 36px;--ui-dialog-icon-glyph-size: 19px;--ui-dialog-icon-radius: 8px;width:min(100%,520px)}.subscription-tier-dialog__icon{border:1px solid color-mix(in srgb,var(--accent-primary) 28%,var(--border-default));color:var(--accent-primary);background:var(--accent-primary-soft)}.subscription-tier-dialog__details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border-block:1px solid var(--app-divider, var(--line))}.subscription-tier-dialog__details div{min-width:0;padding:9px 10px;border-right:1px solid var(--app-divider, var(--line))}.subscription-tier-dialog__details div:last-child{border-right:0}.subscription-tier-dialog__details dt,.subscription-tier-dialog__details dd{min-width:0;margin:0}.subscription-tier-dialog__details dt{color:var(--ink-muted);font-size:13px;font-weight:720;line-height:1.35}.subscription-tier-dialog__details dd{overflow-wrap:anywhere;color:var(--ink);font-size:15px;font-weight:720;line-height:1.35}.subscription-tier-dialog__prices{display:flex;flex-wrap:wrap;gap:8px}.subscription-tier-dialog__price{min-height:34px;border:1px solid var(--app-divider, var(--line));border-radius:7px;padding:0 11px;color:var(--ink);background:var(--app-control-bg, var(--white));font:inherit;font-size:14px;font-weight:720;cursor:pointer}.subscription-tier-dialog__price[aria-pressed=true]{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-soft)}.subscription-tier-dialog__price:disabled{cursor:not-allowed;opacity:.68}.subscription-tier-dialog__features{display:grid;gap:7px;margin:0;padding:0;list-style:none}.subscription-tier-dialog__features li{display:flex;min-width:0;align-items:start;gap:7px;color:var(--ink);font-size:15px;font-weight:620;line-height:1.4}.subscription-tier-dialog__features svg{flex:0 0 auto;margin-top:1px;color:#47725f}.subscription-tier-dialog__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.grid-provider-tariffs-dialog__header .grid-provider-key{flex:0 0 auto}.grid-provider-tariffs-dialog__section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.grid-provider-tariffs-dialog__section-heading h3{margin:0;color:var(--ink);font-size:15px;font-weight:780;line-height:1.2}.grid-provider-tariffs-dialog__section-heading span{color:var(--ink-muted);font-size:14px;font-weight:620}.grid-provider-tariffs-dialog__dynamic{display:grid;grid-template-columns:minmax(156px,.7fr) minmax(0,1.35fr) auto;align-items:end;gap:10px;padding-block:2px 4px}.grid-provider-tariffs-dialog__url-field{display:grid;gap:5px;min-width:0;color:var(--ink-muted);font-size:14px;font-weight:720}.grid-provider-tariffs-dialog__empty{display:grid;min-height:74px;place-items:center;border-block:1px solid var(--app-divider, var(--line));color:var(--ink-muted);font-size:15px;font-weight:620}.electricity-tariff-calculator{display:grid;gap:12px;padding-block:14px;border-block:1px solid var(--app-divider, var(--line))}.electricity-tariff-calculator__heading>div{display:grid;gap:3px}.electricity-tariff-calculator__form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));align-items:end;gap:9px}.electricity-tariff-calculator__form label{display:grid;gap:5px;min-width:0;color:var(--ink-muted);font-size:13px;font-weight:720}.electricity-tariff-calculator__error{color:#a0443e!important;font-size:14px!important;font-weight:650}.electricity-tariff-breakdown{display:grid;gap:12px}.electricity-tariff-breakdown__selection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 16px;margin:0;padding:10px 0;border-block:1px solid var(--app-divider, var(--line))}.electricity-tariff-breakdown__selection div{display:grid;gap:2px;min-width:0}.electricity-tariff-breakdown__selection dt{color:var(--ink-muted);font-size:12px;font-weight:730;text-transform:uppercase;letter-spacing:.04em}.electricity-tariff-breakdown__selection dd{overflow:hidden;margin:0;color:var(--ink);font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.electricity-tariff-breakdown__groups{display:grid;gap:0}.electricity-tariff-breakdown__groups>section{display:grid;gap:5px;padding:9px 0;border-bottom:1px solid var(--app-divider, var(--line))}.electricity-tariff-breakdown__groups h4{margin:0;color:var(--ink);font-size:14px;font-weight:800}.electricity-tariff-breakdown__groups ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.electricity-tariff-breakdown__groups li{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(290px,1.2fr);align-items:center;gap:10px;color:var(--ink-muted);font-size:14px}.electricity-tariff-breakdown__groups li>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 8px;min-width:0}.electricity-tariff-breakdown__groups li strong{color:var(--ink)}.electricity-tariff-breakdown__item-heading{position:relative;display:inline-flex;align-items:center;gap:5px;min-width:0}.electricity-tariff-breakdown__help{display:inline-flex;flex:0 0 auto}.electricity-tariff-breakdown__help .ui-inline-help__button{display:inline-grid;width:18px;height:18px;place-items:center;border:0;border-radius:50%;padding:0;background:transparent;color:var(--ink-muted);cursor:help}.electricity-tariff-breakdown__help .ui-inline-help__button:focus-visible,.electricity-tariff-breakdown__help .ui-inline-help__button[aria-expanded=true]{background:var(--app-selected-bg, var(--panel));color:var(--ink)}@media(hover:hover)and (pointer:fine){.electricity-tariff-breakdown__help .ui-inline-help__button:hover{background:var(--app-selected-bg, var(--panel));color:var(--ink)}}.electricity-tariff-breakdown__help .ui-inline-help__button:focus-visible{outline:2px solid var(--app-selected-border, var(--mint));outline-offset:1px}.electricity-tariff-breakdown__drivers{display:inline-flex;flex-wrap:wrap;gap:4px}.electricity-tariff-breakdown__drivers span{border:1px solid var(--app-divider, var(--line));border-radius:999px;padding:1px 5px;color:var(--ink-muted);font-size:11px;font-weight:720;line-height:1.35}.electricity-tariff-breakdown__formula{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.electricity-tariff-breakdown__total-line{display:flex;justify-content:space-between;gap:16px;color:var(--ink-muted);font-size:14px;font-variant-numeric:tabular-nums}.electricity-tariff-breakdown__total-line strong{color:var(--ink)}.electricity-tariff-breakdown__grand-total .electricity-tariff-breakdown__total-line:last-child{color:var(--ink);font-size:16px;font-weight:760}.grid-provider-static-tariffs-table-wrap{min-width:0;overflow-x:auto;border-block:1px solid var(--app-divider, var(--line))}.grid-provider-static-tariffs-table{width:100%;min-width:780px;border-collapse:collapse;table-layout:fixed}.grid-provider-static-tariffs-table th,.grid-provider-static-tariffs-table td{border-bottom:1px solid var(--app-divider, var(--line));text-align:left;vertical-align:middle}.grid-provider-static-tariffs-table th{height:32px;padding:0 9px;color:var(--ink-muted);font-size:13px;font-weight:760;line-height:1.2}.grid-provider-static-tariffs-table td{height:38px;overflow:hidden;padding:5px 9px;color:var(--ink);font-size:14px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.grid-provider-static-tariffs-table tbody tr:last-child td{border-bottom:0}.grid-provider-static-tariffs-table tbody tr:focus-within td{background:var(--app-control-hover, #f7faf6)}@media(hover:hover)and (pointer:fine){.grid-provider-static-tariffs-table tbody tr:hover td{background:var(--app-control-hover, #f7faf6)}}.grid-provider-static-tariffs-table__interactive-row{cursor:pointer}.grid-provider-static-tariffs-table__interactive-row:focus{outline:2px solid var(--focus-ring, #5a8f35);outline-offset:-2px}.grid-provider-static-tariffs-table a{color:inherit;text-decoration:none}@media(hover:hover)and (pointer:fine){.grid-provider-static-tariffs-table a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}}.grid-provider-dialog__field-grid--even{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-provider-dialog__status--success{color:#3f6d2b}.data-export-panel h2,.data-id-token-filter h3{margin:0;color:var(--ink);font-family:Avenir Next,Inter,sans-serif;letter-spacing:0;line-height:1.16}.data-export-panel h2{font-size:clamp(28px,4vw,32px);font-weight:650}.data-id-token-filter h3{font-size:17px;font-weight:760}.data-form-section__header p,.data-id-token-filter__empty{margin:0;color:var(--ink-muted);font-size:15px;font-weight:560;line-height:1.5}.data-export-form{display:grid;min-width:0;gap:18px}.data-report-parameters{display:grid;min-width:0;border-top:1px solid var(--data-divider);border-bottom:1px solid var(--data-divider)}.data-export-range,.data-id-token-filter{display:grid;min-width:0;gap:10px;margin:0;padding:16px 0;border:0;border-bottom:1px solid var(--data-divider)}.data-id-token-filter{border-bottom:0}.data-form-section__header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.data-export-range legend{margin-bottom:10px;padding:0;color:var(--ink);font-size:17px;font-weight:760;line-height:1.2}.data-export-range__options{display:flex;width:min(100%,760px);max-width:100%;flex-wrap:wrap;gap:6px}.data-export-range__option{position:relative;display:flex;min-width:0;min-height:34px;align-items:center;justify-content:center;padding:0 11px;border:1px solid var(--data-divider);border-radius:8px;color:var(--ink-muted);background:transparent;cursor:pointer;font-size:15px;font-weight:720;line-height:1.2;text-align:center;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.data-export-range__option[data-selected=true]{border-color:var(--data-selected-border);color:var(--ink);background:var(--data-selected-bg)}@media(hover:hover)and (pointer:fine){.data-export-range__option:hover{color:var(--ink);background:var(--data-control-hover)}}.data-export-range__option input{position:absolute;opacity:0;pointer-events:none}.data-export-range__option:focus-within{outline:3px solid #9ee747;outline-offset:3px}.data-id-token-search{display:grid;min-width:0}.data-id-token-search__control{display:grid;min-width:0;min-height:40px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:0 12px;border:1px solid var(--data-divider);border-radius:9px;color:var(--ink-muted);background:var(--data-control-bg)}.data-id-token-search__control:focus-within{border-color:var(--data-selected-border);box-shadow:var(--focus-ring)}.data-id-token-search input{min-width:0;min-height:40px;padding:0;border:0;color:var(--ink);background:transparent;outline:0;font-size:15px;font-weight:620}.data-id-token-search input::placeholder{color:var(--ink-muted)}.data-id-token-search input:disabled{cursor:not-allowed;opacity:.62}.data-id-token-list{display:grid;max-height:220px;min-width:0;overflow-y:auto;border-top:1px solid var(--data-divider);border-bottom:1px solid var(--data-divider);background:transparent}.data-id-token-option{display:grid;min-width:0;min-height:42px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--data-divider);color:var(--ink);cursor:pointer;transition:background .16s ease}.data-id-token-option:last-child{border-bottom:0}@media(hover:hover)and (pointer:fine){.data-id-token-option:hover{background:var(--data-control-hover)}}.data-id-token-option[data-selected=true]{background:var(--data-selected-bg);box-shadow:inset 3px 0 0 var(--data-selected-border)}.data-id-token-option input{flex:0 0 auto;accent-color:#6aa044}.data-id-token-option span{display:grid;min-width:0;gap:3px}.data-id-token-option strong,.data-id-token-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-id-token-option strong{color:var(--ink);font-size:15px;font-weight:760;line-height:1.25}.data-id-token-option small{color:var(--ink-muted);font-size:13px;font-weight:560;line-height:1.3}.data-id-token-filter__status,.data-id-token-filter__error,.data-export-placeholder-status{margin:0;padding:11px 12px;border-radius:9px;font-size:14px;font-weight:680;line-height:1.45}.data-id-token-filter__status,.data-export-placeholder-status{color:#315d48;background:var(--data-status-bg)}.data-id-token-filter__error{color:#7f2424;background:#fff0f0}.data-id-token-clear{flex:0 0 auto;min-height:32px;padding:0 10px;border:1px solid var(--data-divider);border-radius:8px;color:var(--ink-muted);background:transparent;font-size:14px;font-weight:720}@media(hover:hover)and (pointer:fine){.data-id-token-clear:hover{color:var(--ink);background:var(--data-control-hover)}}.data-id-token-clear:disabled{cursor:not-allowed;opacity:.56}.data-export-footer{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding-top:16px;border-top:1px solid var(--data-divider)}.data-export-summary{display:flex;min-width:0;flex-wrap:wrap;gap:10px 24px;margin:0;padding:0}.data-export-summary div{display:flex;min-width:0;align-items:baseline;gap:8px}.data-export-summary dt{color:var(--ink-muted);font-size:14px;font-weight:640;line-height:1.3}.data-export-summary dd{display:flex;min-width:0;align-items:baseline;gap:8px;margin:0;overflow:hidden;color:var(--ink);font-size:15px;line-height:1.35}.data-export-summary dd strong,.data-export-summary dd span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-export-summary dd strong{color:var(--ink);font-weight:760}.data-export-summary dd span{max-width:min(320px,48vw);color:var(--ink-muted);font-weight:560}.data-export-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.departure-schedule-field{min-width:0;color:#53635e;font-size:15px;font-weight:750}.departure-schedule-field__control{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,150px);min-height:46px;overflow:hidden;border:1px solid #ccd5d0;border-radius:999px;background:var(--white)}.departure-schedule-field__control select,.departure-schedule-field__control input{min-width:0;border:0;color:var(--ink);background:transparent;font-size:15px;font-weight:800;outline:0}.departure-schedule-field__control select{padding:0 14px;border-right:1px solid var(--line);cursor:pointer}.departure-schedule-field__control input{padding:0 13px}.departure-schedule-field__help{color:var(--ink-muted);font-size:14px;font-weight:650;line-height:1.45}.departure-schedule-preview{display:flex;min-height:20px;align-items:flex-start;gap:7px;margin:0;color:var(--ink-muted);font-size:14px;font-weight:680;line-height:1.45}.departure-schedule-preview[data-state=valid]{color:var(--success)}.departure-schedule-preview[data-state=invalid],.departure-schedule-preview[data-state=unsupported]{color:var(--danger)}.departure-schedule-preview__icon{flex:0 0 auto;margin-top:1px}.departure-schedule-preview__copy{display:flex;min-width:0;flex-wrap:wrap;gap:4px 10px}.departure-schedule-dialog{--ui-dialog-header-padding: var(--space-5) var(--space-6) var(--space-4);--ui-dialog-body-padding: var(--space-5) var(--space-6);--ui-dialog-footer-padding: 0 var(--space-6) var(--space-6);width:min(100%,520px);gap:0;animation:dialog-in .18s ease-out}.departure-schedule-dialog__form{display:grid;min-width:0;align-content:start;gap:var(--space-4);border-top:1px solid var(--line)}.departure-schedule-dialog__input{box-sizing:border-box;width:100%;min-height:var(--control-height);padding-inline:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-control);outline:0;color:var(--text-primary);background:var(--bg-input);font:inherit;font-weight:500;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){.departure-schedule-dialog__input:hover:not(:disabled){border-color:var(--border-strong)}}.departure-schedule-dialog__input:focus-visible{border-color:var(--accent-primary);box-shadow:var(--focus-ring)}.departure-schedule-dialog__input[data-state=valid]{border-color:var(--success);background:var(--success-soft)}.departure-schedule-dialog__input[data-state=invalid],.departure-schedule-dialog__input[data-state=unsupported]{border-color:var(--danger);background:var(--danger-soft)}.departure-schedule-dialog__input:disabled{color:var(--text-disabled);background:var(--bg-surface-secondary);cursor:not-allowed}.departure-schedule-dialog__hint{justify-self:start}.departure-schedule-dialog__status{margin:0}.departure-schedule-dialog__actions.ui-dialog-footer{margin-top:0}.departure-schedule-field__control select:disabled,.departure-schedule-field__control input:disabled{color:#87938d;cursor:not-allowed}.schedules-panel__empty{color:var(--ink-muted);font-size:14px;font-weight:700;line-height:1.45}.schedules-panel__empty{margin:0}.schedules-panel__error{color:#9a2f2f}.id-tags-allowed-panel__empty,.failed-auth-panel__empty{color:var(--ink-muted);font-size:14px;font-weight:700;line-height:1.45}.id-tags-allowed-panel__empty,.failed-auth-panel__empty{margin:0}.id-tags-allowed-panel__status,.id-tags-allowed-panel__error{margin:0;padding:13px;border-radius:12px;font-size:14px;font-weight:800;line-height:1.45}.id-tags-allowed-panel__status{color:#315d48;background:#e8f5df}.id-tags-allowed-panel__error,.id-tag-dialog-error{color:#7f2424;background:#fff0f0}.app-page{--app-control-bg: rgb(255 255 255 / 86%);--app-control-hover: #f6f8f4;--app-divider: #dbe3dc;--app-selected-bg: #edf7e8;--app-selected-border: #88b862;--app-status-bg: #eef6e8;--data-control-bg: var(--app-control-bg);--data-control-hover: var(--app-control-hover);--data-divider: var(--app-divider);--data-selected-bg: var(--app-selected-bg);--data-selected-border: var(--app-selected-border);--data-status-bg: var(--app-status-bg);display:grid;min-width:0;width:min(100%,var(--app-content-max-width));gap:var(--app-space-4);margin-inline:auto;color:var(--ink)}.app-page-section{display:grid;min-width:0;width:100%;gap:var(--app-space-4);min-height:0;align-content:start;padding:0;border:0;border-radius:0;color:var(--ink);background:transparent;box-shadow:none}.about-page__intro{margin:0;color:var(--text-secondary)}.about-services-list{margin:0;padding:0;border-block:1px solid var(--app-divider, var(--color-border));list-style:none}.about-service-row{display:grid;min-width:0;gap:var(--space-1);padding-block:var(--space-4);border-bottom:1px solid var(--app-divider, var(--color-border))}.about-service-row:last-child{border-bottom:0}.about-service-row strong,.about-service-row span{min-width:0;overflow-wrap:anywhere}.about-service-row span{color:var(--text-secondary);font-size:var(--font-size-sm)}.settings-section{min-width:0;border-top:1px solid var(--app-divider, var(--line))}.settings-section:last-of-type{border-bottom:1px solid var(--app-divider, var(--line))}.settings-section__trigger{display:grid;width:100%;min-height:68px;grid-template-columns:34px minmax(0,1fr) minmax(120px,auto) 20px;align-items:center;gap:12px;border:0;padding:12px 4px;color:var(--ink);background:transparent;text-align:left}@media(hover:hover)and (pointer:fine){.settings-section__trigger:hover{background:var(--bg-hover)}}.settings-section__icon{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;color:#47725f;background:var(--app-status-bg, #eef6e8)}.settings-section__heading{display:grid;min-width:0;gap:3px}.settings-section__heading strong{color:var(--ink);font-size:16px;font-weight:800;line-height:1.25}.settings-section__heading>span,.settings-section__summary{min-width:0;color:var(--ink-muted);font-size:14px;font-weight:600;line-height:1.35}.settings-section__summary{max-width:260px;overflow-wrap:anywhere;text-align:right}.settings-section__chevron{color:var(--ink-muted);transition:transform .16s ease}.settings-section[data-expanded=true] .settings-section__chevron{transform:rotate(180deg)}.settings-section__content{padding:4px 4px 20px 50px}.charging-sessions-panel{position:relative}.allowed-token-controls{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:8px}.app-search{display:grid;width:min(100%,220px);min-height:40px;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;border:1px solid var(--app-divider);border-radius:9px;color:var(--ink-muted);background:var(--app-control-bg);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.app-search:focus-within{border-color:var(--app-selected-border);box-shadow:var(--focus-ring)}.app-search input{min-width:0;width:100%;border:0;color:var(--ink);background:transparent;font-size:15px;font-weight:620;outline:0}.app-search input::placeholder{color:#89958f}.app-search input:disabled{cursor:not-allowed}.billing-status-message{display:flex;min-width:0;align-items:center;gap:8px;margin:0;border:1px solid #cfe2c4;border-radius:8px;padding:10px 12px;color:#315d48;background:var(--app-status-bg);font-size:14px;font-weight:760;line-height:1.45}.billing-status-message--error{border-color:rgba(173,72,62,.32);color:#8d2f28;background:#fff1ef}.billing-panel{gap:18px;border-block:1px solid var(--app-divider);padding-block:2px 18px}.billing-panel[data-loading=true]{opacity:.76}.billing-empty{margin:0;padding:16px 0;color:var(--ink-muted);font-size:15px;font-weight:700}.billing-summary{display:grid;min-width:0;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding-block:16px;border-bottom:1px solid var(--app-divider)}.billing-summary__icon{display:grid;inline-size:44px;block-size:44px;place-items:center;border:1px solid #cfe2c4;border-radius:8px;color:#315d48;background:#eef7e8}.billing-summary__copy{display:grid;min-width:0;gap:4px}.billing-summary__copy span{color:var(--ink-muted);font-size:13px;font-weight:850;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.billing-summary__copy h2{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ink);font-size:24px;font-weight:820;letter-spacing:0;line-height:1.15}.billing-summary__copy p,.billing-state-copy{margin:0;color:var(--ink-muted);font-size:15px;font-weight:650;line-height:1.45}.billing-option-group{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:8px}.billing-option-button{display:inline-flex;min-height:36px;max-width:100%;align-items:center;justify-content:center;border:1px solid var(--app-divider);border-radius:8px;padding:0 12px;color:var(--ink);background:var(--app-control-bg);font-size:14px;font-weight:760;line-height:1.2;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.billing-option-button[aria-selected=true],.billing-option-button[aria-pressed=true]{border-color:var(--app-selected-border);background:var(--app-selected-bg);box-shadow:0 0 0 3px rgba(136,184,98,.16)}.billing-option-button:disabled{opacity:.55;cursor:not-allowed}.billing-status-pill{display:inline-flex;min-height:30px;align-items:center;justify-content:center;border:1px solid var(--app-divider);border-radius:999px;padding:0 10px;color:var(--ink-muted);background:var(--app-control-bg);font-size:13px;font-weight:850;line-height:1;white-space:nowrap}.billing-status-pill--ok{border-color:#b8d49f;color:#315d48;background:#eef7e8}.billing-status-pill--warning{border-color:#dec26e;color:#72520c;background:#fff7d8}.billing-status-pill--danger{border-color:rgba(173,72,62,.34);color:#8d2f28;background:#fff1ef}.billing-feature-list{display:grid;min-width:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px 18px;margin:0;padding:0;list-style:none}.billing-feature-list li{display:grid;min-width:0;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;color:var(--ink);font-size:15px;font-weight:700;line-height:1.4}.billing-feature-list svg{margin-top:2px;color:#47725f}.billing-details{display:grid;min-width:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;border-block:1px solid var(--app-divider)}.billing-details div{min-width:0;padding:14px 16px 14px 0}.billing-details div+div{border-left:1px solid var(--app-divider);padding-left:16px}.billing-details dt{margin:0 0 5px;color:var(--ink-muted);font-size:13px;font-weight:820;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.billing-details dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ink);font-size:15px;font-weight:760;line-height:1.35}.billing-actions{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:10px}.billing-action-note{display:inline-flex;min-width:0;align-items:center;gap:8px;margin:0;color:#72520c;font-size:14px;font-weight:750;line-height:1.45}.billing-action-note svg{flex:0 0 auto}.message-filters,.messages-status{border-color:var(--app-divider);border-radius:10px;background:var(--app-control-bg);box-shadow:none}.message-filters{padding:12px}.message-filters__title{min-height:40px;color:var(--ink);font-size:15px;font-weight:760;letter-spacing:0;text-transform:none}.message-filters label,.departure-schedule-field{color:var(--ink-muted);font-weight:680}.message-filters input,.message-filters select,.grid-provider-table input,.departure-schedule-field__control{border-color:var(--app-divider);border-radius:9px;background:var(--app-control-bg)}.message-filters input:focus-visible,.message-filters select:focus-visible,.grid-provider-table input:focus-visible,.departure-schedule-field__control:focus-within{border-color:var(--app-selected-border);outline:0;box-shadow:var(--focus-ring)}.admin-events-table .admin-events-table__severity{border-radius:7px;letter-spacing:0;text-transform:none}.admin-events-table th,.message-conversation-dialog__meta-table th{letter-spacing:0;text-transform:none}.id-tags-allowed-panel__status,.messages-status,.data-id-token-filter__status,.data-export-placeholder-status{color:#315d48;background:var(--app-status-bg)}.admin-events-table-wrap{border-color:var(--app-divider);border-radius:10px;background:transparent}.admin-events-table th,.admin-events-table td{background:transparent}.app-data-table-wrap{min-width:0;overflow-x:auto;border-block:1px solid var(--app-divider);border-radius:10px;background:transparent;box-shadow:none}.app-data-table{width:100%;min-width:680px;border-collapse:collapse;table-layout:fixed}.app-data-table-wrap--sessions .app-data-table{min-width:860px}.app-data-table-wrap--grid-providers .app-data-table{min-width:780px}.app-data-table-wrap--admin-users .app-data-table{min-width:860px}.app-data-table-wrap--static-tariffs .app-data-table{min-width:960px}.app-data-table th,.app-data-table td{padding:10px 12px;border-bottom:1px solid var(--app-divider);text-align:left;vertical-align:middle}.app-data-table th{height:38px;color:#47725f;background:transparent;font-size:13px;font-weight:760;line-height:1.2;white-space:nowrap}.app-data-table td{height:44px;color:var(--ink);font-size:15px;font-weight:620;line-height:1.4}.app-data-table th[data-align=end],.app-data-table td[data-align=end]{text-align:right}.app-data-table tbody tr:last-child td{border-bottom:0}.app-data-row{transition:background .14s ease,color .14s ease}@media(hover:hover)and (pointer:fine){.app-data-row:hover,.app-data-row:hover>td{background:var(--table-row-hover)}}.app-data-row[data-highlighted=true],.app-data-row[data-highlighted=true]>td{background:var(--table-row-selected)}.charger-row,.session-row{cursor:pointer}.app-data-primary{display:grid;min-width:0;gap:2px;justify-items:start}.app-data-primary strong,.app-data-value,.app-data-status,.app-data-table time{color:var(--ink);font-size:15px;font-weight:720;line-height:1.3}.app-data-primary strong,.app-data-value,.app-data-table time{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-data-primary span,.app-data-table small{overflow:hidden;max-width:100%;color:var(--ink-muted);font-size:14px;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.app-data-primary--button{width:100%;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;font:inherit;text-align:left}.app-data-primary--button:focus-visible strong{color:var(--accent-primary)}@media(hover:hover)and (pointer:fine){.app-data-primary--button:hover strong{color:var(--accent-primary)}}.app-data-primary--button:focus-visible{border-radius:6px;outline:3px solid color-mix(in srgb,var(--accent-primary) 32%,transparent);outline-offset:3px}.app-data-status{color:var(--ink-muted)}.app-data-status[data-tone=attention]{color:#7f2424}.app-row-actions{display:inline-flex;min-width:0;align-items:center;justify-content:flex-end;gap:var(--button-gap)}.app-row-action--text{inline-size:auto;min-width:0;white-space:nowrap}.app-row-action:disabled{cursor:not-allowed;opacity:.58}.failed-auth-panel{overflow:hidden}.failed-auth-panel summary{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--app-divider);border-bottom:1px solid var(--app-divider);cursor:pointer;list-style:none}.failed-auth-panel summary::-webkit-details-marker{display:none}.failed-auth-panel__title{display:grid;min-width:0;gap:3px}.failed-auth-panel__title strong{overflow:hidden;color:var(--ink);font-size:16px;font-weight:760;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.failed-auth-panel__title span,.failed-auth-panel__count{color:var(--ink-muted);font-size:14px;font-weight:560;line-height:1.35}.failed-auth-panel__count{flex:0 0 auto;background:transparent}.failed-auth-panel__body{padding:14px 0 0}.charger-connection-attempt-list{display:grid}.charger-connection-attempt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--app-divider)}.charger-connection-attempt-row:last-child{border-bottom:0}.charger-connection-attempt-row__details{display:grid;min-width:0;gap:var(--space-1)}.charger-connection-attempt-row__details strong{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--font-size-sm)}.charger-connection-attempt-row__details span{color:var(--ink-muted);font-size:var(--font-size-sm)}.charger-add-button{--button-height: 44px}@media(max-width:768px){.charger-connection-attempt-row{align-items:start}}.id-tag-dialog-error{margin:0;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:800;line-height:1.45}.app-dialog-backdrop{z-index:30;background:rgba(1,12,10,.72);backdrop-filter:blur(8px);animation:backdrop-in .16s ease-out}.unsaved-changes-dialog{display:grid;width:min(100%,420px);margin-block:auto}.unsaved-changes-dialog__body{display:grid;gap:var(--space-2)}.unsaved-changes-dialog__changes-label{margin:0;color:var(--ink-muted);font-size:var(--font-size-sm);font-weight:750}.unsaved-changes-dialog__changes{display:grid;gap:var(--space-2);max-height:min(38vh,320px);margin:0;padding:0;overflow-y:auto;list-style:none}.unsaved-changes-dialog__change{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--app-divider, var(--line));border-radius:var(--radius-sm);background:var(--bg-surface-secondary)}.unsaved-changes-dialog__field{color:var(--ink);font-size:var(--font-size-sm);font-weight:800}.unsaved-changes-dialog__values{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;font-size:var(--font-size-sm)}.unsaved-changes-dialog__values svg{color:var(--ink-muted)}.unsaved-changes-dialog__previous-value,.unsaved-changes-dialog__next-value{overflow-wrap:anywhere}.unsaved-changes-dialog__previous-value{color:var(--ink-muted);text-align:right;text-decoration:line-through}.unsaved-changes-dialog__next-value{color:var(--ink);font-weight:750}.upgrade-dialog-backdrop,.suggestion-dialog-backdrop{z-index:36}.user-settings-dialog{width:min(100%,620px);margin-block:auto;animation:dialog-in .18s ease-out}.add-token-dialog,.charger-details-dialog,.charger-url-dialog,.delete-charger-dialog,.delete-idtag-dialog,.departure-setup-dialog,.departure-warning-dialog,.rfid-scan-dialog,.session-detail-dialog,.upgrade-dialog,.welcome-dialog{display:grid;width:min(100%,420px);gap:15px;margin-block:auto;animation:dialog-in .18s ease-out}.rfid-scan-dialog{justify-items:start;text-align:left}.add-token-dialog{width:min(100%,460px)}.welcome-dialog{--ui-dialog-header-padding: var(--space-5) var(--space-6) var(--space-4);--ui-dialog-body-padding: var(--space-5) var(--space-6);--ui-dialog-footer-padding: 0 var(--space-6) var(--space-6);width:min(100%,460px);gap:0}.welcome-dialog__body{display:grid;align-content:start;gap:var(--space-2);border-top:1px solid var(--line)}.departure-setup-dialog,.departure-warning-dialog{width:min(100%,480px)}.departure-session-impact-dialog{width:min(100%,720px)}.departure-session-impact-dialog .departure-setup-dialog__actions{flex-wrap:wrap}.charger-url-dialog{width:min(100%,520px)}.session-detail-dialog{width:min(100%,780px);grid-template-columns:minmax(0,1fr);align-content:start}.ocpp-history-dialog{display:grid;width:min(100%,720px);max-height:min(84vh,760px);margin-block:auto;animation:dialog-in .18s ease-out}.ocpp-history-dialog__body{min-height:0;overflow-y:auto}.session-detail-protocol-history{border-top:1px solid var(--line);padding-top:var(--space-3)}.session-detail-protocol-history>summary{display:flex;align-items:center;gap:var(--space-2);min-height:2.5rem;color:var(--ink);font-weight:750;cursor:pointer;list-style:none}.session-detail-protocol-history>summary::-webkit-details-marker{display:none}.upgrade-dialog{width:min(100%,760px)}.tag-name-dialog{display:grid;width:min(100%,460px);gap:15px;margin-block:auto;animation:dialog-in .18s ease-out}.suggestion-dialog{display:flex;width:min(100%,480px);min-height:0;flex-direction:column;gap:var(--space-5);margin-block:auto;animation:dialog-in .18s ease-out}.suggestion-dialog__icon{--ui-dialog-icon-size: 36px;--ui-dialog-icon-glyph-size: 18px;--ui-dialog-icon-radius: var(--radius-sm);color:var(--accent-primary);background:var(--accent-primary-soft)}.suggestion-dialog__icon[data-submitted=true]{color:var(--success);background:var(--success-soft)}.add-token-dialog__icon,.charger-details-dialog__icon,.charger-url-dialog__icon,.delete-charger-dialog__icon,.delete-idtag-dialog__icon,.departure-schedule-dialog__icon,.departure-setup-dialog__icon,.departure-warning-dialog__icon,.rfid-scan-dialog__icon,.session-detail-dialog__icon,.settings-dialog__icon,.tag-name-dialog__icon,.upgrade-dialog__icon,.welcome-dialog__icon{color:#7f2424;background:#fff0f0}.rfid-scan-dialog__icon,.add-token-dialog__icon,.charger-details-dialog__icon,.charger-url-dialog__icon,.departure-setup-dialog__icon,.departure-schedule-dialog__icon{color:#244c3b;background:#e6f5dc}.departure-warning-dialog__icon{color:#8a5a00;background:#fff7df}.delete-charger-dialog__icon{color:#7f2424;background:#fff0f0}.rfid-scan-dialog__icon[data-scanning=true] svg{animation:scan-rfid-pulse .98s ease-in-out infinite}.session-detail-dialog__icon,.welcome-dialog__icon,.upgrade-dialog__icon{color:#244c3b;background:#e6f5dc}.upgrade-dialog__badge{justify-self:start;padding:4px 9px;border:1px solid #cde6a8;border-radius:999px;color:#315f24;background:#eff9e5;font-size:13px;font-weight:900;letter-spacing:0;line-height:1;text-transform:uppercase}.add-token-dialog,.charger-details-dialog,.charger-url-dialog,.delete-charger-dialog,.delete-idtag-dialog,.departure-schedule-dialog,.departure-setup-dialog,.departure-warning-dialog,.rfid-scan-dialog,.session-detail-dialog,.tag-name-dialog,.welcome-dialog{--ui-dialog-title-font-family: "Avenir Next", "Inter", sans-serif;--ui-dialog-title-font-size: 30px;--ui-dialog-title-font-weight: 700;--ui-dialog-title-letter-spacing: 0;--ui-dialog-title-line-height: 1.12}.upgrade-dialog h2{margin:0;font-family:Avenir Next,Inter,sans-serif;font-size:30px;font-weight:700;letter-spacing:0;line-height:1.12}.add-token-dialog p,.charger-details-dialog p,.charger-url-dialog p,.delete-charger-dialog p,.delete-idtag-dialog p,.departure-schedule-dialog p,.departure-setup-dialog p,.departure-warning-dialog p,.rfid-scan-dialog p,.session-detail-dialog p,.tag-name-dialog p,.upgrade-dialog p,.welcome-dialog p{margin:0;color:var(--ink-muted);font-size:16px;font-weight:650;line-height:1.55}.add-token-dialog p strong,.charger-details-dialog p strong,.charger-url-dialog p strong,.delete-charger-dialog p strong,.delete-idtag-dialog p strong,.departure-schedule-dialog p strong,.departure-setup-dialog p strong,.departure-warning-dialog p strong,.rfid-scan-dialog p strong,.session-detail-dialog p strong,.tag-name-dialog p strong,.welcome-dialog p strong{color:var(--ink)}.rfid-scan-dialog__activity{display:flex;gap:8px;min-height:18px;align-items:center}.rfid-scan-dialog__activity[data-active=false],.rfid-scan-dialog__retry[data-visible=false]{visibility:hidden}.rfid-scan-dialog__activity span{width:7px;height:7px;border-radius:50%;background:#315d48;animation:scan-rfid-dot .98s ease-in-out infinite}.rfid-scan-dialog__activity span:nth-child(2){animation-delay:.13s}.rfid-scan-dialog__activity span:nth-child(3){animation-delay:.26s}.add-token-dialog__form,.settings-profile-form,.tag-name-dialog__form{display:grid;gap:17px}.add-token-dialog__scan{width:100%}.add-token-dialog p.add-token-dialog__scan-unavailable{margin:-8px 0 0;color:var(--ink-muted);font-size:13px;line-height:1.45}.add-token-dialog__form label,.tag-name-dialog__form label{display:grid;gap:8px;color:#53635e;font-size:15px;font-weight:700}.add-token-dialog__form input,.delete-charger-dialog__confirmation input,.tag-name-dialog__form input{width:100%;min-height:50px;padding:0 15px;border:1px solid #ccd5d0;border-radius:11px;color:var(--ink);background:#fbfcfa;cursor:text}.delete-charger-dialog__confirmation{display:grid;gap:8px;color:#53635e;font-size:15px;font-weight:700}.delete-charger-dialog__confirmation strong{color:var(--ink)}.charger-details-dialog{width:min(100%,760px);gap:14px;padding:24px;background:var(--white)}.charger-configuration-route-state{display:grid;align-content:start;gap:24px}.charger-configuration-route-state__header{display:grid;gap:10px}.charger-configuration-route-state__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.charger-configuration-route-state__grid .app-skeleton{height:48px;border-radius:9px}.charger-configuration-route-state__section{height:126px;border-radius:12px}.charger-configuration-route-state__error{display:grid;min-height:390px;align-content:center;justify-items:center;gap:14px;color:var(--ink-muted);text-align:center}.charger-configuration-route-state__error p{margin:0;font-size:16px;font-weight:740}.charger-details-dialog{--ui-dialog-title-font-size: 26px}.charger-details-dialog__form{display:grid;grid-auto-rows:max-content;align-content:start;gap:0}.charger-details-dialog__form label{display:grid;gap:6px;color:#53635e;font-size:14px;font-weight:700}.charger-details-dialog__field-label{display:inline-flex;align-items:baseline;gap:4px}.charger-details-dialog__field-label[data-required=true]:after{content:"*";color:var(--danger)}.charger-details-dialog__form input,.charger-details-dialog__form select{width:100%;min-height:42px;padding-inline:12px;border:1px solid #ccd5d0;border-radius:9px;color:var(--ink);background:#fbfcfa;cursor:text}.charger-settings-grid{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.charger-settings-grid__full{grid-column:1 / -1}.charger-solar-output{display:grid;min-width:0;gap:var(--space-2)}.charger-solar-output__label{display:flex;min-width:0;align-items:center;gap:var(--space-1)}.charger-solar-output__control{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;border:1px solid var(--app-input-border, #ccd5d0);border-radius:var(--radius-md, 9px);background:var(--app-input-background, #fbfcfa)}.charger-details-dialog__form .charger-solar-output__control input{min-width:0;border:0;background:transparent}.charger-solar-output__control>span{padding-inline:var(--space-3);color:var(--ink-muted);font-size:var(--text-sm);font-weight:700}.charger-solar-output small{color:var(--ink-muted);font-size:var(--text-xs);font-weight:600}.charger-solar-azimuth__row{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.charger-solar-azimuth__clear.ui-button{width:var(--control-height, 40px);min-width:var(--control-height, 40px);height:var(--control-height, 40px);min-height:var(--control-height, 40px)}.charger-authorization-field{width:min(100%,440px)}.charger-ocpp-status{display:grid;min-width:0;align-content:end;gap:14px;margin:0;padding:0}.charger-ocpp-status div{display:grid;min-height:0;align-content:start;gap:2px;margin:0;padding:0 0 8px;border-bottom:1px solid var(--app-divider, var(--line))}.charger-ocpp-status dt{margin:0;color:var(--ink-muted);font-size:13px;font-weight:700}.charger-ocpp-status dd{margin:0;color:var(--ink);font-size:15px;font-weight:760}.charger-ocpp-connection-url{display:grid;gap:12px}.charger-ocpp-connection-url>.settings-button{justify-self:start}.charger-authorization-field{display:grid;gap:8px}.charger-details-dialog .charger-authorization-warning{display:flex;min-width:0;align-items:flex-start;gap:8px;padding:9px 11px;border:1px solid #ead8a8;border-radius:10px;color:#675122;background:#fff8df;font-size:14px;font-weight:750;line-height:1.4}.charger-authorization-warning svg{flex:0 0 auto;margin-top:1px}.suggestion-dialog__form{display:grid;min-width:0;gap:var(--space-5)}.suggestion-dialog__field{gap:var(--space-2)}.suggestion-dialog__field .ui-textarea{min-height:112px}.suggestion-dialog__counter{margin-top:-2px}.suggestion-dialog__status{margin:calc(var(--space-3) * -1) 0 0;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;line-height:1.4}.session-detail-dialog__heading{--ui-dialog-title-font-size: var(--font-size-sm);--ui-dialog-title-font-weight: 700;--ui-dialog-title-line-height: 1.15;display:grid;min-width:0;gap:var(--space-1)}.session-detail-dialog__heading>span{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.01em;line-height:1.2}.session-detail-dialog__heading .ui-dialog-header-title{overflow-wrap:break-word}.session-detail-graph{display:grid;width:100%;min-width:0;flex:0 0 auto;align-content:start}.session-detail-dialog>.session-detail-dialog__body.ui-dialog-body{display:flex;width:100%;min-width:0;flex-direction:column;padding-top:0}.session-detail-dialog__body>*{min-width:0;flex:0 0 auto}.session-detail-dialog__placeholder{display:flex;width:100%;min-width:0;flex-direction:column}.session-detail-dialog__placeholder-graph{gap:var(--space-3, 12px)}.session-detail-dialog__placeholder-title.ui-loading-skeleton{width:min(48%,18rem);height:1.25rem}.session-detail-dialog__placeholder-legend.ui-loading-skeleton{width:min(64%,24rem);height:1.5rem}.session-detail-dialog__placeholder-chart.ui-loading-skeleton{width:100%;height:300px}.session-detail-dialog__placeholder-section{display:grid;gap:var(--space-4, 16px);margin-top:var(--space-6, 24px);padding-top:var(--space-6, 24px);border-top:1px solid var(--border-subtle, var(--line))}.session-detail-dialog__placeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3, 12px)}.session-detail-dialog__placeholder-grid .ui-loading-skeleton{height:4.5rem}.session-detail-dialog__placeholder[data-failed=true] .ui-loading-skeleton{animation:none}.session-detail-dialog__body>:is(.session-detail-pricing-data,.session-detail-optimizer-data,.session-detail-events){margin-top:var(--space-6, 24px);padding-top:var(--space-6, 24px);border-top:1px solid var(--border-subtle, var(--line))}.session-detail-recalculation{display:flex;align-items:center;gap:var(--space-3, 12px);margin-top:var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);border:1px solid var(--border-subtle, var(--line));border-radius:var(--radius-md, 12px);background:var(--panel);outline:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.session-detail-recalculation>svg{flex:0 0 auto;color:var(--accent-primary)}.session-detail-recalculation dl{display:grid;flex:1 1 auto;grid-template-columns:minmax(9rem,.7fr) minmax(0,1.3fr);gap:var(--space-3, 12px) var(--space-5, 20px);min-width:0;margin:0}.session-detail-recalculation dl>div{display:grid;min-width:0;gap:3px}.session-detail-recalculation dt{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:700}.session-detail-recalculation dd{margin:0;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700;line-height:1.35}.session-detail-recalculation[data-highlighted=true],.session-detail-recalculation:focus-visible{border-color:var(--accent-primary);background:var(--accent-primary-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 16%,transparent)}.session-detail-dialog__body>:is(.session-detail-dialog__warning,.session-detail-dialog__error){margin-top:var(--space-4, 16px)}.session-detail-graph__actual-line,.session-detail-graph__comparison-tariff-line,.session-detail-graph__optimizer-price-line,.session-detail-graph__optimizer-solar-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.session-detail-graph__optimizer-price-line{stroke:var(--chart-price);stroke-width:1.5;opacity:.84;pointer-events:none}.session-detail-graph__comparison-tariff-line{stroke:var(--chart-reference);stroke-width:1.5;stroke-dasharray:7 6;opacity:.86;pointer-events:none}.session-detail-graph__optimizer-solar-line{stroke:var(--chart-solar);stroke-width:1.8;stroke-dasharray:5 6;opacity:.78;pointer-events:none}.session-detail-graph__planned-area{fill:var(--accent-primary);opacity:.14;pointer-events:none}.session-detail-graph__actual-area{fill:var(--chart-actual);opacity:.12;pointer-events:none}.session-detail-graph__actual-line{fill:none;stroke:var(--chart-actual);stroke-width:2.2;pointer-events:none}.session-detail-graph__hover-layer{fill:rgba(255,255,255,0);cursor:inherit;pointer-events:all}.session-detail-graph .usage-graph__chart[role=button]{cursor:zoom-in}.session-detail-graph .usage-graph__chart[role=button][aria-pressed=true]{cursor:zoom-out}.session-detail-graph .usage-graph__chart[role=button]:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:var(--radius-sm)}.session-detail-graph__hover-marker{pointer-events:none}.session-detail-graph__hover-marker line{stroke:#586b64;stroke-dasharray:5 5;stroke-width:1.5}.session-detail-graph__hover-marker circle{fill:var(--white);stroke-width:3}.session-detail-graph__hover-marker-planned{stroke:var(--accent-primary)}.session-detail-graph__hover-marker-actual{stroke:var(--chart-actual)}.session-detail-graph__tooltip{--session-tooltip-x: -50%;--session-tooltip-y: calc(-100% - 8px) ;position:absolute;z-index:5;display:grid;max-width:min(220px,calc(100% - 24px));gap:4px;padding:8px 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-surface-raised);box-shadow:var(--shadow-floating);pointer-events:none;transform:translate(var(--session-tooltip-x),var(--session-tooltip-y))}.session-detail-graph__tooltip[data-horizontal-placement=left]{--session-tooltip-x: -100%}.session-detail-graph__tooltip[data-horizontal-placement=right]{--session-tooltip-x: 0%}.session-detail-graph__tooltip[data-vertical-placement=below]{--session-tooltip-y: 8px}.session-detail-graph__tooltip strong{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.2}.session-detail-graph__tooltip span{color:var(--text-secondary);font-size:12px;font-weight:600;line-height:1.35;white-space:nowrap}.session-detail-graph__legend-dot--planned{background:var(--accent-primary)}.session-detail-graph__legend-dot--actual{background:var(--chart-actual)}.session-detail-optimizer-data,.session-detail-pricing-data,.session-detail-events{display:grid;min-width:0;gap:12px;padding-top:2px}.session-detail-events__timeline{display:grid;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.session-detail-events__timeline li{display:grid;min-width:0;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:var(--space-2) var(--space-3);padding-block:var(--space-3);border-bottom:1px solid var(--line)}.session-detail-events__marker{display:inline-grid;width:28px;height:28px;place-items:center;border-radius:50%;color:var(--accent-primary);background:var(--accent-primary-soft)}.session-detail-events__timeline li[data-severity=warning] .session-detail-events__marker{color:var(--warning);background:var(--warning-soft)}.session-detail-events__timeline li[data-severity=error] .session-detail-events__marker{color:var(--danger);background:var(--danger-soft)}.session-detail-events__copy{display:grid;min-width:0;gap:2px}.session-detail-events__copy strong{color:var(--ink);font-size:var(--font-size-sm);line-height:1.3}.session-detail-events__copy>span,.session-detail-events__timeline time,.session-detail-events__empty{color:var(--ink-muted);font-size:var(--font-size-xs);line-height:1.4}.session-detail-events__timeline time{white-space:nowrap}.session-detail-events__empty{margin:0}.session-detail-optimizer-data__heading{display:grid;gap:4px}.session-detail-optimizer-data__heading span{color:#47725f;font-size:12px;font-weight:850;letter-spacing:.12em;line-height:1;text-transform:uppercase}.session-detail-optimizer-data__heading h3{margin:0;color:var(--ink);font-size:17px;font-weight:800;letter-spacing:0;line-height:1.2}.session-detail-optimizer-data__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:0;border-top:1px solid #dce6df}.session-detail-energy-summary.optimizer-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.session-detail-energy-summary.optimizer-kpi-strip[data-has-savings=true]{grid-template-columns:repeat(3,minmax(0,1fr))}.optimizer-kpi-strip .summary-breakdown-kpi{min-height:52px;place-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.optimizer-kpi-strip .summary-breakdown-kpi:focus-visible{background:var(--bg-hover)}@media(hover:hover)and (pointer:fine){.optimizer-kpi-strip .summary-breakdown-kpi:hover{background:var(--bg-hover)}}.optimizer-kpi-strip .summary-breakdown-kpi .ui-kpi-strip__copy{display:block;width:100%}.session-detail-energy-summary.optimizer-kpi-strip dt{height:0}.optimizer-kpi-strip .summary-breakdown-kpi dt,.optimizer-kpi-strip .summary-breakdown-kpi dd{display:block;width:100%;text-align:center}.optimizer-kpi-strip .summary-breakdown-kpi dd strong{display:block;overflow:hidden;font-size:clamp(var(--font-size-base),3.8vw,var(--font-size-xl));text-overflow:ellipsis;white-space:nowrap}.summary-breakdown-kpi__positioner{width:min(20rem,calc(100vw - 20px))}.summary-breakdown-kpi__breakdown{width:100%}.summary-breakdown-kpi__breakdown li>div>strong{overflow:visible;text-overflow:clip;white-space:normal}@media(max-width:760px){.session-detail-energy-summary.optimizer-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.session-detail-energy-summary.optimizer-kpi-strip[data-has-savings=true]{grid-template-columns:repeat(3,minmax(0,1fr))}.session-detail-energy-summary.optimizer-kpi-strip .optimizer-kpi-strip__item+.optimizer-kpi-strip__item{border-inline-start:1px solid var(--line)}.session-detail-energy-summary.optimizer-kpi-strip .optimizer-kpi-strip__item:nth-child(n+3){border-block-start:0}}.session-detail-optimizer-data__grid div{display:grid;min-width:0;gap:4px;padding:10px 0;border-bottom:1px solid #dce6df}.session-detail-optimizer-data__grid dt{color:#66736f;font-size:13px;font-weight:800;line-height:1.25}.session-detail-optimizer-data__grid dd{display:grid;min-width:0;gap:2px;margin:0;color:var(--ink);font-size:15px;font-weight:760;line-height:1.3}.session-detail-optimizer-data__grid dd strong{min-width:0;overflow-wrap:anywhere;font-weight:850}.session-detail-optimizer-data__grid dd span{min-width:0;overflow-wrap:anywhere;color:#66736f;font-size:13px;font-weight:780}.session-detail-optimizer-data__payload{min-width:0;border-top:1px solid #dce6df;padding-top:10px}.session-detail-optimizer-data__payload summary{color:#315d48;cursor:pointer;font-size:14px;font-weight:850;line-height:1.3}.session-detail-optimizer-data__payload pre{max-height:none;overflow-x:auto;overflow-y:visible;margin:10px 0 0;padding:12px;border:1px solid #dce6df;border-radius:8px;color:#1b2a24;background:#f6faf3;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.session-detail-dialog__warning,.session-detail-dialog__error{display:flex;min-width:0;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #ead8a8;border-radius:10px;color:#675122;background:#fff8df;font-size:14px;font-weight:750;line-height:1.45}.session-detail-dialog__error{border-color:#efc1c1;color:#8b2d2d;background:#fff0f0}.fixed-time-profile{display:grid;min-width:0;gap:10px;padding-top:16px;border-top:1px solid var(--app-divider, var(--line))}.fixed-time-profile__heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.fixed-time-profile__heading h3{margin:0;color:var(--ink);font-size:16px;font-weight:850;letter-spacing:0;line-height:1.2}.fixed-time-profile__add{flex:none;white-space:nowrap}.fixed-time-profile__add:disabled,.fixed-time-profile__remove:disabled{cursor:not-allowed;opacity:.58}.fixed-time-profile__table-wrap{min-width:0;overflow-x:auto;border:1px solid #e3ebe5;border-radius:9px;background:transparent}.fixed-time-profile__table{width:100%;min-width:390px;border-collapse:collapse;table-layout:fixed}.fixed-time-profile__table th,.fixed-time-profile__table td{padding:8px;border-bottom:1px solid #e3ebe5;text-align:left}.fixed-time-profile__table tr[data-dragging=true]{opacity:.48}.fixed-time-profile__table tr[data-drop-position=before] td{box-shadow:inset 0 2px #47725f}.fixed-time-profile__table tr[data-drop-position=after] td{box-shadow:inset 0 -2px #47725f}.fixed-time-profile__table th{color:#66736f;font-size:12px;font-weight:850;line-height:1.2}.fixed-time-profile__drag-heading,.fixed-time-profile__drag-cell{width:38px}.fixed-time-profile__table td{vertical-align:middle}.fixed-time-profile__table tr:last-child td{border-bottom:0}.fixed-time-profile__table input{min-height:40px;padding:0 10px;border-radius:8px;font-size:14px;font-weight:760}.fixed-time-profile__drag-handle{display:grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid #dce6df;border-radius:8px;color:#68756f;background:var(--white);cursor:grab}@media(hover:hover)and (pointer:fine){.fixed-time-profile__drag-handle:hover{color:var(--ink);background:#eef4ec}}.fixed-time-profile__drag-handle:active{cursor:grabbing}.fixed-time-profile__drag-handle:disabled{cursor:not-allowed;opacity:.58}.fixed-time-profile__remove{display:grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid #dce6df;border-radius:8px;color:#68756f;background:var(--white)}@media(hover:hover)and (pointer:fine){.fixed-time-profile__remove:hover{color:#7f2424;background:#fff0f0}}.fixed-time-profile__empty{padding:8px 0}.charger-connectors-list{display:grid;gap:10px;min-width:0;padding-top:16px;border-top:1px solid var(--app-divider, var(--line))}.charger-connectors-list__heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.charger-connectors-list__heading h3{margin:0;color:var(--ink);font-size:16px;font-weight:850;letter-spacing:0;line-height:1.2}.charger-connectors-list__heading span{flex:none;color:#47725f;font-size:13px;font-weight:850;line-height:1.2}.charger-connectors-list__items{display:grid;gap:0}.charger-connectors-list__item{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.5fr);align-items:center;gap:16px;min-width:0;padding:10px 0;border-top:1px solid var(--app-divider, var(--line))}.charger-connectors-list__item-copy{display:grid;min-width:0;gap:2px}.charger-connectors-list__item-copy strong{min-width:0;overflow-wrap:anywhere;color:var(--ink);font-size:15px;font-weight:850;line-height:1.25}.charger-connectors-list__item-copy span{min-width:0;overflow-wrap:anywhere;color:#66736f;font-size:14px;font-weight:760;line-height:1.3}.charger-connectors-list__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.charger-connectors-list__metrics div{display:grid;min-width:0;gap:2px}.charger-connectors-list__metrics dt{color:#66736f;font-size:12px;font-weight:850;line-height:1.2}.charger-connectors-list__metrics dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ink);font-size:14px;font-weight:800;line-height:1.25}.charger-connectors-list__empty{padding:8px 0}.charger-details-dialog__form select{cursor:pointer}.charger-location-field{display:grid;gap:8px;color:#53635e;font-size:15px;font-weight:700}.charger-location-field__control{display:grid;grid-template-columns:minmax(0,1fr) 42px;min-height:42px;overflow:visible;border:1px solid #ccd5d0;border-radius:9px;background:#fbfcfa}.location-autocomplete{position:relative;min-width:0}.location-autocomplete>input{width:100%;height:100%}.location-autocomplete__results,.location-autocomplete__status{position:absolute;z-index:var(--z-dropdown, 40);top:calc(100% + 4px);right:0;left:0;box-sizing:border-box;width:100%;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-control);box-shadow:var(--shadow-floating)}.location-autocomplete__results{max-height:240px;max-height:min(240px,40vh);max-height:min(240px,40dvh);padding:4px;overflow-y:auto;list-style:none}.location-autocomplete__results [role=option]{display:grid;min-width:0;padding:8px 10px;border-radius:calc(var(--radius-control) - 3px);cursor:pointer}.location-autocomplete__results [role=option][aria-selected=true]{background:var(--color-accent-soft)}.location-autocomplete__results span,.location-autocomplete__results small{min-width:0;overflow-wrap:anywhere}.location-autocomplete__results small{color:var(--ink-muted);font-weight:500}.location-autocomplete__status{padding:10px 12px;color:var(--ink-muted);font-weight:600}.charger-location-field__control input{min-width:0;border:0;padding:0 14px;color:var(--ink);background:transparent;cursor:text}.charger-location-field__control input::placeholder{color:#89958f}.charger-location-field__control button{display:grid;width:42px;height:100%;padding:0;place-items:center;border:0;border-left:1px solid #ccd5d0;color:#53635e;background:transparent}@media(hover:hover)and (pointer:fine){.charger-location-field__control button:hover{color:var(--ink);background:#eef4ec}}.charger-location-field__control button:disabled{cursor:wait;opacity:.64}.charger-location-field small{color:#47725f;font-size:13px;font-weight:850}.copyable-text-field{display:grid;gap:8px;color:#53635e;font-size:15px;font-weight:700}.copyable-text-field__control{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,42px);min-height:42px;overflow:hidden;border:1px solid #ccd5d0;border-radius:9px;background:#fbfcfa}.copyable-text-field__control input{min-width:0;border:0;padding:0 14px;color:var(--ink);background:transparent;font-size:14px;font-weight:750;text-overflow:ellipsis}.copyable-text-field__control>button{display:grid;width:42px;height:100%;padding:0;place-items:center;border:0;border-left:1px solid #ccd5d0;color:#53635e;background:transparent}@media(hover:hover)and (pointer:fine){.copyable-text-field__control>button:hover:not(:disabled){color:var(--ink);background:#eef4ec}}.copyable-text-field__control>button:disabled{cursor:not-allowed;opacity:.5}.copyable-text-field__control>button[data-copy-state=copied]{color:var(--success)}.copyable-text-field__qr-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;box-sizing:border-box;width:100%;height:100%;place-items:center;padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));background:rgba(4,13,11,.76);backdrop-filter:blur(3px)}.copyable-text-field__qr-dialog{display:block;width:min(320px,100%);min-width:0;outline:none;animation:dialog-in .18s ease-out}.copyable-text-field__qr-dismiss{display:grid;box-sizing:border-box;width:100%;aspect-ratio:1;place-items:center;padding:18px;border:0;border-radius:var(--radius-lg);color:#071a16;background:#fff;box-shadow:var(--shadow-lg);cursor:pointer}.copyable-text-field__qr-dismiss svg{display:block;width:100%;height:auto}.copyable-text-field__qr-dismiss:focus-visible{outline:3px solid var(--accent-primary);outline-offset:4px}@media(max-width:768px){.copyable-text-field__qr-backdrop{width:100vw;height:100vh;height:100dvh}.copyable-text-field__qr-dialog{width:80vw;max-width:360px}}.add-token-dialog__actions,.charger-details-dialog__actions,.charger-url-dialog__actions,.delete-idtag-dialog__actions,.departure-schedule-dialog__actions,.departure-setup-dialog__actions,.departure-warning-dialog__actions,.rfid-scan-dialog__actions,.tag-name-dialog__actions,.upgrade-dialog__actions,.welcome-dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.suggestion-dialog__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.welcome-dialog__primary{align-items:center}.welcome-dialog__actions.ui-dialog-footer{margin-top:0}.departure-setup-dialog__primary,.departure-warning-dialog__primary{align-items:center}.rfid-scan-dialog__actions{width:100%;justify-self:stretch}.upgrade-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:4px}.upgrade-plan{display:grid;min-width:0;gap:13px;padding:16px;border:1px solid #dce2da;border-radius:8px;background:rgba(255,255,255,.72)}.upgrade-plan[data-featured=true]{border-color:var(--accent-primary);background:linear-gradient(180deg,var(--accent-primary-soft),transparent 48%),rgba(255,255,255,.82);box-shadow:var(--shadow-card)}.upgrade-plan__heading{display:grid;gap:7px}.upgrade-plan h3{margin:0;color:var(--ink);font-family:Avenir Next,Inter,sans-serif;font-size:19px;font-weight:800;letter-spacing:0;line-height:1.1}.upgrade-plan__price{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:4px}.upgrade-plan__price strong{color:var(--ink);font-family:Avenir Next,Inter,sans-serif;font-size:30px;font-weight:800;line-height:1}.upgrade-plan__price span{color:var(--ink-muted);font-size:14px;font-weight:800}.upgrade-plan p{font-size:14px;font-weight:650}.upgrade-plan__features{display:grid;gap:8px;padding:0;margin:0;color:#41534d;font-size:14px;font-weight:750;line-height:1.35;list-style:none}.upgrade-plan__features li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:7px}.upgrade-plan__features li:before{width:6px;height:6px;margin-top:5px;border-radius:999px;background:#6ba94b;content:""}.upgrade-plan__action{width:100%;margin-top:auto}.upgrade-plan__action:disabled{cursor:not-allowed;opacity:.72;transform:none}.charger-details-dialog__actions{align-items:center;margin-top:0;padding-top:16px;border-top:1px solid var(--app-divider, var(--line))}.charger-details-dialog__remove{min-height:40px}.charger-danger-zone{display:flex;justify-content:flex-end;padding:18px 4px;border-top:1px solid var(--app-divider, var(--line))}.charger-danger-zone .settings-button--danger{flex:0 0 auto}.dialog-suggestion-button{white-space:nowrap}.dialog-suggestion-button .suggestion-button__text{display:none;min-width:0;overflow:hidden;text-overflow:ellipsis}.settings-dialog__icon{margin:0}.user-settings-dialog{--ui-dialog-title-font-family: "Avenir Next", "Inter", sans-serif;--ui-dialog-title-font-size: 37px;--ui-dialog-title-letter-spacing: 0;--ui-dialog-title-line-height: 1.08}.settings-grid{display:grid;gap:var(--space-4);margin:0}.settings-grid label{display:grid;gap:8px;color:var(--text-secondary);font-size:15px;font-weight:700}.settings-grid input,.settings-grid select{width:100%;min-height:50px;padding:0 15px;border:1px solid var(--border-default);border-radius:11px;color:var(--text-primary);background:var(--bg-input);cursor:text}.settings-grid select{cursor:pointer}.settings-grid input[readonly]{color:var(--text-secondary);background:var(--bg-surface-secondary);cursor:not-allowed;opacity:1;-webkit-text-fill-color:currentColor}.settings-onboarding{display:grid;min-width:0;gap:var(--space-3);padding-block:var(--space-4);border-block:1px solid var(--line)}.settings-onboarding__setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0;align-items:center;gap:var(--space-3)}.settings-onboarding__title,.settings-onboarding__connection-heading{display:inline-flex;min-width:0;align-items:center;gap:var(--space-2);color:var(--text-primary)}.settings-onboarding__connection-heading{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:650}.settings-onboarding .copyable-text-field{min-width:0}.settings-profile-error{margin:0;padding:10px 12px;border-radius:10px;color:var(--danger);background:var(--danger-soft);font-size:14px;font-weight:800;line-height:1.45}.subscription-dialog{--ui-dialog-title-font-family: "Avenir Next", "Inter", sans-serif;--ui-dialog-title-font-size: 32px;--ui-dialog-title-font-weight: 820;--ui-dialog-title-letter-spacing: -.02em;--ui-dialog-title-line-height: 1.1;width:min(100%,780px);margin-block:auto;animation:dialog-in .18s ease-out}.subscription-dialog__content{display:grid;min-height:500px;align-content:start;gap:24px;margin-top:26px}.subscription-dialog__content.ui-dialog-body{margin-top:0}.subscription-plan-selector{display:grid;min-width:0;gap:16px}.subscription-billing-period{display:inline-grid;grid-template-columns:repeat(2,minmax(78px,1fr));padding:3px;border:1px solid var(--app-divider, var(--line));border-radius:9px;background:#ecefed}.subscription-billing-period__button{min-height:36px;padding-inline:13px;border:0;border-radius:6px;color:var(--ink-muted);background:transparent;font-size:14px;font-weight:820}.subscription-billing-period__button[aria-checked=true]{color:var(--white);background:var(--night);box-shadow:0 2px 7px rgba(20,42,35,.14)}.subscription-billing-period__button:disabled{cursor:not-allowed;opacity:.48}.subscription-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px}.subscription-plan-card{position:relative;display:flex;min-width:0;min-height:250px;flex-direction:column;padding:20px;border:1px solid var(--app-divider, var(--line));border-radius:12px;color:var(--ink);background:var(--white);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}@media(hover:hover)and (pointer:fine){.subscription-plan-card:hover{border-color:#9ba89f;box-shadow:0 7px 18px rgba(24,48,40,.07)}}.subscription-plan-card:focus-within{outline:3px solid rgb(69 126 55 / 28%);outline-offset:2px}.subscription-plan-card[data-selected=true]{border-color:#5f8e4c;box-shadow:0 0 0 1px #5f8e4c}.subscription-plan-card:has(.subscription-plan-card__radio:disabled){cursor:wait}.subscription-plan-card__current{position:absolute;top:17px;right:17px;display:inline-flex;min-height:23px;align-items:center;padding:0 8px;border-radius:999px;color:#315d48;background:#eaf4e5;font-size:12px;font-weight:840;line-height:1}.subscription-plan-card__header{display:flex;min-height:28px;align-items:center;justify-content:space-between;gap:10px;padding-right:92px}.subscription-plan-card:not([data-current=true]) .subscription-plan-card__header{padding-right:0}.subscription-plan-card__header h5{margin:0;overflow-wrap:anywhere;font-family:Avenir Next,Inter,sans-serif;font-size:22px;font-weight:840;letter-spacing:-.01em;line-height:1.15}.subscription-plan-card__price{display:grid;gap:5px;margin-top:20px}.subscription-plan-card__price>div{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:5px}.subscription-plan-card__price strong{overflow-wrap:anywhere;font-size:27px;font-weight:850;line-height:1}.subscription-plan-card__price div>span,.subscription-plan-card__empty{color:var(--ink-muted);font-size:14px;font-weight:680;line-height:1.4}.subscription-plan-card__empty{margin:10px 0 0}.subscription-plan-card__features{display:grid;gap:8px;margin:18px 0 0;padding:0;color:#41534d;font-size:14px;font-weight:690;line-height:1.4;list-style:none}.subscription-plan-card__features li{position:relative;padding-left:16px}.subscription-plan-card__features li:before{position:absolute;top:.52em;left:1px;width:5px;height:5px;border-radius:50%;background:#6f9660;content:""}.subscription-dialog__footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:flex-end}.subscription-dialog__continue{min-width:150px;min-height:44px}.subscription-dialog__continue:disabled{border-color:#d2d8d3;color:#747d78;background:#e1e5e2;box-shadow:none}.subscription-dialog__notice,.subscription-dialog__error{display:flex;min-width:0;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:740;line-height:1.45}.subscription-dialog__notice{color:#675122;background:#fff8df}.subscription-dialog__error{color:#8b2d2d;background:#fff0f0}.subscription-dialog__notice svg,.subscription-dialog__error svg{flex:0 0 auto;margin-top:1px}.subscription-dialog{--ui-dialog-header-padding: 34px 40px 18px;--ui-dialog-body-padding: 10px 40px 26px;--ui-dialog-footer-padding: 22px 40px 28px;--ui-dialog-title-font-size: clamp(24px, 2.5vw, 34px);width:min(100%,1120px);max-height:min(880px,calc(100dvh - 48px))}.subscription-dialog__header{position:relative;align-items:center}.subscription-dialog__icon{--ui-dialog-icon-size: 56px;--ui-dialog-icon-glyph-size: 25px;--ui-dialog-icon-radius: 50%;color:var(--accent-primary);background:var(--accent-primary-soft)}.subscription-dialog__plan-controls{display:flex;min-width:0;align-items:center;justify-content:flex-end}.subscription-dialog__content{min-height:0;gap:22px;margin:0}.subscription-plan-selector{gap:0}.subscription-billing-period{grid-template-columns:repeat(2,minmax(112px,1fr));padding:4px;border-color:var(--border-default);border-radius:12px;background:var(--bg-surface-secondary)}.subscription-billing-period__button{min-height:44px;padding-inline:18px;border-radius:9px;color:var(--text-secondary);font-size:15px;font-weight:780;white-space:nowrap}.subscription-billing-period__button[aria-checked=true]{color:var(--accent-primary);background:var(--bg-surface-elevated);box-shadow:var(--shadow-sm),inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 24%,transparent)}.subscription-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.subscription-plan-card{min-height:430px;padding:30px 36px 32px;border-color:var(--border-default);border-radius:18px;color:var(--text-primary, var(--ink));background:var(--bg-surface-elevated, var(--white));cursor:default;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.subscription-plan-card[data-selected=true]{border-color:var(--accent-primary);background:linear-gradient(135deg,var(--accent-primary-soft),var(--bg-surface-elevated) 62%);box-shadow:inset 0 0 0 1px var(--accent-primary),var(--shadow-md)}@media(hover:hover)and (pointer:fine){.subscription-plan-card:hover{border-color:color-mix(in srgb,var(--accent-primary) 58%,var(--border-default));box-shadow:var(--shadow-md)}}.subscription-plan-card__selection{display:flex;min-height:0;flex:1;flex-direction:column;cursor:pointer}.subscription-plan-card__header{min-height:34px;padding-right:0}.subscription-plan-card__header h5{font-size:25px;font-weight:840}.subscription-plan-card__current{position:static;min-height:30px;gap:6px;padding:0 12px;color:var(--success);background:var(--success-soft);font-size:13px}.subscription-plan-card__price{margin-top:28px}.subscription-plan-card__price strong{color:var(--text-primary);font-size:clamp(36px,4vw,46px);letter-spacing:-.035em}.subscription-plan-card__price div>span{color:var(--text-secondary);font-size:16px;font-weight:760}.subscription-plan-card[data-selected=true] .subscription-plan-card__price strong,.subscription-plan-card[data-selected=true] .subscription-plan-card__price div>span{color:var(--accent-primary)}.subscription-plan-card__description{min-height:48px;margin:22px 0 0;color:var(--text-secondary, var(--ink-muted));font-size:16px;font-weight:560;line-height:1.5}.subscription-plan-card__period{margin:10px 0 0;color:var(--text-secondary, var(--ink-muted));font-size:13px;font-weight:720}.subscription-plan-card__features{gap:15px;margin:26px 0 30px;color:var(--text-secondary, #41534d);font-size:15px;font-weight:650}.subscription-plan-card__features li{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;padding-left:0}.subscription-plan-card__features li:before{display:none}.subscription-plan-card__feature-check{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:var(--accent-primary-ink);background:var(--text-muted)}.subscription-plan-card[data-selected=true] .subscription-plan-card__feature-check{color:var(--accent-primary-ink);background:var(--accent-primary)}#root .subscription-plan-card__action.ui-button{--button-height: 52px;width:100%;min-height:52px;margin-top:auto;border-color:color-mix(in srgb,var(--accent-primary) 58%,var(--border-default));color:var(--accent-primary);background:transparent;box-shadow:none}#root .subscription-plan-card__action.ui-button:hover:not(:disabled){border-color:var(--accent-primary);background:var(--accent-primary-soft)}.subscription-dialog__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;border-top:1px solid var(--border-subtle, var(--line))}.subscription-dialog__assurances{display:flex;min-width:0;align-items:center;gap:clamp(24px,5vw,54px)}.subscription-assurance{display:grid;min-width:0;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:1px 12px}.subscription-assurance>svg{grid-row:1 / 3;color:var(--text-secondary)}.subscription-assurance strong{color:var(--text-primary, var(--ink));font-size:14px;line-height:1.25}.subscription-assurance small{color:var(--text-secondary, var(--ink-muted));font-size:12px;line-height:1.35}#root .subscription-dialog__continue.ui-button{--button-height: 56px;min-width:176px;min-height:56px;padding-inline:28px;border-color:transparent;color:var(--accent-primary-ink);background:var(--gradient-primary);box-shadow:var(--glow-primary)}#root .subscription-dialog__continue.ui-button:hover:not(:disabled){background:var(--gradient-primary);background-position:100% 50%}#root .subscription-dialog__continue.ui-button:disabled{border-color:var(--border-default);color:var(--text-disabled);background:var(--bg-surface-secondary);box-shadow:none}.subscription-dialog__error-state{display:grid;min-height:390px;align-content:center;justify-items:center;gap:12px;color:var(--ink-muted);text-align:center}.subscription-dialog__error-state p{margin:0;font-size:16px;font-weight:740}.subscription-dialog__skeleton{display:grid;gap:22px}.subscription-dialog__skeleton-overview{display:grid;gap:10px;padding-bottom:22px;border-bottom:1px solid var(--app-divider, var(--line))}.app-skeleton{display:block;width:100%;height:13px;border-radius:5px;background:#e2e6e3}.app-skeleton--eyebrow{width:82px;height:9px}.app-skeleton--title{width:145px;height:27px}.app-skeleton--price{width:205px}.app-skeleton--toggle{width:180px;height:42px;justify-self:end;border-radius:9px}.subscription-plan-card--skeleton{gap:20px;cursor:default}@media(hover:hover)and (pointer:fine){.subscription-plan-card--skeleton:hover{border-color:var(--app-divider, var(--line));box-shadow:none}}.app-skeleton--plan-name{width:42%;height:22px}.app-skeleton--plan-price{width:58%;height:28px}.app-skeleton--short{width:68%}.settings-checkbox{grid-template-columns:19px minmax(0,1fr);align-items:start;line-height:1.5;cursor:pointer}.settings-checkbox input{width:17px;min-height:17px;padding:0;margin-top:1px;accent-color:#457e37}.settings-actions{display:grid;grid-template-areas:"reset delete";grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line)}.settings-actions .ui-button{width:100%;min-width:0}.settings-actions__reset{grid-area:reset}.settings-actions__delete{grid-area:delete}:root[data-theme=dark] body,:root[data-theme=dark] .optimizer-shell{color:var(--ink);background:var(--cream)}:root[data-theme=dark] .data-page{--data-control-bg: var(--bg-surface);--data-control-hover: var(--bg-hover);--data-divider: var(--border-subtle);--data-selected-bg: var(--accent-primary-soft);--data-selected-border: var(--accent-primary);--data-status-bg: var(--bg-surface-raised)}:root[data-theme=dark] .upgrade-button,:root[data-theme=dark] .suggestion-button,:root[data-theme=dark] .logout-button,:root[data-theme=dark] .user-menu-button,:root[data-theme=dark] .auth-redirect-panel,:root[data-theme=dark] .charging-sessions-usage-panel,:root[data-theme=dark] .empty-workspace,:root[data-theme=dark] .chargers-panel,:root[data-theme=dark] .messages-panel,:root[data-theme=dark] .admin-events-table-wrap,:root[data-theme=dark] .grid-providers-panel,:root[data-theme=dark] .id-tags-allowed-panel,:root[data-theme=dark] .user-settings-dialog,:root[data-theme=dark] .session-detail-dialog,:root[data-theme=dark] .upgrade-dialog{border-color:var(--line);color:var(--ink);background:var(--bg-surface);box-shadow:var(--shadow-card)}:root[data-theme=dark] .station-card{border-color:var(--line);color:var(--ink);background:var(--bg-surface);box-shadow:0 8px 24px rgba(0,0,0,.18)}:root[data-theme=dark] .auth-redirect-page{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0)),var(--cream)}:root[data-theme=dark] .station-list__status,:root[data-theme=dark] .usage-graph__legend-item,:root[data-theme=dark] .usage-graph__range span,:root[data-theme=dark] .settings-grid label,:root[data-theme=dark] .add-token-dialog__form label,:root[data-theme=dark] .charger-details-dialog__form label,:root[data-theme=dark] .charger-connectors-list__heading span,:root[data-theme=dark] .charger-connectors-list__item-copy span,:root[data-theme=dark] .charger-connectors-list__metrics dt,:root[data-theme=dark] .charger-connectors-list__empty,:root[data-theme=dark] .fixed-time-profile__table th,:root[data-theme=dark] .fixed-time-profile__empty,:root[data-theme=dark] .charger-location-field,:root[data-theme=dark] .copyable-text-field,:root[data-theme=dark] .session-detail-dialog p,:root[data-theme=dark] .tag-name-dialog__form label,:root[data-theme=dark] .empty-workspace,:root[data-theme=dark] .chargers-panel__empty,:root[data-theme=dark] .message-filters label,:root[data-theme=dark] .admin-events-table span,:root[data-theme=dark] .admin-events-table time,:root[data-theme=dark] .upgrade-plan__price span,:root[data-theme=dark] .upgrade-plan__features,:root[data-theme=dark] .data-form-section__header p,:root[data-theme=dark] .data-id-token-filter__empty,:root[data-theme=dark] .data-id-token-option small,:root[data-theme=dark] .data-export-summary dd span,:root[data-theme=dark] .departure-schedule-field,:root[data-theme=dark] .departure-schedule-field__help,:root[data-theme=dark] .departure-schedule-preview,:root[data-theme=dark] .schedules-panel__empty,:root[data-theme=dark] .id-tags-allowed-panel__empty,:root[data-theme=dark] .id-tags-allowed-panel__status,:root[data-theme=dark] .failed-auth-panel__empty{color:var(--ink-muted)}:root[data-theme=dark] .usage-graph__tabs,:root[data-theme=dark] .usage-graph__legend-item,:root[data-theme=dark] .usage-graph__range select,:root[data-theme=dark] .session-detail-optimizer-data__payload pre,:root[data-theme=dark] .admin-events-table td,:root[data-theme=dark] .message-filters,:root[data-theme=dark] .message-filters input,:root[data-theme=dark] .message-filters select,:root[data-theme=dark] .admin-events-table__delete,:root[data-theme=dark] .grid-provider-table input,:root[data-theme=dark] .grid-provider-dialog,:root[data-theme=dark] .grid-provider-dialog input,:root[data-theme=dark] .grid-provider-dialog select,:root[data-theme=dark] .app-search,:root[data-theme=dark] .id-tags-allowed-panel__status,:root[data-theme=dark] .fixed-time-profile__table-wrap,:root[data-theme=dark] .fixed-time-profile__drag-handle,:root[data-theme=dark] .fixed-time-profile__remove,:root[data-theme=dark] .add-token-dialog__form input,:root[data-theme=dark] .charger-details-dialog__form input,:root[data-theme=dark] .charger-details-dialog__form select,:root[data-theme=dark] .delete-charger-dialog__confirmation input,:root[data-theme=dark] .charger-location-field__control,:root[data-theme=dark] .charger-location-field__control input,:root[data-theme=dark] .copyable-text-field__control,:root[data-theme=dark] .copyable-text-field__control input,:root[data-theme=dark] .tag-name-dialog__form input,:root[data-theme=dark] .upgrade-plan{border-color:var(--line);color:var(--ink);background:var(--bg-input)}:root[data-theme=dark] .fixed-time-profile__table th,:root[data-theme=dark] .fixed-time-profile__table td,:root[data-theme=dark] .admin-events-table th,:root[data-theme=dark] .admin-events-table td,:root[data-theme=dark] .fixed-time-profile__drag-handle,:root[data-theme=dark] .fixed-time-profile__remove{border-color:var(--line)}:root[data-theme=dark] .admin-events-table th{color:var(--text-secondary);background:var(--bg-surface-raised)}:root[data-theme=dark] .admin-events-table__event-toggle svg,:root[data-theme=dark] .message-conversation-dialog__meta-table th{color:var(--text-secondary)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .admin-events-table__event-toggle:hover strong{color:var(--text-primary)}}:root[data-theme=dark] .admin-events-table strong.admin-events-table__error-detail{color:var(--danger)}:root[data-theme=dark] .admin-events-table tr[data-expanded=true]>td{background:var(--bg-surface)}:root[data-theme=dark] .message-conversation-dialog__meta-table th,:root[data-theme=dark] .message-conversation-dialog__meta-table td{border-color:var(--line)}:root[data-theme=dark] .message-conversation-dialog__meta-table th{background:var(--bg-surface-secondary)}:root[data-theme=dark] .message-conversation-dialog__meta-table td{background:var(--bg-input)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .fixed-time-profile__drag-handle:hover{background:var(--bg-hover)}:root[data-theme=dark] .fixed-time-profile__remove:hover{color:var(--danger);background:var(--danger-soft)}}:root[data-theme=dark] .session-detail-optimizer-data__grid,:root[data-theme=dark] .session-detail-optimizer-data__grid div,:root[data-theme=dark] .session-detail-optimizer-data__payload{border-color:var(--line)}:root[data-theme=dark] .session-detail-optimizer-data__heading span,:root[data-theme=dark] .session-detail-optimizer-data__payload summary{color:var(--mint)}:root[data-theme=dark] .session-detail-optimizer-data__grid dt,:root[data-theme=dark] .session-detail-optimizer-data__grid dd span{color:var(--ink-muted)}:root[data-theme=dark] .departure-schedule-field__control,:root[data-theme=dark] .departure-schedule-field__control select,:root[data-theme=dark] .departure-schedule-field__control input{border-color:var(--line);color:var(--ink);background:var(--bg-input)}:root[data-theme=dark] .departure-schedule-preview[data-state=valid]{color:var(--success)}:root[data-theme=dark] .departure-schedule-preview[data-state=invalid],:root[data-theme=dark] .departure-schedule-preview[data-state=unsupported]{color:var(--danger)}:root[data-theme=dark] .id-tags-allowed-panel__error,:root[data-theme=dark] .messages-status--error,:root[data-theme=dark] .data-id-token-filter__error,:root[data-theme=dark] .schedules-panel__error,:root[data-theme=dark] .settings-profile-error,:root[data-theme=dark] .id-tag-dialog-error{color:var(--danger);background:var(--danger-soft)}:root[data-theme=dark] .data-id-token-filter__status,:root[data-theme=dark] .messages-status,:root[data-theme=dark] .data-export-placeholder-status{color:var(--ink);background:var(--bg-surface-elevated)}:root[data-theme=dark] .messages-status--error{color:var(--danger);background:var(--danger-soft)}:root[data-theme=dark] .admin-events-table__feedback{border-color:var(--border-default);color:var(--accent-primary-hover);background:var(--accent-primary-soft)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .admin-events-table__feedback:hover{border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-hover)}}:root[data-theme=dark] .usage-graph__bars rect.is-highlighted{stroke:var(--mint)}:root[data-theme=dark] .usage-graph__plot-note{border-color:var(--line);color:var(--ink-muted);background:color-mix(in srgb,var(--bg-surface-elevated) 94%,transparent);box-shadow:0 12px 28px rgba(0,0,0,.24)}:root[data-theme=dark] .usage-graph__plot-note strong{color:var(--ink)}:root[data-theme=dark] .station-card__pin{border-color:transparent;color:var(--ink-muted);background:transparent}:root[data-theme=dark] .station-card__pin[data-pinned=true]{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-soft)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .station-card__pin:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-soft)}}:root[data-theme=dark] .station-card[data-state=offline] .station-card__icon{color:var(--ink-muted);background:var(--bg-surface-secondary)}:root[data-theme=dark] .station-list__status{border-color:var(--border-default);background:var(--bg-surface)}:root[data-theme=dark] .station-list__error{border-color:color-mix(in srgb,var(--danger) 38%,var(--border-default));color:var(--danger);background:var(--danger-soft)}:root[data-theme=dark] .upgrade-button{border-color:var(--border-default);background:var(--bg-surface-secondary)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .upgrade-button:hover{border-color:var(--border-strong);background:var(--bg-hover)}}:root[data-theme=dark] .upgrade-dialog__badge{border-color:color-mix(in srgb,var(--accent-primary) 32%,var(--border-default));color:var(--accent-primary-hover);background:var(--accent-primary-soft)}:root[data-theme=dark] .upgrade-plan[data-featured=true]{border-color:var(--accent-primary);background:var(--accent-primary-soft);box-shadow:none}:root[data-theme=dark] .copyable-text-field__control>button{border-left-color:var(--line);color:var(--ink-muted)}:root[data-theme=dark] .charger-location-field__control button{border-left-color:var(--line);color:var(--ink-muted)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .copyable-text-field__control>button:hover:not(:disabled){color:var(--ink);background:var(--bg-hover)}:root[data-theme=dark] .charger-location-field__control button:hover{color:var(--ink);background:var(--bg-hover)}}:root[data-theme=dark] .usage-graph__tabs button.is-selected{color:var(--night);background:var(--mint)}:root[data-theme=dark] .charging-sessions-usage-panel{background:linear-gradient(rgb(255 255 255 / 4%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 4%) 1px,transparent 1px),linear-gradient(135deg,var(--accent-primary-soft),transparent 46%),var(--bg-surface)}:root[data-theme=dark] .usage-graph__tabs button,:root[data-theme=dark] .usage-graph__axis text,:root[data-theme=dark] .usage-graph__empty{color:var(--text-muted);fill:var(--text-muted)}:root[data-theme=dark] .usage-graph__departure-markers line{stroke:var(--danger)}:root[data-theme=dark] .empty-workspace__marker,:root[data-theme=dark] .add-token-dialog__icon,:root[data-theme=dark] .charger-details-dialog__icon,:root[data-theme=dark] .charger-url-dialog__icon,:root[data-theme=dark] .departure-setup-dialog__icon,:root[data-theme=dark] .rfid-scan-dialog__icon,:root[data-theme=dark] .tag-name-dialog__icon,:root[data-theme=dark] .upgrade-dialog__icon,:root[data-theme=dark] .settings-dialog__icon,:root[data-theme=dark] .welcome-dialog__icon{color:var(--accent-primary-hover);background:var(--accent-primary-soft)}:root[data-theme=dark] .add-token-dialog,:root[data-theme=dark] .charger-details-dialog,:root[data-theme=dark] .charger-url-dialog,:root[data-theme=dark] .delete-charger-dialog,:root[data-theme=dark] .delete-idtag-dialog,:root[data-theme=dark] .departure-setup-dialog,:root[data-theme=dark] .departure-warning-dialog,:root[data-theme=dark] .rfid-scan-dialog,:root[data-theme=dark] .tag-name-dialog,:root[data-theme=dark] .upgrade-dialog,:root[data-theme=dark] .welcome-dialog{border-color:var(--line);color:var(--ink);background:var(--bg-surface)}:root[data-theme=dark] .delete-idtag-dialog__icon{color:var(--danger);background:var(--danger-soft)}:root[data-theme=dark] .delete-charger-dialog__icon{color:var(--danger);background:var(--danger-soft)}:root[data-theme=dark] .charger-details-dialog .charger-authorization-warning{border-color:color-mix(in srgb,var(--warning) 34%,var(--border-default));color:var(--warning);background:var(--warning-soft)}:root[data-theme=dark] .rfid-scan-dialog__activity span{background:var(--mint)}:root[data-theme=dark] .app-page,:root[data-theme=dark] .chargers-page,:root[data-theme=dark] .charging-sessions-page,:root[data-theme=dark] .messages-page,:root[data-theme=dark] .grid-providers-page,:root[data-theme=dark] .admin-users-page,:root[data-theme=dark] .admin-events-page,:root[data-theme=dark] .subscription-plans-page,:root[data-theme=dark] .schedules-page,:root[data-theme=dark] .id-tags-page,:root[data-theme=dark] .billing-page,:root[data-theme=dark] .data-page{--app-control-bg: var(--bg-surface);--app-control-hover: var(--bg-hover);--app-divider: var(--border-subtle);--app-selected-bg: var(--accent-primary-soft);--app-selected-border: var(--accent-primary);--app-status-bg: var(--bg-surface-raised);--data-control-bg: var(--app-control-bg);--data-control-hover: var(--app-control-hover);--data-divider: var(--app-divider);--data-selected-bg: var(--app-selected-bg);--data-selected-border: var(--app-selected-border);--data-status-bg: var(--app-status-bg)}:root[data-theme=dark] .app-page-section{border:0;background:transparent;box-shadow:none}:root[data-theme=dark] .app-search,:root[data-theme=dark] .message-filters,:root[data-theme=dark] .message-filters input,:root[data-theme=dark] .message-filters select,:root[data-theme=dark] .grid-provider-table input,:root[data-theme=dark] .subscription-plan-editor input,:root[data-theme=dark] .subscription-plan-editor select,:root[data-theme=dark] .grid-provider-dialog,:root[data-theme=dark] .grid-provider-dialog input,:root[data-theme=dark] .departure-schedule-field__control,:root[data-theme=dark] .departure-schedule-field__control select,:root[data-theme=dark] .departure-schedule-field__control input,:root[data-theme=dark] .admin-events-table-wrap,:root[data-theme=dark] .admin-events-table td,:root[data-theme=dark] .billing-option-button{border-color:var(--app-divider);color:var(--ink);background:var(--app-control-bg)}:root[data-theme=dark] .message-filters input:focus-visible,:root[data-theme=dark] .message-filters select:focus-visible,:root[data-theme=dark] .grid-provider-table input:focus-visible,:root[data-theme=dark] .subscription-plan-editor input:focus-visible,:root[data-theme=dark] .subscription-plan-editor select:focus-visible,:root[data-theme=dark] .grid-provider-dialog input:focus-visible,:root[data-theme=dark] .departure-schedule-field__control:focus-within{border-color:var(--app-selected-border)}:root[data-theme=dark] .billing-summary__icon,:root[data-theme=dark] .billing-status-pill--ok{border-color:color-mix(in srgb,var(--success) 34%,var(--border-default));color:var(--success);background:var(--success-soft)}:root[data-theme=dark] .billing-status-pill--warning,:root[data-theme=dark] .billing-action-note{color:var(--warning)}:root[data-theme=dark] .billing-status-pill--warning{border-color:color-mix(in srgb,var(--warning) 34%,var(--border-default));background:var(--warning-soft)}:root[data-theme=dark] .billing-status-pill--danger,:root[data-theme=dark] .billing-status-message--error,:root[data-theme=dark] .subscription-dialog__error{border-color:color-mix(in srgb,var(--danger) 35%,var(--border-default));color:var(--danger);background:var(--danger-soft)}:root[data-theme=dark] .subscription-dialog,:root[data-theme=dark] .subscription-plan-card{border-color:var(--line);background:var(--bg-surface)}:root[data-theme=dark] .subscription-dialog{background:var(--bg-surface-elevated)}:root[data-theme=dark] .subscription-plan-card[data-selected=true]{border-color:var(--accent-primary);background:linear-gradient(135deg,var(--accent-primary-soft),var(--bg-surface) 65%);box-shadow:inset 0 0 0 1px var(--accent-primary),var(--shadow-md)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .subscription-plan-card:hover{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}}:root[data-theme=dark] .subscription-billing-period{border-color:var(--line);background:var(--bg-input)}:root[data-theme=dark] .subscription-billing-period__button[aria-checked=true]{color:var(--accent-primary-hover);background:var(--bg-surface-elevated);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 35%,transparent)}:root[data-theme=dark] .subscription-plan-card__current{color:var(--accent-primary-hover);background:var(--accent-primary-soft)}:root[data-theme=dark] .subscription-plan-card__features{color:var(--ink)}:root[data-theme=dark] #root .subscription-plan-card__action.ui-button{border-color:color-mix(in srgb,var(--accent-primary) 58%,var(--border-default));color:var(--accent-primary-hover)}:root[data-theme=dark] #root .subscription-plan-card__action.ui-button:hover:not(:disabled){background:var(--accent-primary-soft)}:root[data-theme=dark] .subscription-dialog__notice{color:var(--warning);background:var(--warning-soft)}:root[data-theme=dark] .app-skeleton{background:var(--bg-surface-secondary)}:root[data-theme=dark] .grid-provider-state-line--success{color:var(--success)}:root[data-theme=dark] .grid-provider-state-line--error,:root[data-theme=dark] .grid-provider-empty--error,:root[data-theme=dark] .grid-provider-row-state--error,:root[data-theme=dark] .grid-provider-dialog__status--error{color:var(--danger)}:root[data-theme=dark] .grid-provider-table th,:root[data-theme=dark] .grid-provider-table td,:root[data-theme=dark] .grid-provider-table-wrap,:root[data-theme=dark] .grid-provider-empty,:root[data-theme=dark] .subscription-plan-editor__plan,:root[data-theme=dark] .subscription-plan-editor__row,:root[data-theme=dark] .subscription-plan-editor__actions,:root[data-theme=dark] .grid-provider-table__message-row td{border-color:var(--app-divider)}:root[data-theme=dark] .grid-provider-table__row:focus-within td,:root[data-theme=dark] .admin-users-table__row:focus-visible td,:root[data-theme=dark] .grid-provider-table__row--editing td,:root[data-theme=dark] .grid-provider-table__message-row td{background:var(--table-row-hover)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .grid-provider-table__row:hover td{background:var(--table-row-hover)}}:root[data-theme=dark] .grid-provider-dialog{border-color:var(--line);color:var(--ink);background:var(--bg-surface-elevated);box-shadow:0 24px 70px rgba(0,0,0,.42)}:root[data-theme=dark] .grid-provider-dialog input,:root[data-theme=dark] .grid-provider-dialog select{border-color:var(--line);color:var(--ink);background:var(--bg-input)}:root[data-theme=dark] .grid-provider-dialog__status--success{color:var(--success)}:root[data-theme=dark] .grid-provider-static-tariffs-table-wrap,:root[data-theme=dark] .grid-provider-static-tariffs-table th,:root[data-theme=dark] .grid-provider-static-tariffs-table td,:root[data-theme=dark] .grid-provider-tariffs-dialog__empty{border-color:var(--app-divider)}:root[data-theme=dark] .grid-provider-static-tariffs-table tbody tr:focus-within td{background:var(--table-row-hover)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .grid-provider-static-tariffs-table tbody tr:hover td{background:var(--table-row-hover)}}:root[data-theme=dark] .departure-schedule-help__button{border-inline-start-color:var(--app-divider)}:root[data-theme=dark] .messages-panel,:root[data-theme=dark] .message-filters{border:0;background:transparent;box-shadow:none}:root[data-theme=dark] .message-conversations-list{border-block-color:var(--app-divider)}:root[data-theme=dark] .message-conversation-row{border-top-color:var(--app-divider)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .message-conversation-row__button:hover{background:rgba(255,255,255,.04)}:root[data-theme=dark] .message-conversation-row[data-unread=true] .message-conversation-row__button:hover{background:var(--bg-hover)}}:root[data-theme=dark] .message-conversation-row__preview,:root[data-theme=dark] .message-conversation-row__context,:root[data-theme=dark] .message-conversation-row__count{color:var(--ink-muted)}:root[data-theme=dark] .message-conversation-row[data-unread=true] .message-conversation-row__preview,:root[data-theme=dark] .message-conversation-row[data-unread=true] .message-conversation-row__meta{color:var(--ink)}:root[data-theme=dark] .data-export-range__option[data-selected=true],:root[data-theme=dark] .data-id-token-option[data-selected=true]{background:var(--app-selected-bg)}:root[data-theme=dark] .admin-events-table th{background:transparent}:root[data-theme=dark] .failed-auth-panel__count,:root[data-theme=dark] .id-tags-allowed-panel__status,:root[data-theme=dark] .messages-status,:root[data-theme=dark] .data-id-token-filter__status,:root[data-theme=dark] .data-export-placeholder-status{color:var(--ink-muted);background:var(--app-status-bg)}:root[data-theme=dark] .app-data-table-wrap,:root[data-theme=dark] .app-data-table th,:root[data-theme=dark] .app-data-table td,:root[data-theme=dark] .failed-auth-panel summary{border-color:var(--app-divider)}:root[data-theme=dark] .app-data-table-wrap{background:var(--app-control-bg)}:root[data-theme=dark] .app-data-table th{color:var(--text-secondary);background:var(--table-header)}:root[data-theme=dark] .app-data-row[data-highlighted=true],:root[data-theme=dark] .app-data-row[data-highlighted=true]>td,:root[data-theme=dark] .subscription-tier-row:focus-visible td{background:var(--table-row-selected)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .app-data-row:hover,:root[data-theme=dark] .app-data-row:hover>td{background:var(--table-row-selected)}}:root[data-theme=dark] .subscription-tier-dialog__icon{border-color:color-mix(in srgb,var(--accent-primary) 24%,var(--border-default));color:var(--accent-primary-hover);background:var(--accent-primary-soft)}:root[data-theme=dark] .subscription-tier-dialog__price[aria-pressed=true]{border-color:var(--accent-primary);color:var(--text-primary);background:var(--accent-primary-soft)}:root[data-theme=dark] .app-data-primary--button:focus-visible strong{color:var(--mint)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .app-data-primary--button:hover strong{color:var(--mint)}}:root[data-theme=dark] .app-row-action{border-color:var(--app-divider);color:var(--ink-muted);background:var(--app-control-bg)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .app-row-action:hover{color:var(--ink);background:var(--app-control-hover)}}:root[data-theme=dark] .app-row-action[data-selected=true]{border-color:var(--accent-primary);color:var(--accent-primary-hover);background:var(--app-selected-bg)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .app-row-action--danger:hover{border-color:color-mix(in srgb,var(--danger) 42%,var(--border-default));color:var(--danger);background:var(--danger-soft)}}:root[data-theme=dark] .app-data-status[data-tone=attention]{color:var(--danger)}@keyframes backdrop-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media(max-width:820px){.subscription-plan-grid{--subscription-carousel-card-width: min(82%, 430px);display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;padding:16px calc((100% - var(--subscription-carousel-card-width)) / 2) 24px;scroll-padding-inline:calc((100% - var(--subscription-carousel-card-width)) / 2);scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.subscription-plan-grid::-webkit-scrollbar{display:none}.subscription-plan-card{width:var(--subscription-carousel-card-width);min-height:370px;flex:0 0 var(--subscription-carousel-card-width);scroll-snap-align:center;scroll-snap-stop:always;transform:scale(.94);transform-origin:center;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .18s var(--ease-standard)}.subscription-plan-card[data-focused=true]{z-index:1;box-shadow:var(--shadow-md);transform:scale(1)}.subscription-dialog__footer{grid-template-columns:minmax(0,1fr)}.subscription-dialog__assurances{justify-content:space-between}#root .subscription-dialog__continue.ui-button{width:100%}}@media(max-width:640px){.subscription-dialog{--ui-dialog-title-font-size: 24px;width:100%;max-height:100dvh}.subscription-dialog>.subscription-dialog__header{align-items:center;padding:calc(14px + env(safe-area-inset-top)) 16px 10px}.subscription-dialog__icon{--ui-dialog-icon-size: 42px;--ui-dialog-icon-glyph-size: 20px}.subscription-dialog__plan-controls .subscription-billing-period{width:100%}.subscription-dialog>.subscription-dialog__content{gap:16px;padding:14px 16px 20px;margin:0}.subscription-plan-grid{gap:14px}.subscription-plan-card{min-height:350px;padding:22px 20px;border-radius:14px}.subscription-plan-card__features{margin-block:22px 26px}.subscription-dialog__footer{gap:14px;padding:14px 16px calc(14px + env(safe-area-inset-bottom))}.subscription-dialog__assurances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.subscription-assurance{grid-template-columns:28px minmax(0,1fr);gap:8px}.subscription-assurance>svg{width:25px;height:25px;grid-row:auto}.subscription-assurance small{display:none}}@media(max-width:900px){.charging-sessions-usage-panel{min-height:360px;padding:18px}}@media(max-width:760px){:root{--app-sidebar-width: 54px;--app-page-gutter: 16px}.optimizer-shell,.optimizer-shell[data-sidebar-open=true]{padding-left:var(--app-sidebar-width)}.app-sidebar{width:var(--app-sidebar-width)}.optimizer-shell[data-sidebar-open=true] .app-sidebar{width:var(--app-sidebar-width-expanded);box-shadow:16px 0 42px rgba(0,0,0,.28)}.sidebar-toggle{height:58px}.sidebar-nav{padding-inline:7px}.sidebar-language{padding:10px 7px}.upgrade-button,.suggestion-button,.logout-button,.user-menu-button{min-height:var(--button-height)}.suggestion-button,.user-menu-button,.logout-button{inline-size:var(--button-height);padding-inline:0}.upgrade-button{padding-inline:var(--button-padding-inline)}.logout-button span{display:none}.upgrade-plans{grid-template-columns:minmax(0,1fr)}.empty-workspace,.charging-sessions-usage-panel{border-radius:16px}}@media(max-width:560px){:root{--app-page-gutter: 14px}.session-detail-optimizer-data__grid{grid-template-columns:1fr}.session-detail-events__timeline time{grid-column:2;white-space:normal}.session-detail-recalculation{align-items:flex-start}.session-detail-recalculation dl,.session-detail-dialog__placeholder-grid,.message-filters{grid-template-columns:1fr}.grid-provider-header-add{flex:1 1 auto}.message-conversation-dialog__meta-table th{width:32%}.data-export-range__options{width:100%}.data-export-footer{grid-template-columns:minmax(0,1fr);align-items:stretch}.data-export-actions{flex-direction:column}.data-export-action{width:100%}.departure-schedule-field__control{grid-template-columns:1fr;border-radius:14px}.departure-schedule-field__control select{min-height:46px;border-right:0;border-bottom:1px solid var(--line)}.departure-schedule-field__control input{min-height:46px}.allowed-token-controls{width:100%}.charging-sessions-usage-panel{display:grid;min-height:330px;padding:16px}.usage-graph__header{align-items:stretch;flex-direction:column}.usage-graph__tabs,.usage-graph__range,.user-settings-dialog,.subscription-dialog{width:100%}.subscription-dialog__content{min-height:0;gap:16px;margin-top:0}.subscription-billing-period{width:100%}.subscription-plan-grid{grid-template-columns:minmax(0,1fr)}.subscription-dialog__continue{width:100%}.subscription-dialog__error-state{min-height:360px}.app-skeleton--toggle{width:100%}.settings-actions{grid-template-areas:"reset" "delete";grid-template-columns:minmax(0,1fr)}.charger-url-dialog__actions,.departure-schedule-dialog__actions,.departure-setup-dialog__actions,.departure-warning-dialog__actions{align-items:stretch;flex-direction:column-reverse}.charger-details-dialog{width:100%}.charger-configuration-route-state__grid{grid-template-columns:minmax(0,1fr)}.settings-section__trigger{grid-template-areas:"icon heading chevron" ". summary summary";grid-template-columns:32px minmax(0,1fr) 20px;gap:4px 10px;padding-block:11px}.settings-section__icon{grid-area:icon}.settings-section__heading{grid-area:heading}.settings-section__heading>span{display:none}.settings-section__summary{grid-area:summary;max-width:none;text-align:left}.settings-section__chevron{grid-area:chevron}.settings-section__content{padding:4px 0 18px}.charger-settings-grid{grid-template-columns:minmax(0,1fr)}.charger-connectors-list__item{grid-template-columns:minmax(0,1fr);gap:8px}.charger-connectors-list__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.charger-danger-zone{display:block}.charger-danger-zone .settings-button--danger,.charger-details-dialog__actions .settings-button{width:100%}.charger-details-dialog__actions{align-items:stretch;flex-direction:column}.delete-idtag-dialog__actions,.add-token-dialog__actions,.rfid-scan-dialog__actions,.tag-name-dialog__actions{flex-direction:column-reverse}.settings-button{width:100%}}@media(max-width:760px){.app-page{width:100%;gap:20px}.app-page-section{padding:0;border-radius:0}.allowed-token-controls{justify-content:stretch;width:100%}.app-search{flex:1 1 auto;width:100%}.billing-summary{grid-template-columns:44px minmax(0,1fr)}.billing-status-pill{grid-column:1 / -1;justify-self:start}.billing-details{grid-template-columns:1fr}.billing-details div{padding:12px 0}.billing-details div+div{border-top:1px solid var(--app-divider);border-left:0;padding-left:0}.billing-actions .settings-button{width:100%}.billing-option-button{flex:1 1 140px}}@media(max-width:560px){.app-page{gap:18px}.allowed-token-controls{flex-direction:column;align-items:stretch}.grid-provider-dialog--tariffs,.grid-provider-dialog--static-tariff,.grid-provider-dialog--tariff-detail{width:100%}.grid-provider-tariffs-dialog__section-heading,.grid-provider-tariffs-dialog__dynamic{grid-template-columns:minmax(0,1fr);align-items:stretch}.grid-provider-tariffs-dialog__section-heading{flex-direction:column}.grid-provider-tariff-detail__structure{align-items:start;flex-direction:column}.grid-provider-dialog__field-grid--even,.electricity-tariff-calculator__form,.electricity-tariff-breakdown__selection{grid-template-columns:minmax(0,1fr)}.electricity-tariff-breakdown__groups li{grid-template-columns:minmax(0,1fr);gap:3px}.electricity-tariff-breakdown__formula{text-align:left;white-space:normal}.admin-user-dialog__details,.admin-user-subscription__fields,.admin-user-subscription__readonly dl{grid-template-columns:minmax(0,1fr)}.admin-user-subscription__heading,.admin-user-subscription__actions,.subscription-tier-dialog__actions{align-items:stretch;flex-direction:column}.subscription-tier-dialog__details{grid-template-columns:minmax(0,1fr)}.subscription-tier-dialog__details div{border-right:0;border-bottom:1px solid var(--app-divider, var(--line));padding-inline:0}.subscription-tier-dialog__details div:last-child{border-bottom:0}.admin-user-dialog__details dt{padding-bottom:2px}.admin-user-dialog__details dd{padding-top:0}.app-search,.app-button,.app-page .settings-button{width:100%}.data-export-summary{gap:10px 18px}.data-export-range,.data-id-token-filter{padding:14px 0}.data-form-section__header{align-items:flex-start}.data-export-range__options{display:grid;grid-template-columns:minmax(0,1fr)}.data-export-range__option{justify-content:flex-start}.data-id-token-list{max-height:190px}}@media(max-width:680px){.app-data-table-wrap{overflow:visible;border-block:0;border-radius:0;background:transparent}.app-data-table{display:block;min-width:0}.app-data-table thead{display:none}.app-data-table tbody{display:grid}.app-data-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:12px 0;border-bottom:1px solid var(--app-divider)}.app-data-table tr:last-child{border-bottom:0}.app-data-table td{display:flex;min-width:0;height:auto;align-items:baseline;gap:6px;padding:0;border:0;text-align:left}.app-data-table td:before{content:attr(data-label);flex:0 0 auto;color:var(--ink-muted);font-size:13px;font-weight:680;line-height:1.35}.app-data-table th[data-align=end],.app-data-table td[data-align=end]{text-align:left}.app-data-table__primary-cell{grid-column:1 / -1;order:-2}.app-data-table__primary-cell:before,.app-data-table__actions-cell:before{display:none}.app-data-table__actions-cell{grid-column:1 / -1;justify-self:end;order:10;padding-top:2px}.app-data-primary,.app-data-primary--button,.app-data-value,.app-data-status,.app-data-table time{min-width:0}.app-row-actions{justify-content:flex-end;flex-wrap:wrap}.app-row-action--text{min-height:34px}.grid-providers-page:not(.admin-users-page) .grid-provider-table-wrap{overflow:visible;border-bottom:0}.grid-providers-page:not(.admin-users-page) .grid-provider-table{display:block;min-width:0}.grid-providers-page:not(.admin-users-page) .grid-provider-table>colgroup,.grid-providers-page:not(.admin-users-page) .grid-provider-table>thead{display:none}.grid-providers-page:not(.admin-users-page) .grid-provider-table>tbody{display:grid}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:12px 0;border-bottom:1px solid var(--app-divider)}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row>td{display:grid;grid-template-columns:minmax(82px,34%) minmax(0,1fr);align-items:center;gap:8px;width:auto;min-width:0;height:auto;padding:0;border:0;background:transparent;text-align:left}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row>td:before{content:attr(data-label);color:var(--ink-muted);font-size:13px;font-weight:680;line-height:1.35}.grid-providers-page:not(.admin-users-page) .grid-provider-table__primary-cell{display:block;grid-column:1 / -1;order:-2}.grid-providers-page:not(.admin-users-page) .grid-provider-table__primary-cell:before,.grid-providers-page:not(.admin-users-page) .grid-provider-table__actions:before{display:none}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row>td:nth-child(2){grid-column:1 / -1}.grid-providers-page:not(.admin-users-page) .grid-provider-table__actions{display:block;grid-column:1 / -1;justify-self:end;order:10;padding-top:2px}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row--editing .grid-provider-table__actions{width:100%;justify-self:stretch}.grid-providers-page:not(.admin-users-page) .grid-provider-row-actions{width:auto;flex-wrap:wrap}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row--editing .grid-provider-row-actions{width:100%;justify-content:flex-start}.grid-providers-page:not(.admin-users-page) .grid-provider-row-actions--idle{opacity:1}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row--editing{padding-bottom:6px;border-bottom:0}.grid-providers-page:not(.admin-users-page) .grid-provider-table__message-row{display:block;padding:0 0 10px;border-bottom:1px solid var(--app-divider)}.grid-providers-page:not(.admin-users-page) .grid-provider-table__message-row>td{display:block;width:100%;height:auto;padding:0;border:0;background:transparent}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row:last-child,.grid-providers-page:not(.admin-users-page) .grid-provider-table__message-row:last-child{border-bottom:0}.failed-auth-panel summary{flex-direction:column;align-items:stretch;gap:4px}.failed-auth-panel__count{white-space:normal}.message-conversation-dialog__meta-table,.message-conversation-dialog__meta-table tbody{display:block;width:100%}.message-conversation-dialog__meta-table tr{display:grid;grid-template-columns:minmax(76px,28%) minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.message-conversation-dialog__meta-table tr:last-child{border-bottom:0}.message-conversation-dialog__meta-table th,.message-conversation-dialog__meta-table td{width:auto;min-width:0;padding:0;border:0;background:transparent}.message-conversation-dialog__meta-table th{color:var(--ink-muted);font-size:13px;letter-spacing:0;text-transform:none}.fixed-time-profile__heading{align-items:stretch;flex-direction:column}.fixed-time-profile__add{width:100%;border-radius:8px}.fixed-time-profile__table-wrap{overflow:visible;border:0;border-top:1px solid var(--app-divider);border-radius:0;background:transparent}.fixed-time-profile__table{display:block;min-width:0}.fixed-time-profile__table thead{display:none}.fixed-time-profile__table tbody{display:grid}.fixed-time-profile__table tr{display:grid;grid-template-columns:34px minmax(0,1fr) 38px;gap:8px 10px;padding:10px 0;border-bottom:1px solid var(--app-divider)}.fixed-time-profile__table tr:last-child{border-bottom:0}.fixed-time-profile__table td{padding:0;border:0}.fixed-time-profile__drag-cell{grid-column:1;grid-row:1 / span 3;align-self:center;width:auto}.fixed-time-profile__table td:not(.fixed-time-profile__drag-cell):not(:last-child){display:grid;grid-column:2;grid-template-columns:minmax(56px,32%) minmax(0,1fr);align-items:center;gap:8px}.fixed-time-profile__table td:not(.fixed-time-profile__drag-cell):not(:last-child):before{content:attr(data-label);color:var(--ink-muted);font-size:13px;font-weight:680;line-height:1.35}.fixed-time-profile__table td:last-child{grid-column:3;grid-row:1 / span 3;align-self:center;justify-self:end}.fixed-time-profile__table input{width:100%}}@media(max-width:420px){.app-data-table tr{grid-template-columns:minmax(0,1fr)}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row{grid-template-columns:minmax(0,1fr)}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row>td{grid-column:1 / -1}.grid-providers-page:not(.admin-users-page) .grid-provider-table__row--editing .grid-provider-action-button{flex:1 1 84px}.app-data-table td{align-items:start}.app-data-table td:before{min-width:72px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@keyframes scan-rfid-pulse{50%{opacity:.46;transform:scale(.92)}}@keyframes scan-rfid-dot{0%,to{opacity:.32;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}body{color:var(--ink);background:var(--cream);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.pwa-update-notice{position:fixed;z-index:50;right:max(var(--space-4),env(safe-area-inset-right,0px));bottom:max(var(--space-4),env(safe-area-inset-bottom,0px));display:flex;width:min(30rem,calc(100vw - 2 * var(--space-4)));align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--ink);background:var(--bg-surface);box-shadow:var(--shadow-lg)}.pwa-update-notice__copy{display:grid;min-width:0;gap:var(--space-1)}.pwa-update-notice__copy strong{font-size:var(--font-size-sm)}.pwa-update-notice__copy span{color:var(--ink-muted);font-size:var(--font-size-xs);line-height:1.45}.pwa-update-notice[data-status=error]{border-color:color-mix(in srgb,var(--color-error) 32%,var(--line))}@media(max-width:768px){.pwa-update-notice{right:max(var(--space-3),env(safe-area-inset-right,0px));bottom:calc(var(--mobile-navigation-offset) + var(--space-3));left:max(var(--space-3),env(safe-area-inset-left,0px));width:auto;gap:var(--space-3);padding:var(--space-3)}:root.keyboard-open .pwa-update-notice{bottom:max(var(--space-3),env(safe-area-inset-bottom,0px))}}.event-feed,.event-filters--mobile{display:none}@media(max-width:768px){.optimizer-shell,[data-ui-modal-surface=true]{font-size:var(--font-size-sm)}.admin-events-page{gap:var(--space-3)}.event-filters--desktop.page-header-filter-bar,.admin-events-table-wrap{display:none}.event-filters--mobile{display:grid}.event-feed{display:grid;width:100%;min-width:0;gap:0;margin:0;padding:0;list-style:none}.event-feed>li,.event-feed-card{width:100%;min-width:0}.event-feed-card{display:grid;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--app-divider, var(--line))}.event-feed-card__topline{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-2)}.event-feed-card__severity{display:inline-flex;min-width:0;min-height:25px;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--color-info) 28%,var(--line));border-radius:999px;padding:4px 8px;color:color-mix(in srgb,var(--color-info) 54%,var(--ink));background:var(--color-info-soft);font-size:var(--font-size-xs);font-weight:700;line-height:1}.event-feed-card[data-severity=warning] .event-feed-card__severity{border-color:color-mix(in srgb,var(--color-warning) 32%,var(--line));color:color-mix(in srgb,var(--color-warning) 58%,var(--ink));background:var(--color-warning-soft)}.event-feed-card[data-severity=error] .event-feed-card__severity{border-color:color-mix(in srgb,var(--color-error) 32%,var(--line));color:color-mix(in srgb,var(--color-error) 58%,var(--ink));background:var(--color-error-soft)}#root .event-feed-card__action{display:grid;width:34px;min-width:34px;height:34px;min-height:34px;place-items:center;border:1px solid var(--app-divider, var(--line));border-radius:var(--radius-sm);padding:0;color:var(--ink-muted);background:transparent}#root .event-feed-card__action--delete{color:var(--color-error)}.event-feed-card__summary{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);border:0;padding:0;color:inherit;background:transparent;text-align:left}.event-feed-card__summary>svg{color:var(--ink-muted)}.event-feed-card__copy{display:grid;min-width:0;gap:4px}.event-feed-card__title,.event-feed-card__description,.event-feed-card__metadata{min-width:0;max-width:100%}.event-feed-card__title{color:var(--ink);font-size:var(--font-size-md);font-weight:680;line-height:1.3;overflow-wrap:anywhere}.event-feed-card__description{overflow:hidden;color:var(--ink-muted);font-size:var(--font-size-sm);font-weight:450;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.event-feed-card__metadata{display:flex;flex-wrap:wrap;gap:2px var(--space-2);color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:500;line-height:1.35}.event-feed-card__metadata>span{min-width:0;max-width:100%;overflow-wrap:anywhere}.event-feed-card__metadata>span+span:before{margin-right:var(--space-2);content:"·"}.event-feed-card__details{display:grid;min-width:0;gap:var(--space-3);margin-top:var(--space-1);padding:var(--space-3);border:1px solid var(--app-divider, var(--line));border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.event-feed-card__details h3,.event-feed-card__details dl,.event-feed-card__details dt,.event-feed-card__details dd{min-width:0;margin:0}.event-feed-card__details h3,.event-feed-card__raw-type>span,.event-feed-card__details dt{color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:700}.event-feed-card__raw-type,.event-feed-card__details dl,.event-feed-card__details dl>div{display:grid;min-width:0;gap:4px}.event-feed-card__details dl{gap:var(--space-3)}.event-feed-card__raw-type code,.event-feed-card__details :is(code,pre){display:block;width:100%;max-width:100%;min-width:0;margin:0;overflow-x:hidden;color:var(--ink);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}}.event-feed-notifications{position:fixed;z-index:40;top:max(var(--space-4),env(safe-area-inset-top,0px));right:max(var(--space-4),env(safe-area-inset-right,0px));display:grid;width:min(24rem,calc(100vw - (2 * var(--space-4))));max-width:100%;min-width:0;gap:var(--space-2);pointer-events:none}.event-feed-notification{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);overflow:hidden;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);background:color-mix(in srgb,var(--bg-surface-elevated) 96%,transparent);box-shadow:var(--shadow-floating);pointer-events:auto;touch-action:pan-y;transition:transform var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard);backdrop-filter:blur(16px);will-change:transform,opacity}.event-feed-notification[data-swiping=true]{transition:none;user-select:none;-webkit-user-select:none}.event-feed-notification[data-exiting=true]{opacity:0;pointer-events:none}.event-feed-notification__severity{display:inline-flex;min-width:0;align-items:center;gap:var(--space-1);padding:4px 7px;border:1px solid color-mix(in srgb,var(--color-info) 28%,var(--line));border-radius:999px;color:color-mix(in srgb,var(--color-info) 58%,var(--ink));background:var(--color-info-soft);font-size:var(--font-size-xs);font-weight:700;line-height:1}.event-feed-notification[data-severity=warning] .event-feed-notification__severity{border-color:color-mix(in srgb,var(--color-warning) 32%,var(--line));color:color-mix(in srgb,var(--color-warning) 62%,var(--ink));background:var(--color-warning-soft)}.event-feed-notification[data-severity=error] .event-feed-notification__severity{border-color:color-mix(in srgb,var(--color-error) 32%,var(--line));color:color-mix(in srgb,var(--color-error) 62%,var(--ink));background:var(--color-error-soft)}.event-feed-notification__severity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-feed-notification__copy{display:grid;min-width:0;gap:var(--space-1)}.event-feed-notification__action{display:grid;min-width:0;grid-column:1 / 3;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-3);padding:0;border:0;color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}.event-feed-notification__action:focus-visible{border-radius:var(--radius-sm);outline:none;box-shadow:var(--focus-ring)}.event-feed-notification__copy strong,.event-feed-notification__copy p,.event-feed-notification__copy>span{min-width:0;margin:0;overflow-wrap:anywhere}.event-feed-notification__copy strong{font-size:var(--font-size-sm);font-weight:750;line-height:1.25}.event-feed-notification__copy p,.event-feed-notification__copy>span{display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:400;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}#root .event-feed-notification__dismiss{width:var(--control-height);min-width:var(--control-height);height:var(--control-height);min-height:var(--control-height);margin:calc(-1 * var(--space-1))}@media(max-width:768px){.event-feed-notifications{top:auto;right:max(var(--space-3),env(safe-area-inset-right,0px));bottom:calc(var(--mobile-navigation-offset) + var(--space-3));left:max(var(--space-3),env(safe-area-inset-left,0px));width:auto;max-height:calc(100vh - var(--mobile-navigation-offset) - env(safe-area-inset-top,0px) - (2 * var(--space-3)));max-height:calc(100dvh - var(--mobile-navigation-offset) - env(safe-area-inset-top,0px) - (2 * var(--space-3)));overflow:hidden}.event-feed-notification{gap:var(--space-2);padding:var(--space-2) var(--space-3)}.event-feed-notification__action{gap:var(--space-2)}}.auth-redirect-page{background:var(--cream)}:root[data-theme=dark] .auth-redirect-page{background:var(--cream)}.auth-redirect-panel{gap:var(--space-4);border-color:var(--line);border-radius:var(--radius-lg);padding:var(--space-7);background:var(--panel);box-shadow:var(--shadow-surface)}.auth-redirect-panel h1{font-size:var(--font-size-2xl);font-weight:650;letter-spacing:var(--tracking-tight)}.optimizer-shell,.optimizer-shell[data-sidebar-open=true]{transition:padding-left var(--motion-standard) var(--ease-standard)}.optimizer-shell{padding-left:68px}.optimizer-shell[data-sidebar-open=true]{padding-left:236px}.app-sidebar{--sidebar-icon-size: 22px;width:68px;border-right-color:rgba(255,255,255,.08);background:var(--night);transition:width var(--motion-standard) var(--ease-standard)}:is(.sidebar-toggle,.app-theme-toggle,.sidebar-nav__item,.sidebar-language__button)>svg{width:var(--sidebar-icon-size);min-width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);flex:0 0 var(--sidebar-icon-size)}.optimizer-shell[data-sidebar-open=true] .app-sidebar{width:236px}.sidebar-toggle{height:72px;border-bottom-color:rgba(255,255,255,.08)}.sidebar-toggle,.sidebar-nav__item,.app-theme-toggle,.sidebar-language__button{color:rgba(255,255,255,.58);transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.app-theme-toggle{min-height:42px;border-bottom-color:rgba(255,255,255,.08);background:transparent}.sidebar-nav{gap:var(--space-1);padding:var(--space-4) var(--space-3)}.sidebar-nav__separator{margin-block:var(--space-2);background:rgba(255,255,255,.09)}.sidebar-nav__item{min-height:42px;border-radius:var(--radius-sm)}@media(hover:hover)and (pointer:fine){.sidebar-toggle:hover,.sidebar-nav__item:hover,.app-theme-toggle:hover,.sidebar-language__button:hover{color:rgba(255,255,255,.92);background:rgba(255,255,255,.06);transform:none}}.sidebar-nav__item[data-active=true]{color:var(--nav-text-active);background:color-mix(in srgb,var(--accent-primary) 16%,transparent)}.sidebar-nav__item[data-active=true]:before{top:11px;bottom:11px;left:-12px;width:2px;background:var(--mint)}.optimizer-shell[data-sidebar-open=true] .sidebar-nav__label,.optimizer-shell[data-sidebar-open=true] .app-theme-toggle span,.sidebar-language__label{font-size:var(--font-size-xs);font-weight:600}.sidebar-nav__badge{border-color:var(--night);font-weight:700}.sidebar-language{border-top-color:rgba(255,255,255,.08)}:root:not([data-theme=dark]) .app-sidebar{border-right-color:var(--line);background:var(--cream)}:root:not([data-theme=dark]) .sidebar-toggle,:root:not([data-theme=dark]) .sidebar-nav__item,:root:not([data-theme=dark]) .app-theme-toggle,:root:not([data-theme=dark]) .sidebar-language__button{color:#000;background:transparent;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}:root:not([data-theme=dark]) .sidebar-toggle,:root:not([data-theme=dark]) .app-theme-toggle{border-bottom-color:var(--line)}:root:not([data-theme=dark]) .sidebar-language{border-top-color:var(--line)}:root:not([data-theme=dark]) .sidebar-nav__separator{background:var(--line)}@media(hover:hover)and (pointer:fine){:root:not([data-theme=dark]) .sidebar-toggle:hover,:root:not([data-theme=dark]) .sidebar-nav__item:hover,:root:not([data-theme=dark]) .app-theme-toggle:hover,:root:not([data-theme=dark]) .sidebar-language__button:hover{color:#000;background:var(--bg-hover)}}:root:not([data-theme=dark]) .sidebar-nav__badge{border-color:var(--cream)}:root[data-theme=dark] .app-sidebar{border-right-color:var(--line);background:var(--cream)}:root[data-theme=dark] .sidebar-toggle,:root[data-theme=dark] .sidebar-nav__item,:root[data-theme=dark] .app-theme-toggle,:root[data-theme=dark] .sidebar-language__button{color:var(--ink);background:transparent;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}:root[data-theme=dark] .sidebar-toggle,:root[data-theme=dark] .app-theme-toggle{border-bottom-color:var(--line)}:root[data-theme=dark] .sidebar-language{border-top-color:var(--line)}:root[data-theme=dark] .sidebar-nav__separator{background:var(--line)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .sidebar-toggle:hover,:root[data-theme=dark] .sidebar-nav__item:hover,:root[data-theme=dark] .app-theme-toggle:hover,:root[data-theme=dark] .sidebar-language__button:hover{color:var(--ink);background:var(--bg-hover)}}:root[data-theme=dark] .sidebar-nav__badge{border-color:var(--cream)}.optimizer-workspace{gap:var(--space-7);padding:var(--space-7) clamp(var(--space-5),4vw,var(--space-10)) var(--space-10)}.optimizer-main{width:min(100%,720px);grid-template-columns:minmax(280px,1fr);gap:var(--space-5)}.optimizer-kpi-strip{display:grid;min-width:0;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:0;background:transparent}.optimizer-kpi-strip__item{display:grid;min-width:0;gap:var(--space-2);padding:var(--space-4) var(--space-5)}.optimizer-kpi-strip__item+.optimizer-kpi-strip__item{border-inline-start:1px solid var(--line)}.optimizer-kpi-strip dt{overflow:hidden;color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:550;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.optimizer-kpi-strip dd{display:flex;min-width:0;align-items:baseline;gap:var(--space-2);margin:0}.optimizer-kpi-strip dd strong{color:var(--ink);font-size:var(--font-size-xl);font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);line-height:1.1;white-space:nowrap}.optimizer-kpi-strip dd[data-tone=positive] strong,.optimizer-kpi-strip dd[data-tone=low] strong{color:var(--color-success)}.optimizer-kpi-strip dd[data-tone=average] strong{color:var(--color-warning)}.optimizer-kpi-strip dd[data-tone=high] strong{color:var(--color-danger)}.optimizer-kpi-strip dd[data-tone=unavailable] strong{color:var(--ink-muted)}.optimizer-kpi-strip dd span{overflow:hidden;color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:450;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.optimizer-kpi-strip__item--cost,.kpi-strip__item--has-breakdown{position:relative;cursor:help}.optimizer-kpi-strip__item--cost:focus-visible,.kpi-strip__item--has-breakdown:focus-visible{z-index:2;border-radius:var(--radius-sm);outline:2px solid color-mix(in srgb,var(--accent-primary) 70%,transparent);outline-offset:-2px}.optimizer-cost-breakdown{width:100%;max-height:min(420px,calc(100dvh - 120px))}.optimizer-cost-breakdown__context{display:grid;gap:var(--space-1);color:var(--ink-muted);font-size:var(--font-size-xs);line-height:1.4}.session-savings-breakdown-positioner{width:min(22rem,calc(100vw - 20px));overflow:visible}.session-savings-breakdown{width:100%}.session-savings-breakdown__footer{display:grid;gap:var(--space-2)}.session-savings-breakdown__calculation{display:grid;gap:var(--space-1)}.session-savings-breakdown__calculation strong{color:var(--ink);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.session-savings-breakdown__calculation span{color:var(--ink-muted);font-size:var(--font-size-xs);line-height:1.45}.session-savings-breakdown__solar-help{position:relative}.session-savings-breakdown__solar-help summary{display:inline-grid;width:28px;height:28px;place-items:center;border-radius:50%;color:var(--ink-muted);cursor:pointer;list-style:none}.session-savings-breakdown__solar-help summary::-webkit-details-marker{display:none}.session-savings-breakdown__solar-help summary:focus-visible,.session-savings-breakdown__solar-help[open] summary{outline:0;color:var(--accent-primary);background:var(--accent-primary-soft);box-shadow:var(--focus-ring)}@media(hover:hover)and (pointer:fine){.session-savings-breakdown__solar-help summary:hover{color:var(--accent-primary);background:var(--accent-primary-soft)}}.session-savings-breakdown__solar-help>div{display:grid;gap:var(--space-2);margin-top:var(--space-1)}.session-savings-breakdown__solar-help p{margin:0;color:var(--ink-muted);font-size:var(--font-size-xs);line-height:1.45}.session-savings-breakdown__solar-help .ui-button{justify-self:start}.session-savings-breakdown__components{display:grid;gap:var(--space-1);margin:var(--space-2) 0 0}.session-savings-breakdown__components div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:baseline}.session-savings-breakdown__components dt,.session-savings-breakdown__components dd{margin:0}.session-savings-breakdown__components dt{min-width:0;overflow-wrap:anywhere}.session-savings-breakdown__components dd{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-stack,.station-list{gap:var(--space-3)}.station-card,.charging-sessions-usage-panel{border-color:var(--line);background:var(--panel);box-shadow:none;backdrop-filter:none}.station-card{min-height:96px;border-radius:var(--radius-md)}.station-card__copy{padding:var(--space-5)}.station-card h3{font-size:var(--font-size-md);font-weight:680}.station-card p{margin-top:var(--space-2);font-size:var(--font-size-xs);font-weight:520}.station-card__pin{border:0;color:var(--ink-muted);background:transparent}.station-card__pin[data-pinned=true]{color:var(--ink);background:var(--color-accent-soft);transform:none}@media(hover:hover)and (pointer:fine){.station-card__pin:hover{color:var(--ink);background:var(--color-accent-soft);transform:none}}.station-card__action{border-left-color:var(--line);color:var(--ink);background:var(--color-surface-subtle);font-weight:650}@media(hover:hover)and (pointer:fine){.station-card__action:hover{background:var(--bg-hover)}}.station-card__progress{height:4px}.station-card__progress-segment[data-progress-kind=charging]{background:var(--mint)}.station-list__status,.empty-workspace{border-color:var(--line);border-radius:var(--radius-md);color:var(--ink-muted);background:transparent;box-shadow:none}.empty-workspace{min-height:360px}.empty-workspace__marker{width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-accent-soft)}.empty-workspace span{font-family:var(--font-sans);font-size:var(--font-size-xl);font-weight:620}.charging-sessions-usage-panel{--usage-chart-panel-inset: 0px;height:clamp(410px,48vh,520px);min-height:410px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.usage-graph{position:relative;display:block;width:100%;height:100%;min-height:0}.usage-graph__header{position:absolute;z-index:3;top:var(--space-4);right:var(--space-4);left:var(--space-4);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.usage-graph:before{position:absolute;z-index:1;top:0;right:0;left:0;height:138px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-app) 76%,transparent) 0%,color-mix(in srgb,var(--bg-app) 42%,transparent) 68%,transparent 100%);content:"";pointer-events:none}.usage-graph__eyebrow,.app-data-table th{color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:650;letter-spacing:.08em}.usage-graph h3,.session-detail-graph h3{font-family:var(--font-sans);font-size:var(--font-size-xl);font-weight:620;letter-spacing:-.02em}.usage-graph__range{grid-column:2;width:min(100%,190px);justify-self:center}.usage-graph__range .ui-select__trigger{min-height:var(--control-height-sm);border-color:transparent;background:linear-gradient(to bottom,var(--color-control) 0%,transparent 100%)}.usage-graph__range .ui-select__trigger:focus-visible,.usage-graph__range .ui-select__trigger:active:not(:disabled){border-color:transparent}.usage-graph__range .ui-select__trigger:active:not(:disabled){background:linear-gradient(to bottom,var(--color-control-hover) 0%,transparent 100%)}@media(hover:hover)and (pointer:fine){.usage-graph__range .ui-select__trigger:hover:not(:disabled){border-color:transparent;background:linear-gradient(to bottom,var(--color-control-hover) 0%,transparent 100%)}}:root[data-theme=dark] .usage-graph__range .ui-select__trigger{border-color:transparent;background:linear-gradient(to bottom,var(--bg-input) 0%,transparent 100%)}:root[data-theme=dark] .usage-graph__range .ui-select__trigger:focus-visible,:root[data-theme=dark] .usage-graph__range .ui-select__trigger:active:not(:disabled){border-color:transparent}:root[data-theme=dark] .usage-graph__range .ui-select__trigger:active:not(:disabled){background:linear-gradient(to bottom,var(--bg-hover) 0%,transparent 100%)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .usage-graph__range .ui-select__trigger:hover:not(:disabled){border-color:transparent;background:linear-gradient(to bottom,var(--bg-hover) 0%,transparent 100%)}}.usage-graph__tabs{border-color:var(--line);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.usage-graph__tabs button{border-radius:var(--radius-xs);font-weight:600}.usage-graph__tabs button.is-selected{background:var(--white);box-shadow:var(--shadow-surface)}.usage-graph__legend-item{-webkit-appearance:none;appearance:none;min-height:28px;border:0;padding-inline:var(--space-2);color:var(--ink-muted);background:transparent;cursor:pointer;font-family:inherit;font-size:11px;font-weight:550;transition:color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.usage-graph__legend{position:absolute;z-index:3;top:92px;right:var(--space-4);left:var(--space-4)}.usage-graph__legend-item:focus-visible{color:var(--ink);background:var(--color-surface-subtle)}@media(hover:hover)and (pointer:fine){.usage-graph__legend-item:hover{color:var(--ink);background:var(--color-surface-subtle)}}.usage-graph__legend-item[aria-pressed=false]{opacity:.46}.charging-sessions-usage-panel .usage-graph__legend-item{cursor:default;pointer-events:none}.usage-graph__legend-label-compact,.failed-auth-panel__count-compact{display:none}.usage-graph__legend-item[aria-pressed=false] .usage-graph__legend-dot{filter:grayscale(1)}.usage-graph__legend-dot--usage{background:var(--chart-usage)}.usage-graph__legend-dot--price{background:var(--chart-price)}.usage-graph__legend-dot--solar{background:var(--chart-solar)}.usage-graph__legend-dot--constant{border-color:var(--chart-reference)}.usage-graph__legend-dot--departure{background:var(--chart-departure)}.usage-graph__chart-frame,.usage-graph__chart,.usage-graph__chart svg{width:100%;min-height:0;height:100%}.charging-sessions-usage-panel .usage-graph__chart-frame{position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.usage-graph__chart svg{overflow:visible}.session-detail-graph{display:grid;width:100%;height:auto;min-height:0;grid-template-rows:auto auto minmax(300px,auto);align-content:start;gap:var(--space-3);isolation:isolate}.session-detail-graph .usage-graph__legend{position:static;inset:auto}.session-detail-graph .usage-graph__legend{overflow:visible;flex-wrap:wrap;padding:0}.session-detail-graph .usage-graph__legend-item{min-height:24px;padding-inline:0 var(--space-3);background:transparent;cursor:default}.session-detail-graph__comparison-rates{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);color:var(--ink-muted);font-variant-numeric:tabular-nums}.session-detail-graph__comparison-rates>span+span:before{margin-inline-end:var(--space-2);color:var(--chart-axis);content:"·"}.session-detail-graph .usage-graph__chart-frame{position:relative;z-index:0;min-height:300px}.session-detail-graph .usage-graph__chart,.session-detail-graph .usage-graph__chart svg{min-height:300px}.session-detail-graph .usage-graph__axis text,.session-detail-graph .usage-graph__y-axis text{font-size:var(--font-size-xs);font-weight:650}.usage-graph__grid line{stroke:var(--chart-grid)}.usage-graph__constant-line{stroke:var(--chart-reference);stroke-width:1.25;stroke-dasharray:7 7;opacity:.68}.usage-graph__departure-markers line{stroke:var(--chart-departure);stroke-width:1.4;opacity:.72}.session-detail-graph__flag-marker{pointer-events:none}.session-detail-graph__flag-time{fill:currentColor;stroke:var(--panel);stroke-width:4px;stroke-linejoin:round;paint-order:stroke fill;font-size:var(--font-size-xs);font-weight:700;font-variant-numeric:tabular-nums}.session-detail-graph__midnight-marker{color:var(--chart-axis);pointer-events:none}.session-detail-graph__midnight-marker svg{overflow:visible;fill:var(--panel);stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}.session-detail-graph__recalculation-marker{color:var(--accent-primary);cursor:default;outline:none;pointer-events:auto;transition:color .16s ease}.session-detail-graph__recalculation-marker>line:not(.session-detail-graph__recalculation-hit-target){stroke:currentColor;stroke-width:1.4;stroke-dasharray:3 4;opacity:.82;vector-effect:non-scaling-stroke}.session-detail-graph__recalculation-hit-target{stroke:transparent;stroke-width:16;pointer-events:stroke}.session-detail-graph__recalculation-marker>circle{fill:var(--panel);stroke:currentColor;stroke-width:1.4;vector-effect:non-scaling-stroke;transition:fill .16s ease,stroke-width .16s ease}.session-detail-graph__recalculation-marker[data-highlighted=true]{color:var(--accent-primary-hover)}.session-detail-graph__recalculation-marker[data-highlighted=true]>circle{fill:var(--accent-primary-soft);stroke-width:2.2}.session-detail-graph__recalculation-marker:focus-visible>circle{stroke-width:2.8}.session-detail-graph__recalculation-marker>svg{fill:none;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}.session-detail-graph__signal-annotation{pointer-events:none}.session-detail-graph__signal-annotation--price{color:var(--chart-price)}.session-detail-graph__signal-annotation--solar{color:var(--chart-solar)}.session-detail-graph__signal-annotation circle{fill:var(--panel);stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}.session-detail-graph__signal-annotation text{fill:currentColor;stroke:var(--panel);stroke-width:4px;stroke-linejoin:round;paint-order:stroke fill;font-size:var(--font-size-xs);font-weight:700;font-variant-numeric:tabular-nums}.session-detail-graph__start-marker{color:var(--color-success)}.session-detail-graph__deadline-marker{color:var(--chart-departure)}.session-detail-graph__flag-marker>line{stroke:currentColor;stroke-width:1.4;stroke-dasharray:4 4;opacity:.82;vector-effect:non-scaling-stroke}.session-detail-graph__flag-background{fill:var(--panel);stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}.session-detail-graph__flag-check{fill:currentColor}.usage-graph__points circle{fill:var(--panel);stroke:var(--chart-price);stroke-width:2}.usage-graph__axis text,.usage-graph__axis-measurement{fill:var(--ink-muted);font-size:10px;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:.01em}.usage-graph__axis-measurement-layer{position:absolute;width:0;height:0;overflow:visible;visibility:hidden;pointer-events:none}.usage-graph__axis-label--inside{stroke:var(--panel);stroke-width:3px;stroke-linejoin:round;paint-order:stroke fill}:root[data-theme=dark] .charging-sessions-usage-panel{border:0;background:transparent;box-shadow:none}.charging-sessions-usage-panel :is(.usage-graph__plot-note,.app-chart-tooltip){top:124px}.usage-graph__crosshair{stroke:var(--color-border-strong);stroke-width:1;stroke-dasharray:3 4;pointer-events:none}.usage-graph__bar-hit-areas rect{fill:transparent;cursor:crosshair;pointer-events:all}.usage-graph__plot-note,.app-chart-tooltip{position:absolute;z-index:2;top:var(--space-3);right:var(--space-3);display:grid;min-width:150px;max-width:min(240px,calc(100% - var(--space-5)));gap:var(--space-2);padding:10px 12px;border-color:var(--line);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--white);box-shadow:var(--shadow-floating);pointer-events:none}.app-chart-tooltip__title{color:var(--ink-muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;line-height:1.3}.app-chart-tooltip__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--space-4);color:var(--ink-muted);font-size:var(--font-size-xs)}.app-chart-tooltip__row strong{color:var(--ink);font-weight:620;font-variant-numeric:tabular-nums}.chargers-page,.charging-sessions-page,.messages-page,.grid-providers-page,.admin-users-page,.admin-events-page,.subscription-plans-page,.schedules-page,.id-tags-page,.billing-page,.data-page{--app-page-max-width: 1160px;--app-page-gap: var(--space-8);--app-control-bg: var(--color-surface);--app-control-hover: var(--color-surface-subtle);--app-divider: var(--color-border);--app-selected-bg: var(--color-accent-soft);--app-selected-border: var(--accent-primary);--app-status-bg: transparent}.admin-events-page,.subscription-plans-page{--app-page-max-width: 1280px}.charger-row__last-seen-label,.charger-row__last-seen-compact,.session-row__time-compact,.session-row__energy-compact,.session-list-title{display:none}.chargers-panel,.messages-panel,.grid-providers-panel,.subscription-plans-panel,.id-tags-allowed-panel,.billing-panel,.data-export-panel{gap:var(--space-6)}.schedules-page{gap:0}.schedules-page__content{display:grid;min-width:0;align-content:start;gap:var(--app-space-4)}.charger-search,.allowed-token-search,.message-filters input,.message-filters select,.grid-provider-table input,.departure-schedule-field__control,.settings-grid input,.settings-grid select,.grid-provider-dialog input,.grid-provider-dialog select{border-color:var(--line);border-radius:var(--radius-sm);color:var(--ink);background:var(--panel);font-weight:500;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.charger-search:focus-within,.allowed-token-search:focus-within,.message-filters input:focus-visible,.message-filters select:focus-visible,.grid-provider-table input:focus-visible,.departure-schedule-field__control:focus-within,.settings-grid input:focus-visible,.settings-grid select:focus-visible,.grid-provider-dialog input:focus-visible,.grid-provider-dialog select:focus-visible{border-color:var(--app-selected-border, var(--accent-primary));box-shadow:var(--focus-ring)}.app-data-table-wrap,.grid-provider-table-wrap,.fixed-time-profile__table-wrap{overflow-x:auto;overflow-y:visible;border:0;border-block:1px solid var(--app-divider, var(--line));border-radius:0;background:transparent}.app-data-table th,.app-data-table td,.grid-provider-table th,.grid-provider-table td,.fixed-time-profile__table th,.fixed-time-profile__table td{height:52px;border-bottom-color:var(--app-divider, var(--line));padding-inline:var(--space-4)}.app-data-table th,.grid-provider-table th,.fixed-time-profile__table th,:root[data-theme=dark] .app-data-table th,:root[data-theme=dark] .admin-events-table th{color:var(--ink-muted);background:transparent;font-weight:650}:root[data-theme=dark] .app-data-row,:root[data-theme=dark] .app-data-row>td,:root[data-theme=dark] .app-data-table td,:root[data-theme=dark] .admin-events-table td{background:transparent}.admin-events-table__feedback{border-color:color-mix(in srgb,var(--accent-primary) 34%,var(--border-subtle));color:var(--accent-primary);background:var(--accent-primary-soft)}@media(hover:hover)and (pointer:fine){.admin-events-table__feedback:hover{border-color:var(--accent-primary);color:var(--accent-primary-hover);background:var(--bg-active)}}:root[data-theme=dark] .admin-events-table__feedback{border-color:color-mix(in srgb,var(--accent-primary) 42%,var(--border-subtle));color:var(--accent-primary);background:var(--accent-primary-soft)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .admin-events-table__feedback:hover{border-color:color-mix(in srgb,var(--accent-primary) 42%,var(--border-subtle));color:var(--accent-primary);background:var(--accent-primary-soft)}}.admin-events-table__event-toggle svg{color:var(--accent-primary)}:root[data-theme=dark] .admin-events-table__event-toggle svg{color:var(--accent-primary)}@media(hover:hover)and (pointer:fine){.admin-events-table__event-toggle:hover strong,:root[data-theme=dark] .admin-events-table__event-toggle:hover strong{color:var(--accent-primary)}}.app-data-primary strong,.app-data-value,.app-data-status,.app-data-table time{font-size:var(--font-size-sm);font-weight:550}.app-data-primary span,.app-data-table small{color:var(--ink-muted);font-weight:450}@media(hover:hover)and (pointer:fine){.app-data-row:hover,.app-data-row:hover>td,.grid-provider-table__row:hover td{background:color-mix(in srgb,var(--accent-primary) 6%,transparent)}}:root[data-theme=dark] .app-data-row[data-highlighted=true],:root[data-theme=dark] .app-data-row[data-highlighted=true]>td{background:transparent}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .app-data-row:hover,:root[data-theme=dark] .app-data-row:hover>td{background:transparent}}.app-row-actions{gap:var(--button-gap)}.app-data-status,.billing-status-pill,.admin-users-table__status{border:0;padding:0;color:var(--ink-muted);background:transparent;font-weight:600}.message-conversations-list{border-color:var(--line);background:transparent}.message-conversation-row__button{padding-block:var(--space-4);background:transparent}@media(hover:hover)and (pointer:fine){.message-conversation-row__button:hover,.message-conversation-row[data-unread=true] .message-conversation-row__button:hover{background:color-mix(in srgb,var(--accent-primary) 6%,transparent)}}.message-filters{gap:var(--space-4);padding:0 0 var(--space-6);border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.billing-summary{padding-bottom:var(--space-6);border-bottom:1px solid var(--line)}.billing-summary__icon,.settings-dialog__icon,.departure-schedule-dialog__icon,.departure-setup-dialog__icon,.departure-warning-dialog__icon{width:42px;height:42px;border-radius:var(--radius-md);background:var(--color-accent-soft)}.billing-details div,.billing-details div+div{padding-block:var(--space-4)}.data-export-range,.data-id-token-filter,.fixed-time-profile,.admin-user-subscription,.settings-subscription{border-color:var(--line);border-radius:0;background:transparent;box-shadow:none}.failed-auth-panel summary{padding-block:var(--space-4);border-color:var(--line)}.app-dialog-backdrop,.grid-provider-dialog-backdrop{background:rgba(3,11,24,.62);backdrop-filter:blur(6px);animation-duration:var(--motion-fast)}.user-settings-dialog,.grid-provider-dialog,.session-detail-dialog,.welcome-dialog{--ui-dialog-title-font-family: var(--font-sans);--ui-dialog-title-font-size: var(--font-size-2xl);--ui-dialog-title-font-weight: 630;--ui-dialog-title-letter-spacing: var(--tracking-tight)}.settings-grid label,.message-filters label,.grid-provider-dialog__form label,.departure-schedule-field{color:var(--ink-muted);font-size:var(--font-size-sm);font-weight:580}.settings-current-plan-card{padding:0 0 var(--space-6);border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.settings-plan-card{border-color:var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:none}.settings-plan-card[data-featured=true],.settings-plan-card[data-current=true]{border-color:color-mix(in srgb,var(--accent-primary) 56%,var(--line));background:var(--color-accent-soft);box-shadow:none}:root[data-theme=dark] .station-card,:root[data-theme=dark] .auth-redirect-panel,:root[data-theme=dark] .message-conversations-list{border-color:var(--line);background:var(--panel);box-shadow:none}:root[data-theme=dark] .app-row-action,:root[data-theme=dark] .grid-provider-row-icon{border-color:transparent;color:var(--ink-muted);background:transparent}.usage-graph__range .ui-select,.message-filters .ui-select,.electricity-tariff-calculator__form .ui-select,.subscription-plan-editor .ui-select,.charger-details-dialog .ui-select{width:100%;min-width:0}.usage-graph__range .ui-select__trigger,.message-filters .ui-select__trigger,.electricity-tariff-calculator__form .ui-select__trigger,.charger-details-dialog .ui-select__trigger{min-height:var(--control-height)}.subscription-plan-editor .ui-select__trigger{min-height:var(--control-height-sm)}.charger-search,.allowed-token-search,.message-filters input,.electricity-tariff-calculator__form input,.grid-provider-table input,.settings-grid input,.grid-provider-dialog input,.charger-details-dialog input:not([type=checkbox]):not([type=radio]),.departure-schedule-field__control{min-height:var(--control-height);border-color:var(--color-border);border-radius:var(--radius-control);color:var(--ink);background:var(--color-control);font-size:var(--font-size-sm);font-weight:500;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){.charger-search:hover,.allowed-token-search:hover,.message-filters input:hover,.electricity-tariff-calculator__form input:hover,.grid-provider-table input:hover,.settings-grid input:hover,.grid-provider-dialog input:hover,.charger-details-dialog input:not([type=checkbox]):not([type=radio]):hover{border-color:var(--color-border-strong);background:var(--color-control-hover)}}.charger-search:focus-within,.allowed-token-search:focus-within,.message-filters input:focus-visible,.electricity-tariff-calculator__form input:focus-visible,.grid-provider-table input:focus-visible,.settings-grid input:focus-visible,.grid-provider-dialog input:focus-visible,.charger-details-dialog input:not([type=checkbox]):not([type=radio]):focus-visible{border-color:color-mix(in srgb,var(--accent-primary) 68%,var(--border-strong));outline:0;box-shadow:var(--focus-ring)}.message-filters{align-items:end;gap:var(--space-4)}.message-filters__title{min-height:var(--control-height);color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:600}.departure-schedule-field__control{min-height:var(--control-height);overflow:visible;border-color:var(--color-border);border-radius:var(--radius-control);background:var(--color-control)}.departure-schedule-field__control .ui-select{min-width:0;border-right:1px solid var(--line)}.departure-schedule-field__control .ui-select__trigger{height:100%;min-height:100%;border:0;border-radius:var(--radius-control) 0 0 var(--radius-control);background:transparent}.departure-schedule-field__control input{border-radius:0 var(--radius-control) var(--radius-control) 0}.admin-events-table .admin-events-table__severity,.app-data-status,.billing-status-pill,.admin-users-table__status{display:inline-flex;align-items:center;gap:var(--space-2)}.admin-events-table .admin-events-table__severity{min-height:auto;padding:0;border-radius:0;color:var(--ink-muted);background:transparent!important;font-size:var(--font-size-xs);font-weight:570}.admin-events-table .admin-events-table__severity:before,.app-data-status:before,.billing-status-pill:before,.admin-users-table__status:before{width:.4375rem;height:.4375rem;flex:0 0 auto;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-soft);content:""}.admin-events-table tr[data-severity=warning] .admin-events-table__severity:before{background:var(--color-warning);box-shadow:0 0 0 3px var(--color-warning-soft)}.admin-events-table tr[data-severity=error] .admin-events-table__severity:before,.app-data-status[data-tone=attention]:before{background:var(--color-error);box-shadow:0 0 0 3px var(--color-error-soft)}.app-data-status[data-tone=warning]:before{background:var(--color-warning);box-shadow:0 0 0 3px var(--color-warning-soft)}.app-data-status[data-tone=info]:before{background:var(--informational);box-shadow:0 0 0 3px var(--informational-soft)}.app-data-status[data-tone=muted]{color:var(--color-text-faint)}.app-data-status[data-tone=muted]:before{background:var(--color-text-faint);box-shadow:0 0 0 3px var(--color-surface-subtle)}.app-data-table td,.grid-provider-table td,.fixed-time-profile__table td{font-variant-numeric:tabular-nums}@media(max-width:760px){.optimizer-shell,.optimizer-shell[data-sidebar-open=true]{padding-left:56px}.app-sidebar{width:56px}.optimizer-shell[data-sidebar-open=true] .app-sidebar{width:min(236px,calc(100vw - 48px));box-shadow:var(--shadow-floating)}.sidebar-toggle{height:60px}.optimizer-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.optimizer-kpi-strip__item{padding:var(--space-3) var(--space-4)}.optimizer-kpi-strip__item:nth-child(odd){border-inline-start:0}.optimizer-kpi-strip__item:nth-child(n+3){border-block-start:1px solid var(--line)}.optimizer-kpi-strip dd{display:grid;gap:var(--space-1)}.optimizer-kpi-strip dt,.optimizer-kpi-strip dd span{overflow:visible;text-overflow:clip;white-space:normal}.charging-sessions-usage-panel{--usage-chart-panel-inset: 0px;padding:0;border-radius:0}.station-card,.empty-workspace{border-radius:var(--radius-md)}}@media(max-width:800px){.chargers-page,.charging-sessions-page,.messages-page,.grid-providers-page,.admin-users-page,.admin-events-page,.subscription-plans-page,.schedules-page,.id-tags-page,.billing-page,.data-page{gap:var(--space-4)}.schedules-page{gap:0}.schedules-page__content{gap:var(--space-4)}.message-filters,.admin-events-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-2)}.message-filters__title{grid-column:1 / -1}.messages-status:not(.messages-status--error){padding:var(--space-2) 0;color:var(--ink-muted);background:transparent!important;font-weight:550}.failed-auth-panel summary{align-items:center;flex-direction:row;gap:var(--space-3)}.failed-auth-panel__title{min-width:0;flex:1 1 auto}.failed-auth-panel__count{width:auto;flex:0 0 auto;color:var(--ink-muted);background:transparent!important;white-space:nowrap}.failed-auth-panel__count-default{display:none}.failed-auth-panel__count-compact{display:inline}.mobile-unknown-scans,.failed-auth-panel--mobile>summary{box-sizing:border-box;width:100%;min-height:3.75rem;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--color-surface-subtle)}.mobile-unknown-scans{display:flex;align-items:center;gap:var(--space-3)}.mobile-unknown-scans>strong,.mobile-unknown-scans__summary strong{min-width:0;color:var(--ink);font-size:var(--font-size-sm);font-weight:650;line-height:1.35}.mobile-unknown-scans__icon{display:grid;width:1.75rem;height:1.75rem;flex:0 0 auto;place-items:center;border:2px solid var(--success);border-radius:999px;color:var(--success)}.failed-auth-panel--mobile{overflow:visible}.failed-auth-panel--mobile>summary{align-items:center;border-block:1px solid var(--line);cursor:pointer}.mobile-unknown-scans__summary,.mobile-unknown-scans__review{display:inline-flex;min-width:0;align-items:center;gap:var(--space-2)}.mobile-unknown-scans__summary{color:var(--warning)}.mobile-unknown-scans__review{flex:0 0 auto;color:var(--accent-primary);font-size:var(--font-size-sm);font-weight:650}.mobile-unknown-scans__review svg{transition:transform var(--motion-fast) var(--ease-standard)}.failed-auth-panel--mobile[open] .mobile-unknown-scans__review svg{transform:rotate(180deg)}.failed-auth-panel--mobile .failed-auth-panel__body{padding-top:var(--space-3)}.mobile-id-tag-count{margin:0;color:var(--ink-muted);font-size:var(--font-size-sm);font-weight:650;line-height:1.35}.mobile-id-tag-list{width:100%;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.mobile-id-tag-row{position:relative;display:grid;box-sizing:border-box;width:100%;min-width:0;min-height:4rem;grid-template-columns:minmax(0,1fr) var(--control-height);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);padding:var(--space-2) 0}.mobile-id-tag-row__copy{display:grid;min-width:0;gap:var(--space-1)}.mobile-id-tag-row__copy>strong{overflow:hidden;color:var(--ink);font-size:var(--font-size-md);font-weight:680;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.mobile-id-tag-row__meta{display:flex;min-width:0;align-items:baseline;gap:var(--space-2);overflow:hidden;color:var(--ink-muted);font-size:var(--font-size-sm);line-height:1.25;white-space:nowrap}.mobile-id-tag-row__meta code{min-width:0;overflow:hidden;color:inherit;font-family:var(--font-mono);font-size:inherit;text-overflow:ellipsis}.mobile-id-tag-row__actions{justify-self:end}.mobile-id-tag-row__actions>.ui-overflow-button{border-radius:999px;color:var(--ink-muted);background:var(--color-surface-subtle)}.data-export-range__options{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.data-export-range__option{min-height:42px;justify-content:flex-start;padding-inline:var(--space-3)}.data-export-actions{align-items:stretch;flex-direction:row;gap:var(--space-2)}.data-export-action{width:auto;min-width:0;flex:1 1 0}.departure-schedule-field__control{grid-template-columns:minmax(0,1fr) minmax(116px,.72fr);border-radius:var(--radius-control)}.departure-schedule-field__control .ui-select{border-right:1px solid var(--line);border-bottom:0}.departure-schedule-field__control .ui-select__trigger{min-height:44px;border-radius:var(--radius-control) 0 0 var(--radius-control)}.departure-schedule-field__control input{min-height:44px;border-radius:0 var(--radius-control) var(--radius-control) 0}.chargers-panel,.messages-panel,.grid-providers-panel,.subscription-plans-panel,.id-tags-allowed-panel,.billing-panel,.data-export-panel{gap:var(--space-4)}.charger-search,.allowed-token-search,.message-filters input,.message-filters .ui-select__trigger,.grid-provider-table input,.departure-schedule-field__control,.settings-grid input,.settings-grid .ui-select__trigger,.grid-provider-dialog input,.grid-provider-dialog .ui-select__trigger{min-height:44px}.app-data-table-wrap .app-data-table td{height:auto}.app-data-table-wrap[data-mobile-layout]{overflow:visible;border-block:0;background:transparent}.app-data-table-wrap[data-mobile-layout] .app-data-table{display:block;width:100%;min-width:0}.app-data-table-wrap[data-mobile-layout] .app-data-table thead{display:none}.app-data-table-wrap[data-mobile-layout=stacked] .app-data-table tr{gap:var(--space-2) var(--space-3);padding-block:var(--space-3)}.app-data-table-wrap[data-mobile-layout=stacked] .app-data-table td:before{font-size:var(--font-size-xs);font-weight:550}.app-data-table-wrap[data-mobile-layout=compact] .app-data-table tbody{display:block}.app-data-table-wrap[data-mobile-layout=compact] .app-data-table tr{display:grid;min-height:88px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"primary value" "secondary secondary" "meta actions";align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-3) 0}.app-data-table-wrap[data-mobile-layout=compact] .app-data-table td{min-width:0;height:auto;padding:0}.app-data-table-wrap[data-mobile-layout=compact] .app-data-table td:before{display:none}.app-data-table-wrap[data-mobile-layout=compact] [data-mobile-role=primary]{grid-area:primary}.app-data-table-wrap[data-mobile-layout=compact] [data-mobile-role=value]{grid-area:value;justify-self:end;text-align:right}.app-data-table-wrap[data-mobile-layout=compact] [data-mobile-role=secondary]{grid-area:secondary;color:var(--ink-muted)}.app-data-table-wrap[data-mobile-layout=compact] [data-mobile-role=meta]{grid-area:meta;overflow:hidden;color:var(--ink-muted)}.app-data-table-wrap[data-mobile-layout=compact] [data-mobile-role=actions]{grid-area:actions;justify-self:end;padding-top:0}.app-data-table-wrap[data-mobile-layout=compact] [data-mobile-role=hidden]{display:none}.app-data-table-wrap[data-mobile-layout=compact] [data-mobile-role=secondary] .app-data-value,.app-data-table-wrap[data-mobile-layout=compact] [data-mobile-role=meta] .app-data-value,.app-data-table-wrap[data-mobile-layout=compact] [data-mobile-role=meta] time{color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:500}.app-data-table-wrap[data-mobile-layout=compact] .app-row-actions{flex-wrap:nowrap;gap:var(--button-gap)}.app-data-table-wrap[data-mobile-layout=compact] .app-row-action{width:var(--button-height);height:var(--button-height)}.charging-sessions-usage-panel{--usage-chart-panel-inset: 0px;width:calc(100% + 32px);max-width:none;height:clamp(320px,41.6vh,352px);min-height:320px;margin-inline:-16px;padding:0;border-radius:0}.usage-graph{display:grid;height:100%;grid-template-rows:auto minmax(0,1fr);gap:var(--space-2)}.usage-graph__header{display:none}.usage-graph__header>div:first-child{min-width:0;flex:1 1 auto}.usage-graph__eyebrow{display:none}.usage-graph h3,.session-detail-graph h3{margin:0;font-size:var(--font-size-lg);line-height:1.2}.usage-graph__range{grid-column:1;width:min(100%,154px);min-width:132px;gap:0;justify-self:center}.usage-graph__range>span{display:none}.usage-graph__range .ui-select__trigger{min-height:42px;padding-inline:var(--space-3) var(--space-2);font-size:var(--font-size-xs)}.usage-graph__legend{position:static;inset:auto;min-width:0;overflow-x:auto;flex-wrap:nowrap;gap:var(--space-1);padding:0 16px 2px;scrollbar-width:none}.usage-graph__legend::-webkit-scrollbar{display:none}.usage-graph__legend-item{min-height:28px;flex:0 0 auto;gap:6px;padding-inline:6px;font-size:10px;white-space:nowrap}.usage-graph__legend-dot{width:7px;height:7px}.usage-graph__legend-label-default{display:none}.usage-graph__legend-label-compact{display:inline}.charging-sessions-usage-panel .usage-graph__chart-frame{position:relative;inset:auto;min-height:0;margin:0}[data-ui-modal-backdrop=true].session-detail-dialog-backdrop{padding-bottom:calc(var(--ui-modal-gutter) + env(safe-area-inset-bottom) + 4.75rem)}.session-detail-graph{--session-detail-chart-height: clamp(220px, 64vw, 240px);height:auto;min-height:0;grid-template-rows:none;grid-auto-rows:auto;align-content:start;aspect-ratio:auto}.session-detail-graph .usage-graph__chart-frame,.session-detail-graph .usage-graph__chart,.session-detail-graph .usage-graph__chart svg{height:var(--session-detail-chart-height);min-height:0;max-height:none;aspect-ratio:auto}.session-detail-dialog__placeholder-chart.ui-loading-skeleton{height:var(--session-detail-chart-height)}.charging-sessions-usage-panel :is(.usage-graph__plot-note,.app-chart-tooltip){top:100px}.usage-graph__plot-note,.app-chart-tooltip{top:var(--space-2);right:var(--space-2);min-width:140px;padding:var(--space-2) 10px}.session-row__time-default{display:none}.app-data-table-wrap--sessions[data-mobile-layout=compact] .app-data-table .session-row{min-height:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"primary value" "meta meta";align-items:start;gap:var(--space-3) var(--space-4);padding:var(--space-5) 0;border-bottom:1px solid var(--border-subtle);background:transparent}.app-data-table-wrap--sessions[data-mobile-layout=compact] .app-data-table .session-row:last-child{border-bottom:0}.app-data-table-wrap--sessions[data-mobile-layout=compact] .session-row>td{border:0;background:transparent}.app-data-table-wrap--sessions[data-mobile-layout=compact] .session-row[data-highlighted=true]{background:var(--table-row-hover)}@media(hover:hover)and (pointer:fine){.app-data-table-wrap--sessions[data-mobile-layout=compact] .session-row:hover{background:var(--table-row-hover)}}.app-data-table-wrap--sessions .session-row__primary{align-self:start}.app-data-table-wrap--sessions .session-row__primary button{width:100%;gap:var(--space-1)}.session-row__time-compact{display:flex;min-width:0;align-items:center;gap:var(--space-2);overflow:visible;color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:500;font-variant-numeric:tabular-nums}.session-row__time-range{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-row__meta-separator{flex:0 0 auto;color:var(--ink-muted)}.session-row__optimizer-compact{min-width:0;flex:0 1 auto;overflow:hidden;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap}.session-row__optimizer-compact[data-strategy=price]{color:var(--accent-primary)}.session-row__optimizer-compact[data-strategy=solar]{color:var(--accent-secondary)}.session-row__energy-default{display:none}.session-row__energy,.session-row__energy-compact{display:inline;color:var(--accent-primary);font-size:var(--font-size-lg);font-weight:650;white-space:nowrap}.session-row__energy-compact[data-active=true]{color:var(--success)}.app-data-table-wrap--sessions .session-row__primary strong,.app-data-table-wrap--sessions [data-mobile-role=value] .app-data-value{font-size:var(--font-size-lg);font-weight:650}.app-data-table-wrap--sessions .session-row__primary span{color:var(--ink-muted);font-size:var(--font-size-sm);font-weight:450}.chargers-page,.chargers-panel{gap:var(--space-3)}.chargers-page .charger-search{width:auto;min-width:0;min-height:44px}.chargers-page .charger-add{width:auto;min-width:44px;min-height:44px;padding-inline:var(--space-3)}.app-data-table-wrap--chargers .app-data-table tbody{display:block}.app-data-table-wrap--chargers .charger-row{display:grid;min-height:106px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name status" "optimization optimization" "last-seen actions";align-items:center;gap:var(--space-1) var(--space-3);padding:14px 0}.app-data-table-wrap--chargers .charger-row>td{min-width:0;height:auto;padding:0}.app-data-table-wrap--chargers .charger-row>td:before{display:none}.app-data-table-wrap--chargers .charger-row__name{grid-area:name;align-self:center}.app-data-table-wrap--chargers .charger-row__name strong{overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap}.app-data-table-wrap--chargers .charger-row__status{grid-area:status;justify-self:end}.app-data-table-wrap--chargers .charger-row__status .app-data-status{gap:6px;font-size:var(--font-size-xs);white-space:nowrap}.app-data-table-wrap--chargers .charger-row__optimization{grid-area:optimization}.app-data-table-wrap--chargers .charger-row__optimization .app-data-value{color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:500}.app-data-table-wrap--chargers .charger-row__last-seen{grid-area:last-seen;overflow:hidden;align-self:center;gap:var(--space-1)}.app-data-table-wrap--chargers .charger-row__last-seen-label{display:inline;flex:0 0 auto;color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:500;white-space:nowrap}.app-data-table-wrap--chargers .charger-row__last-seen-default{display:none}.app-data-table-wrap--chargers .charger-row__last-seen-compact{display:inline}.app-data-table-wrap--chargers .charger-row__last-seen .app-data-value{overflow:hidden;color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:550;text-overflow:ellipsis;white-space:nowrap}.app-data-table-wrap--chargers .charger-row__actions{grid-area:actions;justify-self:end;align-self:center;padding-top:0}.app-data-table-wrap--chargers .charger-row__actions .app-row-actions{flex-wrap:nowrap;gap:var(--button-gap)}.app-data-table-wrap--chargers .charger-row__actions .app-row-action{width:var(--button-height);height:var(--button-height)}.chargers-panel__empty{min-height:56px;padding-block:var(--space-3);font-weight:500}}@media(max-width:560px){.logout-button span{display:none}.station-card{grid-template-columns:minmax(0,1fr) 92px}.station-card__copy{padding:var(--space-4)}}@media(max-width:768px){.id-tags-page .page-header__primary-action .ui-button{padding-inline:var(--space-3)}.optimizer-shell,.optimizer-shell[data-sidebar-open=true]{width:100%;max-width:100%;padding-left:0;overflow-x:clip;overflow-y:visible}.app-sidebar{display:none}.optimizer-workspace{display:flex;box-sizing:border-box;width:100%;max-width:100%;flex-direction:column;align-items:stretch;gap:var(--space-4);padding:max(var(--space-3),env(safe-area-inset-top,0px)) max(var(--space-4),env(safe-area-inset-right,0px)) calc(var(--mobile-navigation-offset) + var(--space-4)) max(var(--space-4),env(safe-area-inset-left,0px));overflow-x:clip;overflow-y:visible}.chargers-page .charger-search{width:auto;min-width:0;flex:1 1 0}.mobile-bottom-navigation{--mobile-nav-indicator-opacity: 1;--mobile-nav-padding-inline: 8px;position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;height:auto;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;padding:var(--mobile-nav-padding-block) var(--mobile-nav-padding-inline) calc(var(--mobile-nav-padding-block) + var(--mobile-safe-area-bottom));border-top:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-canvas) 92%,transparent);box-shadow:0 -8px 28px rgba(2,8,15,.18);backdrop-filter:blur(18px)}:root.keyboard-open .mobile-bottom-navigation{display:none}.mobile-bottom-navigation__indicator{position:absolute;z-index:1;top:0;left:8px;width:calc((100% - 16px)/4);height:2px;opacity:var(--mobile-nav-indicator-opacity);pointer-events:none;transform:translate(0);transition:transform .14s ease-out,opacity .14s ease-out}.mobile-bottom-navigation__indicator:after{position:absolute;top:0;left:50%;width:2rem;height:2px;border-radius:999px;background:var(--accent-primary);content:"";transform:translate(-50%)}.mobile-bottom-navigation[data-active-index="1"] .mobile-bottom-navigation__indicator{transform:translate(100%)}.mobile-bottom-navigation[data-active-index="2"] .mobile-bottom-navigation__indicator{transform:translate(200%)}.mobile-bottom-navigation[data-active-index="3"] .mobile-bottom-navigation__indicator{transform:translate(300%)}.mobile-bottom-navigation__item{position:relative;display:grid;height:auto;min-width:0;grid-template-rows:1.75rem auto;place-items:center;align-content:center;gap:3px;padding:0 4px;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent;box-shadow:none;font-size:.625rem;font-weight:600;line-height:1.15;transition:color var(--motion-fast) var(--ease-standard)}#root button:not(:disabled){transition-property:transform,opacity;transition-duration:80ms;transition-timing-function:ease-out}#root button:active:not(:disabled){transform:scale(.97)}.mobile-bottom-navigation__item:focus-visible,.mobile-bottom-navigation__item[data-active=true]{color:var(--accent-primary);background:transparent}@media(hover:hover)and (pointer:fine){.mobile-bottom-navigation__item:hover:not(:disabled){color:var(--accent-primary);background:transparent}}.mobile-bottom-navigation__item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.mobile-bottom-navigation__item:active:not(:disabled){transform:translateY(1px)}.mobile-bottom-navigation__item:disabled{color:var(--text-muted);background:transparent;opacity:1;cursor:default}.mobile-bottom-navigation__icon{position:relative;display:grid;width:1.75rem;height:1.75rem;place-items:center}.mobile-bottom-navigation__icon>svg{width:1.5rem;height:1.5rem;stroke-width:2}.mobile-bottom-navigation__badge,.mobile-more-row__badge{display:grid;min-width:1rem;height:1rem;place-items:center;border-radius:999px;padding-inline:3px;color:var(--accent-primary-ink);background:var(--accent-primary);font-size:.625rem;font-weight:750;line-height:1}.mobile-bottom-navigation__badge{position:absolute;top:-2px;right:-7px;border:2px solid var(--bg-canvas)}.mobile-more-row__badge{min-width:1.25rem;height:1.25rem;flex:0 0 auto;font-size:.6875rem}.mobile-more-page{--mobile-more-section-spacing: var(--space-6)}.mobile-more-page .page-scaffold__content{gap:var(--mobile-more-section-spacing);padding-block-start:var(--mobile-more-section-spacing)}.mobile-events-dialog-backdrop{--ui-modal-gutter: 0px;z-index:32;padding:0}[data-ui-modal-surface=true].mobile-events-dialog{--ui-dialog-mobile-padding-left: calc( var(--app-page-gutter, 16px) + env(safe-area-inset-left, 0px) );--ui-dialog-mobile-padding-right: calc( var(--app-page-gutter, 16px) + env(safe-area-inset-right, 0px) );--ui-dialog-mobile-padding-bottom: calc( var(--space-4) + env(safe-area-inset-bottom, 0px) );position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:var(--bg-canvas);box-shadow:none}.mobile-events-dialog>.page-header{flex:0 0 auto;width:100%;margin:0;padding:max(var(--space-3),env(safe-area-inset-top,0px)) var(--ui-dialog-mobile-padding-right) var(--space-4) var(--ui-dialog-mobile-padding-left);background:transparent}.mobile-events-dialog__body{display:grid;min-height:0;flex:1 1 auto;align-content:start;gap:var(--space-4);overflow-y:auto}.mobile-more-account{display:flex;box-sizing:border-box;height:100%;min-width:0;align-items:center;padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-control)}.mobile-more-account>strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:650;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.mobile-more-section{display:grid;gap:var(--space-3)}.mobile-more-section h2{margin:0;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase}.mobile-more-list{display:grid}.mobile-more-row{display:grid;width:100%;min-width:0;min-height:76px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;color:var(--text-primary);background:transparent;box-shadow:none;text-align:left}@media(hover:hover)and (pointer:fine){.mobile-more-row:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 3%,transparent)}}.mobile-more-row:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.mobile-more-row:active:not(:disabled){transform:translateY(1px)}.mobile-more-row__icon{width:1.75rem;height:1.75rem;color:var(--text-secondary);stroke-width:1.8}.mobile-more-row__copy{display:grid;min-width:0;gap:3px}.mobile-more-row__copy strong{overflow:hidden;color:inherit;font-size:var(--font-size-md);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.mobile-more-row__copy span,.mobile-more-row__meta{color:var(--text-secondary);font-size:var(--font-size-sm)}.mobile-more-row__meta{display:inline-flex;align-items:center;gap:var(--space-3);white-space:nowrap}.mobile-more-row__meta>svg{width:1.25rem;height:1.25rem;color:var(--text-secondary)}.mobile-more-row--logout,.mobile-more-row--logout:active:not(:disabled){color:var(--danger);background:transparent;box-shadow:none}.mobile-more-row--logout .mobile-more-row__icon{color:var(--danger)}.mobile-more-row--logout:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.app-page,.app-page-section,.messages-panel{box-sizing:border-box;width:100%;max-width:100%;min-width:0}.optimizer-workspace>.app-page{flex:0 0 auto}.message-filters,.admin-events-filters{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr);gap:var(--space-3);padding-bottom:var(--space-4)}.message-filters__title{min-height:0;grid-column:1 / -1}.message-filters label,.message-filters input,.message-filters .ui-select,.message-filters .ui-select__trigger{box-sizing:border-box;width:100%;max-width:100%;min-width:0}}@media(min-width:769px)and (max-width:800px){.optimizer-workspace{gap:var(--space-3);padding-top:var(--space-3)}}@media(min-width:520px)and (max-width:768px){.message-filters,.admin-events-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}#root button:active:not(:disabled){transform:none}}:root[data-theme=dark] body,:root[data-theme=dark] .optimizer-shell,:root[data-theme=dark] .optimizer-workspace{color:var(--text-primary);background:var(--bg-canvas)}:root[data-theme=dark] .app-sidebar{border-right-color:var(--border-sidebar);background:var(--bg-sidebar)}:root[data-theme=dark] :is(.sidebar-toggle,.sidebar-nav__item,.app-theme-toggle,.sidebar-language__button){color:var(--nav-text);background:transparent}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] :is(.sidebar-toggle,.sidebar-nav__item,.app-theme-toggle,.sidebar-language__button):hover{color:var(--text-primary);background:var(--nav-hover)}}:root[data-theme=dark] .sidebar-nav__item[data-active=true]{color:var(--nav-text-active);background:var(--nav-active)}:root[data-theme=dark] .sidebar-nav__item[data-active=true]:before{background:var(--accent-primary)}.app-page-data-region,.station-list__stable-region{position:relative;width:100%}.app-page-data-region>.ui-stable-loading-region__overlay{padding:0}.app-loading-line.ui-loading-skeleton{width:min(100%,11rem);height:.8rem;border-radius:999px}.app-loading-line--short.ui-loading-skeleton{width:min(68%,7rem)}.app-loading-avatar.ui-loading-skeleton{width:2.125rem;height:2.125rem;border-radius:var(--radius-sm)}.app-loading-block.ui-loading-skeleton{width:100%;height:5.5rem}.station-list>.station-list__stable-region{grid-column:1 / -1}.data-id-token-filter__stable-region{width:100%}:root[data-theme=dark] :is(.sidebar-toggle,.app-theme-toggle){border-bottom-color:var(--border-sidebar)}:root[data-theme=dark] .sidebar-language{border-top-color:var(--border-sidebar)}:root[data-theme=dark] .sidebar-nav__separator{background:var(--border-sidebar)}:root[data-theme=dark] .sidebar-nav__badge{border-color:var(--bg-sidebar)}:root[data-theme=dark] :is(.app-page,.chargers-page,.charging-sessions-page,.messages-page,.grid-providers-page,.admin-users-page,.admin-events-page,.subscription-plans-page,.schedules-page,.id-tags-page,.billing-page,.data-page){--app-control-bg: var(--bg-input);--app-control-hover: var(--bg-hover);--app-divider: var(--table-divider);--app-selected-bg: var(--table-row-selected);--app-selected-border: var(--accent-primary);--app-status-bg: var(--bg-surface-elevated);--data-control-bg: var(--app-control-bg);--data-control-hover: var(--app-control-hover);--data-divider: var(--app-divider);--data-selected-bg: var(--app-selected-bg);--data-selected-border: var(--app-selected-border);--data-status-bg: var(--app-status-bg)}:root[data-theme=dark] :is(.station-card,.charging-sessions-usage-panel,.auth-redirect-panel,.empty-workspace,.message-conversations-list,.subscription-plan-card,.upgrade-plan,.station-list__status){border-color:var(--border-default);color:var(--text-primary);background:var(--bg-surface);box-shadow:none}:root[data-theme=dark] .optimizer-kpi-strip__item+.optimizer-kpi-strip__item,:root[data-theme=dark] .optimizer-kpi-strip__item:nth-child(n+3){border-color:var(--border-subtle)}:root[data-theme=dark] :is(.app-data-table-wrap,.grid-provider-table-wrap,.fixed-time-profile__table-wrap,.admin-events-table-wrap,.grid-provider-static-tariffs-table-wrap){border-color:var(--table-divider);background:var(--table-surface)}:root[data-theme=dark] :is(.app-data-table,.grid-provider-table,.fixed-time-profile__table,.admin-events-table,.grid-provider-static-tariffs-table){background:var(--table-surface)}:root[data-theme=dark] :is(.app-data-table,.grid-provider-table,.fixed-time-profile__table,.admin-events-table,.grid-provider-static-tariffs-table) th{border-color:var(--table-divider);color:var(--text-secondary);background:var(--table-header)}:root[data-theme=dark] :is(.app-data-table,.grid-provider-table,.fixed-time-profile__table,.admin-events-table,.grid-provider-static-tariffs-table) td,:root[data-theme=dark] .app-data-row,:root[data-theme=dark] .app-data-row>td{border-color:var(--table-divider);color:var(--text-primary);background:var(--table-row)}:root[data-theme=dark] :is(.grid-provider-table__row:focus-within td,.admin-users-table__row:focus-visible td,.grid-provider-static-tariffs-table tbody tr:focus-within td){background:var(--table-row-hover)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] :is(.app-data-row:hover,.app-data-row:hover>td,.grid-provider-table__row:hover td,.grid-provider-static-tariffs-table tbody tr:hover td){background:var(--table-row-hover)}}:root[data-theme=dark] :is(.app-data-row[data-highlighted=true],.app-data-row[data-highlighted=true]>td,.grid-provider-table__row--editing td,.subscription-tier-row:focus-visible td){background:var(--table-row-selected)}:root[data-theme=dark] :is(.app-data-primary strong,.app-data-value,.app-data-table time,.grid-provider-table strong,.admin-events-table strong){color:var(--text-primary)}:root[data-theme=dark] :is(.app-data-primary span,.app-data-table small,.charger-row__last-seen .app-data-value,.admin-events-table span,.admin-events-table time){color:var(--text-secondary)}:root[data-theme=dark] :is(.app-search,.charger-search,.allowed-token-search,.departure-schedule-field__control,.charger-location-field__control,.copyable-text-field__control),:root[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),textarea,select){border-color:var(--border-default);color:var(--text-primary);background:var(--bg-input)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] :is(.app-search,.charger-search,.allowed-token-search,.departure-schedule-field__control,.charger-location-field__control,.copyable-text-field__control):hover,:root[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),textarea,select):hover{border-color:var(--border-strong)}}:root[data-theme=dark] :is(.app-search,.charger-search,.allowed-token-search,.departure-schedule-field__control,.charger-location-field__control,.copyable-text-field__control):focus-within,:root[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),textarea,select):focus-visible{border-color:var(--accent-primary);outline:0;box-shadow:var(--focus-ring)}:root[data-theme=dark] :is(.app-search,.charger-search,.allowed-token-search,.departure-schedule-field__control,.charger-location-field__control,.copyable-text-field__control) input{border:0;background:transparent;box-shadow:none}:root[data-theme=dark] ::placeholder{color:var(--offline);opacity:1}:root[data-theme=dark] :is(button:disabled,input:disabled,select:disabled,textarea:disabled){color:var(--text-disabled)}:root[data-theme=dark] :is(.app-data-status[data-tone=success],.billing-status-pill--ok,.grid-provider-state-line--success,.grid-provider-dialog__status--success){color:var(--success)}:root[data-theme=dark] :is(.app-data-status[data-tone=warning],.billing-status-pill--warning,.billing-action-note){color:var(--warning)}:root[data-theme=dark] :is(.app-data-status[data-tone=attention],.grid-provider-state-line--error,.grid-provider-empty--error,.grid-provider-row-state--error,.grid-provider-dialog__status--error,.messages-status--error,.station-list__error){color:var(--danger)}:root[data-theme=dark] .app-data-status[data-tone=info]{color:var(--informational)}:root[data-theme=dark] .app-data-status[data-tone=muted]{color:var(--text-secondary)}:root[data-theme=dark] .app-data-status[data-tone=muted]:before{background:var(--offline)}:root[data-theme=dark] :is(.app-data-status,.billing-status-pill,.admin-users-table__status,.admin-events-table__severity):before{box-shadow:none}:root[data-theme=dark] .station-card[data-state=offline]{background:var(--bg-surface)}:root[data-theme=dark] .station-card[data-state=offline] .station-card__icon{color:var(--offline);background:var(--bg-surface-secondary)}:root[data-theme=dark] :is(.messages-status--error,.station-list__error,.id-tags-allowed-panel__error,.data-id-token-filter__error,.schedules-panel__error,.settings-profile-error,.id-tag-dialog-error,.subscription-dialog__error){border-color:color-mix(in srgb,var(--danger) 34%,var(--border-default));color:var(--danger);background:var(--danger-soft)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .message-conversation-row__button:hover{background:var(--bg-hover)}}:root[data-theme=dark] .message-conversation-row[data-unread=true] .message-conversation-row__button{background:var(--accent-primary-soft)}:root[data-theme=dark] :is(.usage-graph__plot-note,.app-chart-tooltip){border-color:var(--border-default);color:var(--text-secondary);background:var(--bg-surface-elevated);box-shadow:var(--shadow-floating)}:root[data-theme=dark] .usage-graph__grid line{stroke:var(--chart-grid)}:root[data-theme=dark] :is(.usage-graph__axis text,.usage-graph__empty){color:var(--text-muted);fill:var(--text-muted)}:root[data-theme=dark] .usage-graph__axis text{color:var(--text-secondary);fill:var(--text-secondary)}:root[data-theme=dark] .usage-graph__points circle{fill:var(--bg-surface)}:root[data-theme=dark] :is(.app-skeleton,.subscription-dialog__skeleton-overview,.subscription-dialog__skeleton){background-color:var(--bg-surface-secondary)}:root[data-theme=dark] .station-card__icon{color:var(--accent-primary);background:var(--accent-primary-soft)}:root[data-theme=dark] .station-card__status{color:var(--text-secondary)}:root[data-theme=dark] .station-card__status>span{background:var(--offline);box-shadow:none}:root[data-theme=dark] .station-card[data-state=charging] .station-card__status>span{background:var(--success)}:root[data-theme=dark] :is(.station-card[data-state=paused],.station-card[data-state=waiting]) .station-card__status>span{background:var(--warning)}:root[data-theme=dark] .station-card[data-state=attention] .station-card__status>span{background:var(--danger)}:root[data-theme=dark] .station-card__pin[data-pinned=true]{color:var(--accent-primary-hover);background:var(--accent-primary-soft)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .station-card__pin:hover{color:var(--accent-primary-hover);background:var(--accent-primary-soft)}}:root[data-theme=dark] .message-conversation-row__button:focus-visible{outline-color:var(--accent-primary)}:root[data-theme=dark] .message-conversation-row[data-unread=true] .message-conversation-row__dot{background:var(--accent-primary);box-shadow:none}:root[data-theme=dark] :is(.billing-status-message,.billing-summary__icon,.billing-status-pill--ok){border-color:color-mix(in srgb,var(--success) 34%,var(--border-default));color:var(--success);background:var(--success-soft)}:root[data-theme=dark] :is(.billing-status-pill--warning,.billing-action-note){border-color:color-mix(in srgb,var(--warning) 34%,var(--border-default));color:var(--warning);background:var(--warning-soft)}:root[data-theme=dark] :is(.billing-status-message--error,.billing-status-pill--danger){border-color:color-mix(in srgb,var(--danger) 34%,var(--border-default));color:var(--danger);background:var(--danger-soft)}:root[data-theme=dark] :is(.billing-option-button[aria-selected=true],.billing-option-button[aria-pressed=true],.subscription-plan-card[data-selected=true],.subscription-tier-dialog__price[aria-pressed=true]){border-color:var(--accent-primary);background:var(--accent-primary-soft);box-shadow:none}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .subscription-plan-card:hover{border-color:var(--border-strong);box-shadow:none}}:root[data-theme=dark] .subscription-plan-card:focus-within{outline-color:var(--accent-primary)}:root[data-theme=dark] :is(.subscription-plan-card__current,.upgrade-dialog__badge){border-color:color-mix(in srgb,var(--accent-primary) 32%,var(--border-default));color:var(--accent-primary-hover);background:var(--accent-primary-soft)}:root[data-theme=dark] .subscription-plan-card__check{color:var(--accent-primary-ink);background:var(--accent-primary)}:root[data-theme=dark] .subscription-plan-card__savings{color:var(--success)}:root[data-theme=dark] .upgrade-plan__features li:before{background:var(--success)}:root[data-theme=dark] :is(.subscription-plan-card__features,.upgrade-plan__features){color:var(--text-secondary)}:root[data-theme=dark] .upgrade-plan[data-featured=true]{border-color:color-mix(in srgb,var(--accent-primary) 58%,var(--border-default));background:var(--accent-primary-soft);box-shadow:none}:root[data-theme=dark] :is(.add-token-dialog__icon,.charger-details-dialog__icon,.charger-url-dialog__icon,.departure-schedule-dialog__icon,.departure-setup-dialog__icon,.rfid-scan-dialog__icon,.session-detail-dialog__icon,.settings-dialog__icon,.tag-name-dialog__icon,.upgrade-dialog__icon,.welcome-dialog__icon){color:var(--accent-primary-hover);background:var(--accent-primary-soft)}:root[data-theme=dark] .departure-warning-dialog__icon{color:var(--warning);background:var(--warning-soft)}:root[data-theme=dark] :is(.delete-charger-dialog__icon,.delete-idtag-dialog__icon){color:var(--danger);background:var(--danger-soft)}:root[data-theme=dark] :is(.departure-schedule-preview[data-state=valid],.departure-schedule-preview[data-state=unsupported]){color:var(--success)}:root[data-theme=dark] .departure-schedule-preview[data-state=invalid]{color:var(--danger)}:root[data-theme=dark] :is(.settings-section__icon,.billing-feature-list svg,.charger-connectors-list__heading span,.session-detail-dialog__heading span,.session-detail-optimizer-data__heading span){color:var(--text-secondary)}:root[data-theme=dark] .settings-section__icon{background:var(--accent-primary-soft)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .settings-section__trigger:hover{background:var(--bg-hover)}}:root[data-theme=dark] :is(.session-detail-optimizer-data__payload summary,.message-event-reference__link,.app-data-primary--button:focus-visible strong){color:var(--accent-primary-hover)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .app-data-primary--button:hover strong{color:var(--accent-primary-hover)}}:root[data-theme=dark] :is(.usage-graph__legend-item input,.data-id-token-option input,.settings-checkbox input){accent-color:var(--accent-primary)}:root[data-theme=dark] .fixed-time-profile__table tr[data-drop-position=before] td{box-shadow:inset 0 2px 0 var(--accent-primary)}:root[data-theme=dark] .fixed-time-profile__table tr[data-drop-position=after] td{box-shadow:inset 0 -2px 0 var(--accent-primary)}:root[data-theme=dark] .rfid-scan-dialog__activity span{background:var(--accent-primary)}.overview-page{gap:var(--space-5)}.overview-charger-table-section,.overview-charger-table-content{position:relative;display:block;min-width:0;width:100%}.delete-charger-dialog{--ui-dialog-header-padding: var(--space-5) var(--space-6) var(--space-4);--ui-dialog-body-padding: var(--space-5) var(--space-6);--ui-dialog-footer-padding: 0 var(--space-6) var(--space-6);width:min(100%,32.5rem);gap:0}.delete-charger-dialog__body{display:grid;align-content:start;gap:var(--space-4);border-top:1px solid var(--line)}.delete-charger-dialog .delete-charger-dialog__error{margin:0;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--danger) 34%,var(--line));border-radius:var(--radius-sm);color:var(--danger);background:var(--danger-soft);font-size:var(--font-size-sm);font-weight:600;line-height:1.45}.delete-charger-dialog__actions.ui-dialog-footer{margin-top:0}.app-data-table-wrap--overview{overflow:visible;border-block:1px solid var(--line)}.app-data-table-wrap--overview .app-data-table{min-width:720px}.app-data-table-wrap--overview .app-data-table th{height:4.5rem;padding-inline:var(--space-5);color:var(--ink-muted);font-size:var(--font-size-sm);font-weight:600}.app-data-table-wrap--overview .overview-charger-row>td{height:9.5rem;padding:var(--space-4) var(--space-5);overflow:visible;white-space:normal}.app-data-table-wrap--overview .overview-charger-row>.overview-charger-row__actions{padding-inline:0}.overview-charger-row[data-action-available=true]{position:relative}.overview-charger-row[data-action-revealed=true]{isolation:isolate}.overview-charger-row[data-action-revealed=true]>td{background:var(--bg-hover)}.overview-charger-row[data-action-revealed=true]>td>:not(.overview-charger-row__action-overlay):not(.overview-charger-row__end){pointer-events:none;opacity:.24;filter:grayscale(1)}.overview-charger-row[data-action-revealed=true] .overview-charger-row__end>.overview-session-progress__soc{opacity:.24;filter:grayscale(1)}.overview-charger-row[data-action-revealed=true] .overview-row-actions>:not(.overview-row-action--more){pointer-events:none;opacity:.24;filter:grayscale(1)}.overview-charger-row[data-action-revealed=true] .overview-row-actions{position:relative;z-index:21}.overview-charger-row__action-overlay{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-4);pointer-events:none}.overview-charger-row__overlay-button{min-width:10rem;min-height:3rem;pointer-events:auto;box-shadow:var(--shadow-surface)}.overview-charger-identity{display:grid;min-width:0;grid-template-columns:3.625rem minmax(0,1fr);align-items:center;gap:var(--space-4)}.overview-charger-identity__icon{display:grid;width:3.625rem;height:3.625rem;place-items:center;border:1px solid color-mix(in srgb,var(--accent-primary) 24%,var(--line));border-radius:var(--radius-lg);color:var(--ink);background:var(--color-accent-soft);transition:color .18s ease,background-color .18s ease,border-color .18s ease}.overview-charger-row[data-state=offline] .overview-charger-identity__icon{color:var(--ink-muted);background:transparent}.overview-charger-identity__copy{display:grid;min-width:0;align-content:center;gap:var(--space-1)}.overview-charger-identity__title{display:block;min-width:0}.overview-charger-identity h3{min-width:0;flex:1 1 auto;margin:0;overflow:hidden;color:var(--ink);font-size:var(--font-size-lg);font-weight:680;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.overview-charger-identity__metadata{display:grid;max-height:calc(3 * 1.35em + 2 * var(--space-1));min-height:0;align-content:start;gap:var(--space-1);overflow:hidden}.overview-charger-identity__metadata>span{min-width:0;overflow:hidden;color:var(--ink-muted);font-size:var(--font-size-sm);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.overview-connection-status{width:fit-content}.overview-kpi-skeleton.ui-loading-skeleton,.overview-row-skeleton.ui-loading-skeleton{display:inline-block;height:.85em;border-radius:999px;vertical-align:middle}.overview-kpi-skeleton--value.ui-loading-skeleton{width:3.25rem}.overview-kpi-skeleton--energy.ui-loading-skeleton{width:4.75rem}.overview-kpi-skeleton--context.ui-loading-skeleton{width:6rem;height:.75em}.overview-row-skeleton--title.ui-loading-skeleton{width:min(12rem,82%)}.overview-row-skeleton--summary.ui-loading-skeleton{width:min(10rem,68%)}.overview-row-skeleton--summary-secondary.ui-loading-skeleton{width:min(8rem,56%)}.overview-row-skeleton--status.ui-loading-skeleton{width:4.25rem}.overview-row-skeleton--last-seen.ui-loading-skeleton{width:6rem}.overview-row-skeleton--activity.ui-loading-skeleton{width:min(12rem,78%)}.overview-row-skeleton--soc.ui-loading-skeleton{width:2rem;height:3.25rem;border-radius:var(--radius-sm)}.optimizer-kpi-strip__item:not([data-loading]) .ui-kpi-strip__copy{animation:overview-content-reveal .18s ease-out both}.overview-content-slide{display:inline-block;max-width:100%;animation:overview-content-slide-in .24s cubic-bezier(.22,1,.36,1) both}@keyframes overview-content-slide-in{0%{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}@keyframes overview-content-reveal{0%{opacity:.55}to{opacity:1}}.overview-connection-status{flex:0 0 auto;min-height:1.35em;overflow:hidden;font-size:var(--font-size-sm);font-weight:650}.overview-charger-row[data-live-stream-state=stale] :is(.overview-charger-identity__metadata,.overview-session-progress,.overview-session-progress__soc){opacity:.58;transition:opacity .18s ease}.overview-session-progress{display:grid;min-width:0;grid-template-rows:1.35em 1.35em;gap:var(--space-2);overflow:hidden}.overview-session-progress__main{display:flex;width:100%;min-width:0;height:1.35em;min-height:0;align-items:center;gap:0;opacity:1;transition:opacity .18s ease,visibility 0s linear}.overview-session-progress__main[data-empty=true],.overview-session-progress__soc[data-empty=true]{opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s linear .18s}.overview-session-timeline{position:relative;height:.625rem;min-width:0;flex:1 1 auto;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--ink-muted) 8%,transparent)}.overview-session-timeline[data-loading=true]{border-color:transparent;background:linear-gradient(100deg,color-mix(in srgb,var(--text-muted) 10%,transparent) 20%,color-mix(in srgb,var(--text-muted) 18%,transparent),color-mix(in srgb,var(--text-muted) 10%,transparent) 64%);background-size:240% 100%;animation:ui-loading-shimmer 1.7s ease-in-out infinite}.overview-session-timeline__elapsed,.overview-session-timeline__segment{position:absolute;top:0;bottom:0;transition:left .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1)}.overview-session-timeline__elapsed{z-index:1;left:0;background:color-mix(in srgb,var(--offline) 18%,transparent);transform-origin:left center;animation:overview-progress-grow .42s cubic-bezier(.22,1,.36,1) both}.overview-session-timeline__segment{z-index:2}@keyframes overview-progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.overview-session-timeline__segment[data-progress-kind=charging]{background:linear-gradient(110deg,var(--chart-usage) 0%,var(--accent-secondary) 100%)}.overview-session-timeline__segment[data-progress-state=upcoming]{opacity:.3}.overview-session-timeline__progress-glow{position:absolute;z-index:3;top:0;bottom:0;left:0;border-radius:999px 0 0 999px;box-shadow:inset 0 0 .2rem color-mix(in srgb,var(--chart-usage) 22%,transparent),0 0 .25rem color-mix(in srgb,var(--chart-usage) 16%,transparent);pointer-events:none;transition:width .42s cubic-bezier(.22,1,.36,1)}.overview-session-timeline__marker{position:absolute;z-index:4;top:-.125rem;bottom:-.125rem;width:2px;border-radius:999px;background:var(--text-primary, var(--ink));transform:translate(-1px);transition:left .42s cubic-bezier(.22,1,.36,1)}.overview-session-progress__soc{display:grid;width:2.75rem;min-width:2.75rem;height:4rem;place-items:center;color:var(--ink);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;font-weight:720;opacity:1;text-align:center;transition:opacity .18s ease,visibility 0s linear}.overview-soc-battery{position:relative;display:block;width:2.25rem;height:4rem}.overview-soc-battery__body{position:absolute;top:.25rem;left:50%;width:1.6rem;height:2.75rem;overflow:hidden;border:2px solid color-mix(in srgb,var(--ink-muted) 52%,var(--line));border-radius:.4rem;background:color-mix(in srgb,var(--ink-muted) 5%,transparent);transform:translate(-50%);transition:border-color .36s ease,box-shadow .36s ease}.overview-soc-battery:before{position:absolute;top:0;left:50%;width:.7rem;height:.3rem;border-radius:.25rem .25rem 0 0;background:color-mix(in srgb,var(--ink-muted) 52%,var(--line));content:"";transform:translate(-50%);transition:background-color .36s ease,box-shadow .36s ease}.overview-soc-battery__fill{position:absolute;z-index:2;top:2px;right:2px;bottom:2px;left:2px;overflow:hidden;border-radius:.25rem;background:linear-gradient(180deg,var(--accent-secondary) 0%,var(--chart-usage) 100%);clip-path:inset(calc(100% - var(--overview-soc-fill, 0%)) 0 0 round .25rem);transition:clip-path .62s cubic-bezier(.22,1,.36,1);will-change:clip-path}.overview-soc-battery__fill:after{position:absolute;z-index:1;top:-55%;right:0;bottom:-55%;left:0;background:linear-gradient(180deg,transparent 34%,color-mix(in srgb,white 42%,transparent) 50%,transparent 66%);content:"";opacity:0;pointer-events:none;transform:translateY(55%)}.overview-soc-battery[data-charging=true] .overview-soc-battery__fill:after{opacity:.55;animation:overview-soc-charging-glow 1.8s ease-in-out infinite}@keyframes overview-soc-charging-glow{0%{transform:translateY(55%)}to{transform:translateY(-55%)}}.overview-soc-battery__bolt{position:absolute;top:50%;left:50%;width:.95rem;height:1.55rem;transform:translate(-50%,-50%)}.overview-soc-battery__bolt path{fill:currentColor}.overview-soc-battery__bolt--empty{z-index:1;color:color-mix(in srgb,var(--ink-muted) 68%,var(--line))}.overview-soc-battery__bolt--filled{z-index:2;color:#fff;filter:drop-shadow(0 1px 2px rgb(4 30 66 / 28%))}.overview-soc-battery__value{position:absolute;bottom:0;left:50%;width:calc(100% + .7rem);font-size:.6875rem;font-weight:500;line-height:.8rem;text-align:center;transform:translate(-50%)}.overview-soc-battery[data-complete=true]:before{background:var(--accent-secondary);box-shadow:0 0 .55rem color-mix(in srgb,var(--accent-secondary) 48%,transparent)}.overview-soc-battery[data-complete=true] .overview-soc-battery__body{border-color:color-mix(in srgb,var(--accent-secondary) 84%,white);box-shadow:0 0 .2rem color-mix(in srgb,var(--accent-secondary) 58%,transparent),0 0 .7rem color-mix(in srgb,var(--chart-usage) 32%,transparent)}.overview-session-progress__activity{display:block;min-width:0;height:1.35em;min-height:1.35em;overflow:hidden;color:var(--ink);font-size:var(--font-size-sm);font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;transition:color .18s ease}.overview-session-progress__activity>.overview-content-slide{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-session-progress__activity[data-tone=success]{color:var(--success)}.overview-session-progress__activity[data-tone=info]{color:var(--informational)}.overview-session-progress__activity[data-tone=warning]{color:var(--warning)}.overview-session-progress__activity[data-tone=danger]{color:var(--danger)}.overview-session-progress__activity[data-tone=muted]{color:var(--ink-muted)}.overview-row-actions{display:flex;justify-content:flex-end;gap:var(--space-1)}.overview-schedule-input-backdrop{align-items:center}.overview-schedule-input{--overview-schedule-input-border: var(--border-default);--overview-schedule-input-background: var(--bg-input);display:grid;box-sizing:border-box;width:min(42rem,calc(100vw - 2 * var(--space-5)));min-width:0;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);outline:0;background:var(--bg-surface);box-shadow:var(--shadow-dialog)}.overview-schedule-input__header{display:none}.overview-schedule-input__body{display:grid;align-content:start;gap:var(--space-2)}.overview-schedule-input__current-departure{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-1) var(--space-3);margin:0;padding-inline:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4}.overview-schedule-input__current-departure>:last-child{color:var(--text-primary);font-weight:700}.overview-schedule-input__current-departure-value{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:0 var(--space-1);text-align:end}.overview-schedule-input__field{display:grid;box-sizing:border-box;width:100%;min-width:0;height:3.5rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding-inline-start:var(--space-4);border-radius:var(--radius-lg);color:var(--text-secondary);background:var(--overview-schedule-input-background);box-shadow:inset 0 0 0 1px var(--overview-schedule-input-border);transition:background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.overview-schedule-input__field:focus-within{--overview-schedule-input-border: var(--accent-primary);box-shadow:inset 0 0 0 1px var(--overview-schedule-input-border),var(--focus-ring)}.overview-schedule-input__field[data-state=valid]{--overview-schedule-input-border: var(--success);--overview-schedule-input-background: var(--success-soft)}.overview-schedule-input__field[data-state=invalid],.overview-schedule-input__field[data-state=unsupported]{--overview-schedule-input-border: var(--danger);--overview-schedule-input-background: var(--danger-soft)}#root .overview-schedule-input__field>input{width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;color:var(--text-primary);background:transparent;box-shadow:none;font:inherit;font-size:var(--font-size-md);font-weight:600;line-height:1.25}#root .overview-schedule-input__field>input::placeholder{color:var(--text-muted);font-weight:500;opacity:1}.overview-schedule-input__help{display:flex;height:100%;align-items:center}#root .overview-schedule-input__help-button.ui-inline-help__button{width:3.5rem;min-width:3.5rem;height:100%;min-height:100%;padding:0;border:0;border-inline-start:1px solid var(--overview-schedule-input-border);border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:transparent}.overview-schedule-input__body>.departure-schedule-preview{padding-inline:var(--space-1)}@media(max-width:768px),(max-width:932px)and (pointer:coarse){.overview-schedule-input__header.ui-dialog-form-header{display:grid}}.overview-charger-row__end{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:var(--space-3)}.overview-row-action{width:3rem;min-width:3rem;height:3rem;min-height:3rem;padding:0;border-color:transparent;background:transparent}.overview-row-action--pin[data-pinned=true]{color:var(--accent-primary);background:var(--color-accent-soft)}@media(max-width:768px){.welcome-dialog,.departure-schedule-dialog,.delete-charger-dialog{--ui-dialog-header-padding: var(--space-4);--ui-dialog-body-padding: var(--space-5) var(--space-4);--ui-dialog-footer-padding: var(--space-4) var(--ui-dialog-mobile-padding-right) calc(var(--space-4) + env(safe-area-inset-bottom, 0px)) var(--ui-dialog-mobile-padding-left)}.app-data-table-wrap--overview{border-block:0}.app-data-table-wrap--overview .app-data-table{min-width:0}.app-data-table-wrap--overview .app-data-table tbody{display:grid}.app-data-table-wrap--overview .overview-charger-row{position:relative;display:grid;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-areas:"charger" "actions" "progress";grid-template-rows:auto auto auto;align-items:start;gap:var(--space-2) var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--table-divider);background:transparent}.app-data-table-wrap--overview .overview-charger-row>td{display:block;width:100%;height:auto;padding:0}.app-data-table-wrap--overview .overview-charger-row>td:before{display:none}.overview-charger-row__charger{grid-area:charger}.overview-charger-row__progress{grid-area:progress}.overview-charger-row__actions{grid-area:actions;align-self:start}.overview-charger-row__end{flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:var(--space-2)}.overview-charger-identity{display:block}.overview-charger-identity__icon{display:none}.overview-charger-identity__copy{display:grid;gap:var(--space-1)}.overview-charger-identity h3{font-size:var(--font-size-md);line-height:1.3;white-space:normal}.overview-charger-identity__metadata{max-height:calc(3 * 1.3em + 2 * var(--space-1));min-height:0}.overview-charger-identity__metadata>span{font-size:var(--font-size-xs);line-height:1.3}.overview-connection-status{font-size:var(--font-size-xs);line-height:1.3}.overview-session-progress{grid-template-rows:1.4em 1.35em;gap:var(--space-2)}.overview-session-progress__activity{display:block;height:1.4em;min-height:1.4em;font-size:var(--font-size-sm);line-height:1.4}.overview-session-progress__main{gap:0}.overview-row-actions{justify-content:flex-start;gap:0}.overview-row-action{width:var(--control-height);min-width:var(--control-height);height:var(--control-height);min-height:var(--control-height)}.overview-schedule-input{width:calc(100vw - 2 * var(--space-4));padding:var(--space-3);border-radius:var(--radius-lg)}.overview-schedule-input__field{height:3.25rem;gap:var(--space-2);padding-inline-start:var(--space-3)}#root .overview-schedule-input__help-button.ui-inline-help__button{width:3.25rem;min-width:3.25rem}}@media(prefers-reduced-motion:reduce){.overview-content-slide,.overview-charger-identity__icon,.overview-session-progress__activity,.overview-session-progress__main,.overview-session-progress__soc,.overview-session-timeline__elapsed,.overview-session-timeline__segment,.overview-session-timeline__progress-glow,.overview-soc-battery__fill,.overview-soc-battery__fill:after,.optimizer-kpi-strip__item:not([data-loading]) .ui-kpi-strip__copy,.overview-session-timeline[data-loading=true]{animation:none;transition:none}.overview-soc-battery__fill:after{opacity:0}.overview-session-progress__main[data-empty=true],.overview-session-progress__soc[data-empty=true],.overview-session-timeline__marker{transition:none}}@media(max-width:430px){.overview-charger-identity__metadata>span{white-space:normal}}.app-data-table-wrap--admin-events{overflow-x:auto;overflow-y:visible}.admin-events-table{--admin-events-grid-columns: minmax(7rem, .7fr) minmax(18rem, 2fr) minmax(9rem, .8fr) minmax(13rem, 1.1fr) 4rem;display:block;width:100%;min-width:52rem;border-collapse:separate;border-spacing:0;table-layout:auto}.admin-events-table>colgroup{display:none}.admin-events-table>thead,.admin-events-table>tbody{display:block;width:100%;min-width:0}.admin-events-table>thead>.admin-events-table__grid-row,.admin-events-table>tbody>.admin-events-table__grid-row{position:static;display:grid;width:100%;min-width:0;height:auto;margin:0;grid-template-columns:var(--admin-events-grid-columns);transform:none}.admin-events-table>thead>tr>th,.admin-events-table>tbody>.admin-events-table__event-row>td{box-sizing:border-box;width:auto;min-width:0;height:auto;overflow:hidden;border:0;border-bottom:1px solid var(--app-divider, var(--line));padding:var(--space-3);text-overflow:ellipsis;white-space:nowrap}.admin-events-table>thead>tr>th{color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:650;line-height:1.3}.admin-events-table>tbody>.admin-events-table__event-row{align-items:center;cursor:pointer}.admin-events-table>tbody>.admin-events-table__event-row>td{align-self:stretch;align-content:center;vertical-align:top}.admin-events-table>tbody>.admin-events-table__event-row>td:before{display:none}.admin-events-table>tbody>.admin-events-table__event-row[data-expanded=true]>td,.admin-events-table>tbody>.admin-events-table__details-row>td{background:var(--table-row-selected)}.admin-events-table__event-toggle{display:grid;width:100%;min-width:0;height:auto;grid-template-columns:15px minmax(0,1fr);align-items:start;gap:var(--space-2);overflow:hidden;border:0;border-radius:0;padding:0;color:inherit;background:transparent;box-shadow:none;text-align:left}@media(hover:hover)and (pointer:fine){.admin-events-table__event-toggle:hover{border:0;background:transparent}}.admin-events-table__event-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-primary) 28%,transparent);outline-offset:2px}.admin-events-table__event-toggle>svg{margin-top:1px}.admin-events-table__event-toggle>span{display:grid;min-width:0;gap:3px}.admin-events-table__event-title,.admin-events-table__event-description,.admin-events-table__event-type,.admin-events-table__event-type code{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;white-space:nowrap;word-break:normal}.admin-events-table__event-title{color:var(--ink);font-size:var(--font-size-sm);font-weight:620;line-height:1.35}.admin-events-table__event-description{color:var(--ink-muted);font-size:var(--font-size-sm);font-weight:450;line-height:1.4}.admin-events-table__event-type{margin-top:1px;color:var(--ink-muted);font-size:var(--font-size-xs);line-height:1.35}.admin-events-table__event-type code,.admin-events-table__context-meta code{color:inherit;font-family:var(--font-mono);font-size:inherit;font-weight:500}.admin-events-table__time,.admin-events-table__time time,.admin-events-table__context,.admin-events-table__context>strong,.admin-events-table__context-meta,.admin-events-table__context-meta>span,.admin-events-table__context-meta code,.admin-events-table__actions,.admin-events-table__actions>*{min-width:0}.admin-events-table__time time{display:block;overflow:hidden;color:var(--ink);font-size:var(--font-size-sm);font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.admin-events-table__context{display:grid;overflow:hidden;gap:3px}.admin-events-table__context>strong,.admin-events-table__context-meta>span,.admin-events-table__context-meta code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-events-table__context>strong{color:var(--ink);font-size:var(--font-size-sm);font-weight:550;line-height:1.35}.admin-events-table__context-meta{display:flex;overflow:hidden;gap:var(--space-2);color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:450;line-height:1.35;white-space:nowrap}.admin-events-table__context-meta>span+span:before{margin-right:var(--space-2);content:"·"}.admin-events-table>thead>tr>th:last-child,.admin-events-table__actions{text-align:right}.admin-events-table__actions{display:flex;align-items:center;justify-content:flex-end}.admin-events-table__details-row{position:static;align-items:start;height:auto;overflow:visible;transform:none}.admin-events-table>tbody>.admin-events-table__details-row>td{position:static;display:block;width:auto;min-width:0;height:auto;grid-column:1 / -1;overflow:visible;border:0;border-bottom:1px solid var(--app-divider, var(--line));padding:0 var(--space-3) var(--space-3)}.admin-events-table__details-panel{position:static;display:grid;min-width:0;height:auto;gap:var(--space-3);overflow:visible;border-top:1px solid var(--line);padding-top:var(--space-3)}.admin-events-table__details-heading{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.admin-events-table__details-heading>span{color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:700}.admin-events-table__details-heading>code{min-width:0;color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;overflow-wrap:anywhere}.admin-events-table__details-grid{display:grid;min-width:0;grid-template-columns:minmax(9rem,12rem) minmax(0,1fr);margin:0;border:1px solid var(--line);border-bottom:0}.admin-events-table__details-grid>dt,.admin-events-table__details-grid>dd{min-width:0;margin:0;border-bottom:1px solid var(--line);padding:var(--space-2)}.admin-events-table__details-grid>dt{color:var(--ink-muted);background:var(--color-surface-subtle);font-size:var(--font-size-xs);font-weight:650;overflow-wrap:anywhere}.admin-events-table__details-grid>dd{border-left:1px solid var(--line);color:var(--ink);font-size:var(--font-size-xs);font-weight:500}.admin-events-table__details-grid :is(code,pre){display:block;width:100%;max-width:100%;min-width:0;margin:0;overflow:visible;color:inherit;font-family:var(--font-mono);font-size:inherit;font-weight:inherit;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.usage-graph__summary{position:absolute;z-index:3;top:72px;right:var(--space-4);left:var(--space-4);display:flex;align-items:flex-end}.usage-graph__total,.usage-graph__savings strong{color:var(--success);font-size:var(--font-size-xl);font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.025em;line-height:1.15}.usage-graph__total{display:block;min-width:6rem;min-height:1.5rem}.usage-graph__financials{display:flex;min-width:7rem;min-height:2.75rem;align-items:flex-end;justify-content:flex-end;gap:var(--space-4);margin-inline-start:auto}.usage-graph__financials[data-empty=true]{visibility:hidden}.usage-graph__summary-placeholder{display:grid;width:100%;justify-items:end;gap:var(--space-1)}.usage-graph__summary-skeleton.ui-loading-skeleton{height:.75rem;border-radius:var(--radius-xs)}.usage-graph__summary-skeleton--total.ui-loading-skeleton{width:5.5rem;height:1.5rem}.usage-graph__summary-skeleton--label.ui-loading-skeleton{width:4.5rem}.usage-graph__summary-skeleton--value.ui-loading-skeleton{width:5.25rem;height:1.5rem}.usage-graph__savings{display:grid;min-width:0;text-align:end}.usage-graph__savings span{color:var(--ink-muted);font-size:var(--font-size-xs);font-weight:550;line-height:1.2}.usage-graph__y-axis text,.usage-graph__cost-axis text{fill:var(--chart-axis);font-size:12px;font-weight:550;font-variant-numeric:tabular-nums}.usage-graph__trend{pointer-events:none}.usage-graph__trend path{fill:none;stroke:var(--chart-usage);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.usage-graph__trend circle{fill:var(--chart-usage);stroke:var(--bg-app);stroke-width:2}.usage-graph__cumulative-cost{pointer-events:none}.usage-graph__cumulative-cost path{fill:none;stroke:var(--chart-price);stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.usage-graph__cumulative-cost circle{fill:var(--chart-price);stroke:var(--bg-app);stroke-width:2}.usage-graph__cumulative-cost--without-optimizer path{stroke:var(--chart-reference);stroke-dasharray:6 5}.usage-graph__cumulative-cost--without-optimizer circle{fill:var(--chart-reference)}:root .app-data-table-wrap--sessions .app-data-table>tbody>tr>td{overflow:visible!important;text-overflow:clip!important;white-space:normal!important}.app-data-table-wrap--sessions :is(.app-data-primary strong,.app-data-primary span,time){overflow:visible;text-overflow:clip;white-space:normal}@media(max-width:768px){.charging-sessions-usage-panel{width:calc(100% + var(--space-4) + var(--space-4));height:280px;min-height:280px;margin-inline:calc(-1 * var(--space-4));overflow:hidden}.charging-sessions-usage-panel .usage-graph{display:grid;grid-template-rows:auto minmax(0,1fr);gap:0}.usage-graph__summary{position:static;display:flex;align-items:flex-end;padding:var(--space-2) var(--space-4) var(--space-1)}.usage-graph__total,.usage-graph__savings strong{font-size:var(--font-size-xl);font-weight:700}.usage-graph__financials{gap:var(--space-3)}@media(max-width:480px){.usage-graph__summary{padding-inline:var(--space-3)}.usage-graph__total,.usage-graph__savings strong{font-size:var(--font-size-lg)}.usage-graph__financials{gap:var(--space-2)}.usage-graph__savings span{font-size:.625rem;line-height:1.05}}.charging-sessions-usage-panel .usage-graph__chart-frame{min-height:0;margin:0}.usage-graph__axis text,.usage-graph__axis-measurement{font-size:10px;font-weight:550}.usage-graph__y-axis text,.usage-graph__cost-axis text{font-size:9px;font-weight:500}.usage-graph__grid line{stroke-width:.75}.usage-graph__bars rect{opacity:.88}.usage-graph__trend path{stroke-width:2.25}.usage-graph__cumulative-cost path{stroke-width:2}.app-data-table-wrap--sessions[data-mobile-layout=compact] .app-data-table .session-row{gap:8px 16px;padding:14px 0 15px}.app-data-table-wrap--sessions .session-row__primary button{gap:4px;overflow:visible;text-align:left}.app-data-table-wrap--sessions .session-row__primary strong,.app-data-table-wrap--sessions [data-mobile-role=value] .app-data-value{overflow:visible;font-size:var(--font-size-sm);font-weight:650;text-overflow:clip;white-space:normal}.app-data-table-wrap--sessions .session-row__primary span{overflow:visible;color:var(--text-secondary);font-size:var(--font-size-xs);text-overflow:clip;white-space:normal}.session-row__energy,.session-row__energy-compact{font-size:var(--font-size-sm);font-weight:650}.session-row__time-compact{flex-wrap:wrap;gap:2px 6px;overflow:visible;font-size:var(--font-size-xs);line-height:1.45}.app-data-table-wrap--sessions .session-row__time-default{display:none}:root .app-data-table-wrap--sessions[data-mobile-layout=compact] .session-row [data-mobile-role=meta]{display:block;overflow:visible!important;text-overflow:clip!important;white-space:normal!important}.session-row__time-range,.session-row__optimizer-compact{overflow:visible;text-overflow:clip;white-space:normal}.session-row__time-range{flex:0 1 auto}.session-row__optimizer-compact{flex:0 0 auto}.mobile-bottom-navigation{--mobile-nav-padding-inline: 4px;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--bg-canvas);backdrop-filter:none}.mobile-bottom-navigation__indicator{left:4px;width:calc((100% - 8px)/5)}.mobile-bottom-navigation[data-active-index="4"] .mobile-bottom-navigation__indicator{transform:translate(400%)}.mobile-bottom-navigation__item{grid-template-rows:var(--mobile-nav-icon-row) auto;gap:var(--mobile-nav-item-gap);padding-inline:2px;font-size:var(--mobile-nav-label-size);line-height:var(--mobile-nav-label-line-height)}.mobile-bottom-navigation__icon>svg{width:1.625rem;height:1.625rem}:is(.welcome-dialog,.charger-details-dialog,.user-settings-dialog,.subscription-dialog){--ui-dialog-title-font-size: var(--font-size-xl)}:is(.message-conversation-dialog__heading,.grid-provider-dialog){--ui-dialog-title-font-size: var(--font-size-lg)}.welcome-dialog h2,.upgrade-plan__price strong,.subscription-plan-card__price strong{font-size:var(--font-size-xl)}.upgrade-plan h3,.subscription-plan-card__header h5{font-size:var(--font-size-lg)}.subscription-plan-selector__header h3{font-size:var(--font-size-md)}}[data-ui-modal-backdrop=true]{--ui-modal-gutter: 24px;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;width:100%;height:100vh;height:100dvh;min-height:0;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:none;box-sizing:border-box;padding:calc(var(--ui-modal-gutter) + env(safe-area-inset-top)) calc(var(--ui-modal-gutter) + env(safe-area-inset-right)) calc(var(--ui-modal-gutter) + env(safe-area-inset-bottom)) calc(var(--ui-modal-gutter) + env(safe-area-inset-left))}[data-ui-modal-surface=true]{--ui-dialog-padding: 24px;--ui-dialog-radius: var(--radius-lg, 16px);position:relative;max-width:100%;max-height:100%;min-height:0;overscroll-behavior:contain;box-sizing:border-box;border:1px solid var(--border-default, var(--line));border-radius:var(--ui-dialog-radius);color:var(--text-primary, var(--ink));background:var(--bg-surface-elevated, var(--white));box-shadow:var(--shadow-dialog, 0 24px 70px rgb(0 0 0 / 28%));-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}[data-ui-modal-surface=true][data-ui-modal-layout=surface-scroll]{overflow:auto;padding:var(--ui-dialog-padding)}[data-ui-modal-surface=true][data-ui-modal-layout=body-scroll]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}[data-ui-modal-surface=true][data-ui-modal-layout=body-scroll]>.ui-dialog-header{padding:var(--ui-dialog-header-padding, var(--ui-dialog-padding))}[data-ui-modal-surface=true][data-ui-modal-layout=viewport]{display:flex;min-height:0;flex-direction:column;overflow:hidden;padding:0}[data-ui-modal-surface=true]>.ui-dialog-body{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:var(--ui-dialog-body-padding, var(--ui-dialog-padding));-webkit-overflow-scrolling:touch}[data-ui-modal-surface=true]>.ui-dialog-footer{padding:var(--ui-dialog-footer-padding, var(--ui-dialog-padding))}.ui-confirmation-dialog-footer{display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-end;gap:var(--ui-confirmation-dialog-action-gap, 8px)}.ui-confirmation-dialog-footer>:where(button,a){width:auto;min-width:0;flex:0 0 auto}.ui-dialog-header{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-areas:"copy";align-items:center;gap:12px;box-sizing:border-box;padding:var(--ui-dialog-header-padding, 0)}.ui-dialog-header[data-has-leading=true][data-has-actions=true]{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"leading copy actions"}.ui-dialog-header[data-has-leading=true]:not([data-has-actions]){grid-template-columns:auto minmax(0,1fr);grid-template-areas:"leading copy"}.ui-dialog-header[data-has-actions=true]:not([data-has-leading]){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"copy actions"}.ui-dialog-header__leading{display:grid;min-width:0;grid-area:leading;place-items:center}.ui-dialog-header__leading>*{margin:0}.ui-dialog-header__copy{display:grid;min-width:0;grid-area:copy;gap:4px}.ui-dialog-header__copy>h1,.ui-dialog-header__copy>h2,.ui-dialog-header__copy>p{min-width:0;margin:0}.ui-dialog-header__actions{display:flex;min-width:0;grid-area:actions;align-items:center;justify-content:flex-end;gap:4px}.ui-dialog-header__mobile-start,.ui-dialog-header__mobile-end{display:none}.ui-dialog-header .ui-dialog-header-title{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ui-dialog-title-color, var(--text-primary, var(--ink)));font-family:var( --ui-dialog-title-font-family, var(--font-sans, "Avenir Next", "Inter", sans-serif) );font-size:var(--ui-dialog-title-font-size, var(--font-size-2xl, 30px));font-weight:var(--ui-dialog-title-font-weight, 700);letter-spacing:var(--ui-dialog-title-letter-spacing, 0);line-height:var(--ui-dialog-title-line-height, 1.12)}.ui-dialog-header .ui-dialog-header-description{min-width:0;margin:0;overflow-wrap:anywhere;color:var( --ui-dialog-description-color, var(--text-secondary, var(--ink-muted)) );font-family:var( --ui-dialog-description-font-family, var(--font-sans, "Avenir Next", "Inter", sans-serif) );font-size:var(--ui-dialog-description-font-size, var(--font-size-sm, 15px));font-weight:var(--ui-dialog-description-font-weight, 450);letter-spacing:var(--ui-dialog-description-letter-spacing, normal);line-height:var(--ui-dialog-description-line-height, 1.45)}.ui-dialog-header .ui-dialog-header-icon{display:grid;width:var(--ui-dialog-icon-size, 45px);height:var(--ui-dialog-icon-size, 45px);flex:0 0 auto;place-items:center;border-radius:var(--ui-dialog-icon-radius, 14px)}.ui-dialog-header .ui-dialog-header-icon>svg{width:var(--ui-dialog-icon-glyph-size, 20px);height:var(--ui-dialog-icon-glyph-size, 20px)}@media(max-width:720px){[data-ui-modal-backdrop=true]{--ui-modal-gutter: 8px}[data-ui-modal-surface=true]:not([data-ui-modal-mobile-presentation=intrinsic]){--ui-dialog-padding: 16px;--ui-dialog-radius: var(--radius-md, 14px)}}@media(max-width:768px),(max-width:932px)and (pointer:coarse){[data-ui-modal-backdrop=true]{--ui-modal-gutter: 0px;align-items:stretch;justify-content:stretch;padding:0}.ui-confirmation-dialog-footer{align-items:center;flex-direction:row}.ui-confirmation-dialog-footer>:where(button,a){--button-height: 44px;--button-padding-inline: 12px}[data-ui-modal-surface=true]:not([data-ui-modal-mobile-presentation=intrinsic]){--ui-dialog-mobile-padding-left: calc(16px + env(safe-area-inset-left)) ;--ui-dialog-mobile-padding-right: calc(16px + env(safe-area-inset-right)) ;--ui-dialog-mobile-padding-bottom: calc(16px + env(safe-area-inset-bottom)) ;--ui-dialog-radius: 0;position:fixed;top:0;right:0;bottom:0;left:0;width:100%!important;height:100vh!important;height:100dvh!important;min-height:0!important;max-width:none!important;max-height:none!important;align-content:start;margin:0!important;border:0;border-radius:0;box-shadow:none;animation:none}[data-ui-modal-backdrop=true][data-ui-modal-mobile-presentation=intrinsic]{--ui-modal-gutter: clamp(16px, 5vw, 24px);align-items:center;justify-content:center;padding:calc(var(--ui-modal-gutter) + env(safe-area-inset-top)) calc(var(--ui-modal-gutter) + env(safe-area-inset-right)) calc(var(--ui-modal-gutter) + env(safe-area-inset-bottom)) calc(var(--ui-modal-gutter) + env(safe-area-inset-left))}[data-ui-modal-backdrop=true]>[data-ui-modal-surface=true][data-ui-modal-layout=surface-scroll]{overflow-x:hidden;overflow-y:auto;padding:0 var(--ui-dialog-mobile-padding-right) var(--ui-dialog-mobile-padding-bottom) var(--ui-dialog-mobile-padding-left)}[data-ui-modal-backdrop=true]>[data-ui-modal-surface=true][data-ui-modal-layout=body-scroll]{overflow:hidden;padding:0}[data-ui-modal-surface=true]:not([data-ui-modal-mobile-presentation=intrinsic])>.ui-dialog-header{position:sticky;z-index:10;top:0;flex:0 0 auto;margin-right:0;margin-left:0;padding:calc(8px + env(safe-area-inset-top)) var(--ui-dialog-mobile-padding-right) 8px var(--ui-dialog-mobile-padding-left);border-bottom:1px solid var(--border-subtle, var(--line));background:var(--bg-surface-elevated, var(--white))}[data-ui-modal-surface=true]:not([data-ui-modal-mobile-presentation=intrinsic])>.ui-dialog-form-header{min-height:calc(88px + env(safe-area-inset-top));grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"copy copy" "mobile-start mobile-end";column-gap:8px;row-gap:4px}.ui-dialog-form-header>.ui-dialog-header__leading,.ui-dialog-form-header>.ui-dialog-header__actions{display:none}.ui-dialog-form-header>.ui-dialog-header__mobile-start,.ui-dialog-form-header>.ui-dialog-header__mobile-end{display:flex;min-width:0;align-items:center}.ui-dialog-form-header>.ui-dialog-header__mobile-start{grid-area:mobile-start;justify-content:flex-start}.ui-dialog-form-header>.ui-dialog-header__mobile-end{grid-area:mobile-end;justify-content:flex-end}.ui-dialog-form-header .ui-dialog-header__copy{justify-items:center;text-align:center}.ui-dialog-form-header .ui-dialog-header-title{overflow:hidden;font-size:var(--font-size-md, 17px);font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.ui-dialog-form-header .ui-dialog-header-description{display:-webkit-box;overflow:hidden;font-size:var(--font-size-xs, 13px);line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:1}.ui-dialog-form-header :is(.ui-dialog-form-header__cancel,.ui-dialog-form-header__primary){--button-height: 36px;--button-padding-inline: 8px;min-width:0;font-size:var(--font-size-sm, 15px);white-space:nowrap}.ui-dialog-form-header__cancel.ui-button{color:var(--text-secondary, var(--ink-muted))}.ui-dialog-form-footer{display:none!important}[data-ui-modal-surface=true][data-ui-modal-layout=surface-scroll]>.ui-dialog-header{width:calc(100% + var(--ui-dialog-mobile-padding-left) + var(--ui-dialog-mobile-padding-right));margin-right:calc(0px - var(--ui-dialog-mobile-padding-right));margin-left:calc(0px - var(--ui-dialog-mobile-padding-left))}[data-ui-modal-surface=true]>.ui-dialog-body{padding:16px var(--ui-dialog-mobile-padding-right) var(--ui-dialog-mobile-padding-bottom) var(--ui-dialog-mobile-padding-left)}[data-ui-modal-surface=true]:not([data-ui-modal-layout=viewport]) .session-detail-optimizer-data__payload pre,[data-ui-modal-surface=true]:not([data-ui-modal-layout=viewport]) .ui-table-frame{max-height:none;overflow-y:visible}[data-ui-modal-surface=true]:not([data-ui-modal-layout=viewport]) .session-detail-optimizer-data__payload pre,[data-ui-modal-surface=true]:not([data-ui-modal-layout=viewport]) .ui-table-frame{overflow-x:auto}[data-ui-modal-surface=true][data-ui-modal-layout=viewport]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;width:100%!important;height:100vh!important;height:100dvh!important;min-height:0!important;max-height:none!important;flex-direction:column;overflow:hidden;padding:0}[data-ui-modal-surface=true][data-ui-modal-layout=viewport]>.ui-dialog-header{position:relative;top:auto;margin-inline:0}}#root :where(button){font-family:var(--font-sans)}#root :where(.ui-button,.settings-button,.app-button,.grid-provider-action-button,.data-export-action,.data-id-token-clear,.app-row-action,.grid-provider-row-icon,.grid-provider-icon-action,.dialog-suggestion-button,.suggestion-button,.logout-button,.user-menu-button,.upgrade-button,.scan-rfid-button,.message-reply-form__send,.fixed-time-profile__add,.fixed-time-profile__remove,.fixed-time-profile__drag-handle,.station-card__pin,.admin-events-table__feedback,.admin-events-table__delete,.departure-schedule-help__button,.button,.theme-toggle,.calculator-breakdown-trigger){position:relative;isolation:isolate;display:inline-flex;min-height:var(--button-height);align-items:center;justify-content:center;gap:var(--button-gap);padding-inline:var(--button-padding-inline);border:1px solid var(--border-default);border-radius:var(--button-radius);color:var(--text-primary);background:var(--bg-surface-secondary);box-shadow:none;filter:none;font-family:var(--font-sans);font-size:var(--button-font-size);font-weight:var(--button-font-weight);line-height:1;text-decoration:none;white-space:nowrap;transform:none;cursor:pointer;transition:color var(--button-transition-duration) var(--ease-standard),border-color var(--button-transition-duration) var(--ease-standard),background var(--button-transition-duration) var(--ease-standard),background-position var(--button-transition-duration) var(--ease-standard),opacity var(--button-transition-duration) var(--ease-standard),transform var(--button-transition-duration) var(--ease-standard)}#root :where(.ui-button,.settings-button,.app-button,.grid-provider-action-button,.data-export-action,.data-id-token-clear,.app-row-action,.grid-provider-row-icon,.grid-provider-icon-action,.dialog-suggestion-button,.suggestion-button,.logout-button,.user-menu-button,.upgrade-button,.scan-rfid-button,.message-reply-form__send,.fixed-time-profile__add,.fixed-time-profile__remove,.fixed-time-profile__drag-handle,.station-card__pin,.admin-events-table__feedback,.admin-events-table__delete,.departure-schedule-help__button,.button,.theme-toggle,.calculator-breakdown-trigger)>svg,#root :where(.ui-button)>.ui-button__content>svg{width:var(--button-icon-size);height:var(--button-icon-size);flex:0 0 auto;stroke-width:2}#root :where(.ui-button--secondary,.settings-button:not(.ui-button--primary):not(.settings-button--danger),.app-button--secondary,.grid-provider-action-button:not(.ui-button--primary):not(.grid-provider-action-button--danger),.data-export-action--secondary,.data-id-token-clear,.button:not(.ui-button--primary),.logout-button){border-color:var(--border-default);color:var(--text-primary);background:var(--bg-surface-secondary)}#root .logout-button{border:0}@media(hover:hover)and (pointer:fine){#root :where(.ui-button--secondary,.settings-button:not(.ui-button--primary):not(.settings-button--danger),.app-button--secondary,.grid-provider-action-button:not(.ui-button--primary):not(.grid-provider-action-button--danger),.data-export-action--secondary,.data-id-token-clear,.button:not(.ui-button--primary),.logout-button):hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-hover)}#root .logout-button:hover:not(:disabled){border:0}}#root :where(.ui-button--primary,.app-button--primary,.grid-provider-action-button--primary,.data-export-action--primary){overflow:hidden;border-color:transparent;color:#fff;background:var(--gradient-primary);background-position:0 50%;background-size:112% 100%}@media(hover:hover)and (pointer:fine){#root :where(.ui-button--primary,.app-button--primary,.grid-provider-action-button--primary,.data-export-action--primary):hover:not(:disabled){border-color:transparent;color:#fff;background:var(--gradient-primary);background-position:100% 50%;background-size:112% 100%}}#root :where(.ui-button--danger,.ui-button--danger-ghost,.settings-button--danger,.grid-provider-action-button--danger,.app-row-action--danger,.grid-provider-row-icon--delete,.admin-events-table__delete){border-color:color-mix(in srgb,var(--danger) 42%,var(--border-default));color:var(--danger);background:color-mix(in srgb,var(--danger-soft) 72%,transparent)}@media(hover:hover)and (pointer:fine){#root :where(.ui-button--danger,.ui-button--danger-ghost,.settings-button--danger,.grid-provider-action-button--danger,.app-row-action--danger,.grid-provider-row-icon--delete,.admin-events-table__delete):hover:not(:disabled){border-color:color-mix(in srgb,var(--danger) 60%,var(--border-default));color:var(--danger);background:var(--danger-soft)}}#root :where(.ui-button--ghost,.ui-button--danger-ghost,.dialog-suggestion-button,.suggestion-button,.logout-button,.user-menu-button,.upgrade-button,.app-row-action,.grid-provider-row-icon,.grid-provider-icon-action,.fixed-time-profile__drag-handle,.fixed-time-profile__remove,.station-card__pin,.admin-events-table__feedback,.departure-schedule-help__button,.theme-toggle,.calculator-breakdown-trigger){border-color:transparent;color:var(--text-secondary);background:transparent}@media(hover:hover)and (pointer:fine){#root :where(.ui-button--ghost,.dialog-suggestion-button,.suggestion-button,.logout-button,.user-menu-button,.upgrade-button,.app-row-action,.grid-provider-row-icon,.grid-provider-icon-action,.fixed-time-profile__drag-handle,.fixed-time-profile__remove,.station-card__pin,.admin-events-table__feedback,.departure-schedule-help__button,.theme-toggle,.calculator-breakdown-trigger):hover:not(:disabled){border-color:var(--border-subtle);color:var(--text-primary);background:var(--bg-hover)}}#root .app-row-action[data-selected=true]{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-soft)}#root :where(.ui-button--icon-only,.ui-icon-button,.dialog-suggestion-button,.suggestion-button,.user-menu-button,.upgrade-button,.app-row-action:not(.app-row-action--text),.grid-provider-row-icon,.grid-provider-icon-action,.fixed-time-profile__drag-handle,.fixed-time-profile__remove,.station-card__pin,.admin-events-table__feedback,.admin-events-table__delete,.departure-schedule-help__button,.theme-toggle,.calculator-breakdown-trigger,.scan-rfid-button,.message-reply-form__send){width:var(--button-height);min-width:var(--button-height);padding-inline:0}#root .ui-button.ui-button--subscription{display:inline-flex;min-height:var(--button-height);align-items:center;gap:var(--button-gap);padding-inline:var(--button-padding-inline);border:0;border-radius:var(--button-radius);color:#fff;background:var(--button-subscription-surface);box-shadow:inset 0 1px 0 var(--button-subscription-highlight);font-size:var(--button-font-size);font-weight:var(--button-font-weight)}#root .ui-button.ui-button--subscription>.ui-button__content{display:inline-flex;align-items:center;overflow:visible;line-height:1.25}#root .ui-button.ui-button--subscription>.ui-button__content>span{line-height:1.25}@media(hover:hover)and (pointer:fine){#root .ui-button.ui-button--subscription:hover:not(:disabled){color:#fff;background:var(--button-subscription-surface-hover);box-shadow:inset 0 1px 0 var(--button-subscription-highlight)}}#root .ui-button.ui-button--subscription>svg,#root .ui-button.ui-button--subscription>.ui-button__content>svg{width:var(--button-icon-size);height:var(--button-icon-size);color:#bfeefa}#root :where(.ui-button,.settings-button,.app-button,.grid-provider-action-button,.data-export-action,.data-id-token-clear,.app-row-action,.grid-provider-row-icon,.grid-provider-icon-action,.dialog-suggestion-button,.suggestion-button,.logout-button,.user-menu-button,.upgrade-button,.scan-rfid-button,.message-reply-form__send,.fixed-time-profile__add,.fixed-time-profile__remove,.fixed-time-profile__drag-handle,.station-card__pin,.admin-events-table__feedback,.admin-events-table__delete,.departure-schedule-help__button,.button,.theme-toggle,.calculator-breakdown-trigger):focus,#root :where(.ui-button,.settings-button,.app-button,.grid-provider-action-button,.data-export-action,.data-id-token-clear,.app-row-action,.grid-provider-row-icon,.grid-provider-icon-action,.dialog-suggestion-button,.suggestion-button,.logout-button,.user-menu-button,.upgrade-button,.scan-rfid-button,.message-reply-form__send,.fixed-time-profile__add,.fixed-time-profile__remove,.fixed-time-profile__drag-handle,.station-card__pin,.admin-events-table__feedback,.admin-events-table__delete,.departure-schedule-help__button,.button,.theme-toggle,.calculator-breakdown-trigger):focus:not(:focus-visible){outline:0;box-shadow:none}#root :where(.ui-button,.settings-button,.app-button,.grid-provider-action-button,.data-export-action,.data-id-token-clear,.app-row-action,.grid-provider-row-icon,.grid-provider-icon-action,.dialog-suggestion-button,.suggestion-button,.logout-button,.user-menu-button,.upgrade-button,.scan-rfid-button,.message-reply-form__send,.fixed-time-profile__add,.fixed-time-profile__remove,.fixed-time-profile__drag-handle,.station-card__pin,.admin-events-table__feedback,.admin-events-table__delete,.departure-schedule-help__button,.button,.theme-toggle,.calculator-breakdown-trigger):focus-visible{outline:3px solid color-mix(in srgb,var(--accent-primary) 58%,var(--accent-secondary));outline-offset:2px;box-shadow:none}#root :where(.ui-button,.settings-button,.app-button,.grid-provider-action-button,.data-export-action,.data-id-token-clear,.app-row-action,.grid-provider-row-icon,.grid-provider-icon-action,.dialog-suggestion-button,.suggestion-button,.logout-button,.user-menu-button,.upgrade-button,.scan-rfid-button,.message-reply-form__send,.fixed-time-profile__add,.fixed-time-profile__remove,.fixed-time-profile__drag-handle,.station-card__pin,.admin-events-table__feedback,.admin-events-table__delete,.departure-schedule-help__button,.button,.theme-toggle,.calculator-breakdown-trigger):active:not(:disabled){transform:translateY(1px);transition-duration:.1s}#root :where(.ui-button,.settings-button,.app-button,.grid-provider-action-button,.data-export-action,.data-id-token-clear,.app-row-action,.grid-provider-row-icon,.grid-provider-icon-action,.dialog-suggestion-button,.suggestion-button,.logout-button,.user-menu-button,.upgrade-button,.scan-rfid-button,.message-reply-form__send,.fixed-time-profile__add,.fixed-time-profile__remove,.fixed-time-profile__drag-handle,.station-card__pin,.admin-events-table__feedback,.admin-events-table__delete,.departure-schedule-help__button,.button,.theme-toggle,.calculator-breakdown-trigger):disabled,#root :where(.ui-button,.button)[aria-disabled=true]{cursor:not-allowed;filter:saturate(.72);opacity:.52;transform:none}#root .ui-button[aria-busy=true]{cursor:wait}.ui-button__content{display:inline-flex;min-width:0;align-items:center;justify-content:center;gap:inherit;opacity:1}.ui-button[aria-busy=true] .ui-button__content{opacity:0}.ui-button__loading-layer{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;opacity:0;pointer-events:none}.ui-button[aria-busy=true] .ui-button__loading-layer{opacity:1}.ui-button__spinner{width:var(--button-icon-size);height:var(--button-icon-size);flex:0 0 auto;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-button-spin .7s linear infinite;opacity:.78}.ui-dialog-close{position:absolute;z-index:6;top:0;right:0;width:52px;min-width:52px;height:52px;min-height:52px;padding:0;border:0;border-radius:0 var(--ui-dialog-radius, var(--radius-lg)) 0 var(--radius-md);color:var(--text-secondary);background:transparent;box-shadow:none}@media(hover:hover)and (pointer:fine){.ui-dialog-close:hover:not(:disabled){border:0;color:var(--text-primary);background:var(--bg-hover)}}.ui-dialog-close:focus-visible{outline-width:2px;outline-offset:-4px}.ui-dialog-header__actions>button,.ui-dialog-header__actions>a{inset:auto}.ui-dialog-header .ui-dialog-close{position:static;flex:0 0 auto;border-radius:var(--button-radius, 14px)}@keyframes ui-button-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){#root :where(.ui-button,.settings-button,.app-button,.grid-provider-action-button,.data-export-action,.data-id-token-clear,.app-row-action,.grid-provider-row-icon,.grid-provider-icon-action,.dialog-suggestion-button,.suggestion-button,.logout-button,.user-menu-button,.upgrade-button,.scan-rfid-button,.message-reply-form__send,.fixed-time-profile__add,.fixed-time-profile__remove,.fixed-time-profile__drag-handle,.station-card__pin,.admin-events-table__feedback,.admin-events-table__delete,.departure-schedule-help__button,.button,.theme-toggle,.calculator-breakdown-trigger){transition:none}.ui-button__spinner{animation-duration:1.4s}}.ui-breakdown-list{box-sizing:border-box;padding:var(--space-4, 16px);overflow-y:auto;border:1px solid var(--color-border, var(--line));border-radius:var(--radius-md, 14px);color:var(--ink);background:var(--bg-surface-raised, var(--panel));box-shadow:var(--shadow-dialog)}.ui-breakdown-list__header{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:var(--space-3, 12px);padding-bottom:var(--space-3, 12px);border-bottom:1px solid var(--line)}.ui-breakdown-list__header>strong{min-width:0;font-size:var(--font-size-sm, 14px);font-weight:650}.ui-breakdown-list__header>span{flex:0 0 auto;color:var(--ink-muted);font-size:var(--font-size-xs, 12px);white-space:nowrap}.ui-breakdown-list ul{display:grid;padding:0;margin:0;list-style:none}.ui-breakdown-list li{display:grid;min-width:0;gap:var(--space-1, 4px);padding-block:var(--space-3, 12px);border-bottom:1px solid var(--line)}.ui-breakdown-list li:last-child{padding-bottom:0;border-bottom:0}.ui-breakdown-list li>div{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:var(--space-3, 12px)}.ui-breakdown-list li>div>strong{min-width:0;overflow:hidden;font-size:var(--font-size-sm, 14px);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ui-breakdown-list li>div>span,.ui-breakdown-list small,.ui-breakdown-list>p{color:var(--ink-muted);font-size:var(--font-size-xs, 12px);line-height:1.45}.ui-breakdown-list li>div>span{flex:0 0 auto}.ui-breakdown-list li[data-tone=positive]>div>span,.ui-breakdown-list li[data-tone=low]>div>span{color:var(--color-success, var(--success))}.ui-breakdown-list li[data-tone=average]>div>span,.ui-breakdown-list li[data-tone=warning]>div>span{color:var(--color-warning, var(--warning))}.ui-breakdown-list li[data-tone=danger]>div>span,.ui-breakdown-list li[data-tone=high]>div>span{color:var(--color-danger, var(--danger))}.ui-breakdown-list li[data-muted=true]{opacity:.72}.ui-breakdown-list>p{margin:var(--space-3, 12px) 0 0}.ui-breakdown-list__footer{display:flex;min-width:0;padding-top:var(--space-3, 12px);margin-top:var(--space-3, 12px);border-top:1px solid var(--line)}.ui-breakdown-list__footer>*{width:100%;min-width:0}.ui-stable-loading-region{position:relative;min-width:0;overflow:hidden;contain:layout paint}.ui-stable-loading-region[data-loading=true][data-loading-reserve=data]{min-height:22rem}.ui-stable-loading-region[data-loading=true][data-loading-reserve=cards]{min-height:24rem}.ui-stable-loading-region[data-loading=true][data-loading-reserve=chart]{min-height:25rem}.ui-stable-loading-region[data-loading=true][data-loading-reserve=dialog]{min-height:min(34rem,calc(100dvh - 8rem))}.ui-stable-loading-region[data-loading=true][data-loading-reserve=section]{min-height:16rem}.ui-stable-loading-region__content{width:100%;min-width:0;overflow:visible;opacity:1;transition:opacity .14s ease}.ui-stable-loading-region[data-loading=true]>.ui-stable-loading-region__content{pointer-events:none;opacity:0}.ui-stable-loading-region__overlay{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:grid;align-content:start;padding:var(--space-4, 1rem) 0;overflow:hidden;background:transparent;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,visibility 0s linear .14s}.ui-stable-loading-region[data-loading=true]>.ui-stable-loading-region__overlay{opacity:1;visibility:visible;transition-delay:0s}.ui-stable-loading-region__placeholder{display:grid;gap:var(--space-3, .75rem)}.ui-loading-skeleton{display:block;width:100%;height:3.25rem;border-radius:var(--radius-sm, .5rem);background:linear-gradient(100deg,color-mix(in srgb,var(--text-muted) 10%,transparent) 20%,color-mix(in srgb,var(--text-muted) 18%,transparent),color-mix(in srgb,var(--text-muted) 10%,transparent) 64%);background-size:240% 100%;animation:ui-loading-shimmer 1.7s ease-in-out infinite}.ui-loading-skeleton--heading{width:min(42%,16rem);height:1.25rem}.ui-loading-skeleton--short{width:68%}.ui-loading-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes ui-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:768px){.ui-stable-loading-region__content,.ui-stable-loading-region__overlay{transition:opacity .16s ease-out}.ui-loading-skeleton{animation:ui-mobile-loading-pulse 1.6s ease-in-out infinite}.ui-stable-loading-region[data-loading=true][data-loading-reserve=data],.ui-stable-loading-region[data-loading=true][data-loading-reserve=cards]{min-height:20rem}.ui-stable-loading-region[data-loading=true][data-loading-reserve=dialog]{min-height:calc(100dvh - 5rem)}}@keyframes ui-mobile-loading-pulse{0%,to{opacity:.72}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.ui-loading-skeleton{animation:none}.ui-stable-loading-region__content,.ui-stable-loading-region__overlay{transition:none}}:root .ui-table-frame.ui-table-frame,:root .ui-data-list.ui-data-list{border-inline:0!important;border-radius:0!important;border-color:var(--table-divider);background:transparent!important;background-image:none!important;box-shadow:none!important}:root .ui-table.ui-table,:root .ui-table.ui-table thead,:root .ui-table.ui-table tbody,:root .ui-table.ui-table tr,:root .ui-table.ui-table th,:root .ui-table.ui-table td,:root .ui-data-list-row.ui-data-list-row{background:transparent!important;background-image:none!important}:root .ui-table.ui-table{width:100%;table-layout:fixed}:root .ui-table.ui-table>thead>tr>th,:root .ui-table.ui-table>tbody>tr>th,:root .ui-table.ui-table>tbody>tr>td{min-width:0}:root .ui-table.ui-table>thead>tr>th,:root .ui-table.ui-table>tbody>tr>:is(th,td):not([colspan]):not([data-table-wrap=true]){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root .ui-table.ui-table th,:root .ui-table.ui-table td{border-inline:0!important;border-block-color:var(--table-divider)!important}:root .ui-table.ui-table th{color:var(--text-secondary)}:root .ui-table.ui-table>tbody>tr:focus-within>td{background:var(--table-row-hover)!important}@media(hover:hover)and (pointer:fine){:root .ui-table.ui-table>tbody>tr:hover>td,:root :where(button,a,label).ui-data-list-row:hover{background:var(--table-row-hover)!important}}:root .ui-table.ui-table>tbody>tr:is([aria-selected=true],[data-expanded=true],[data-highlighted=true],[data-selected=true])>td,:root .ui-data-list-row.ui-data-list-row:is([aria-current=true],[aria-selected=true],[data-selected=true]){background:var(--table-row-selected)!important}.app-shell-actions{display:flex;box-sizing:border-box;width:min(100%,var(--app-content-max-width));min-width:0;min-height:44px;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-inline:auto}.app-shell-actions>.ui-button{min-height:44px;height:44px}.page-scaffold{row-gap:0}.page-scaffold__content{display:grid;min-width:0;align-content:start;gap:var(--space-6)}.page-header{--page-header-action-size: 44px;--page-header-control-size: 44px;--page-header-title-size: 2rem;display:grid;box-sizing:border-box;width:100%;max-width:100%;min-width:0;grid-template-rows:var(--page-header-action-size);gap:var(--space-3);padding-block-end:var(--space-5);border-block-end:1px solid var(--app-divider, var(--color-border))}.page-header[data-has-controls=true]{grid-template-rows:var(--page-header-action-size) var(--page-header-control-size)}.page-header__title-row{--button-height: var(--page-header-action-size);display:grid;height:var(--page-header-action-size);min-width:0;min-height:0;max-height:var(--page-header-action-size);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4)}.page-header__heading{display:flex;min-width:0;align-items:center;gap:var(--space-2)}.page-header h1{flex:0 1 auto;min-width:0;margin:0;color:var(--ink);font-family:var(--font-sans);font-size:var(--page-header-title-size);font-weight:680;letter-spacing:var(--tracking-tight);line-height:1.12;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header__tutorial-help{display:inline-grid;box-sizing:border-box;width:2rem;height:2rem;min-width:2rem;flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){.page-header__tutorial-help:hover{background:var(--bg-hover);color:var(--ink)}}.page-header__tutorial-help:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.page-header__actions{display:flex;width:auto;height:100%;min-width:0;max-height:100%;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.page-header__primary-action{display:flex;height:100%;min-width:0;max-width:min(18rem,46vw);max-height:100%}.page-header__actions :is(button,a,[role=button]),.page-header__overflow>button{box-sizing:border-box;min-width:var(--page-header-action-size);min-height:0;height:100%;max-height:100%}.page-header__primary-action :is(button,a,[role=button]){width:auto;max-width:100%}.page-header__primary-action :is(button,a,[role=button]) span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header__controls{position:relative;display:flex;box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:var(--page-header-control-size);min-height:var(--page-header-control-size);align-items:stretch}.page-header__controls>*{width:100%;max-width:100%;min-width:0}.page-header__controls>.ui-kpi-strip{height:var(--page-header-control-size);grid-template-columns:repeat(4,minmax(0,1fr))}.page-header__controls .ui-kpi-strip__item{grid-template-columns:auto minmax(0,1fr);align-content:center;gap:var(--space-2);padding:var(--space-1) var(--space-3)}.page-header__controls .ui-kpi-strip__copy{gap:0}.page-header__controls .ui-kpi-strip dt,.page-header__controls .ui-kpi-strip dd>span{overflow:hidden;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.page-header__controls .ui-kpi-strip dd{display:flex;gap:var(--space-1)}.page-header__controls .ui-kpi-strip dd strong{font-size:var(--font-size-md);line-height:1.15}.page-header__controls>.departure-schedule-field--advanced{--control-height: var(--page-header-control-size);position:relative;display:block;height:var(--page-header-control-size)}.page-header__controls>.departure-schedule-field--advanced>.departure-schedule-preview{position:absolute;top:calc(100% + 2px);left:0}.departure-schedule-policy{align-items:center;color:var(--ink-muted);font-size:var(--font-size-sm);font-weight:580;white-space:nowrap}.page-header__search{display:grid;box-sizing:border-box;width:100%;min-width:0;height:var(--page-header-control-size);grid-template-columns:16px minmax(0,1fr);align-items:center;gap:var(--space-2);padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--ink-muted);background:var(--color-control);transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){.page-header__search:hover{border-color:var(--color-border-strong);background:var(--color-control-hover)}}.page-header__search:focus-within{border-color:color-mix(in srgb,var(--accent-primary) 68%,var(--border-strong));outline:0;box-shadow:var(--focus-ring)}.page-header__search input{box-sizing:border-box;width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;color:var(--ink);background:transparent;box-shadow:none;font:inherit;font-size:var(--font-size-sm);font-weight:500}.page-header__search input:focus-visible{outline:0}.page-header__search input:disabled{cursor:not-allowed}.page-header-filter-bar{display:grid;box-sizing:border-box;width:100%;min-width:0;height:var(--page-header-control-size);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:stretch;gap:var(--space-2);margin:0;padding:0;border:0;background:transparent}.page-header-filter-bar>label,.page-header-filter-bar>.page-header__search,.page-header-filter-bar .ui-select,.page-header-filter-bar .ui-select__trigger{box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:var(--page-header-control-size);min-height:var(--page-header-control-size)}.page-header-filter-bar>label:not(.page-header__search){display:block}.page-header__overflow{display:flex;min-width:0;align-items:center}.page-header__overflow-trigger{display:none}.page-header__overflow-actions{display:flex;width:auto;max-width:none;align-items:center;gap:var(--space-2)}.page-header__overflow-action,.page-header__overflow-action>*{width:auto;min-width:0}.page-header__overflow-action :is(button,a,[role=button]){width:auto;min-height:var(--page-header-action-size);justify-content:center}@media(max-width:1024px){.page-header__overflow{position:relative;display:block}.page-header__overflow-trigger{display:inline-flex}.page-header__overflow-actions{position:absolute;z-index:30;top:calc(100% + var(--space-2));right:0;display:none;width:max-content;max-width:min(20rem,calc(100vw - (2 * var(--space-4))));gap:var(--space-1);padding:var(--space-2);border:1px solid var(--app-divider, var(--color-border));border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg)}.page-header__overflow-actions[data-open=true]{display:grid}.page-header__overflow-action,.page-header__overflow-action>*{width:100%}.page-header__overflow-action :is(button,a,[role=button]){width:100%;justify-content:flex-start}}@media(max-width:768px){.page-header{--page-header-title-size: var(--font-size-2xl);padding-block-end:var(--space-4)}.page-header__title-row{height:var(--page-header-action-size);min-height:var(--page-header-action-size);max-height:var(--page-header-action-size);gap:var(--space-2)}.page-header__tutorial-help{width:var(--page-header-action-size);height:var(--page-header-action-size);min-width:var(--page-header-action-size)}.page-header__actions{height:var(--page-header-action-size);max-width:58vw;max-height:var(--page-header-action-size)}.page-header__primary-action{flex:1 1 auto;max-width:100%}.page-header__overflow{flex:0 0 auto}.page-header__controls :is(input,select,textarea,button,a){max-width:100%}.departure-schedule-policy .ui-checkbox__label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-header__controls .ui-kpi-strip__item{grid-template-columns:minmax(0,1fr);gap:0;padding:var(--space-1) var(--space-2)}.page-header__controls .ui-kpi-strip__item+.ui-kpi-strip__item{border-inline-start:1px solid var(--app-divider, var(--color-border))}.page-header__controls .ui-kpi-strip__item:nth-child(n+3){border-block-start:0}.page-header__controls .ui-kpi-strip__icon,.page-header__controls .ui-kpi-strip dd>span{display:none}}
