:root{--bg:#0d1318;--bg-top:#151f26;--bg-bottom:#0a1015;--paper:linear-gradient(180deg,rgba(25,35,42,0.96),rgba(18,26,33,0.96));--paper-strong:linear-gradient(180deg,rgba(44,56,63,0.92),rgba(31,42,49,0.92));--surface:rgba(20,28,34,0.92);--surface-soft:rgba(41,52,58,0.82);--ink:#f7fafc;--muted:#a7b6bf;--line:rgba(163,184,196,0.18);--line-strong:rgba(163,184,196,0.28);--accent:#94f964;--accent-soft:#c5ff8e;--forest:#94f964;--warning:#ff9a57;--danger:#ff7373;--shadow:0 24px 60px rgba(0,0,0,0.34);--topbar:rgba(11,17,22,0.74)}html[data-theme=light]{--bg:#edf2f5;--bg-top:#f7fafc;--bg-bottom:#e7eef2;--paper:linear-gradient(180deg,rgba(255,255,255,0.94),rgba(244,248,250,0.94));--paper-strong:linear-gradient(180deg,rgba(250,253,255,0.98),rgba(238,244,247,0.98));--surface:rgba(255,255,255,0.85);--surface-soft:rgba(247,250,252,0.92);--ink:#15202b;--muted:#5d6a73;--line:rgba(21,32,43,0.12);--line-strong:rgba(21,32,43,0.2);--accent:#256f4c;--accent-soft:#5dbf81;--forest:#256f4c;--warning:#b45309;--danger:#b42318;--shadow:0 20px 56px rgba(34,48,61,0.14);--topbar:rgba(255,255,255,0.74)}*{box-sizing:border-box}html{min-height:100%;-webkit-text-size-adjust:100%;background:radial-gradient(circle at top left,rgba(148,249,100,.18),transparent 24%),radial-gradient(circle at top right,rgba(93,191,129,.14),transparent 30%),linear-gradient(180deg,var(--bg-top) 0,var(--bg-bottom) 100%)}body,html{overflow-x:hidden}body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,Roboto,SF Pro Text,SF Pro Display,Segoe UI,system-ui,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 0 calc(64px + env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;padding:18px 20px;background:var(--topbar);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar-copy{min-width:0}.login-card h2,.page-header h2,.panel-header h2,.topbar h1{margin:0;font-family:Inter,Roboto,SF Pro Display,Segoe UI,system-ui,sans-serif;letter-spacing:-.03em;line-height:1.05}.topnav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.ghost-button,.topnav a{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);transition:border-color .14s ease,background-color .14s ease,transform .14s ease;min-height:44px;text-align:center}.ghost-button:hover,.theme-toggle:hover,.topnav a:hover{border-color:var(--line-strong);background:rgba(255,255,255,.08);transform:translateY(-1px)}.ghost-button{cursor:pointer}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--muted)}.hero,.login-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-width:0}.hero{padding:34px;margin-bottom:28px}.hero-grid,.metrics-grid,.two-column{display:grid;grid-gap:16px;gap:16px}.hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);align-items:center}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-top:28px;gap:18px}.metric-card{position:relative;overflow:hidden;padding:16px 18px;border-radius:18px;background:var(--paper-strong);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px;min-height:110px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.metric-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.metric-card:after{content:"";position:absolute;inset:auto 14px 12px auto;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,rgba(148,249,100,.1),transparent 55%),radial-gradient(circle at center,rgba(255,255,255,.08),transparent 60%);opacity:.9}.metric-card span{color:var(--muted);font-size:.82rem;letter-spacing:.02em}.metric-icon{width:18px;height:18px;flex-shrink:0;color:rgba(255,255,255,.58)}html[data-theme=light] .metric-icon{color:rgba(21,32,43,.48)}.metric-card strong{font-size:2rem;line-height:1}.metric-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 16px 36px rgba(0,0,0,.2)}.metric-card-accent{background:radial-gradient(circle at right top,rgba(148,249,100,.22),transparent 35%),linear-gradient(135deg,rgba(66,79,44,.96),rgba(38,47,29,.96));color:#f6fff2}.metric-card-accent span{color:rgba(246,255,242,.72)}.metric-card-accent .metric-icon{color:rgba(246,255,242,.74)}.page-header,.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.panel{padding:28px}.stack{display:grid;grid-gap:28px;gap:28px}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.page-header>*,.panel-header>*,.stack>*{min-width:0}.heatmap,.table-wrap,.trend-chart-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.heatmap-hours,.heatmap-row{display:grid;grid-template-columns:54px repeat(18,minmax(18px,1fr));grid-gap:4px;gap:4px;align-items:center}.heatmap-hours{margin-bottom:8px;color:var(--muted);font-size:.76rem}.heatmap-grid{display:grid;grid-gap:4px;gap:4px}.heatmap-day{color:var(--muted);font-size:.84rem}.heatmap-cell{width:100%;aspect-ratio:1;min-height:18px;border-radius:6px;border:1px solid rgba(28,36,31,.05)}.heatmap-cell-0{background:rgba(86,97,89,.08)}.heatmap-cell-1{background:rgba(148,249,100,.18)}.heatmap-cell-2{background:rgba(148,249,100,.34)}.heatmap-cell-3{background:rgba(148,249,100,.54)}.heatmap-cell-4{background:rgba(148,249,100,.84)}.brand-lockup{display:flex;align-items:center;justify-content:flex-end;gap:24px;min-height:220px;padding:18px 8px 18px 24px}.brand-image{width:132px;height:auto;flex-shrink:0}.overview-footnote{margin:-6px 8px 0;color:var(--muted);font-size:.88rem;text-align:right}.overview-toolbar{padding-top:22px;padding-bottom:22px}.segmented-control{gap:6px;padding:6px;border-radius:999px;border:1px solid var(--line);background:var(--surface);max-width:100%;overflow-x:auto}.segmented-control,.segmented-option{display:inline-flex;align-items:center}.segmented-option{justify-content:center;min-width:92px;padding:10px 14px;border-radius:999px;color:var(--muted);transition:background-color .14s ease,color .14s ease,transform .14s ease;white-space:nowrap}.segmented-option:hover{color:var(--ink);transform:translateY(-1px)}.segmented-option-active{background:rgba(148,249,100,.16);color:var(--ink);border:1px solid rgba(148,249,100,.18)}.theme-toggle{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);cursor:pointer}.theme-toggle-indicator{width:18px;height:18px;border-radius:999px;background:linear-gradient(135deg,var(--accent) 0,var(--accent-soft) 100%);box-shadow:0 0 0 4px rgba(148,249,100,.12)}.row-link{display:inline-block;font-weight:700}.facility-name-cell{display:inline-flex;align-items:center;gap:12px}.facility-name-copy{display:grid;grid-gap:2px;gap:2px}.overview-facility-name{font-weight:700}.overview-facility-cta{color:var(--muted);font-size:.8rem;font-weight:500}.overview-facility-stat-label{display:none}.overview-facility-meta-value,.overview-facility-stat-value{font-size:.96rem}.facility-hero-logo,.facility-row-logo{border-radius:18px;object-fit:contain;background:rgba(255,255,255,.78);border:1px solid var(--line)}.facility-row-logo{width:40px;height:40px;flex-shrink:0}.facility-hero-header{display:flex;align-items:center;gap:18px;min-width:0;flex-wrap:wrap}.facility-hero-logo{width:88px;height:88px;flex-shrink:0}.row-cell-link{display:block;margin:-12px -10px;padding:12px 10px}.clickable-row{cursor:pointer;transition:background-color .14s ease,transform .14s ease}.clickable-row:hover{background:rgba(148,249,100,.06);transform:translateX(2px)}.clickable-row:hover .row-link{color:var(--forest)}.trend-chart-wrap{padding-bottom:8px}.trend-chart{width:100%;min-width:420px;height:220px}.trend-line{stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.battery-line{stroke:var(--forest);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.shot-line{stroke:#b42318;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-guide{stroke:rgba(86,97,89,.12);stroke-width:1}.trend-point{fill:var(--forest);transition:transform .14s ease,filter .14s ease,fill .14s ease}.battery-point{fill:var(--accent-soft)}.battery-point,.shot-point{stroke:var(--paper-strong);stroke-width:2;transition:transform .14s ease,filter .14s ease}.shot-point{fill:#b42318}.lane-meta{max-width:78ch}.trend-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.trend-day{border:1px solid var(--line);border-radius:16px;padding:10px 12px;background:var(--surface-soft);display:grid;grid-gap:4px;gap:4px;transition:transform .15s ease,border-color .15s ease,background-color .15s ease}.trend-day span{color:var(--muted);font-size:.82rem}.trend-day:hover{transform:translateY(-2px);border-color:var(--line-strong)}.battery-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:6px 10px;border-radius:999px;font-weight:700}.battery-good{background:rgba(148,249,100,.16);color:var(--forest)}.battery-warning{background:rgba(255,154,87,.16);color:var(--warning)}.battery-critical{background:rgba(255,115,115,.14);color:var(--danger)}table{width:100%;border-collapse:collapse}td,th{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:.92rem;font-weight:600}.usage-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:12px;gap:12px}.usage-list li{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);transition:transform .14s ease,border-color .14s ease}.usage-list li span{display:block;color:var(--muted);margin-top:6px}.usage-list li:hover{transform:translateX(2px);border-color:var(--line-strong)}.login-layout{min-height:calc(100vh - 140px);display:grid;place-items:center}.login-card{width:min(480px,100%);padding:30px}.login-form{display:grid;grid-gap:16px;gap:16px;margin-top:24px}.login-form label{display:grid;grid-gap:6px;gap:6px}.login-form input{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink)}.login-form button{border:0;border-radius:999px;padding:12px 16px;background:var(--forest);color:#091109;cursor:pointer}.form-error{color:#b42318;margin:0}.form-success{color:var(--forest);margin:0}.subtle{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px;gap:20px}.settings-card,.settings-form{display:grid;grid-gap:16px;gap:16px;padding:22px;border-radius:20px;border:1px solid var(--line);background:var(--surface-soft)}.settings-field{display:grid;grid-gap:6px;gap:6px}.settings-field input{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.settings-check{display:flex;align-items:center;gap:10px}.settings-check input,.settings-checkboxes input{width:18px;height:18px;flex-shrink:0}.settings-facilities{display:grid;grid-gap:10px;gap:10px}.settings-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.heatmap-cell,.responsive-table tr,.trend-chart circle,.trend-chart polyline{transition:transform .14s ease,filter .14s ease,background-color .14s ease,stroke .14s ease}.heatmap-cell:hover{transform:scale(1.08);filter:brightness(1.12)}.trend-chart:hover .battery-point,.trend-chart:hover .shot-point,.trend-chart:hover .trend-point{filter:drop-shadow(0 0 6px rgba(148,249,100,.4))}.trend-chart:hover .shot-point{filter:drop-shadow(0 0 6px rgba(180,35,24,.38))}.trend-chart:hover .battery-line,.trend-chart:hover .shot-line,.trend-chart:hover .trend-line{filter:brightness(1.08)}@media (max-width:900px){.hero-grid,.topbar,.two-column{grid-template-columns:1fr;display:grid}.app-shell{width:min(100%,calc(100% - 20px));padding-top:16px}.hero,.login-card,.panel{border-radius:22px;padding:20px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card strong{font-size:1.5rem}.topnav{justify-content:flex-start;width:100%}.theme-toggle{width:-moz-fit-content;width:fit-content}.page-header,.panel-header{align-items:flex-start;flex-wrap:wrap}.brand-lockup{justify-content:flex-start;min-height:auto;padding:0}.facility-hero-header{align-items:flex-start}.brand-image{width:100px}.trend-chart{min-width:360px}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table td,.responsive-table tr{display:block;width:100%}.responsive-table tr{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:12px;background:var(--surface-soft);overflow:hidden}.responsive-table td{border-bottom:0;padding:7px 0}.facility-name-cell{display:flex}.row-cell-link{margin:0;padding:0}.responsive-table td:before{content:attr(data-label);display:block;margin-bottom:4px;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.overview-facility-row,.trend-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-facility-row{display:grid;grid-gap:10px;gap:10px;padding:14px;background:radial-gradient(circle at top right,rgba(148,249,100,.12),transparent 30%),var(--surface-soft)}.overview-facility-row td:before{display:none}.overview-facility-meta-wide,.overview-facility-primary-cell{grid-column:1/-1}.overview-facility-primary{padding:0}.overview-facility-primary .facility-name-cell{align-items:center;gap:14px}.overview-facility-primary-cell{padding-bottom:12px;border-bottom:1px solid var(--line)}.overview-facility-primary-cell .facility-row-logo{width:48px;height:48px;border-radius:16px}.overview-facility-name{font-size:1rem;line-height:1.2}.overview-facility-meta-cell,.overview-facility-stat-cell{padding:0}.overview-facility-meta,.overview-facility-stat{display:grid;grid-gap:4px;gap:4px;padding:12px;min-height:100%;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.04)}.overview-facility-stat-label{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.overview-facility-stat-value{font-size:1.15rem;line-height:1.1}.overview-facility-meta-value{font-size:.92rem;line-height:1.35}.settings-checkboxes{grid-template-columns:1fr}}@media (max-width:560px){.app-shell{width:min(100%,calc(100% - 12px));padding-top:max(10px,env(safe-area-inset-top))}.topbar{gap:16px;margin-bottom:18px;padding:14px;border-radius:18px}.topbar h1{font-size:1.55rem}.topnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.topnav .ghost-button,.topnav .theme-toggle,.topnav a,.topnav form{width:100%}.topnav form{margin:0}.hero,.login-card,.panel{padding:16px;border-radius:18px}.stack{gap:18px}.page-header,.panel-header{gap:10px}.login-card h2,.page-header h2,.panel-header h2{font-size:1.5rem}.facility-hero-header{gap:12px}.facility-hero-logo{width:64px;height:64px}.segmented-control{width:100%;justify-content:space-between}.segmented-option{flex:1 1;min-width:0;padding:10px 12px}.metrics-grid,.trend-summary{grid-template-columns:1fr}.metric-card{min-height:auto;gap:10px}.metric-card strong{font-size:1.35rem}.heatmap-hours,.heatmap-row{grid-template-columns:42px repeat(18,minmax(16px,1fr));gap:3px;min-width:390px}.heatmap-day,.heatmap-hours{font-size:.72rem}.trend-chart{min-width:300px;height:200px}.trend-day{padding:9px 10px}.responsive-table tr{padding:10px 12px;border-radius:14px}.responsive-table td{padding:6px 0;overflow-wrap:anywhere}.facility-name-cell{gap:10px}.facility-row-logo{width:34px;height:34px}.login-layout{min-height:calc(100dvh - 84px);align-items:stretch}.login-card{width:100%;min-height:calc(100dvh - 128px);display:flex;flex-direction:column;justify-content:center;padding:24px 18px}.login-form,.settings-card,.settings-form{gap:14px}.login-form button,.login-form input,.settings-field input{min-height:46px}.overview-facility-row{grid-template-columns:1fr 1fr;gap:8px;padding:12px}.overview-facility-primary-cell{padding-bottom:10px}.overview-facility-meta,.overview-facility-stat{padding:10px;border-radius:14px}.overview-facility-primary-cell .facility-row-logo{width:42px;height:42px}.overview-facility-name{font-size:.96rem}.overview-facility-stat-value{font-size:1.02rem}.settings-grid{grid-template-columns:1fr;gap:14px}.overview-footnote{margin-right:2px;text-align:left}}