.settings-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.setting-card{min-height:190px;padding:16px;transition:border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}.setting-card:hover{border-color:#4a4d54;box-shadow:var(--lift-shadow);transform:translateY(-4px)}.setting-card:focus-within{border-color:color-mix(in srgb,var(--cyan) 42%,#4a4d54);box-shadow:var(--lift-shadow);transform:translateY(-3px)}.setting-card__top{justify-content:space-between}.setting-card small,.setting-card strong{display:block}.setting-card>small{color:var(--muted);font-size:.78rem;margin-top:22px}.setting-card>strong{font-size:1.05rem;margin-top:5px}.setting-card p{color:var(--muted);font-size:.86rem;line-height:1.45;margin:14px 0 0}.login-screen{--login-bg:#111318;--login-input:#242830;--login-text:#f6f7f9;--login-muted:#b8c0cd;--login-border:#4b5361;display:grid;grid-template-columns:65% 35%;min-height:100dvh;color:var(--login-text);background:var(--login-bg);color-scheme:dark}.login-screen[data-theme=light]{--login-bg:#fafbfc;--login-input:#fff;--login-text:#19212e;--login-muted:#586273;--login-border:#a6b0be;color-scheme:light}.login-visual{background:url(/sems-login-bg.webp) 50%/cover no-repeat;min-height:100%}.login-panel{display:flex;align-items:center;justify-content:center;position:relative;padding:90px clamp(24px,3vw,64px) 48px;background:var(--login-bg);transition:background .2s,color .2s}.login-card{width:100%;max-width:400px}.login-logo{width:180px;height:auto;-o-object-fit:contain;object-fit:contain;margin-bottom:32px}.login-card h1{margin:0 0 10px;font-size:clamp(24px,2vw,32px);line-height:1.2;color:var(--login-text)}.login-card>p{color:var(--login-muted);margin:0 0 36px;font-size:14px}.login-fields{display:grid;gap:10px}.login-fields label{color:var(--login-text);font-size:14px;font-weight:600}.login-fields>input{margin-bottom:12px}.login-fields input{width:100%;min-width:0;min-height:50px;padding:12px 16px;background:var(--login-input);border:1px solid var(--login-border);border-radius:14px;color:var(--login-text);font:inherit}.login-fields input::-moz-placeholder{color:var(--login-muted);opacity:1}.login-fields input::placeholder{color:var(--login-muted);opacity:1}.login-fields input:focus{outline:2px solid #ff5960;outline-offset:2px}.login-fields input[aria-invalid=true]{border-color:#e64851}.login-password-field{position:relative}.login-password-field input{padding-right:56px}.login-password-field button{position:absolute;right:5px;top:5px;width:42px;height:40px;border:0;border-radius:10px;background:transparent;display:grid;place-items:center;color:var(--login-muted);cursor:pointer}.login-check{display:flex;gap:10px;align-items:center;margin:24px 0;font-size:14px;cursor:pointer}.login-check input{width:18px;height:18px;accent-color:#db2631}.login-submit{width:100%;min-height:50px;border:0;border-radius:14px;background:#d9212e;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.login-submit:hover:not(:disabled){background:#bd1925}.login-submit:disabled{opacity:.65;cursor:wait}.login-card>.login-error{color:var(--login-text);border-left:3px solid #e64851;padding:10px 12px;margin:0 0 20px;line-height:1.5}.login-theme-switch{position:absolute;top:24px;right:24px;width:44px;height:44px;border:1px solid var(--login-border);border-radius:50%;color:var(--login-text);background:var(--login-input);display:grid;place-items:center;cursor:pointer}.login-check input:focus-visible,.login-screen button:focus-visible{outline:2px solid #ff5960;outline-offset:3px}.login-footer{margin-top:36px;color:var(--login-muted);font-size:12px;text-align:center}@media(max-width:1000px){.login-screen{grid-template-columns:55% 45%}}@media(max-width:700px){.login-screen{grid-template-columns:1fr}.login-visual{min-height:24dvh}.login-panel{padding:76px 24px 40px}.login-logo{margin-bottom:24px}}@media(prefers-reduced-motion:reduce){.login-panel{transition:none}}.login-screen.login-screen--sems{display:block;position:relative;min-height:100dvh;overflow:hidden;background:#101113}.login-screen--sems .login-visual{position:absolute;inset:0;min-height:0;background-position:50%}.login-screen--sems .login-brand{position:absolute;top:20px;left:30px;z-index:2;width:140px;height:auto;-o-object-fit:contain;object-fit:contain}.login-screen--sems .login-panel{isolation:isolate;display:flex;align-items:flex-start;justify-content:flex-start;width:clamp(480px,42vw,660px);min-height:100dvh;margin-left:auto;padding:clamp(165px,23dvh,210px) clamp(52px,6vw,86px) 42px clamp(84px,8vw,118px);overflow:hidden;border-radius:108px 0 0 108px}.login-screen--sems .login-panel:before{content:"";position:absolute;inset:0;z-index:-1;background:url(/sems-login-panel-bg.webp) 0/cover no-repeat;pointer-events:none}.login-screen--sems[data-theme=light] .login-panel:before{filter:invert(1);opacity:.48}.login-screen--sems .login-card{width:100%;max-width:none}.login-screen--sems .login-card h1{margin-bottom:5px;font-size:24px;line-height:1.25}.login-screen--sems .login-card>p:not(.login-error){margin-bottom:60px;font-size:13px}.login-screen--sems .login-fields{gap:22px}.login-screen--sems .login-fields label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-screen--sems .login-fields>input{margin-bottom:0}.login-screen--sems .login-fields input{min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:999px;background:#393a3d;font-size:14px}.login-screen--sems .login-fields input:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 1000px #393a3d;-webkit-text-fill-color:var(--login-text);caret-color:var(--login-text)}.login-screen--sems[data-theme=light] .login-fields input{background:#e8ebef}.login-screen--sems[data-theme=light] .login-fields input:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 1000px #e8ebef}.login-screen--sems .login-password-field input{padding-right:52px}.login-screen--sems .login-password-field button{top:2px;right:4px;height:40px;border-radius:50%}.login-screen--sems .login-check{margin:24px 0 86px;font-size:13px}.login-screen--sems .login-submit{min-height:44px;border-radius:999px;background:#f52d38;font-size:14px}.login-screen--sems .login-submit:hover:not(:disabled){background:#d91f2b}.login-screen--sems .login-footer{margin-top:15px;text-align:right}.login-screen--sems .login-footer a:hover{color:#ff5862}.login-screen--sems .login-theme-switch{top:20px;right:28px;z-index:2;width:42px;height:42px;border-color:#44474c;background:#252629}.login-screen--sems[data-theme=light] .login-theme-switch{color:#f6f7f9}@media (max-width:820px){.login-screen.login-screen--sems{display:flex;flex-direction:column}.login-screen--sems .login-visual{position:relative;flex:0 0 auto;height:22dvh;min-height:170px;background-position:center 45%}.login-screen--sems .login-brand{top:18px;left:22px;width:140px}.login-screen--sems .login-panel{flex:1 0 auto;width:100%;min-height:calc(100dvh - 145px);margin:-25px 0 0;padding:76px 24px 40px;border-radius:42px 42px 0 0}.login-screen--sems .login-card{max-width:440px;margin:0 auto}.login-screen--sems .login-card>p:not(.login-error){margin-bottom:42px}.login-screen--sems .login-fields input{font-size:16px}.login-screen--sems .login-check{margin-bottom:56px}.login-screen--sems .login-theme-switch{top:20px;right:22px}}.login-screen--register .login-panel{padding-top:clamp(105px,17dvh,155px)}.login-screen--register .login-card>p:not(.login-error){margin-bottom:32px}.login-screen--register .login-fields{gap:14px}.login-screen--register .login-check{align-items:flex-start;margin:20px 0 28px;line-height:1.4}.login-screen--register .login-check input{flex:0 0 auto;margin-top:2px}@media (max-width:820px){.login-screen--register .login-panel{padding-top:76px}.login-screen--register .login-card>p:not(.login-error){margin-bottom:28px}}@keyframes spin{to{transform:rotate(1turn)}}.app-shell [role=dialog],dialog[open]{animation:popupReveal .3s cubic-bezier(.22,1,.36,1) backwards;transform-origin:center top}@keyframes popupReveal{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.recharts-tooltip-wrapper[style*="visibility: visible"]{animation:tooltipReveal .3s ease-out backwards}@keyframes tooltipReveal{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.app-shell .manual-release-panel,.app-shell [role=dialog],.recharts-tooltip-wrapper[style*="visibility: visible"],dialog[open]{animation:none}}@media (max-width:1180px){.metric-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid--charts,.dashboard-grid--wide{grid-template-columns:1fr}.charger-map,.dashboard-chargers-panel .charger-map{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-toolbar{grid-template-columns:1fr}.filter-tabs{overflow-x:auto}}@media (max-width:820px){.sidebar{transform:translateX(-105%);transition:transform .2s ease}.sidebar--open{transform:translateX(0)}.workspace{margin-left:0}.mobile-scrim{background:#000b;border:0;inset:0;position:fixed;z-index:35}.menu-button,.sidebar-close{display:flex}.sidebar-close{border:0;height:24px;position:absolute;right:6px;top:6px;width:24px}.topbar{align-items:flex-start;gap:12px;padding:14px}.topbar-actions{flex-wrap:wrap}.topbar-sync{margin-right:auto}.page-content{padding:14px}.login-screen{background-position:34%;display:flex;flex-direction:column;min-height:100vh}.login-screen:after{display:none}.login-head{flex-wrap:wrap;gap:18px;padding:22px;position:relative}.login-panel{border-radius:38px 38px 0 0;height:auto;margin:auto 0 0;min-height:calc(100vh - 100px);min-width:0;padding:64px 22px 28px;width:100%}.login-panel:before{display:none}.login-footer{margin-top:54px;position:static}}@media (max-width:620px){.charger-map,.dashboard-chargers-panel .charger-map,.metric-grid,.settings-grid{grid-template-columns:1fr}.charger-bay:nth-child(n) .charger-detail-panel{bottom:auto;left:0;right:auto;top:calc(100% + 8px);transform:translateY(12px) scale(.96);transform-origin:50% 100%;width:100%}.charger-bay:nth-child(n) .charger-detail-panel:after{border-bottom:8px solid color-mix(in srgb,var(--bay-color) 65%,#151a20);border-left:7px solid transparent;border-right:7px solid transparent;border-top:0;left:auto;right:14%;top:-8px}.charger-detail-panel dl{grid-template-columns:repeat(2,minmax(0,1fr))}.charger-bay:nth-child(n):has(.charger-card-action--details:focus-visible) .charger-detail-panel,.charger-bay:nth-child(n):has(.charger-card-action--details:hover) .charger-detail-panel{transform:translateY(0) scale(1)}.ev-car{right:12px;width:112px}.charger-cable{width:66px}.topbar{display:block}.topbar-actions{margin-top:12px}.topbar-emps-brand{height:29px;width:108px}.topbar-emps-brand--title{height:42px;width:146px}.topbar-emps-brand__image{max-height:29px}.topbar-emps-brand--title .topbar-emps-brand__image{max-height:42px}.topbar-title h1{font-size:1.22rem}.toast{left:14px;right:14px;top:92px}}:root{color-scheme:dark}:root[data-theme=light]{color-scheme:light;--bg:#f3f5f7;--surface:#ffffff;--surface-2:#edf0f3;--surface-3:#e2e6eb;--border:#cdd3db;--border-soft:#e0e4e9;--text:#242930;--muted:#596574;--faint:#6d7784;--coral:#d9293c;--red:#d9293c;--cyan:#007f91;--blue:#2569cf;--green:#098454;--yellow:#967100;--orange:#be4b29;--violet:#7851c2}[data-theme=light] .app-shell .sidebar{background:#fff;border-right-color:var(--border-soft)}[data-theme=light] .app-shell .topbar{background:#fff;border-bottom-color:var(--border-soft)}[data-theme=light] .app-shell .page-content{background:var(--bg)}[data-theme=light] .app-shell :is(.sems-top-action,.nav-item){color:var(--muted)}[data-theme=light] .app-shell .sems-logo small{color:var(--muted)}[data-theme=light] .app-shell :is(.nav-item:hover,.nav-item:focus-visible,.nav-item--active,.popover-trigger--open){background:var(--surface-2);border-color:var(--border);color:var(--text)}[data-theme=light] .app-shell .emps-rail-trigger:is(:hover,:focus-visible,.nav-item--active){color:var(--red)}[data-theme=light] .app-shell .sems-top-action:hover{color:var(--text)}[data-theme=light] .app-shell .sidebar-toggle{background:var(--surface-3);color:var(--text)}[data-theme=light] :is(.sidebar-submenu-item,.sidebar-flyout){color:var(--muted)}[data-theme=light] .sidebar-submenu-item:is(:hover,:focus-visible){background:var(--surface-2);color:var(--text)}[data-theme=light] .sidebar-submenu-item--active{color:var(--red)}[data-theme=light] .sidebar-submenu-item--active:is(:hover,:focus-visible){color:var(--red)}[data-theme=light] .sidebar-flyout[role=dialog]{background:var(--surface)}[data-theme=light] .app-shell .topbar-title>div>span{color:var(--muted)}[data-theme=light] .app-shell .topbar-sync{background:var(--surface-2);border-color:var(--border);color:var(--muted)}[data-theme=light] .app-shell .topbar-sync--connected{border-color:#09845440;color:var(--green)}[data-theme=light] .app-shell :is(.topbar-sync--connecting,.topbar-sync--disconnected){border-color:#96710040;color:var(--yellow)}[data-theme=light] .app-shell :is(.metric-card,.panel,.chart-panel,.resource-toolbar,.setting-card,.platform-metric-grid article,.provisioning-metrics article){background:var(--surface);border-color:var(--border);box-shadow:0 2px 8px #24304408}[data-theme=light] .app-shell :is(.metric-card__main strong,.section-heading h2,.metric-card__insight>span){color:var(--text)}[data-theme=light] .app-shell .metric-card__insight{background:var(--surface-2);border-color:var(--border-soft)}[data-theme=light] .app-shell :is(.integration-row,.alert-row){background:var(--surface-2);border-color:var(--border)}[data-theme=light] .app-shell :is(.integration-row,.alert-row):hover{background:var(--surface-3)}[data-theme=light] .app-shell :is(.search-field,.filter-tabs,.button,.provisioning-form input,.provisioning-form select,.provisioning-form textarea,.manual-release-field input){background:var(--surface);border-color:var(--border);color:var(--text)}[data-theme=light] .app-shell .button--primary{background:var(--red);color:white}[data-theme=light] .app-shell .filter-tabs .active{background:var(--surface-3);color:var(--text)}[data-theme=light] .app-shell thead th{background:var(--surface-2);color:var(--muted)}[data-theme=light] .app-shell td{border-color:var(--border-soft);color:var(--text)}[data-theme=light] .app-shell tr:hover td{background:var(--surface-2);color:var(--text)}[data-theme=light] .app-shell .status-badge--neutral{background:var(--surface-3);color:var(--muted)}[data-theme=light] .app-shell .charger-bay{background:var(--surface)}[data-theme=light] .app-shell :is(.charger-bay__top strong,.charger-metric strong,.charger-state-line strong,.charger-detail-panel__session>strong,.charger-detail-panel__insights strong){color:var(--text)}[data-theme=light] .app-shell :is(.charger-bay__top span,.charger-state-line,.charger-detail-panel__head>span){color:var(--muted)}[data-theme=light] .app-shell .charger-metric{background:var(--surface-2);border-color:var(--border);color:var(--muted)}[data-theme=light] .app-shell .charger-card-action{background:var(--surface-2);border-color:var(--border);color:var(--text)}[data-theme=light] .app-shell :is(.charger-detail-panel,.manual-release-panel){background:var(--surface);color:var(--text)}[data-theme=light] .app-shell .charger-detail-occupancy:after{background:var(--surface)}[data-theme=light] .app-shell .charger-detail-occupancy strong{color:var(--text)}[data-theme=light] .app-shell .charger-detail-panel dl>div{background:var(--surface-2)}[data-theme=light] .app-shell .charger-detail-panel footer time{color:var(--muted)}[data-theme=light] .app-shell .button--ghost{background:var(--surface-2);color:var(--text)}[data-theme=light] .app-shell .provisioning-details div{background:var(--surface-2)}[data-theme=light] .app-shell .setting-card input{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);min-height:38px;padding:8px 10px;width:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}