[hidden]{display:none!important}
:root{--bg:#07111b;--panel:#0d1a26;--panel2:#112231;--line:#203444;--text:#eef8f5;--muted:#91a8ae;--accent:#7ccdb8;--accent2:#3d8f82;--danger:#ff7474;--shadow:0 18px 60px #0008}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at 15% 0,#12342f 0,transparent 30%),var(--bg);color:var(--text)}button,input,textarea{font:inherit}button{cursor:pointer}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-brand{display:flex;gap:18px;align-items:center;margin-bottom:22px}.auth-brand span,.brand span{display:block;color:var(--accent);font-size:15px;font-weight:800}.auth-brand strong,.brand strong{display:block;font-size:25px}.auth-brand p{margin:5px 0;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:linear-gradient(145deg,#173b36,#0b1d28);border:1px solid #2e655c;font-size:30px;box-shadow:0 0 35px #4ac9a633}.auth-card{width:min(440px,100%);padding:24px;background:#0c1823dd;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.auth-card.wide{width:min(560px,100%)}.auth-card h1{margin:12px 0 5px}.auth-card>p,.auth-form>p{color:var(--muted)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#07121b;border:1px solid var(--line);padding:4px;border-radius:14px}.auth-tabs button{border:0;background:transparent;color:var(--muted);padding:11px;border-radius:11px}.auth-tabs button.active{background:var(--panel2);color:var(--accent)}.auth-form{display:grid;gap:14px;margin-top:20px}.auth-form label,.field label{display:grid;gap:7px;color:#cfe0df;font-weight:700;font-size:14px}.auth-form input,.field input,.field textarea{width:100%;border:1px solid var(--line);background:#07121b;color:var(--text);border-radius:13px;padding:13px;outline:none}.auth-form input:focus,.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7ccdb81c}.primary,.secondary,.danger,.link-btn{border:0;border-radius:13px;padding:13px 16px;font-weight:800}.primary{background:linear-gradient(135deg,var(--accent),#54ae9d);color:#04120f;width:100%}.secondary{background:#142635;color:var(--text);border:1px solid var(--line)}.danger{background:#3b1c24;color:#ffb6b6}.link-btn{background:transparent;color:var(--accent)}.message,.setup-warning{margin-top:16px;padding:13px;border-radius:13px;background:#122a29;border:1px solid #28504b;color:#cfece6}.message.error,.setup-warning{background:#33251a;border-color:#70512e;color:#ffe0aa}.setup-warning p{margin-bottom:0}.app-shell{min-height:100vh;padding-bottom:82px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px max(18px,calc((100vw - 820px)/2));background:#07111be8;border-bottom:1px solid #ffffff0d;backdrop-filter:blur(20px)}.topbar p{margin:3px 0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:9px}.profile-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:6px 10px}.profile-chip span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--accent);color:#05201a;font-weight:900}.profile-chip small{max-width:100px;overflow:hidden;text-overflow:ellipsis}.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text)}.content{width:min(820px,100%);margin:auto;padding:18px}.card,.mini,.list-item{background:linear-gradient(145deg,#102331,#0b1823);border:1px solid var(--line);border-radius:19px}.card{padding:18px;margin-bottom:14px}.hero{background:radial-gradient(circle at 90% 5%,#2a725e66,transparent 35%),linear-gradient(145deg,#112936,#0b1721)}.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}.hero-grid{display:flex;justify-content:space-between;align-items:center}.value{font-size:45px;font-weight:900;color:var(--accent);margin-top:8px}.value small{font-size:16px}.money{font-size:20px;font-weight:800}.energy-orb{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#7ccdb817;border:1px solid #7ccdb855;font-size:32px}.trend,.good{color:var(--accent)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini{padding:14px}.mini span,.mini small{display:block;color:var(--muted)}.mini strong{display:block;margin:7px 0;font-size:19px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:18px 2px 10px}.list{display:grid;gap:9px}.list-item{display:flex;justify-content:space-between;align-items:center;padding:14px}.list-item h3{margin:0 0 5px;font-size:15px}.list-item p{margin:0;color:var(--muted);font-size:13px}.list-item strong{text-align:right}.summary-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #ffffff0d}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:12;display:grid;grid-template-columns:repeat(5,1fr);background:#08131ded;border-top:1px solid var(--line);backdrop-filter:blur(18px);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:transparent;color:var(--muted);padding:10px 3px;font-size:11px}.bottom-nav button span{display:block;font-size:20px}.bottom-nav button.active{color:var(--accent)}dialog{border:0;padding:0;background:transparent;color:var(--text);width:min(560px,calc(100% - 20px))}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.dialog-card{background:#0b1823;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow)}.dialog-head,.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-actions{margin-top:18px}.dialog-actions button{width:50%}.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0}.progress i{height:4px;border-radius:9px;background:#20313d}.progress i.active{background:var(--accent)}.meter-options{display:grid;gap:9px}.meter-option{display:grid;grid-template-columns:45px 1fr auto;align-items:center;text-align:left;border:1px solid var(--line);background:#0d1e2a;color:var(--text);border-radius:15px;padding:12px}.meter-option.selected{border-color:var(--accent);background:#123028}.field{margin:13px 0}.chart{height:180px;display:flex;align-items:end;gap:9px;margin-top:18px}.bar-wrap{height:100%;flex:1;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:6px}.bar{width:100%;max-width:38px;background:#315165;border-radius:8px 8px 2px 2px}.bar.current{background:var(--accent)}.member-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #ffffff0e}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#183c37;color:var(--accent);font-weight:900}.badge{padding:5px 9px;border-radius:999px;background:#17322e;color:var(--accent);font-size:11px;font-weight:800}.notice{color:var(--muted);font-size:13px}.compact{margin-bottom:15px}@media(max-width:560px){.auth-brand{align-items:flex-start}.grid2{grid-template-columns:1fr 1fr}.value{font-size:38px}.profile-chip small{display:none}.content{padding:13px}.bottom-nav button{font-size:10px}}.full{width:100%;margin-top:10px}.form-grid{gap:10px}.field select{width:100%;border:1px solid var(--line);background:#07121b;color:var(--text);border-radius:13px;padding:13px;outline:none}.action-row{display:flex;gap:9px;flex-wrap:wrap}.action-row .primary,.action-row .secondary{width:auto}.module-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#15312d;color:var(--accent);font-size:12px;font-weight:800}.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px;text-align:center}.flow-node{padding:14px 8px;border-radius:16px;background:#0b1b26;border:1px solid var(--line)}.flow-node b{display:block;font-size:23px}.flow-arrow{color:var(--accent);font-weight:900}.empty-state{text-align:center;padding:28px 16px;color:var(--muted)}.kpi3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kpi3 .mini strong{font-size:17px}.danger-link{border:0;background:transparent;color:#ff9b9b;font-weight:800}.vehicle-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.vehicle-head h2{margin:4px 0}.vehicle-meta{color:var(--muted);font-size:13px}.charge-place{font-size:11px;padding:4px 7px;border-radius:999px;background:#17322e;color:var(--accent)}@media(max-width:560px){.flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg)}.kpi3{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}}

.nav-svg{display:block;margin:auto;width:22px;height:22px}.nav-svg svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.price-chart{display:flex;align-items:end;gap:3px;height:150px;margin-top:16px;padding-top:10px;border-bottom:1px solid var(--line)}.price-bar{flex:1;min-width:3px;border-radius:5px 5px 1px 1px;background:#315165;position:relative}.price-bar.cheap{background:var(--accent)}.price-bar.negative{background:#bc6f7a}.price-bar.now{outline:2px solid #fff9;outline-offset:2px}.price-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:7px}.price-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.solar-orb{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#f3c96918;border:1px solid #f3c96955}.net-positive{color:var(--accent)}.net-negative{color:#ff9a9a}.brand-lab-link{display:block;text-align:center;margin-top:12px;color:var(--accent)}@media(max-width:560px){.price-summary{grid-template-columns:1fr 1fr}.price-bar:nth-child(odd){opacity:.85}}
/* BUILD 007 — Nordic Live Energy */
.nordic-icon{display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.module-pill{display:inline-flex;align-items:center;gap:7px}
.solar-pulse-mark{background:linear-gradient(145deg,rgba(87,210,180,.16),rgba(8,25,38,.7));border-color:rgba(102,221,191,.42);color:var(--accent)}
.live-flow-card{overflow:hidden;position:relative;background:linear-gradient(155deg,rgba(14,40,53,.94),rgba(7,22,34,.96))}
.compact-title{margin:0 0 20px}.live-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--accent);border:1px solid rgba(103,213,185,.25);padding:6px 10px;border-radius:999px;background:rgba(61,176,146,.1)}.live-status i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(103,213,185,.08);animation:livePulse 2.4s infinite}
.energy-flow-map{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 5px 4px}.flow-entity{width:150px;min-height:96px;display:grid;place-items:center;align-content:center;gap:4px;border:1px solid rgba(113,155,176,.2);border-radius:22px;background:rgba(10,31,45,.75);color:#8da8b6;transition:.25s ease}.flow-entity strong{color:#eaf5f3}.flow-entity small{font-size:11px;color:var(--muted)}.flow-entity.is-active,.flow-entity.is-core{color:var(--accent);border-color:rgba(101,217,187,.38);background:linear-gradient(145deg,rgba(38,116,101,.19),rgba(8,27,40,.83));box-shadow:inset 0 1px rgba(255,255,255,.025)}
.flow-split{width:min(100%,560px);display:grid;grid-template-columns:1fr 1fr;gap:34px}.flow-split>div{display:flex;flex-direction:column;align-items:center}.live-edge{width:74px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.flow-track{display:block;position:relative;width:2px;height:27px;background:rgba(123,159,175,.22);overflow:hidden;border-radius:4px}.flow-track i{display:none;position:absolute;width:5px;height:5px;left:-1.5px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.live-edge.active .flow-track i{display:block;animation:flowDown 1.8s linear infinite}.live-edge.active .flow-track i:nth-child(2){animation-delay:.6s}.live-edge.active .flow-track i:nth-child(3){animation-delay:1.2s}.live-edge.reverse .flow-track i{animation-name:flowUp}.live-edge small{font-size:10px;color:var(--muted)}.flow-note{text-align:center;margin-top:16px;color:var(--muted);font-size:13px}
.reading-cards{display:grid;gap:14px}.reading-card{margin:0}.reading-heading{display:flex;align-items:center;gap:12px;color:var(--accent);margin-bottom:16px}.reading-heading h2{margin:0;color:var(--text)}.quiet-empty{border:1px solid var(--border);border-radius:15px;padding:16px;color:var(--muted);background:rgba(4,17,27,.26)}
.hero-empty{padding:36px 22px;text-align:center}.mini-illustration{width:104px;height:104px;display:grid;place-items:center;margin:0 auto 18px;color:var(--accent);position:relative;border-radius:30px;background:linear-gradient(145deg,rgba(72,192,162,.12),rgba(5,22,34,.65));border:1px solid rgba(99,217,187,.34);box-shadow:inset 0 1px rgba(255,255,255,.03)}.illustration-orbit{position:absolute;inset:11px;border:1px dashed rgba(112,220,193,.16);border-radius:25px;animation:slowSpin 18s linear infinite}.hero-empty h2{margin:0 0 8px}.hero-empty p{color:var(--muted);max-width:440px;margin:0 auto 18px}.hero-empty .primary{max-width:360px;margin:auto}
@keyframes flowDown{0%{transform:translateY(-7px);opacity:0}20%{opacity:1}100%{transform:translateY(29px);opacity:0}}@keyframes flowUp{0%{transform:translateY(29px);opacity:0}20%{opacity:1}100%{transform:translateY(-7px);opacity:0}}@keyframes livePulse{0%,100%{opacity:.55}50%{opacity:1}}@keyframes slowSpin{to{transform:rotate(360deg)}}
@media(max-width:560px){.flow-split{gap:12px}.flow-entity{width:125px;min-height:88px}.live-flow-card{padding-left:13px;padding-right:13px}.hero-empty{padding:30px 16px}}
@media(prefers-reduced-motion:reduce){.live-edge.active .flow-track i,.live-status i,.illustration-orbit{animation:none}}
.brand-solar-pulse{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;color:var(--accent)}.solar-brand{display:grid;place-items:center}.solar-brand .brand-solar-pulse{width:42px;height:42px}.setup-brand{display:flex;align-items:center;gap:12px}.setup-brand .brand-solar-pulse{width:36px;height:36px}

/* UI HOTFIX 007.1 — browser controls aligned with Nordic Design System */
:root{color-scheme:dark}
*{scrollbar-width:thin;scrollbar-color:#35586a transparent}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#35586a,#254555);border:2px solid transparent;background-clip:padding-box;border-radius:999px}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#4b7281,#315869);border:2px solid transparent;background-clip:padding-box}

/* Remove the operating system number spinner without losing numeric keyboards. */
input[type="number"]{-moz-appearance:textfield;appearance:textfield}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Nordic Select shell. The expanded list may still use the platform picker on mobile. */
.field select{
  -webkit-appearance:none;appearance:none;
  min-height:48px;padding:13px 48px 13px 14px;
  background-color:#07121b;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237ccdb8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:20px;
  color:var(--text);cursor:pointer
}
.field select:hover{border-color:#35586a}
.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7ccdb81c}
.field select option{background:#0b1823;color:var(--text)}

/* Custom visible calendar/clock glyph; native picker remains available for reliability. */
.field input[type="date"],.field input[type="time"]{
  min-height:48px;padding-right:48px;
  background-repeat:no-repeat;background-position:right 14px center;background-size:20px
}
.field input[type="date"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237ccdb8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E")}
.field input[type="time"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237ccdb8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.field input[type="date"]::-webkit-calendar-picker-indicator,
.field input[type="time"]::-webkit-calendar-picker-indicator{opacity:0;width:34px;height:34px;cursor:pointer}

.meter-option{min-height:50px;grid-template-columns:34px 1fr 26px}
.meter-icon{display:grid;place-items:center;color:var(--accent)}
.meter-icon .nordic-inline-icon{width:23px;height:23px}
.choice-mark{display:grid;place-items:center;width:24px;height:24px;border:1px solid #56707d;border-radius:50%;color:var(--accent)}
.meter-option.selected .choice-mark{border-color:var(--accent);background:#7ccdb817}
.choice-mark .nordic-inline-icon{width:16px;height:16px}
