:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#15202b;background:#f4f6f8;font-synthesis:none;--bg: #f4f6f8;--surface: #ffffff;--surface-2: #eef2f5;--ink: #15202b;--muted: #697785;--line: #dfe5ea;--primary: #087ed1;--primary-dark: #0565aa;--primary-soft: #e8f4fc;--green: #15966f;--green-soft: #e4f6ef;--amber: #c97a16;--amber-soft: #fff1dd;--coral: #dc5d48;--coral-soft: #ffebe7;--nav: #09131f;--nav-muted: #8d9aa8;--shadow: 0 1px 2px rgba(9, 19, 31, .04), 0 8px 24px rgba(9, 19, 31, .05)}:root[data-theme=dark]{color:#e8edf2;background:#101820;--bg: #101820;--surface: #18232d;--surface-2: #202d38;--ink: #edf3f7;--muted: #9cabb7;--line: #2c3a45;--primary-soft: #103851;--green-soft: #143c32;--amber-soft: #44331c;--coral-soft: #472821;--shadow: 0 8px 24px rgba(0, 0, 0, .16)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:244px;display:flex;flex-direction:column;background:var(--nav);color:#eef5fa;border-right:1px solid #1a2a39}.brand{height:82px;display:flex;align-items:center;gap:11px;padding:0 22px;border-bottom:1px solid #1b2b3a}.brand img{width:39px;height:39px;border-radius:8px}.brand>span{font:700 18px Manrope}.brand small{display:block;margin-top:2px;color:#8fa0af;font:500 10px DM Sans;text-transform:uppercase;letter-spacing:.08em}.sidebar nav{flex:1;overflow-y:auto;padding:22px 13px}.sidebar nav p{margin:15px 11px 8px;color:#637383;font-size:10px;font-weight:700;letter-spacing:.1em}.sidebar nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:43px;margin:3px 0;padding:0 12px;border-radius:6px;color:var(--nav-muted);font-size:14px;font-weight:500;transition:.16s ease}.sidebar nav a:hover{color:#fff;background:#111f2c}.sidebar nav a.router-link-exact-active{color:#fff;background:#102b40}.sidebar nav a.router-link-exact-active:before{content:"";position:absolute;left:0;width:3px;height:20px;border-radius:4px;background:#22a7e8}.sidebar-foot{padding:14px;border-top:1px solid #1b2b3a}.user-chip{width:100%;display:flex;align-items:center;gap:9px;padding:8px;border:0;border-radius:6px;background:transparent;color:#e8eef3;cursor:pointer;text-align:left}.user-chip:hover{background:#111f2c}.user-chip>span,.avatar{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:50%;background:#174266;color:#9bd6f5;font-size:11px;font-weight:700}.user-chip div{min-width:0;flex:1}.user-chip strong,.user-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip small{color:#82909d;font-size:10px}.sidebar-scrim{display:none}.main-column{min-height:100vh;margin-left:244px}.topbar{position:sticky;top:0;z-index:20;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-title span{display:block;font:700 15px Manrope}.topbar-title small{color:var(--muted);font-size:11px}.topbar-actions{display:flex;gap:7px}.menu-button{display:none!important}.icon-button{position:relative;width:36px;height:36px;flex:none;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);cursor:pointer}.icon-button:hover:not(:disabled){background:var(--surface-2)}.icon-button:disabled{opacity:.4;cursor:not-allowed}.notification-dot{position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 2px var(--surface)}main{max-width:1540px;margin:0 auto;padding:22px 30px 50px}.page-stack{display:flex;flex-direction:column;gap:20px}.auth-links{display:flex;justify-content:space-between;margin-top:14px;color:var(--primary);font-size:10px;font-weight:700}.auth-links span{color:var(--muted);font-weight:500}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 18px;background:var(--bg)}.auth-card{width:min(510px,100%);padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.auth-card h1{margin:5px 0 7px;font-size:25px}.auth-card>p{margin-bottom:22px;color:var(--muted);font-size:12px}.auth-card .form-grid+.form-grid{margin-top:14px}.auth-card>.button{margin-top:18px}.auth-brand{display:flex;align-items:center;gap:9px;margin-bottom:28px;font-weight:700}.auth-brand img{width:38px;height:38px;border-radius:7px}.auth-brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.page-heading,.detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px}.page-heading h1,.detail-heading h1{margin:2px 0 5px;font-size:27px;letter-spacing:0}.page-heading p,.detail-heading p{margin:0;color:var(--muted);font-size:14px}.eyebrow{color:var(--primary);font-size:9px;font-weight:800;letter-spacing:.12em}.button{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid transparent;border-radius:6px;font-weight:700;font-size:12px;cursor:pointer}.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-dark)}.button.secondary{border-color:var(--line);background:var(--surface)}.button.secondary:hover,.button.ghost:hover{background:var(--surface-2)}.button.ghost{background:transparent;border-color:transparent;color:var(--primary)}.button.danger{background:var(--coral);color:#fff}.button.danger:hover{background:#c94b38}.button.full{width:100%}.button.tall{min-height:47px}.button small{opacity:.75;font-size:9px;text-transform:uppercase}.button:disabled{opacity:.45;cursor:not-allowed}.text-button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:var(--primary);font-size:12px;font-weight:700;cursor:pointer}.panel{border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.panel-head{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;border-bottom:1px solid var(--line)}.panel-head h2{margin:2px 0 0;font-size:16px}.panel-head>span{color:var(--muted);font-size:11px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{min-height:112px;display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.metric-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:6px}.metric-icon.blue{color:var(--primary);background:var(--primary-soft)}.metric-icon.green{color:var(--green);background:var(--green-soft)}.metric-icon.amber{color:var(--amber);background:var(--amber-soft)}.metric-icon.coral{color:var(--coral);background:var(--coral-soft)}.metric-label,.metric-card strong,.metric-card small{display:block}.metric-label{color:var(--muted);font-size:11px}.metric-card strong{margin:3px 0 2px;font-size:20px}.metric-card small{color:var(--muted);font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:14px}.dashboard-grid.lower{grid-template-columns:1fr 1fr}.energy-panel{min-height:384px}.chart-summary{display:flex;align-items:center;gap:12px;padding:22px 20px 8px}.chart-summary strong{font-size:25px}.chart-summary small{color:var(--muted);font-size:12px}.chart-summary span{display:flex;align-items:center;gap:4px;padding:4px 7px;border-radius:4px;background:var(--green-soft);color:var(--green);font-size:10px;font-weight:700}.bar-chart{height:250px;display:flex;gap:clamp(8px,2vw,24px);align-items:end;padding:12px 24px 18px}.bar-column{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;gap:7px}.bar-track{width:min(30px,70%);flex:1;display:flex;align-items:flex-end;border-radius:4px 4px 2px 2px;background:var(--surface-2)}.bar-track i{position:relative;width:100%;min-height:8px;border-radius:4px 4px 2px 2px;background:#8bc8e8;transition:height .3s}.bar-track i.today{background:var(--primary)}.bar-track b{position:absolute;top:-20px;left:50%;transform:translate(-50%);color:var(--muted);font-size:9px;font-style:normal;white-space:nowrap}.bar-column>span{color:var(--muted);font-size:10px}.active-charge-panel{padding-bottom:16px}.live-indicator{display:flex;align-items:center;gap:5px;color:var(--green)!important;font-weight:800;letter-spacing:.05em}.live-indicator i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.charge-orbit{height:170px;display:grid;place-items:center}.charge-orbit>div,.power-rings{width:145px;height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:8px solid var(--primary-soft);border-top-color:var(--green);border-right-color:var(--green);border-radius:50%;color:var(--green)}.charge-orbit strong,.power-rings strong{margin-top:3px;color:var(--ink);font-size:24px}.charge-orbit strong small,.power-rings small{margin-left:3px;color:var(--muted);font-size:11px}.charge-orbit span,.power-rings>span{color:var(--muted);font-size:10px}.charge-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:0 14px 16px}.charge-stats div{padding:0 7px;text-align:center;border-right:1px solid var(--line)}.charge-stats div:last-child{border:0}.charge-stats span,.charge-stats strong{display:block}.charge-stats span{color:var(--muted);font-size:9px}.charge-stats strong{margin-top:3px;font-size:12px}.active-charge-panel>.button{width:calc(100% - 28px);margin:0 14px}.compact-list,.activity-list{padding:4px 18px 10px}.compact-row{min-height:64px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.compact-row:last-child{border:0}.compact-row>div{min-width:0;flex:1}.compact-row strong,.compact-row small{display:block}.compact-row strong{font-size:12px}.compact-row small{color:var(--muted);font-size:10px}.compact-row>svg{color:var(--muted)}.device-icon{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:6px;background:var(--primary-soft);color:var(--primary)}.device-icon.large{width:45px;height:45px}.status-badge{width:fit-content;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:4px;font-size:9px;font-weight:700;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-success{color:var(--green);background:var(--green-soft)}.status-info{color:var(--primary);background:var(--primary-soft)}.status-warning{color:var(--amber);background:var(--amber-soft)}.status-danger{color:var(--coral);background:var(--coral-soft)}.status-neutral{color:var(--muted);background:var(--surface-2)}.activity-row{min-height:67px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.activity-row:last-child{border:0}.activity-row>i{width:9px;height:9px;flex:none;border-radius:50%}.activity-row>i.success{background:var(--green)}.activity-row>i.info{background:var(--primary)}.activity-row>i.warning{background:var(--amber)}.activity-row>div{flex:1}.activity-row strong,.activity-row small{display:block}.activity-row strong{font-size:12px}.activity-row small,.activity-row time{color:var(--muted);font-size:10px}.activity-row time{white-space:nowrap}.toolbar{display:flex;justify-content:space-between;gap:12px}.search-box{min-width:260px;height:39px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted)}.search-box.small{min-width:210px}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.segmented{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.segmented button{min-height:31px;display:inline-flex;align-items:center;gap:5px;padding:0 11px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.segmented button.active{background:var(--surface-2);color:var(--ink);font-weight:700}.station-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.station-card{overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.station-card-top{display:flex;align-items:center;gap:10px;padding:17px 17px 0}.station-card-top .status-badge{margin-left:auto}.station-card-top .icon-button{border-color:transparent}.station-card-body{display:block;padding:12px 17px 17px}.station-card-body h2{margin-bottom:5px;font-size:17px}.station-card-body p{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.station-reading{display:grid;grid-template-columns:repeat(3,1fr);margin-top:21px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.station-reading div{padding:0 8px;border-right:1px solid var(--line)}.station-reading div:first-child{padding-left:0}.station-reading div:last-child{border:0}.station-reading span,.station-reading strong{display:block}.station-reading span{color:var(--muted);font-size:9px}.station-reading strong{margin-top:3px;font-size:12px}.station-card-foot{min-height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;background:var(--surface-2);color:var(--muted);font-size:9px}.station-card-foot a{display:flex;align-items:center;gap:5px;color:var(--primary);font-size:11px;font-weight:700}.empty-state{min-height:240px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed var(--line);border-radius:7px;color:var(--muted);text-align:center}.empty-state strong{color:var(--ink)}.empty-state p{margin:0;font-size:12px}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:#050c1299;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(480px,100%);max-height:calc(100vh - 36px);overflow-y:auto;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 20px 70px #0003}.modal-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:18px}.modal-head h2{margin:3px 0 0;font-size:19px}.native-callout{display:flex;align-items:flex-start;gap:12px;margin:13px 0 18px;padding:14px;border:1px solid #efd5a8;border-radius:6px;background:var(--amber-soft);color:var(--amber)}.native-callout>svg{flex:none}.native-callout div{flex:1}.native-callout strong{display:block;color:var(--ink);font-size:12px}.native-callout p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.native-callout.wide{margin:0;align-items:center}.native-callout.compact{margin:8px 0 0}.mobile-only-pill{padding:5px 8px;border-radius:4px;background:#efd8b4;color:#87510c;font-size:9px;font-weight:800;white-space:nowrap}.back-link{display:flex;align-items:center;gap:5px;margin-bottom:8px;color:var(--primary);font-size:11px;font-weight:700}.title-with-status{display:flex;align-items:center;gap:11px}.detail-heading p{display:flex;align-items:center;gap:5px}.heading-actions{display:flex;gap:7px}.tabs{min-height:47px;display:flex;gap:22px;border-bottom:1px solid var(--line)}.tabs button{position:relative;display:flex;align-items:center;gap:7px;padding:0 2px;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.tabs button.active{color:var(--primary)}.tabs button.active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--primary)}.tabs button span{min-width:20px;padding:2px 5px;border-radius:4px;background:var(--surface-2);font-size:9px}.station-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:14px}.charge-control,.session-panel{padding-bottom:17px}.mode-tag{display:flex;align-items:center;gap:4px;padding:4px 7px;border-radius:4px;background:var(--green-soft);color:var(--green)!important;font-weight:800}.power-display{height:230px;display:grid;place-items:center}.power-rings{width:178px;height:178px;border-width:10px}.power-rings.idle{filter:grayscale(1)}.power-rings>svg{color:var(--green)}.power-rings strong{font-size:31px}.charge-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:0 18px 18px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.charge-detail-grid>div{display:flex;align-items:center;justify-content:center;gap:7px;border-right:1px solid var(--line);color:var(--primary)}.charge-detail-grid>div:last-child{border:0}.charge-detail-grid span,.charge-detail-grid strong{display:block}.charge-detail-grid span{color:var(--muted);font-size:9px}.charge-detail-grid strong{margin-top:2px;color:var(--ink);font-size:11px}.charge-control>.button,.charge-control>.guard-note{width:calc(100% - 36px);margin-left:18px}.guard-note{display:flex;align-items:center;justify-content:center;gap:5px;margin:9px 0 0;color:var(--muted);font-size:9px;text-align:center}.session-panel{padding-bottom:18px}.range-label{display:block;padding:23px 18px 0}.range-label>span{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.range-label strong{color:var(--ink)}.range-label input{width:100%;margin-top:17px;accent-color:var(--primary)}.range-marks{display:flex;justify-content:space-between;padding:0 18px 18px;color:var(--muted);font-size:9px}.session-panel .form-grid,.session-panel>.button{margin:0 18px}.session-time{display:flex;gap:10px;margin:18px;padding:13px;border-radius:6px;background:var(--surface-2);color:var(--primary)}.session-time span,.session-time strong{display:block}.session-time span{color:var(--muted);font-size:9px}.session-time strong{margin-top:3px;color:var(--ink);font-size:12px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid label,.login-form>label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea,.login-form input,.setting-row select{width:100%;min-height:40px;padding:9px 10px;border:1px solid var(--line);border-radius:5px;outline:none;background:var(--surface);color:var(--ink);font-size:12px}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.login-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-grid input:disabled,.login-form input:disabled{background:var(--surface-2);color:var(--muted)}.input-suffix{position:relative}.input-suffix input{padding-right:45px}.input-suffix span{position:absolute;top:50%;right:11px;transform:translateY(-50%);color:var(--muted);font-size:10px}.line-chart{height:260px;padding:22px 18px 10px}.line-chart svg{width:100%;height:205px;overflow:visible}.line-chart path:not(.area){fill:none;stroke:var(--primary);stroke-width:3;vector-effect:non-scaling-stroke}.line-chart .area{fill:color-mix(in srgb,var(--primary) 13%,transparent);stroke:none}.grid-lines line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.chart-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.legend{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.legend i{width:14px;height:3px;border-radius:3px;background:var(--primary)}.data-table{overflow-x:auto}.table-row{min-width:700px;min-height:58px;display:grid;grid-template-columns:1.2fr 1.5fr 1fr 1fr .8fr;align-items:center;gap:13px;padding:0 18px;border-bottom:1px solid var(--line);font-size:11px}.table-row:last-child{border:0}.table-head-row{min-height:39px;background:var(--surface-2);color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase}.settings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.settings-grid .panel{padding-bottom:18px}.settings-grid .form-grid{padding:18px}.settings-grid .danger-zone{grid-column:1 / -1}.firmware-info{display:flex;align-items:center;gap:12px;margin:18px;padding:14px;border-radius:6px;background:var(--surface-2);color:var(--primary)}.firmware-info div{flex:1}.firmware-info span,.firmware-info strong{display:block}.firmware-info div span{color:var(--muted);font-size:9px}.firmware-info strong{color:var(--ink);font-size:14px}.settings-grid .panel>.button{width:calc(100% - 36px);margin:0 18px}.schedule-list{padding:0 18px}.schedule-row{min-height:82px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.schedule-row:last-child{border:0}.schedule-row.muted{opacity:.48}.date-tile{width:47px;height:50px;flex:none;display:grid;place-items:center;align-content:center;border-radius:6px;background:var(--primary-soft);color:var(--primary)}.date-tile strong,.date-tile span{display:block}.date-tile strong{font-size:17px}.date-tile span{font-size:9px;text-transform:uppercase}.schedule-main{min-width:0;flex:1}.schedule-main strong,.schedule-main span{display:block}.schedule-main strong{font-size:13px}.schedule-main span{display:flex;align-items:center;gap:5px;margin-top:4px;color:var(--muted);font-size:10px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.profile-card{padding:17px}.profile-card-head{display:flex;justify-content:space-between}.profile-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:6px;background:var(--primary-soft);color:var(--primary)}.profile-card h2{margin:18px 0 5px;font-size:16px}.profile-card p{min-height:32px;color:var(--muted);font-size:11px;line-height:1.45}.profile-specs{display:grid;grid-template-columns:repeat(3,1fr);margin:16px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.profile-specs div{border-right:1px solid var(--line)}.profile-specs div:last-child{border:0}.profile-specs span,.profile-specs strong{display:block;text-align:center}.profile-specs span{color:var(--muted);font-size:8px}.profile-specs strong{margin-top:3px;font-size:11px}.active-profile{display:flex;align-items:center;gap:5px;color:var(--green);font-size:10px;font-weight:700}.switch{position:relative;width:37px;height:21px;display:inline-block;flex:none}.switch input{width:0;height:0;opacity:0}.switch span{position:absolute;inset:0;border-radius:20px;background:#a9b3bc;cursor:pointer;transition:.2s}.switch span:before{content:"";position:absolute;left:3px;bottom:3px;width:15px;height:15px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:before{transform:translate(16px)}.history-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.65fr);gap:14px}.history-bars{height:275px;display:flex;align-items:end;gap:12px;padding:25px 20px 18px}.history-bars div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.history-bars i{width:min(24px,80%);border-radius:3px 3px 0 0;background:var(--primary);opacity:.75}.history-bars span{color:var(--muted);font-size:8px}.donut{width:155px;height:155px;display:grid;place-items:center;margin:28px auto 20px;border-radius:50%;background:conic-gradient(var(--primary) 0 92%,var(--green) 92% 100%)}.donut:before{content:"";grid-area:1/1;width:105px;height:105px;border-radius:50%;background:var(--surface)}.donut div{z-index:1;grid-area:1/1;text-align:center}.donut strong,.donut span{display:block}.donut strong{font-size:22px}.donut span{color:var(--muted);font-size:10px}.breakdown-list{padding:0 20px 20px}.breakdown-list div{display:flex;align-items:center;gap:8px;min-height:34px;font-size:10px}.breakdown-list i{width:8px;height:8px;border-radius:2px}.breakdown-list i.blue{background:var(--primary)}.breakdown-list i.green{background:var(--green)}.breakdown-list span{flex:1;color:var(--muted)}.history-table .table-row{min-width:850px;grid-template-columns:1.2fr 1.5fr 1fr .8fr .8fr .8fr}.history-table .table-row div strong,.history-table .table-row div small{display:block}.history-table .table-row div small{color:var(--muted);font-size:9px}.home-overview{min-height:118px;display:flex;align-items:center;gap:16px;padding:18px}.home-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:7px;background:var(--primary-soft);color:var(--primary)}.home-overview h2{margin:2px 0 4px;font-size:18px}.home-overview p{display:flex;align-items:center;gap:5px;margin:0;color:var(--muted);font-size:11px}.home-totals{display:flex;gap:28px;margin-left:auto;padding-right:20px}.home-totals strong,.home-totals span{display:block}.home-totals strong{font-size:18px}.home-totals span{color:var(--muted);font-size:9px}.sharing-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.member-list,.access-list{padding:0 18px}.member-row,.access-row{min-height:67px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.member-row:last-child,.access-row:last-child{border:0}.member-row>div,.access-row>div{min-width:0;flex:1}.member-row strong,.member-row small,.access-row strong,.access-row small{display:block}.member-row strong,.access-row strong{font-size:11px}.member-row small,.access-row small{color:var(--muted);font-size:9px}.role-pill{padding:4px 7px;border-radius:4px;background:var(--surface-2);color:var(--muted);font-size:9px}.member-row .icon-button{border:0}.permission-note{display:flex;gap:9px;margin:8px 18px 18px;padding:12px;border-radius:6px;background:var(--surface-2);color:var(--primary)}.permission-note p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.activity-list.horizontal{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.activity-list.horizontal .activity-row{border:0}.rfid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rfid-card{overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.rfid-card.inactive{opacity:.55}.rfid-pattern{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#102436;color:#8fd6f7}.rfid-body{min-height:105px;display:flex;align-items:flex-start;justify-content:space-between;padding:17px}.rfid-body h2{margin:4px 0 7px;font-size:15px}.rfid-body code{color:var(--muted);font-size:11px}.primary-label{color:var(--primary);font-size:8px;font-weight:800;letter-spacing:.09em}.rfid-foot{min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 17px;border-top:1px solid var(--line)}.rfid-foot>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.danger-icon{color:var(--coral)}.profile-layout{display:grid;grid-template-columns:minmax(250px,.35fr) 1fr;gap:14px}.profile-summary{display:flex;flex-direction:column;align-items:center;padding:24px;text-align:center}.large-avatar{width:70px;height:70px;display:grid;place-items:center;margin-bottom:13px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font:700 20px Manrope}.profile-summary h2{margin-bottom:3px;font-size:18px}.profile-summary p{margin-bottom:11px;color:var(--muted);font-size:11px}.summary-meta{width:100%;display:grid;grid-template-columns:1fr 1fr;margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.summary-meta div:first-child{border-right:1px solid var(--line)}.summary-meta span,.summary-meta strong{display:block}.summary-meta span{color:var(--muted);font-size:9px}.summary-meta strong{margin-top:3px;font-size:11px}.profile-layout>.panel:nth-child(2){padding-bottom:18px}.profile-layout .form-grid{padding:18px}.profile-layout .panel>.button{margin-left:18px}.vehicle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:18px}.vehicle-card{min-height:125px;display:flex;align-items:center;gap:15px;padding:15px;border:1px solid var(--line);border-radius:6px}.vehicle-card>div:nth-child(2){min-width:0;flex:1}.vehicle-card h3{margin:0 0 4px;font-size:13px}.vehicle-card p{margin:0 0 13px;color:var(--muted);font-size:10px}.vehicle-visual{width:92px;height:78px;display:grid;place-items:center;flex:none;border-radius:6px;background:var(--surface-2);color:var(--primary)}.vehicle-visual span{padding:3px 5px;border-radius:3px;background:var(--primary);color:#fff;font-size:7px;font-weight:800}.vehicle-specs{display:flex;gap:12px}.vehicle-specs span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border-color:color-mix(in srgb,var(--coral) 35%,var(--line))}.danger-zone h2{margin:3px 0 4px;font-size:15px}.danger-zone p{margin:0;color:var(--muted);font-size:10px}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-section{padding:18px}.settings-title{display:flex;align-items:flex-start;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--primary)}.settings-title h2{margin:0 0 3px;color:var(--ink);font-size:15px}.settings-title p{margin:0;color:var(--muted);font-size:10px}.setting-row{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.setting-row strong,.setting-row span{display:block}.setting-row strong{font-size:11px}.setting-row>div>span{margin-top:3px;color:var(--muted);font-size:9px}.setting-row select{width:125px}.config-list{margin:4px 0 16px}.config-list div{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);font-size:10px}.config-list span{color:var(--muted)}.config-list strong{font-size:10px}.config-list code{color:var(--primary);font-size:10px}.config-on{color:var(--green)}.mobile-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mobile-feature-card{min-height:168px;display:flex;flex-direction:column;align-items:flex-start;padding:18px}.mobile-feature-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:15px;border-radius:6px;background:var(--amber-soft);color:var(--amber)}.mobile-feature-card h2{margin-bottom:5px;font-size:14px}.mobile-feature-card p{margin:0 0 14px;color:var(--muted);font-size:10px;line-height:1.5}.mobile-feature-card .mobile-only-pill{margin-top:auto}.boundary-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px}.boundary-panel>div{max-width:740px}.boundary-panel svg{color:var(--green)}.boundary-panel h2{margin:8px 0 5px;font-size:16px}.boundary-panel p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.toast{position:fixed;right:22px;bottom:22px;z-index:100;max-width:min(420px,calc(100vw - 44px));display:flex;align-items:center;gap:9px;padding:12px 15px;border-radius:6px;background:#102c24;color:#a3edcf;box-shadow:0 12px 40px #00000040;font-size:11px;font-weight:600}.toast-enter-active,.toast-leave-active{transition:.2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(10px)}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.05fr) minmax(420px,.95fr);background:var(--surface)}.login-visual{position:relative;min-height:700px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:38px 48px 50px;background:#071522;color:#fff}.login-visual:before{content:"";position:absolute;inset:0;opacity:.25;background-image:linear-gradient(#1b3a4f 1px,transparent 1px),linear-gradient(90deg,#1b3a4f 1px,transparent 1px);background-size:45px 45px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 80%);mask-image:linear-gradient(to bottom,black,transparent 80%)}.login-visual>*{position:relative;z-index:1}.login-brand{display:flex;align-items:center;gap:11px;font:700 18px Manrope}.login-brand img{width:40px;height:40px;border-radius:8px}.login-brand small{display:block;color:#8fa4b5;font:500 9px DM Sans;letter-spacing:.1em;text-transform:uppercase}.login-visual h1{margin-bottom:15px;font-size:clamp(30px,4vw,48px);line-height:1.12}.login-visual>div:last-child p{max-width:510px;margin:0;color:#9db0bf;font-size:14px;line-height:1.6}.energy-visual{position:relative;height:300px;display:grid;place-items:center}.energy-ring{width:220px;height:220px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #315368;border-radius:50%;background:#0a1d2b;box-shadow:0 0 0 30px #184b662e,0 0 70px #1399cf26;color:#3ccbf5}.energy-ring strong{margin-top:8px;color:#fff;font-size:34px}.energy-ring strong small{margin-left:4px;color:#8fa4b5;font-size:12px}.energy-ring span{color:#718d9f;font-size:10px}.energy-lines{position:absolute;right:5%;bottom:20px;left:5%;display:flex;align-items:flex-end;justify-content:space-between;opacity:.35}.energy-lines i{width:3px;border-radius:2px;background:#39b9e7}.login-form-wrap{display:grid;place-items:center;padding:40px}.login-form{width:min(390px,100%)}.login-form h2{margin:8px 0 5px;font-size:27px}.login-form>p{margin-bottom:28px;color:var(--muted);font-size:12px}.login-form>label{margin-bottom:15px}.password-field{position:relative}.password-field input{padding-right:42px}.password-field button{position:absolute;top:50%;right:6px;width:32px;height:32px;display:grid;place-items:center;transform:translateY(-50%);border:0;background:none;color:var(--muted);cursor:pointer}.form-row{display:flex;align-items:center;justify-content:space-between;margin:5px 0 20px}.check-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.check-label input{width:14px;min-height:14px;accent-color:var(--primary)}.login-note{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:14px;color:var(--muted);font-size:9px}.form-message{margin:12px 0 0!important;padding:8px;border-radius:5px;background:var(--primary-soft);color:var(--primary)!important;text-align:center}.mobile-login-brand{display:none}.not-found{min-height:100vh;display:grid;place-items:center;align-content:center;gap:8px;padding:20px;background:var(--bg);text-align:center}.not-found>span{color:var(--primary);font:700 70px Manrope}.not-found h1{margin:0}.not-found p{color:var(--muted)}@media(max-width:1180px){.metrics-grid,.station-grid,.profile-grid,.rfid-grid,.mobile-feature-grid{grid-template-columns:repeat(2,1fr)}.activity-list.horizontal{grid-template-columns:1fr;gap:0}}@media(max-width:900px){.sidebar{transform:translate(-100%);transition:transform .22s ease}.sidebar.open{transform:translate(0)}.sidebar-scrim{position:fixed;inset:0;z-index:25;display:block;border:0;background:#040a108c}.main-column{margin-left:0}.menu-button{display:inline-grid!important}.topbar{padding:0 18px}.topbar-title{flex:1;margin-left:10px}main{padding:18px 18px 40px}.dashboard-grid,.dashboard-grid.lower,.station-detail-grid,.history-layout,.sharing-grid,.profile-layout,.settings-grid,.settings-layout{grid-template-columns:1fr}.settings-grid .danger-zone{grid-column:auto}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{min-height:100vh}.mobile-login-brand{display:flex;align-items:center;gap:9px;margin-bottom:35px}.mobile-login-brand img{width:38px;height:38px;border-radius:8px}}@media(max-width:640px){.login-form-wrap,.login-form{width:100%;min-width:0}.form-row{gap:12px}.form-row .text-button{flex:none;white-space:nowrap}main{padding:14px 12px 36px}.topbar{height:60px;padding:0 12px}.topbar-title small{display:none}.page-heading,.detail-heading{align-items:flex-start;flex-direction:column}.page-heading .button,.heading-actions{width:100%}.heading-actions .button{flex:1}.metrics-grid,.station-grid,.profile-grid,.rfid-grid,.vehicle-grid,.mobile-feature-grid{grid-template-columns:1fr}.metrics-grid.compact{grid-template-columns:1fr 1fr}.metric-card{min-height:96px;padding:14px}.toolbar{flex-direction:column}.search-box,.search-box.small{min-width:0;width:100%}.toolbar .segmented{width:100%;overflow-x:auto}.toolbar .segmented button{flex:1}.charge-detail-grid{grid-template-columns:1fr 1fr;gap:10px}.charge-detail-grid>div{min-height:38px}.charge-detail-grid>div:nth-child(2){border:0}.form-grid.two{grid-template-columns:1fr}.schedule-row{flex-wrap:wrap;padding:12px 0}.schedule-row .status-badge{margin-left:60px}.schedule-row .icon-button{margin-left:auto}.home-overview{flex-wrap:wrap}.home-totals{width:100%;margin:4px 0 0 68px}.member-row{flex-wrap:wrap;padding:10px 0}.member-row .role-pill{margin-left:42px}.native-callout.wide{align-items:flex-start}.native-callout.wide .mobile-only-pill{display:none}.danger-zone,.boundary-panel{align-items:stretch;flex-direction:column}.danger-zone .button,.boundary-panel .button{width:100%}.login-form-wrap{padding:26px 20px}.login-form h2{font-size:24px}}@media(max-width:430px){.metrics-grid.compact{grid-template-columns:1fr}.metric-card strong{font-size:18px}.tabs{gap:14px;overflow-x:auto}.station-reading strong{font-size:10px}.bar-chart{gap:5px;padding-right:12px;padding-left:12px}.bar-track b{display:none}}:root{font-family:Inter,Segoe UI Variable Text,Aptos,Segoe UI,Arial,sans-serif;color:#1f2937;background:#f8f9fa;--bg: #f8f9fa;--surface: #ffffff;--surface-2: #f0f4f5;--ink: #1f2937;--muted: #6b7280;--line: #e5e7eb;--line-strong: #d1d5db;--primary: #0785ba;--primary-dark: #056d99;--primary-soft: #e7f5fa;--green: #22c55e;--green-soft: #ecfdf3;--amber: #f59e0b;--amber-soft: #fffbeb;--coral: #ef4444;--coral-soft: #fef2f2;--nav: #ffffff;--nav-muted: #627178;--shadow: 0 1px 2px rgba(31, 41, 55, .025), 0 6px 18px rgba(31, 41, 55, .045);--shadow-hover: 0 12px 30px rgba(31, 41, 55, .08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px}:root[data-theme=dark]{color:#eef4f5;background:#11191c;--bg: #11191c;--surface: #182226;--surface-2: #202d31;--ink: #eef4f5;--muted: #9babb1;--line: #2c3a3f;--primary: #31a7d4;--primary-dark: #31a7d4;--primary-soft: #143844;--green-soft: #173a31;--amber-soft: #43341d;--coral-soft: #452a27;--nav: #151f23;--nav-muted: #a0adb2;--shadow: 0 10px 28px rgba(0, 0, 0, .16)}body{background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;text-rendering:optimizeLegibility}img,svg{max-width:100%}.main-column,main,.page-stack,.panel,.metric-card,.dashboard-grid>*,.station-grid>*,.settings-grid>*,.sharing-grid>*,.profile-layout>*,.history-layout>*{min-width:0}html[dir=rtl] body{direction:rtl}html[dir=rtl] .sidebar{right:0;left:auto;border-right:0;border-left:1px solid var(--line)}html[dir=rtl] .main-column{margin-right:264px;margin-left:0}html[dir=rtl] .sidebar nav a.router-link-exact-active:before{right:0;left:auto}html[dir=rtl] .user-chip{text-align:right}@media(max-width:900px){html[dir=rtl] .sidebar{transform:translate(100%)}html[dir=rtl] .sidebar.open{transform:translate(0)}html[dir=rtl] .main-column{margin-right:0}}h1,h2,h3,strong,.brand>span,.topbar-title span{font-family:Segoe UI Variable Display,Aptos Display,Segoe UI,Arial,sans-serif;letter-spacing:0}button,input,select,textarea{letter-spacing:0}.sidebar{width:264px;background:var(--nav);color:var(--ink);border-right:1px solid var(--line);box-shadow:8px 0 30px #14222806}.brand{height:112px;justify-content:center;padding:8px 24px;border-bottom-color:var(--line)}.brand img{width:96px;height:96px;border-radius:6px;object-fit:contain}.brand>span{color:var(--primary);font-size:20px;font-weight:750;line-height:1.05;text-transform:uppercase}.brand small{margin-top:5px;color:var(--muted);font-family:inherit;font-size:9px;font-weight:650;letter-spacing:.08em}.sidebar nav{padding:22px 14px}.sidebar nav p{margin:18px 12px 8px;color:#96a3a8;font-size:9px;letter-spacing:.11em}.sidebar nav a{min-height:44px;gap:12px;margin:2px 0;padding:0 13px;border-radius:7px;color:var(--nav-muted);font-size:13px;font-weight:600;transition:color .16s ease,background .16s ease}.sidebar nav a:hover{color:var(--ink);background:var(--surface-2)}.sidebar nav a.router-link-exact-active{color:var(--primary-dark);background:var(--primary-soft)}.sidebar nav a.router-link-exact-active:before{width:3px;height:20px;background:var(--primary)}.sidebar-foot{padding:14px;border-top-color:var(--line)}.user-chip{min-height:54px;padding:8px 9px;color:var(--ink)}.user-chip:hover{background:var(--surface-2)}.user-chip>span,.avatar{width:34px;height:34px;background:var(--primary-soft);color:var(--primary-dark)}.user-chip strong{font-size:12px}.user-chip small{color:var(--muted);font-size:10px}.main-column{margin-left:264px}.topbar{height:72px;padding:0 34px;background:color-mix(in srgb,var(--surface) 94%,transparent)}.topbar-title span{font-size:15px;font-weight:700}.topbar-title small{margin-top:2px;font-size:10px}.topbar-title{min-width:0}.topbar-title span,.topbar-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{flex:none;gap:8px}.icon-button{width:38px;height:38px;border-radius:7px;color:var(--muted);transition:border-color .16s ease,color .16s ease,background .16s ease}.icon-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 35%,var(--line));background:var(--primary-soft);color:var(--primary-dark)}main{width:100%;max-width:1480px;padding:28px 34px 56px}.page-stack{gap:18px}.page-heading,.detail-heading{min-height:64px;align-items:center}.page-heading>div:first-child,.detail-heading>div:first-child{min-width:0}.page-heading h1,.detail-heading h1{margin:4px 0;font-size:29px;font-weight:720;line-height:1.16}.page-heading p,.detail-heading p{font-size:13px}.eyebrow{color:var(--primary-dark);font-size:9px;font-weight:800;letter-spacing:.1em}.button{min-height:42px;padding:0 16px;border-radius:7px;font-size:12px;font-weight:700;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.button.primary{box-shadow:0 6px 16px #0785ba2b}.button.primary:hover{box-shadow:0 8px 20px #0785ba3b;transform:translateY(-1px)}.button.secondary{border-color:var(--line)}.button.tall{min-height:48px}.text-button{font-size:11px}.panel,.metric-card,.station-card,.rfid-card{border-color:var(--line);border-radius:8px;box-shadow:var(--shadow)}.panel-head{min-height:70px;padding:16px 20px}.panel-head h2{font-size:16px;font-weight:700}.panel-head>div{min-width:0}.panel-head h2,.panel-head p{overflow-wrap:anywhere}.metrics-grid,.dashboard-grid,.dashboard-grid.lower{gap:16px}.metric-card{position:relative;min-height:122px;gap:14px;padding:20px;overflow:hidden}.metric-card:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--line)}.metric-card:has(.metric-icon.blue):after{background:var(--primary)}.metric-card:has(.metric-icon.green):after{background:var(--green)}.metric-card:has(.metric-icon.amber):after{background:var(--amber)}.metric-card:has(.metric-icon.coral):after{background:var(--coral)}.metric-icon{width:44px;height:44px;border-radius:7px}.metric-label{font-size:10px;font-weight:650}.metric-card strong{margin:4px 0 2px;font-size:22px;font-weight:720}.metric-card small{font-size:10px}.energy-panel{min-height:396px}.chart-summary{padding:22px 22px 6px}.chart-summary strong{font-size:28px}.bar-chart{height:258px;padding:14px 28px 20px}.bar-track{width:min(32px,72%)}.bar-track i{background:#8fcce2}.compact-row,.activity-row{min-height:66px}.compact-row:hover{background:color-mix(in srgb,var(--primary-soft) 55%,transparent)}input,select,textarea{min-height:44px;border-color:var(--line);border-radius:7px;background:var(--surface);color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent);outline:none}label{color:var(--ink);font-size:11px;font-weight:650}.station-card,.vehicle-card,.profile-card,.rfid-card{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.station-card:hover,.vehicle-card:hover,.profile-card:hover,.rfid-card:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));box-shadow:0 12px 30px #17212612;transform:translateY(-1px)}.toolbar{align-items:center;flex-wrap:wrap}.toolbar>*{min-width:0}.toolbar .search-box{width:min(360px,100%)}.toolbar .segmented{flex:none}.station-card{min-height:266px;display:flex;flex-direction:column}.station-card-body{flex:1}.station-card-body h2,.station-card-body p,.station-card-foot>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-card-body p svg{flex:none}.station-reading{grid-template-columns:repeat(3,minmax(0,1fr))}.station-reading div{min-width:0}.station-reading span,.station-reading strong{overflow-wrap:anywhere}.station-card-foot{margin-top:auto}.charge-control .charge-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.session-panel .charge-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charge-detail-grid>div{min-width:0;padding:0 8px}.charge-detail-grid span{min-width:0}.charge-detail-grid strong{overflow-wrap:anywhere}.power-rings.idle{border-color:var(--surface-2);color:var(--muted);filter:none}.power-rings.idle>svg{color:var(--muted)}.profile-layout>.panel .home-totals{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:24px 20px}.profile-layout>.panel .home-totals>div{min-width:0;padding:0 14px;border-right:1px solid var(--line);text-align:center}.profile-layout>.panel .home-totals>div:last-child{border-right:0}.profile-layout>.panel .home-totals strong,.profile-layout>.panel .home-totals span{overflow-wrap:anywhere}.member-row>div,.access-row>div,.activity-row>div,.compact-row>div{min-width:0}.member-row strong,.member-row small,.access-row strong,.access-row small,.activity-row strong,.activity-row small,.compact-row strong,.compact-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.summary-meta{grid-template-columns:1fr}.summary-meta div:first-child{border-right:0}.login-page{min-height:100vh;grid-template-columns:minmax(520px,1.08fr) minmax(430px,.92fr);background:var(--surface)}.login-visual{min-height:700px;padding:40px 52px 52px;background:#102126}.login-visual:before{opacity:.32;background-image:linear-gradient(#31515a 1px,transparent 1px),linear-gradient(90deg,#31515a 1px,transparent 1px);background-size:52px 52px}.login-brand{gap:12px;color:#fff;font-family:Segoe UI Variable Display,Aptos Display,Segoe UI,Arial,sans-serif;font-size:18px;font-weight:750;text-transform:uppercase}.login-brand img{width:112px;height:112px;border-radius:7px;object-fit:contain}.login-brand small{color:#9db0b6;font-family:inherit}.energy-visual{height:320px}.energy-ring{width:236px;height:236px;border-color:#3d5f67;background:#152a30;box-shadow:0 0 0 28px #0785ba17,0 18px 55px #0000002e}.energy-ring img{width:180px;height:180px;border-radius:50%;object-fit:cover}.login-visual h1{max-width:650px;margin-bottom:14px;font-size:46px;font-weight:720}.login-visual>div:last-child p{color:#a8b9be;font-size:14px}.login-form-wrap{padding:48px}.login-form{width:min(400px,100%)}.login-form h2{margin:10px 0 6px;font-size:30px;font-weight:720}.login-form>p{margin-bottom:30px;font-size:13px}.login-form>label{margin-bottom:17px}.login-form .button.primary{min-height:48px}.mobile-login-brand img{width:104px;height:104px;object-fit:contain;border-radius:7px}.mobile-login-brand strong{color:var(--primary-dark);font-size:19px;text-transform:uppercase}.auth-page{min-height:100vh;background:var(--bg)}.auth-card{width:min(540px,100%);padding:32px;border-radius:8px}.auth-brand{gap:12px;color:var(--primary-dark);font-family:Segoe UI Variable Display,Aptos Display,Segoe UI,Arial,sans-serif;font-weight:750;text-transform:uppercase}.auth-brand img{width:108px;height:108px;border-radius:7px;object-fit:contain}.auth-brand small{color:var(--muted)}.toast{border-radius:7px;font-size:11px}@media(max-width:900px){.sidebar{transform:translate(-100%)}.main-column{margin-left:0}.topbar{padding:0 20px}main{padding:22px 20px 44px}.login-page{grid-template-columns:1fr}}@media(max-width:640px){.topbar{height:62px;padding:0 13px}.topbar-title span{font-size:14px}.topbar-actions{gap:6px}main{padding:17px 13px 38px}.page-stack{gap:14px}.page-heading,.detail-heading{min-height:0;align-items:flex-start;gap:14px}.page-heading p,.detail-heading p{line-height:1.55}.heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.heading-actions>*{min-width:0}.page-heading h1,.detail-heading h1{font-size:25px}.metric-card{min-height:106px;padding:16px}.login-form-wrap{display:flex;flex-direction:column;justify-content:center;width:100%;max-width:100%;min-width:0;min-height:100dvh;overflow-x:clip;padding:44px 20px 36px}.login-form{width:100%;min-width:0;max-width:400px;margin:0 auto}.login-form input,.login-form .button{max-width:100%}.login-form h2{font-size:27px}.form-row,.auth-links{width:100%;min-width:0;gap:10px}.form-row .text-button,.auth-links a{min-width:0;margin-left:auto;white-space:normal;text-align:right}.auth-card{padding:24px 20px}.charge-control .charge-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.charge-control .charge-detail-grid>div:nth-child(2){border-right:1px solid var(--line)}.profile-layout>.panel .home-totals{padding:20px 12px}.profile-layout>.panel .home-totals>div{padding:0 8px}}@media(max-width:430px){.topbar-title small{display:none}.topbar-actions .icon-button{width:36px;height:36px}.toolbar .segmented button{min-width:max-content}.station-card{min-height:0}.station-reading div{padding:0 7px}.station-reading strong{font-size:10px}.charge-detail-grid{margin-right:12px;margin-left:12px}.charge-detail-grid>div{padding:0 5px}.charge-detail-grid strong{font-size:10px}.profile-layout>.panel .home-totals{grid-template-columns:1fr;gap:12px}.profile-layout>.panel .home-totals>div{padding:0 0 12px;border-right:0;border-bottom:1px solid var(--line)}.profile-layout>.panel .home-totals>div:last-child{padding-bottom:0;border-bottom:0}}.sidebar{width:272px;padding:16px 12px 14px;border-right:1px solid var(--line);background:var(--nav);color:var(--ink);box-shadow:1px 0 #1f293704;transition:width .22s ease,transform .22s ease}.user-chip small{color:var(--muted)}html[dir=rtl] .main-column{margin-right:272px;margin-left:0}.topbar{height:72px;padding-inline:clamp(20px,3vw,40px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.page-heading,.detail-heading{min-height:76px;align-items:center}.page-heading h1,.detail-heading h1{font-size:clamp(24px,2.2vw,28px);font-weight:750}.page-heading p,.detail-heading p{max-width:720px;font-size:13px}.panel-head h2{font-size:16px}.button{min-height:42px;border-radius:9px}.icon-button{width:40px;height:40px;border-radius:9px}.button:hover:not(:disabled),.icon-button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{box-shadow:0 6px 14px color-mix(in srgb,var(--primary) 18%,transparent)}.toolbar{min-height:66px;padding:11px 12px}.search-box,.segmented,.form-grid input,.form-grid select,.form-grid textarea,.login-form input,.setting-row select,.toolbar select,.panel-head select,.member-row select{border-radius:9px}.search-box{min-height:42px;background:var(--surface)}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.segmented{gap:3px;padding:4px;background:var(--surface-2)}.segmented button{border-radius:7px}.segmented button.active{background:var(--surface);box-shadow:0 1px 4px #1f293717}.tabs,.station-tabs{min-height:52px;gap:4px;padding:5px;border-bottom:1px solid var(--line)}.tabs button,.station-tabs button{min-height:40px;padding:0 16px;border-radius:8px}.tabs button.active,.station-tabs button.active{background:var(--primary-soft);color:var(--primary-dark)}.metric-icon{width:44px;height:44px;border-radius:10px}.metric-label{font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.status-badge{min-height:26px;padding:4px 9px;border-radius:7px}.empty-state{min-height:260px;border-radius:var(--radius-md);background:var(--surface)}.dashboard-page .hero-stat{border-left-color:var(--line)}.dashboard-main-grid,.dashboard-secondary-grid{gap:18px}.dashboard-energy-card,.dashboard-live-card{min-height:400px}.bar-track{background:var(--surface-2)}.bar-track i{background:var(--primary)}.compact-row:hover{border-radius:9px;background:var(--surface-2)}.activity-row time{border-radius:7px;background:var(--surface-2)}.station-grid{gap:18px}.station-card-top{padding:20px 20px 0}.station-card-body{padding:15px 20px 20px}.station-card-foot{min-height:50px;padding-inline:20px;background:var(--surface-2)}.station-reading{margin-top:22px;padding:16px 0}.station-detail .station-hero{border-radius:var(--radius-lg);border-left:4px solid var(--primary)}.overview-shell,.side-stack,.settings-grid.refined-settings{gap:18px}.charge-stage{border-radius:var(--radius-lg)}.session-card,.meter-card{border-radius:var(--radius-md)}.session-metrics>div,.meter-grid>div,.soft-note{border-radius:10px}.table-head-row{background:var(--surface-2);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.table-row{min-height:64px}.table-row:hover:not(.table-head-row){background:color-mix(in srgb,var(--primary-soft) 45%,transparent)}.history-filters,.pagination-bar{background:var(--surface-2)}.schedule-row{min-height:88px}.date-tile,.profile-specs,.config-list{border-radius:10px}.profile-card{padding:22px}.rfid-pattern,.large-avatar{background:var(--primary-soft);color:var(--primary-dark)}.danger-zone{border-left:4px solid var(--coral);background:var(--surface)}.settings-title>svg{border-radius:10px}.modal-backdrop{background:#11182794;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{padding:24px;border-radius:var(--radius-lg);box-shadow:0 24px 64px #11182738}.toast{border-radius:10px;box-shadow:var(--shadow-hover)}.login-page{background:#f8f9fa}.login-visual:before{background:var(--primary);opacity:1}.login-visual h1{color:var(--ink);font-size:clamp(34px,4vw,50px)}.energy-ring{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow)}.login-form h2{font-size:28px}.auth-page{background:#f3f6f7}.auth-card{padding:34px;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover)}.not-found>span{color:var(--primary)}:root[data-theme=dark] .sidebar{color:var(--ink)}:root[data-theme=dark] .dashboard-page .dashboard-hero{background:var(--surface)}:root[data-theme=dark] .login-page,:root[data-theme=dark] .auth-page{background:var(--bg)}:root[data-theme=dark] .login-visual{background:#152328}html[dir=rtl] .app-shell.sidebar-collapsed .main-column{margin-right:82px;margin-left:0}@media(max-width:760px){main{padding:24px 16px 48px}.page-heading,.detail-heading{align-items:flex-start}.dashboard-page .dashboard-hero{padding:22px}.toolbar{align-items:stretch}.modal{width:min(100%,520px);max-height:calc(100dvh - 24px);padding:20px}}@media(max-width:480px){.metric-card{min-height:116px;padding:18px}.metric-card strong{font-size:25px}.dashboard-page .dashboard-hero h1{font-size:26px}.panel-head{padding:16px}}:root{--bg: #f6f8f9;--surface: #ffffff;--surface-2: #eef4f6;--surface-3: #f9fbfc;--ink: #132126;--muted: #64747b;--line: #dbe5e8;--primary: #0784b8;--primary-dark: #056f9c;--primary-soft: #e6f5fb;--green: #128467;--green-soft: #e5f5ef;--amber: #b87418;--amber-soft: #fff3dc;--coral: #c85242;--coral-soft: #fde9e6;--nav: #ffffff;--nav-muted: #6c7b82;--shadow: 0 1px 2px rgba(17, 32, 38, .035), 0 10px 28px rgba(17, 32, 38, .055);--shadow-hover: 0 16px 42px rgba(17, 32, 38, .09);--focus: 0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent)}:root[data-theme=dark]{--bg: #10181b;--surface: #172226;--surface-2: #202c31;--surface-3: #121d21;--ink: #eef5f6;--muted: #9cadaf;--line: #2c3a40;--primary: #38a9d4;--primary-dark: #5cbbe0;--primary-soft: #143844;--green: #32b08c;--green-soft: #153c32;--amber-soft: #40331f;--coral-soft: #452925;--nav: #141f23;--nav-muted: #a2afb4;--shadow: 0 12px 34px rgba(0, 0, 0, .18);--shadow-hover: 0 18px 48px rgba(0, 0, 0, .26)}body{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 42%,transparent) 0,transparent 320px),var(--bg)}.app-shell{background:transparent}.sidebar{width:252px;border-right-color:color-mix(in srgb,var(--line) 86%,transparent);box-shadow:1px 0 color-mix(in srgb,var(--line) 55%,transparent)}.brand{height:104px;padding:10px 24px 12px}.brand img{width:86px;height:86px;filter:drop-shadow(0 10px 18px rgba(7,132,184,.08))}.sidebar nav{padding:18px 12px}.sidebar nav p{margin:18px 14px 9px;color:color-mix(in srgb,var(--muted) 70%,transparent)}.sidebar nav a{min-height:42px;margin:3px 0;padding:0 12px;border:1px solid transparent}.sidebar nav a svg{width:18px;height:18px;color:color-mix(in srgb,currentColor 82%,transparent)}.sidebar nav a:hover{border-color:color-mix(in srgb,var(--line) 55%,transparent);background:var(--surface-3)}.sidebar nav a.router-link-exact-active{border-color:color-mix(in srgb,var(--primary) 20%,transparent);background:var(--primary-soft);color:var(--primary-dark)}.sidebar nav a.router-link-exact-active:before{left:4px;width:2px;height:18px}.sidebar-foot{padding:12px}.user-chip{min-height:56px;border:1px solid var(--line);border-radius:8px;background:var(--surface-3)}.user-chip:hover{border-color:color-mix(in srgb,var(--primary) 22%,var(--line));background:var(--primary-soft)}.main-column{margin-left:252px}.topbar{height:70px;border-bottom-color:color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent)}.topbar-title span{font-size:14px}.topbar-title small{color:color-mix(in srgb,var(--muted) 90%,transparent)}.topbar-actions .button.secondary{background:var(--surface-3)}main{max-width:1440px;padding-top:30px}.page-stack{gap:20px}.page-heading,.detail-heading{padding:2px 0 4px}.page-heading h1,.detail-heading h1{font-size:30px}.page-heading p,.detail-heading p{max-width:720px;color:var(--muted)}.eyebrow{color:var(--primary-dark);letter-spacing:.08em}.panel,.metric-card,.station-card,.rfid-card,.vehicle-card,.profile-card{border-color:color-mix(in srgb,var(--line) 92%,transparent);background:var(--surface);box-shadow:var(--shadow)}.panel{overflow:hidden}.panel-head{min-height:68px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-3) 70%,transparent),transparent)}.panel-head h2{font-size:15px}.button,.icon-button,.segmented,.search-box,input,select,textarea{border-radius:8px}.button{min-height:40px}.button.primary{background:var(--primary);box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 20%,transparent)}.button.secondary{background:var(--surface)}.button.danger{background:var(--coral)}.text-button{color:var(--primary-dark)}.icon-button{background:var(--surface)}.icon-button:focus-visible,.button:focus-visible,.text-button:focus-visible,.segmented button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus)}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{min-height:118px;align-items:flex-start}.metric-card:after{height:3px}.metric-icon{width:42px;height:42px}.metric-card>div:last-child{min-width:0}.metric-label{text-transform:uppercase;letter-spacing:.04em}.metric-card strong{font-size:23px;line-height:1.1}.dashboard-grid{grid-template-columns:minmax(0,1.58fr) minmax(318px,.82fr)}.dashboard-grid.lower{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.energy-panel{min-height:392px}.chart-summary{padding-bottom:0}.chart-summary strong{padding-inline:20px;color:var(--ink)}.bar-chart{gap:clamp(10px,1.8vw,22px)}.bar-track{background:color-mix(in srgb,var(--primary-soft) 65%,var(--surface-2))}.bar-track i{background:linear-gradient(180deg,#5bb9d9,var(--primary))}.bar-track b{top:-22px;padding:2px 5px;border-radius:5px;background:var(--surface);box-shadow:0 2px 8px #11202614}.charge-orbit>div,.power-rings{border-color:color-mix(in srgb,var(--primary) 13%,var(--surface-2));border-top-color:var(--green);border-right-color:var(--green);background:radial-gradient(circle at center,var(--surface) 58%,color-mix(in srgb,var(--green-soft) 70%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 75%,transparent)}.charge-orbit strong,.power-rings strong{font-weight:780}.power-rings.idle{background:var(--surface);border-color:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.compact-list,.activity-list{padding:6px 18px 12px}.compact-row,.activity-row{min-height:68px;border-bottom-color:color-mix(in srgb,var(--line) 78%,transparent)}.activity-row>i{width:8px;height:8px;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 12%,transparent)}.activity-row time{padding:4px 7px;border-radius:6px;background:var(--surface-2)}.toolbar{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.search-box{border-color:var(--line);background:var(--surface-3)}.segmented{gap:2px;border-color:var(--line);background:var(--surface-2)}.segmented button{border-radius:6px;font-weight:700}.segmented button.active{background:var(--surface);box-shadow:0 1px 5px #11202614}.station-grid,.profile-grid,.rfid-grid,.vehicle-grid{gap:16px}.station-card{min-height:276px}.station-card-top{padding:16px 16px 0}.station-card-body{padding:14px 16px 16px}.station-card-body h2{font-size:16px}.station-reading{margin-top:18px;padding:14px 0;border-color:color-mix(in srgb,var(--line) 80%,transparent)}.station-reading span{text-transform:uppercase;letter-spacing:.04em}.station-card-foot{min-height:48px;background:var(--surface-3)}.station-card:hover,.vehicle-card:hover,.profile-card:hover,.rfid-card:hover{box-shadow:var(--shadow-hover)}.status-badge{border:1px solid color-mix(in srgb,currentColor 14%,transparent);font-size:9px}.status-dot{width:7px;height:7px}.status-success .status-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 14%,transparent)}.tabs{min-height:50px;gap:6px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.tabs button{min-height:40px;padding:0 14px;border-radius:7px}.tabs button.active{background:var(--primary-soft);color:var(--primary-dark)}.tabs button.active:after{display:none}.station-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px}.power-display{height:236px}.power-rings{width:184px;height:184px}.charge-detail-grid{border-color:color-mix(in srgb,var(--line) 82%,transparent)}.charge-detail-grid>div{min-height:48px}.permission-note{border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);background:color-mix(in srgb,var(--primary-soft) 70%,var(--surface))}.firmware-info{background:var(--surface-3)}.data-table{background:var(--surface)}.table-row{min-height:60px;border-bottom-color:color-mix(in srgb,var(--line) 76%,transparent)}.table-head-row{background:var(--surface-3)}.form-grid{gap:15px}.form-grid label,.login-form>label{color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea,.login-form input,.setting-row select{background:var(--surface-3)}.form-grid input:disabled,.login-form input:disabled{color:var(--muted);opacity:.86}.settings-section,.profile-summary,.mobile-feature-card{background:var(--surface)}.setting-row{border-bottom-color:color-mix(in srgb,var(--line) 76%,transparent)}.switch span{background:color-mix(in srgb,var(--muted) 48%,var(--line))}.home-overview,.danger-zone,.boundary-panel{background:var(--surface)}.member-row,.access-row{border-bottom-color:color-mix(in srgb,var(--line) 76%,transparent)}.role-pill,.primary-label{border-radius:6px}.login-page{background:var(--surface)}.login-visual{background:#0f2025}.login-visual:before{opacity:.22}.login-brand{align-self:flex-start}.login-brand img{width:100px;height:100px}.energy-ring{width:228px;height:228px;border:1px solid #31525a;background:#13282e}.energy-ring img{width:168px;height:168px}.energy-lines{opacity:.28}.login-form-wrap{background:var(--surface)}.login-form{padding:8px 0}.login-form h2{font-size:29px}.form-message{border:1px solid color-mix(in srgb,var(--primary) 18%,transparent)}.auth-links{align-items:center}.empty-state{background:var(--surface);border-color:color-mix(in srgb,var(--line) 90%,transparent)}.modal{border-radius:8px;box-shadow:0 28px 80px #00000047}.modal-backdrop{background:#080f129e}.toast{background:#102722;color:#b8f1dc}@media(max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}}@media(max-width:900px){.sidebar{width:252px}.main-column{margin-left:0}.topbar{height:66px}main{padding:22px 18px 44px}.toolbar{align-items:stretch}.station-detail-grid{grid-template-columns:1fr}}@media(max-width:640px){body{font-size:13px}.page-heading h1,.detail-heading h1{font-size:25px}.metrics-grid{grid-template-columns:1fr}.metric-card{min-height:104px}.toolbar{padding:10px}.tabs{overflow-x:auto}.tabs button{flex:1 0 max-content}.power-display{height:210px}.power-rings{width:166px;height:166px}.login-form-wrap{background:var(--surface)}}@media(max-width:430px){.topbar-actions{gap:5px}.topbar-actions .icon-button,.topbar-logout{width:34px;height:34px;min-height:34px}.station-reading{grid-template-columns:repeat(3,minmax(0,1fr))}.charge-detail-grid>div{min-height:44px}.auth-links{flex-wrap:wrap}}.sidebar{width:272px;padding:16px 12px 14px;border-right:1px solid var(--line);background:var(--nav);color:var(--ink)}.brand-row{height:72px;display:flex;align-items:center;gap:6px;margin:0 2px 14px;padding:0 5px 0 10px;border-bottom:1px solid var(--line)}.brand{height:58px;min-width:0;flex:1;gap:10px;margin:0;padding:0;border:0;background:transparent}.brand img{width:48px;height:48px;object-fit:contain;border-radius:0;filter:none}.brand-copy{min-width:0;display:grid}.brand-copy strong{color:var(--ink);font-size:16px;font-weight:800;line-height:1.1}.brand-copy small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.sidebar-collapse{width:34px;height:34px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer}.sidebar-collapse:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--ink)}.sidebar nav{padding:2px 4px}.sidebar nav p{margin:20px 12px 8px;color:#9ca3af}.sidebar nav a{min-height:45px;margin:3px 0;padding:0 13px;border:1px solid transparent;border-radius:10px;color:var(--nav-muted);font-size:13px;font-weight:600}.sidebar nav a:hover{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.sidebar nav a.router-link-exact-active{border-color:color-mix(in srgb,var(--primary) 13%,transparent);background:var(--primary-soft);color:var(--primary-dark)}.sidebar nav a.router-link-exact-active:before{left:4px;width:3px;height:20px;background:var(--primary)}.sidebar-foot{padding:14px 4px 0;border-top:1px solid var(--line)}.user-chip{min-height:60px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink)}.user-chip:hover{border-color:var(--line-strong);background:var(--surface-2)}.user-chip>span{background:var(--primary-soft);color:var(--primary-dark)}.main-column{margin-left:272px;transition:margin .22s ease}.app-shell.sidebar-collapsed .sidebar{width:82px}.app-shell.sidebar-collapsed .main-column{margin-left:82px}.sidebar.collapsed .brand-row{padding-inline:5px}.sidebar.collapsed .brand{display:none}.sidebar.collapsed .sidebar-collapse{margin-inline:auto}.sidebar.collapsed nav p{visibility:hidden;height:12px;margin-block:14px 5px}.sidebar.collapsed nav a{width:48px;justify-content:center;gap:0;margin:4px auto;padding:0;overflow:hidden;font-size:0}.sidebar.collapsed nav a svg{width:20px;height:20px}.sidebar.collapsed .sidebar-foot{padding-inline:4px}.sidebar.collapsed .user-chip{width:48px;min-height:48px;justify-content:center;margin-inline:auto;padding:6px}.sidebar.collapsed .user-chip div,.sidebar.collapsed .user-chip>svg{display:none}.topbar{height:72px;padding-inline:clamp(20px,3vw,40px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent)}main{max-width:1500px;padding:32px clamp(20px,3vw,40px) 60px}.page-stack{gap:var(--space-6)}.panel,.metric-card,.station-card,.rfid-card,.vehicle-card,.profile-card,.toolbar,.tabs,.station-tabs{border-color:var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow)}.panel-head{min-height:72px;padding:18px 22px;background:var(--surface)}.button,.icon-button,.search-box,.form-grid input,.form-grid select,.form-grid textarea,.login-form input,.setting-row select{border-radius:9px}.metric-card{min-height:132px;padding:22px}.metric-card strong{margin:6px 0 3px;font-size:clamp(26px,2vw,30px);line-height:1}.station-card{min-height:284px}.station-card:hover,.vehicle-card:hover,.profile-card:hover,.rfid-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.dashboard-page .dashboard-hero{min-height:154px;padding:26px 28px;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.dashboard-page .dashboard-hero:after{display:none}.dashboard-page .dashboard-hero h1{color:var(--ink);font-size:clamp(27px,2.8vw,34px)}.dashboard-page .dashboard-hero p,.dashboard-page .hero-stat span{color:var(--muted)}.dashboard-page .dashboard-hero .eyebrow{color:var(--primary-dark)}.login-page{background:var(--bg)}.login-visual{background:#f2f7f9;color:var(--ink)}.login-brand img,.energy-ring img{filter:none}.login-visual h1{color:var(--ink)}.login-visual p{color:var(--muted)}.auth-page{background:var(--bg)}.auth-card,.modal{border-radius:var(--radius-lg)}@media(max-width:1040px){.sidebar,.app-shell.sidebar-collapsed .sidebar{width:272px;transform:translate(-100%)}.sidebar.open,.app-shell.sidebar-collapsed .sidebar.open{transform:translate(0)}.main-column,.app-shell.sidebar-collapsed .main-column{margin-left:0}html[dir=rtl] .main-column,html[dir=rtl] .app-shell.sidebar-collapsed .main-column{margin-right:0}.sidebar.collapsed .brand{display:flex}.sidebar.collapsed .brand-copy{display:grid}.sidebar.collapsed nav p{visibility:visible;height:auto;margin:20px 12px 8px}.sidebar.collapsed nav a{width:auto;justify-content:flex-start;gap:12px;margin:3px 0;padding:0 13px;font-size:13px}.sidebar.collapsed .user-chip{width:100%;min-height:60px;justify-content:flex-start;margin:0;padding:8px}.sidebar.collapsed .user-chip div,.sidebar.collapsed .user-chip>svg{display:block}.sidebar-collapse{display:none}}@media(max-width:640px){main{padding:24px 16px 48px}.metric-card{min-height:116px;padding:18px}.panel-head{padding:16px}}@media(min-width:1041px){html[dir=rtl] .main-column{margin-right:272px;margin-left:0}html[dir=rtl] .app-shell.sidebar-collapsed .main-column{margin-right:82px;margin-left:0}}:root{--bg: #f7f9fa;--surface: #ffffff;--surface-2: #f1f4f5;--surface-3: #e9eef0;--ink: #151a1d;--muted: #66737a;--line: #e3e8ea;--line-strong: #cbd4d8;--primary: #087fab;--primary-dark: #04698f;--primary-soft: #e6f4f9;--green: #087653;--green-soft: #e3f3ed;--amber: #b86e0e;--amber-soft: #fff3df;--coral: #bd2d2d;--coral-soft: #fbeaea;--nav: #ffffff;--nav-muted: #52616a;--shadow: 0 12px 32px rgba(20, 32, 38, .045);--shadow-hover: 0 20px 44px rgba(20, 32, 38, .075);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px}:root[data-theme=dark]{--bg: #111719;--surface: #182023;--surface-2: #202a2e;--surface-3: #293438;--ink: #f3f6f7;--muted: #a2afb4;--line: #2c383c;--line-strong: #405055;--primary: #54b8dc;--primary-dark: #71c6e5;--primary-soft: #173845;--green: #61d0a7;--green-soft: #173b31;--amber-soft: #44331b;--coral-soft: #492727;--nav: #151c1f;--nav-muted: #a5b1b6;--shadow: 0 14px 36px rgba(0, 0, 0, .18);--shadow-hover: 0 22px 48px rgba(0, 0, 0, .25)}html{height:100%;overflow:hidden;background:var(--bg)}body{height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI Variable Text,Aptos,Segoe UI,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,strong,.brand-copy,.metric-card strong,.page-heading h1,.detail-heading h1{font-family:Plus Jakarta Sans,Segoe UI Variable Display,Aptos,Segoe UI,sans-serif;letter-spacing:0}.app-shell .sidebar{width:272px;padding:0 18px 18px;border-right:1px solid var(--line);background:var(--nav);color:var(--ink);box-shadow:none}.app-shell .brand-row{min-height:128px;display:flex;align-items:center;gap:6px;border:0}.app-shell .brand{height:112px;min-width:0;flex:1;justify-content:flex-start;padding:10px 4px;border:0}.app-shell .brand img{width:132px;height:92px;border-radius:0;object-fit:contain;object-position:left center}.app-shell .brand-copy{display:none}.app-shell .sidebar-collapse{width:36px;height:36px;flex:none;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.app-shell .sidebar-collapse:hover{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.app-shell .sidebar nav{padding:0;scrollbar-width:thin}.app-shell .sidebar nav p{margin:24px 14px 9px;color:#909ba0;font-size:9px;font-weight:750;letter-spacing:.12em}.app-shell .sidebar nav a{min-height:50px;gap:14px;margin:4px 0;padding:0 15px;border-radius:14px;color:var(--nav-muted);font-size:12px;font-weight:650;letter-spacing:.01em;transition:color .18s ease,background .18s ease,transform .18s ease}.app-shell .sidebar nav a:hover{color:var(--ink);background:var(--surface-2);transform:translate(2px)}.app-shell .sidebar nav a.router-link-exact-active{color:var(--primary-dark);background:var(--primary-soft)}.app-shell .sidebar nav a.router-link-exact-active:before{display:none}.app-shell .sidebar-foot{padding:16px 0 0;border-top:1px solid var(--line)}.app-shell .sidebar-actions{gap:8px;margin-bottom:10px}.app-shell .sidebar-action{min-height:42px;padding:0 10px;border:0;border-radius:12px;background:transparent;color:var(--muted)}.app-shell .sidebar-action:hover:not(:disabled){border:0;background:var(--surface-2);color:var(--ink)}.app-shell .user-chip{min-height:60px;padding:9px 10px;border-radius:14px;color:var(--ink)}.app-shell .user-chip:hover{background:var(--surface-2)}.app-shell .user-chip>span,.app-shell .avatar{width:38px;height:38px;background:var(--primary-soft);color:var(--primary-dark)}.app-shell .user-chip strong{font-size:12px}.app-shell .user-chip small{color:var(--muted);font-size:9px}.app-shell .main-column{height:100vh;overflow-y:auto;overflow-x:hidden;margin-left:272px;background:var(--bg);scroll-behavior:auto}.app-shell main{width:100%;max-width:1504px;margin:0 auto;padding:36px clamp(24px,3vw,48px) 52px}.app-shell .page-stack{gap:20px}.app-shell .page-heading,.app-shell .detail-heading{min-height:72px;align-items:flex-end;gap:28px}.app-shell .page-heading h1,.app-shell .detail-heading h1{margin:8px 0 7px;color:var(--ink);font-size:clamp(30px,3vw,46px);font-weight:720;line-height:1.08}.app-shell .page-heading p,.app-shell .detail-heading p{max-width:700px;color:var(--muted);font-size:15px}.app-shell .eyebrow{color:var(--primary-dark);font-size:10px;font-weight:800;letter-spacing:.1em}.app-shell .panel,.app-shell .metric-card,.app-shell .station-card,.app-shell .rfid-card,.app-shell .vehicle-card,.auth-card,.login-form{border:0;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.app-shell .panel{overflow:hidden}.app-shell .panel-head{min-height:74px;padding:18px 24px;border-bottom:1px solid var(--line)}.app-shell .panel-head h2{margin-top:5px;color:var(--ink);font-size:19px;font-weight:680}.app-shell .button,.auth-page .button,.login-page .button{min-height:46px;padding:0 18px;border-radius:14px;font-size:12px;font-weight:750;box-shadow:none;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.app-shell .button.primary,.auth-page .button.primary,.login-page .button.primary{border-color:var(--primary-dark);background:var(--primary-dark);color:#fff;box-shadow:none}.app-shell .button.primary:hover,.auth-page .button.primary:hover,.login-page .button.primary:hover{background:color-mix(in srgb,var(--primary-dark) 88%,#000);box-shadow:none;transform:translateY(-1px)}.app-shell .button.secondary{border-color:var(--line-strong);background:var(--surface)}.app-shell .button.secondary:hover{background:var(--surface-2)}.app-shell .icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);box-shadow:none}.app-shell .icon-button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-2);color:var(--ink)}.app-shell .text-button{color:var(--primary-dark);font-size:12px}.app-shell .search-box,.app-shell input,.app-shell select,.app-shell textarea,.auth-page input,.auth-page select,.login-page input{border-color:var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);box-shadow:none}.app-shell input:focus,.app-shell select:focus,.app-shell textarea:focus,.auth-page input:focus,.login-page input:focus{border-color:var(--primary);outline:3px solid color-mix(in srgb,var(--primary) 12%,transparent)}.app-shell .search-box{min-height:46px;border:0;padding-inline:14px}.app-shell .segmented{padding:4px;border:0;border-radius:14px;background:var(--surface-2)}.app-shell .segmented button{min-height:36px;border-radius:10px;padding:0 14px}.app-shell .segmented button.active{background:var(--surface);color:var(--primary-dark);box-shadow:0 2px 8px #1420260f}.app-shell .status-badge{padding:6px 10px;border-radius:999px;font-size:9px;letter-spacing:.04em}.app-shell .modal-backdrop{padding:24px;background:#0d141785;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-shell .modal{border:0;border-radius:22px;box-shadow:0 28px 80px #0000002e}.app-shell .modal-head{padding:24px 26px 18px}.app-shell .form-grid{gap:18px;padding:24px 26px 26px}.app-shell .form-grid .form-grid{padding:0}.app-shell main .dashboard-page{gap:22px}.app-shell main .dashboard-hero{display:block;min-height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.app-shell main .dashboard-hero-main{gap:8px}.app-shell main .dashboard-hero-main h1{max-width:700px;margin:7px 0 8px;color:var(--ink);font-size:clamp(38px,4.4vw,62px);font-weight:730;line-height:1.02}.app-shell main .dashboard-hero-main p{max-width:680px;color:var(--muted);font-size:16px}.app-shell main .dashboard-hero-side{display:none}.app-shell main .dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.app-shell main .dashboard-metrics .metric-card,.app-shell main .metric-card{min-height:126px;padding:20px;border:0;border-radius:22px;box-shadow:var(--shadow)}.app-shell main .metric-icon{width:42px;height:42px;border-radius:12px}.app-shell main .metric-card strong{font-size:26px}.app-shell main .metric-label{font-size:11px;letter-spacing:.04em}.app-shell main .dashboard-main-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr);gap:18px}.app-shell main .dashboard-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app-shell main .dashboard-energy-card,.app-shell main .dashboard-live-card{min-height:420px}.app-shell main .chart-summary{padding:30px 30px 4px}.app-shell main .chart-summary strong{font-size:34px}.app-shell main .bar-chart{height:270px;padding:18px 28px 24px;gap:clamp(12px,2vw,30px)}.app-shell main .bar-track{width:min(34px,68%);border-radius:10px 10px 4px 4px}.app-shell main .bar-track i{border-radius:10px 10px 4px 4px;background:#bbdce7}.app-shell main .bar-track i.today{background:var(--primary)}.app-shell main .dashboard-live-card .charge-orbit{height:215px}.app-shell main .dashboard-live-card .charge-orbit>div{width:190px;height:190px;border-width:5px;border-color:var(--surface-3);border-top-color:var(--green);border-right-color:var(--green)}.app-shell main .dashboard-live-card .charge-orbit strong{font-size:30px}.app-shell main .charge-stats{margin:0 18px 20px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.app-shell main .dashboard-live-card>.button{width:calc(100% - 48px);margin:0 24px 24px}.app-shell main .compact-list,.app-shell main .activity-list{padding:8px 28px 18px}.app-shell main .compact-row,.app-shell main .activity-row{min-height:76px}.app-shell main .compact-row:last-child,.app-shell main .activity-row:last-child{border-bottom:0}.app-shell main .stations-page{gap:24px}.app-shell main .stations-heading{align-items:flex-end}.app-shell main .station-summary{border:0;border-radius:18px;box-shadow:var(--shadow)}.app-shell main .station-summary>div{min-width:108px;padding:18px 20px}.app-shell main .station-summary strong{font-size:25px}.app-shell main .station-directory{padding:0;overflow:visible;background:transparent;box-shadow:none}.app-shell main .directory-head{min-height:auto;align-items:flex-end;margin:0 0 28px;padding:0;border:0}.app-shell main .directory-head h2{font-size:22px}.app-shell main .station-search{width:min(320px,30vw)}.app-shell main .station-filters{gap:4px;background:var(--surface);box-shadow:var(--shadow)}.app-shell main .redesigned-station-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0}.app-shell main .redesigned-station-card{min-height:310px;border:0;border-radius:22px;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}.app-shell main .redesigned-station-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.app-shell main .redesigned-station-card.is-charging{border:0}.app-shell main .redesigned-station-card.is-charging:before{right:26px;left:26px;height:3px}.app-shell main .station-card-header{padding:22px 24px 0}.app-shell main .station-device-icon{width:54px;height:54px;border-radius:16px}.app-shell main .station-card-main{padding:20px 24px 18px}.app-shell main .station-identity h2{font-size:22px;line-height:1.2}.app-shell main .station-identity p{margin-top:8px;font-size:12px}.app-shell main .station-metrics{padding-top:28px}.app-shell main .station-metrics strong,.app-shell main .meterless-state strong{font-size:18px}.app-shell main .station-card-footer{min-height:58px;padding:0 24px;background:transparent}.app-shell main .station-detail-link{font-size:12px}.app-shell main .station-detail-page .detail-heading,.app-shell main .station-detail-page .station-detail-heading{margin-bottom:6px}.app-shell main .station-detail-page .detail-grid,.app-shell main .station-detail-page .station-detail-grid{gap:24px}.app-shell main .station-detail-page .power-card,.app-shell main .station-detail-page .detail-card,.app-shell main .station-detail-page .panel{border-radius:22px}.app-shell main .power-rings{border-width:5px;border-color:var(--surface-3);border-top-color:var(--green);border-right-color:var(--green)}.app-shell main .sharing-grid,.app-shell main .settings-layout,.app-shell main .profile-layout,.app-shell main .history-layout{gap:24px}.app-shell main .home-card,.app-shell main .member-card,.app-shell main .rfid-card,.app-shell main .vehicle-card,.app-shell main .schedule-card,.app-shell main .profile-card{border:0;border-radius:18px;box-shadow:var(--shadow)}.app-shell main .table-wrap,.app-shell main .history-table-wrap{scrollbar-width:thin}.app-shell main table th{padding-block:15px;color:var(--muted);font-size:9px;letter-spacing:.08em}.app-shell main table td{padding-block:17px}.app-shell main .pagination{padding:20px 24px;border-top:1px solid var(--line)}.app-shell main .settings-section,.app-shell main .profile-summary,.app-shell main .danger-zone{padding:30px}.app-shell main .large-avatar{width:82px;height:82px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,48%) 1fr;background:var(--surface)}.login-page .login-visual{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(38px,5vw,72px);background:#eaf3f6;color:#142127}.login-page .login-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 45%,rgba(8,58,76,.08))}.login-page .login-brand,.login-page .energy-visual,.login-page .login-visual>div:last-child{position:relative;z-index:1}.login-page .login-brand img{width:150px;height:110px;object-fit:contain;object-position:left center}.login-page .energy-visual{display:grid;place-items:center;flex:1;min-height:300px}.login-page .energy-ring{width:min(330px,72%);aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(8,127,171,.18);border-radius:50%;background:#fff9;box-shadow:0 30px 80px #083a4c14}.login-page .energy-ring>svg{color:var(--primary-dark);filter:drop-shadow(0 12px 24px rgba(8,127,171,.16))}.login-page .energy-lines{opacity:.32}.login-page .login-visual h1{max-width:560px;margin:0;font-size:clamp(38px,4.3vw,64px);line-height:1.06}.login-page .login-visual p{max-width:590px;margin:18px 0 0;color:#536a74;font-size:16px}.login-page .login-form-wrap{display:grid;place-items:center;padding:48px clamp(28px,8vw,120px);background:var(--surface)}.login-page .login-form{width:min(500px,100%);padding:0;border-radius:0;background:transparent;box-shadow:none}.login-page .login-form h2{margin:10px 0 8px;font-size:clamp(30px,3vw,42px);line-height:1.1}.login-page .login-form>p{margin-bottom:36px;color:var(--muted);font-size:15px}.login-page .login-form>label{margin-top:22px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.login-page .login-form input{min-height:54px;padding-inline:0;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;font-size:14px;text-transform:none}.login-page .login-form input:focus{outline:0;border-color:var(--primary)}.login-page .password-field button{border-radius:10px}.login-page .form-row{margin:18px 0 30px}.login-page .login-form .button{min-height:56px}.login-page .auth-links{margin-top:32px;justify-content:center;gap:8px;font-size:12px}.login-page .mobile-login-brand{display:none}.auth-page{min-height:100vh;padding:48px 22px;background:var(--bg)}.auth-page .auth-card{width:min(600px,100%);padding:38px;border:0;border-radius:22px}.auth-page .auth-brand{justify-content:center;margin-bottom:26px}.auth-page .auth-brand img{width:128px;height:92px;border-radius:0;object-fit:contain}.auth-page .auth-card h1{font-size:34px}.auth-page .auth-card>p{font-size:13px}.app-shell .toast{bottom:28px;border:0;border-radius:14px;background:#252c2f;color:#fff;box-shadow:0 16px 50px #0003}.app-shell.sidebar-collapsed .sidebar{width:86px;padding-inline:12px}.app-shell.sidebar-collapsed .main-column{margin-left:86px}.app-shell.sidebar-collapsed .brand-row{min-height:96px;justify-content:center}.app-shell.sidebar-collapsed .brand{display:none}.app-shell.sidebar-collapsed .sidebar nav p{height:1px;margin:14px 0;overflow:hidden;color:transparent}.app-shell.sidebar-collapsed .sidebar nav a{justify-content:center;padding:0}html[dir=rtl] .app-shell .sidebar{right:0;left:auto;border-right:0;border-left:1px solid var(--line)}html[dir=rtl] .app-shell .main-column{margin-right:272px;margin-left:0}html[dir=rtl] .app-shell.sidebar-collapsed .main-column{margin-right:86px}@media(max-width:1260px){.app-shell main .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell main .redesigned-station-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell main .directory-head{align-items:stretch;flex-direction:column}.app-shell main .station-toolbar{width:100%;justify-content:space-between}}@media(max-width:1040px){.app-shell .sidebar,.app-shell.sidebar-collapsed .sidebar{width:min(310px,88vw);padding-inline:18px;transform:translate(-100%)}.app-shell .sidebar.open,.app-shell.sidebar-collapsed .sidebar.open{transform:translate(0)}.app-shell .main-column,.app-shell.sidebar-collapsed .main-column{margin-left:0}html[dir=rtl] .app-shell .main-column,html[dir=rtl] .app-shell.sidebar-collapsed .main-column{margin-right:0}.app-shell.sidebar-collapsed .brand{display:flex}.app-shell.sidebar-collapsed .brand-row{min-height:128px;justify-content:flex-start}.app-shell.sidebar-collapsed .sidebar nav p{height:auto;margin:24px 14px 9px;color:#909ba0}.app-shell.sidebar-collapsed .sidebar nav a{justify-content:flex-start;padding:0 15px}.app-shell main{padding-top:82px}.app-shell .mobile-menu-trigger{top:20px;left:20px;width:44px;height:44px;border:0;border-radius:13px;box-shadow:var(--shadow)}.app-shell main .dashboard-main-grid,.app-shell main .dashboard-secondary-grid{grid-template-columns:1fr}}@media(max-width:760px){.app-shell main{padding:76px 18px 48px}.app-shell .page-stack{gap:20px}.app-shell .page-heading,.app-shell .detail-heading{min-height:0;align-items:stretch;flex-direction:column}.app-shell .page-heading h1,.app-shell .detail-heading h1{font-size:32px}.app-shell main .dashboard-hero-main h1{font-size:38px}.app-shell main .dashboard-metrics{grid-template-columns:1fr;gap:14px}.app-shell main .dashboard-metrics .metric-card{min-height:120px}.app-shell main .dashboard-main-grid,.app-shell main .dashboard-secondary-grid{gap:18px}.app-shell main .panel-head{min-height:74px;padding:18px}.app-shell main .redesigned-station-grid{grid-template-columns:1fr}.app-shell main .station-toolbar{align-items:stretch;flex-direction:column}.app-shell main .station-search{width:100%;min-width:0}.app-shell main .station-filters{width:100%;overflow-x:auto}.app-shell main .station-summary{width:100%}.app-shell main .station-summary>div{min-width:0;flex:1;padding:14px 12px}.app-shell main .redesigned-station-card{min-height:320px}.app-shell main .chart-summary{padding-inline:20px}.app-shell main .bar-chart{overflow-x:auto;padding-inline:20px}.app-shell main .bar-column{min-width:44px}.login-page{grid-template-columns:1fr}.login-page .login-visual{display:none}.login-page .login-form-wrap{min-height:100vh;padding:34px 22px}.login-page .mobile-login-brand{display:block;margin-bottom:34px}.login-page .mobile-login-brand img{width:126px;height:88px;object-fit:contain;object-position:left}.auth-page .auth-card{padding:28px 22px}}@media(max-width:440px){.app-shell main .station-summary span{font-size:8px}.app-shell main .station-summary strong{font-size:20px}.app-shell main .station-card-footer{align-items:flex-start;flex-direction:column;padding-block:14px}.app-shell main .station-metrics>div{padding-inline:7px}.app-shell main .station-metrics strong{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell main .station-detail{gap:22px}.app-shell main .station-detail>.station-hero.panel{min-height:108px;padding:0;overflow:visible;border-radius:0;background:transparent;box-shadow:none}.app-shell main .station-detail .back-link{width:fit-content;margin-bottom:14px;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.app-shell main .station-detail .station-heading-line{align-items:center;gap:16px}.app-shell main .station-detail .station-title-row h1{margin:7px 0 0;color:var(--ink);font-size:clamp(36px,4.2vw,58px);font-weight:730;line-height:1.04}.app-shell main .station-detail .station-meta{gap:9px;margin-top:15px;font-size:12px}.app-shell main .station-detail .station-hero-actions{align-self:flex-end;padding-bottom:10px}.app-shell main .station-detail .station-tabs{width:fit-content;padding:5px;border:0;border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.app-shell main .station-detail .station-tabs button{min-height:40px;padding:0 18px;border-radius:11px;font-size:11px}.app-shell main .station-detail .station-tabs button.active{background:var(--primary-soft);color:var(--primary-dark)}.app-shell main .station-detail .overview-shell{grid-template-columns:minmax(0,1.28fr) minmax(340px,.72fr);gap:18px}.app-shell main .station-detail .charge-stage{min-height:540px;padding:28px;border-radius:22px}.app-shell main .station-detail .stage-copy h2{margin:7px 0 6px;font-size:25px}.app-shell main .station-detail .refined-power-display{min-height:310px}.app-shell main .station-detail .detail-power-ring{width:min(270px,70vw);height:min(270px,70vw);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 12%,transparent),0 24px 60px #0876531a}.app-shell main .station-detail .detail-power-ring:before{inset:16px}.app-shell main .station-detail .detail-power-ring strong{font-size:48px}.app-shell main .station-detail .detail-power-ring span{margin-top:10px}.app-shell main .station-detail .side-stack{gap:18px}.app-shell main .station-detail .session-card,.app-shell main .station-detail .meter-card{padding:24px;border-radius:22px}.app-shell main .station-detail .mini-head h2{margin-top:7px;font-size:21px}.app-shell main .station-detail .session-metrics,.app-shell main .station-detail .meter-grid{gap:0;margin-top:24px}.app-shell main .station-detail .session-metrics>div,.app-shell main .station-detail .meter-grid>div{min-height:72px;padding:16px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.app-shell main .station-detail .meter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.app-shell main .station-detail .meter-grid>div{border-bottom:0}.app-shell main .station-detail .session-metrics strong,.app-shell main .station-detail .meter-grid strong{font-size:17px}.app-shell main .station-detail .soft-note{margin-top:22px;padding:15px;border-radius:12px}.app-shell main .station-detail .detail-section{border-radius:22px}.app-shell main .station-detail .data-table .table-row{min-height:70px;padding-inline:28px}.app-shell main .station-detail .session-pagination{min-height:76px;padding:14px 28px;background:var(--surface)}.app-shell main .station-detail .session-page-button{width:38px;height:38px;border-radius:11px}.app-shell main .station-detail .refined-settings{gap:24px}.app-shell main .station-detail .refined-settings .form-grid{padding:28px}.app-shell main .station-detail .firmware-info{padding:30px}.app-shell main .history-page{gap:20px}.app-shell main .history-page .metrics-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.app-shell main .history-page .metrics-grid.compact .metric-card{min-height:122px;padding:20px}.app-shell main .history-page .history-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px}.app-shell main .history-page .consumption-chart,.app-shell main .history-page .breakdown{min-height:380px}.app-shell main .history-page .history-bars{padding:30px}.app-shell main .history-page .breakdown-list{padding:14px 28px 28px}.app-shell main .history-page>.panel:last-of-type{border-radius:22px}.app-shell main .history-page .history-filters{grid-template-columns:minmax(250px,1fr) repeat(3,minmax(150px,auto));gap:16px;padding:22px 28px;background:var(--surface)}.app-shell main .history-page .history-filters select{min-height:46px;border:0;border-radius:12px;background:var(--surface-2)}.app-shell main .history-page .history-table .table-row{min-height:68px;padding-inline:28px}.app-shell main .history-page .pagination-bar{min-height:76px;padding:14px 28px}.app-shell main .sharing-page{gap:20px}.app-shell main .sharing-page .home-workspace{min-height:108px;padding:22px 26px;border-left:0;border-radius:22px}.app-shell main .sharing-page .home-icon{width:58px;height:58px;border-radius:17px}.app-shell main .sharing-page .home-name-row h2{font-size:24px}.app-shell main .sharing-page .home-workspace-main p{margin-top:8px;font-size:12px}.app-shell main .sharing-page .home-stat-grid{gap:16px}.app-shell main .sharing-page .home-stat-card{min-height:124px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:18px;padding:22px 24px;border:0;border-radius:20px}.app-shell main .sharing-page .home-stat-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px}.app-shell main .sharing-page .home-stat-copy{min-width:0;min-height:58px;display:flex;flex-direction:column;justify-content:center;gap:3px}.app-shell main .sharing-page .home-stat-copy>span{line-height:1.1;white-space:nowrap}.app-shell main .sharing-page .home-stat-card strong{margin:0;line-height:1}.app-shell main .sharing-page .home-stat-card small{line-height:1.25}.app-shell main .sharing-page .sharing-primary-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:18px}.app-shell main .sharing-page .sharing-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app-shell main .sharing-page .activity-panel{grid-column:1 / -1}.app-shell main .sharing-page .redesigned-member-list,.app-shell main .sharing-page .redesigned-access-list,.app-shell main .sharing-page .invitation-list{padding:8px 28px 18px}.app-shell main .sharing-page .redesigned-member-row,.app-shell main .sharing-page .redesigned-access-row,.app-shell main .sharing-page .invitation-row{min-height:82px}.app-shell main .sharing-page .member-avatar,.app-shell main .sharing-page .access-device-icon,.app-shell main .sharing-page .invitation-icon{width:42px;height:42px;border-radius:13px}.app-shell main .sharing-page .home-form{padding:28px}.app-shell main .sharing-page .sharing-activity-list{padding:8px 28px 12px}.app-shell main .sharing-page .sharing-activity-row{min-height:76px}.app-shell main .sharing-page .activity-pagination{min-height:70px;padding:12px 28px;background:var(--surface)}.app-shell main .sharing-page .pagination-button{width:36px;height:36px;border-radius:10px}.app-shell main .tabs{width:fit-content;padding:5px;border:0;border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.app-shell main .tabs button{min-height:40px;padding-inline:18px;border-radius:11px}.app-shell main .schedule-list{gap:14px}.app-shell main .schedule-row{min-height:102px;padding:20px 24px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface)}.app-shell main .schedule-row:last-child{border-bottom:0}.app-shell main .date-tile{width:58px;height:62px;border:0;border-radius:14px;background:var(--primary-soft)}.app-shell main .profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.app-shell main .profile-card{min-height:230px;padding:22px;border-radius:20px}.app-shell main .profile-icon{width:50px;height:50px;border-radius:15px}.app-shell main .profile-specs{margin-top:28px;padding-top:22px}.app-shell main .rfid-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.app-shell main .rfid-card{min-height:205px;padding:22px;overflow:hidden;border-radius:20px;transition:transform .2s ease,box-shadow .2s ease}.app-shell main .rfid-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.app-shell main .rfid-pattern{opacity:.08}.app-shell main .rfid-body{min-height:120px}.app-shell main .rfid-foot{padding-top:18px;border-top:1px solid var(--line)}.app-shell main .profile-layout{grid-template-columns:minmax(260px,.36fr) minmax(0,1fr);gap:18px}.app-shell main .profile-summary{min-height:320px;padding:28px;text-align:left}.app-shell main .profile-summary .large-avatar{width:88px;height:88px;margin-inline:0;border-radius:24px}.app-shell main .profile-summary h2{margin-top:24px;font-size:25px}.app-shell main .summary-meta{margin-top:30px;padding-top:22px}.app-shell main .profile-layout>.panel:not(.profile-summary){padding-bottom:28px}.app-shell main .profile-layout>.panel:not(.profile-summary)>.form-grid{padding:28px}.app-shell main .profile-layout>.panel:not(.profile-summary)>.button{margin-left:28px}.app-shell main .vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 24px 24px}.app-shell main .vehicle-card{min-height:155px;padding:22px;border-radius:18px}.app-shell main .vehicle-visual{width:68px;min-height:106px;border-radius:16px}.app-shell main .danger-zone{min-height:124px;padding:28px 30px;border:1px solid color-mix(in srgb,var(--coral) 22%,var(--line))}.app-shell main .settings-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px}.app-shell main .settings-section{padding:26px}.app-shell main .settings-title{padding-bottom:26px}.app-shell main .setting-row{min-height:88px;padding-block:20px}.app-shell main .config-list>div{min-height:66px}.app-shell main .not-found{min-height:calc(100vh - 160px);border:0;border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}@media(max-width:1120px){.app-shell main .station-detail .overview-shell,.app-shell main .history-page .history-layout,.app-shell main .sharing-page .sharing-primary-grid,.app-shell main .settings-layout{grid-template-columns:1fr}.app-shell main .station-detail .side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell main .profile-grid,.app-shell main .rfid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.app-shell main .history-page .metrics-grid.compact,.app-shell main .sharing-page .home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell main .history-page .history-filters{grid-template-columns:1fr 1fr}.app-shell main .sharing-page .sharing-secondary-grid,.app-shell main .profile-layout,.app-shell main .vehicle-grid{grid-template-columns:1fr}}@media(max-width:720px){.app-shell main .station-detail>.station-hero.panel{align-items:stretch;min-height:0}.app-shell main .station-detail .station-hero-actions{align-self:stretch}.app-shell main .station-detail .station-title-row h1{font-size:36px}.app-shell main .station-detail .station-tabs{width:100%}.app-shell main .station-detail .charge-stage{min-height:0;padding:22px}.app-shell main .station-detail .side-stack{grid-template-columns:1fr}.app-shell main .station-detail .detail-power-ring{width:min(250px,74vw);height:min(250px,74vw)}.app-shell main .station-detail .meter-grid{grid-template-columns:1fr;gap:0}.app-shell main .station-detail .meter-grid>div{border-bottom:1px solid var(--line)}.app-shell main .history-page .metrics-grid.compact,.app-shell main .history-page .history-filters,.app-shell main .sharing-page .home-stat-grid,.app-shell main .profile-grid,.app-shell main .rfid-grid{grid-template-columns:1fr}.app-shell main .sharing-page .home-workspace{align-items:stretch;padding:22px}.app-shell main .profile-summary{min-height:auto}.app-shell main .settings-section{padding:22px}}.app-shell>.main-column{width:calc(100vw - 272px)!important;min-height:100vh;margin-left:272px!important}.app-shell.sidebar-collapsed>.main-column{width:calc(100vw - 82px)!important;margin-left:82px!important}.app-shell>.main-column>.app-main{width:100%!important;max-width:none!important;margin:0!important;padding:36px clamp(32px,3.2vw,64px) 52px!important}html[dir=rtl] .app-shell>.main-column{margin-right:272px!important;margin-left:0!important}html[dir=rtl] .app-shell.sidebar-collapsed>.main-column{margin-right:82px!important;margin-left:0!important}@media(max-width:1040px){.app-shell>.main-column,.app-shell.sidebar-collapsed>.main-column{width:100vw!important;margin-left:0!important}html[dir=rtl] .app-shell>.main-column,html[dir=rtl] .app-shell.sidebar-collapsed>.main-column{margin-right:0!important}.app-shell>.main-column>.app-main{padding:76px 18px 48px!important}}
