/* VOLUNO Premium — presentation only. No scripts, readings or access rules. */
:root{--bg:#0c1316;--surface:#172223;--surface-2:#1e2d2e;--line:#afc3bb24;--text:#f3f2e9;--muted:#b0c1c2;--accent:#b7d2c4;--mint:#96d7ba;--gold:#efcfa0;--shadow:0 14px 38px #0002;color-scheme:dark}
body{background:radial-gradient(ellipse at 85% 0,#35514726,transparent 600px),var(--bg);line-height:1.5}
.shell{max-width:760px;padding:24px 18px 48px}
.topbar{margin-bottom:24px}.brand{font-size:1.55rem;font-weight:650}.brand-mark{border-color:var(--accent)}
.panel,.metric{background:linear-gradient(140deg,#23322f,#162124);border-color:var(--line);box-shadow:0 6px 22px #0001;border-radius:22px}
.panel{margin-top:14px}.expandable-card{padding:0}.expandable-summary{padding:18px;min-height:82px;gap:12px}
.summary-title{font-weight:600;font-size:.95rem;line-height:1.35}.summary-values{max-width:100%}.summary-values small{font-size:.72rem}
.expandable-body{padding:14px 18px 20px;background:#09151824}
.section-divider-title{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:25px 6px 12px}
.panel-note{line-height:1.65;color:var(--muted)}
.status-card{min-height:220px;padding:26px 24px;align-items:flex-end;background:linear-gradient(90deg,#071214ef,#09141880),url('premium-assets/house-night-higgsfield.webp') 68% 54%/cover;border-radius:25px}
.status-card>div:first-child{max-width:80%;text-shadow:0 2px 14px #000}
.status-card h1{font-size:clamp(1.5rem,5vw,2.2rem);font-weight:550;letter-spacing:-.04em;line-height:1.13;margin-bottom:12px}
.status-card p:last-child{font-size:.82rem;line-height:1.55;color:#e1e9e4}
.status-card.status-yellow{border:2px solid var(--yellow)}.status-card.status-red{border:2px solid var(--red)}
.status-card.status-unknown{border-color:var(--grey)}.status-orb{align-self:flex-start;width:34px;height:34px}
.decision-panel{background:none;border:0;box-shadow:none;padding:14px 3px 3px;margin:0 0 18px}
.decision-panel h2{font-size:.76rem;font-weight:500;color:var(--muted)}
.decision-grid{gap:8px}.decision-tile{background:#18272655;border:1px solid var(--line);border-radius:13px;padding:9px 3px;min-height:70px}
.decision-tile>span{display:block;width:44px;height:44px;margin:auto;background:center/contain no-repeat}
.decision-tile>span svg{visibility:hidden}.decision-tile b{font-size:.65rem;font-weight:500}
#appliance-washer>span{background-image:url('premium-assets/washer.svg')}#appliance-stovetop>span{background-image:url('premium-assets/hob.svg')}#appliance-oven>span{background-image:url('premium-assets/oven.svg')}#appliance-dishwasher>span{background-image:url('premium-assets/dishwasher.svg')}
/* Wallets and car occupy their own column. The monetary value leads. */
:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary{grid-template-columns:76px minmax(0,1fr) 12px;grid-template-rows:auto auto;column-gap:17px;row-gap:5px;padding:23px 22px}
:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary>.summary-title{display:contents}
:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary>.summary-title>span{grid-column:2;grid-row:1;font-size:.83rem;font-weight:500;align-self:end}
:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary .summary-values{display:contents}
:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary :is(.section-icon,.ev-icon){grid-column:1;grid-row:1/3;display:block;width:76px;height:76px;background:center/contain no-repeat;margin:0}
:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary :is(.section-icon,.ev-icon)>*{visibility:hidden}
#today-cost-panel>summary .section-icon{background-image:url('premium-assets/wallet-day.svg')}
#monthly-cost-panel>summary .section-icon{background-image:url('premium-assets/wallet-month.svg')}
:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary .ev-icon{background-image:url('premium-assets/outlander-black-cutout.webp');width:88px;max-width:none;transform:translateX(-6px)}
#today-cost-total,#ev-month-cost,#monthly-cost-panel .summary-values>#month-grand-total{grid-column:2;grid-row:2;font-size:clamp(1.75rem,5.5vw,2.5rem);font-weight:600;letter-spacing:-.045em;line-height:1.2;color:var(--gold);margin:0;white-space:normal;overflow-wrap:anywhere;text-align:left;font-variant-numeric:tabular-nums}
:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary>.expandable-chevron{grid-column:3;grid-row:1/3}
.ev-panel #ev-status{grid-column:2;grid-row:3;text-align:left;font-size:.69rem}
#monthly-cost-panel .summary-values small{grid-column:1/-1;grid-row:3;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:15px;margin-top:10px;font-size:.77rem}
#monthly-cost-panel #month-per-person{font-size:1.45rem;color:var(--gold);font-weight:550;line-height:1.2}
.cost-breakdown li{gap:10px;padding-block:13px}.expandable-body .cost-breakdown li strong,.expandable-body .allocation-row b{color:var(--gold);font-variant-numeric:tabular-nums}
.monthly-total{background:#0c191933;border-color:var(--line);padding:14px;border-radius:15px}
/* The same upright building, with one apartment highlighted. Decorative only. */
.apartment-icon{border:0;border-radius:0;font-size:0;width:55px;height:64px;flex:0 0 55px;background:center/contain no-repeat}
[data-apartment=main] .apartment-icon{background-image:url('premium-assets/home-main.svg')}[data-apartment=unit1] .apartment-icon{background-image:url('premium-assets/home-one.svg')}[data-apartment=michal] .apartment-icon{background-image:url('premium-assets/home-michal.svg')}
.apartment-reading{text-align:right;min-width:0}.apartment-reading strong{font-size:1.15rem;font-weight:550}.apartment-reading small{font-size:.65rem;max-width:100px}
.apartment-body .boiler-card{position:relative;display:block;background:#10202066;border:1px solid var(--line);border-radius:17px;padding:17px}
.boiler-card-head{min-height:78px;padding-left:69px;display:flex;align-items:center;gap:8px}
.boiler-card-head::before{content:"";position:absolute;left:14px;top:14px;width:61px;height:88px;background:url('premium-assets/boiler.svg') center/contain no-repeat;pointer-events:none}
.boiler-card-head strong{font-weight:550}.boiler-card-metrics{margin:16px 0;gap:10px}.boiler-card-metrics strong{font-size:1.06rem}
.nested-expandable{border-radius:15px;background:#101c1c77;border-color:var(--line);margin-top:12px}
.nested-expandable>summary{min-height:67px;padding:12px;gap:8px;font-weight:550;grid-template-columns:minmax(0,1fr) auto 10px}
.nested-expandable>summary>span:first-child{display:flex;align-items:center;gap:9px;min-width:0}
.nested-expandable>summary>span:first-child::before{content:"";flex:0 0 32px;width:32px;height:38px;background:center/contain no-repeat}
.hot-water-plan>summary>span:first-child::before{background-image:url('premium-assets/water.svg')}
.house-calendar>summary>span:first-child::before{background-image:url('premium-assets/calendar.svg')}
.ev-charge-plan>summary>span:first-child::before{background-image:url('premium-assets/charge-plan.svg')}
.nested-expandable:has([data-i18n=outdoorLighting])>summary>span:first-child::before{background-image:url('premium-assets/light.svg')}
.weather-forecast>summary>span:first-child::before{background-image:url('premium-assets/weather.svg')}.weather-icon{display:none}
.nested-body{padding:15px 12px;gap:12px}.nested-expandable .chip{font-size:.59rem;padding:5px 7px;max-width:110px;white-space:normal;text-align:center}
.climate-panel .section-heading>div{padding-left:48px;background:url('premium-assets/climate.svg') left center/40px no-repeat}
.climate-panel{padding:16px;background:#101c1c77}.climate-panel h2{font-size:.9rem}.climate-grid strong{font-size:1.05rem}
.climate-profile-grid button,.calendar-nav,.calendar-delete,.audit-actions button{min-height:44px;border-radius:11px}
.climate-profile-grid button,.calendar-day,.calendar-event,.audit-card{background:#10201f80}
.calendar-form input,.calendar-form select,.audit-form input,.audit-form select{min-height:44px;border-color:var(--line);border-radius:10px}
.calendar-day-away{background:#67bdcc29}.calendar-day-return{background:#96d7ba29}.calendar-day-guests{background:#efcfa026}
.calendar-toolbar{padding-block:4px}.calendar-day{font-size:.78rem}.calendar-save,.audit-save{background:var(--accent)}
.weather-grid>div,.audit-metric{background:#b7d2c40a;border-radius:11px}
.audit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.system-health{margin:8px 0 12px;background:#18262280;border-radius:17px}
.system-health>summary{padding:12px 15px;min-height:60px}.system-health .expandable-body{padding:10px 15px 16px}
.system-health .summary-title::before{content:"";width:30px;height:34px;flex:0 0 30px;background:url('premium-assets/system.svg') center/contain no-repeat}
.health-dot{width:6px;height:6px;flex:0 0 6px;box-shadow:none}.system-health .summary-title{font-size:.79rem;gap:8px}
.system-health .summary-values small{font-size:.6rem}.health-row{gap:8px}.health-row span{min-width:0}
.audit-icon{font-size:0;width:32px;height:38px;flex:0 0 32px;background:url('premium-assets/meter.svg') center/contain no-repeat}
.technical-details>summary .section-icon,#capacity-details>summary .section-icon{width:42px;height:48px;flex-basis:42px;background:url('premium-assets/meter.svg') center/contain no-repeat}
.technical-details>summary .section-icon>*,#capacity-details>summary .section-icon>*{visibility:hidden}
.metric-icon{font-size:0;width:30px;height:37px;background:url('premium-assets/meter.svg') center/contain no-repeat}.metric-icon svg{visibility:hidden}
.technical-body>.panel,.technical-body .metric{background:#13222080}.technical-body .metric{grid-template-columns:30px minmax(0,1fr);gap:5px 12px}.technical-body .metric>strong{grid-column:2;font-size:1.65rem}.metric-note{grid-column:2}
.metric-primary{background:#1d302b}.progress span{background:linear-gradient(90deg,#5d9f88,var(--mint))}
.future-row,.schedule-learning,.weather-observation{flex-wrap:wrap}.chip{border-color:var(--line)}
summary:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.login-panel{padding:26px;background:linear-gradient(#112120cf,#122023f5),url('premium-assets/house-night-higgsfield.webp') center/cover}.login-panel h1{font-weight:550;font-size:1.8rem;letter-spacing:-.04em}
@media(max-width:520px){.shell{padding:18px 12px 36px}.expandable-summary{padding:14px 12px;gap:8px}.summary-title{font-size:.82rem;gap:8px}.expandable-body{padding:12px 12px 17px}.status-card{min-height:212px;padding:20px 18px}.status-card>div:first-child{max-width:83%}.status-card p:last-child{font-size:.75rem}.status-orb{width:29px;height:29px;flex-basis:29px}.apartment-icon{width:46px;height:56px;flex-basis:46px}.apartment-reading strong{font-size:1rem}:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary{grid-template-columns:59px minmax(0,1fr) 10px;padding:20px 15px;column-gap:13px}:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary :is(.section-icon,.ev-icon){width:60px;height:67px}:is(#today-cost-panel,#monthly-cost-panel,.ev-panel)>summary .ev-icon{width:74px}.climate-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-health>summary{gap:6px;padding:12px}.system-health .summary-title{gap:5px}.system-health .summary-title::before{width:24px;flex-basis:24px}.system-health #system-health-label{font-size:.7rem}.audit-form{grid-template-columns:1fr}.audit-card-head{flex-wrap:wrap}.boiler-card-metrics{grid-template-columns:1fr}.boiler-card-metrics>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding:7px 0}.calendar-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}footer{flex-wrap:wrap}}
@media(max-width:360px){.apartment-icon{width:39px;flex-basis:39px}.summary-title{font-size:.76rem}.apartment-reading small{max-width:85px}.nested-expandable>summary{grid-template-columns:minmax(0,1fr) 10px}.nested-expandable>summary>.chip{grid-column:1;grid-row:2;margin-left:41px;justify-self:start;max-width:none}.nested-expandable>summary>.expandable-chevron{grid-column:2;grid-row:1/3}.calendar-form{grid-template-columns:minmax(0,1fr)}.system-health .summary-values small{max-width:70px}.system-health .summary-title::before{width:21px;flex-basis:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
/* Never override the app's visibility/access decisions. */
[hidden]{display:none!important}
#monthly-cost-panel .summary-values small{justify-content:flex-start;gap:4px}#monthly-cost-panel #month-per-person{margin-left:auto}
.billing-month>summary{grid-template-columns:minmax(0,1fr) auto 10px;gap:8px}.billing-month>summary>.billing-month-title{display:grid;gap:2px;min-width:0}.billing-month-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billing-month-title small{font-size:.62rem;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billing-month>summary>strong{font-size:.92rem;white-space:nowrap;color:var(--mint)}
.audit-measurements>summary{grid-template-columns:minmax(0,1fr) 12px;row-gap:6px}.audit-measurements>summary>.summary-title{grid-column:1;grid-row:1}.audit-measurements>summary>.summary-values{grid-column:1;grid-row:2;justify-items:start;text-align:left;padding-left:40px}.audit-measurements>summary>.expandable-chevron{grid-column:2;grid-row:1/3}.audit-measurements .summary-values small{white-space:normal}
@media(max-width:520px){.technical-body .section-heading,.climate-panel .section-heading{flex-wrap:wrap;gap:10px}.technical-body .section-heading>strong{white-space:normal}.decision-tile b{overflow-wrap:anywhere}.admin-marker #logout{height:44px}.language{min-height:44px}}

/* v28: household share is the primary monthly amount; calculations unchanged. */
#monthly-cost-panel .summary-values > #month-grand-total{font-size:1.2rem;color:var(--muted);font-weight:500;letter-spacing:-.02em}
#monthly-cost-panel .summary-values small{display:block;text-align:left;font-size:.8rem;color:var(--muted);padding-top:17px;margin-top:12px}
#monthly-cost-panel #month-per-person{display:block;margin:7px 0 0;font-size:clamp(2rem,8vw,2.65rem);line-height:1.2;font-weight:650;letter-spacing:-.04em;color:var(--gold);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

/* Approved glass logo, compact local asset. */
.brand .brand-mark{display:block;width:44px;height:44px;object-fit:contain;border:0;border-radius:11px;background:transparent;flex:0 0 44px}
.login-brand{display:block;width:64px;height:64px;object-fit:contain;margin-bottom:16px;border-radius:16px}

/* v30 latency: "Pobieram dane" is a loading state, not missing data. */
@keyframes voluno-loading-pulse{0%,100%{opacity:.45}50%{opacity:.95}}
.live-dot.is-loading i{background:var(--gold);animation:voluno-loading-pulse 1.4s ease-in-out infinite}
.status-card[aria-busy="true"] .status-orb{animation:voluno-loading-pulse 1.6s ease-in-out infinite}
body.is-loading :is(#today-cost-total,#month-grand-total,#month-ev-deduction,#month-shared-total,#month-per-person),.ev-panel.is-loading #ev-month-cost{animation:voluno-loading-pulse 1.4s ease-in-out infinite}
