.login-page{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:#f3f7f6;color:#102421;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.login-card{width:min(100%,420px);padding:36px;box-sizing:border-box;border:1px solid #d9e4e1;border-radius:24px;background:#fff;box-shadow:0 16px 48px #15353012}.login-brand{color:#0f766e;font-size:14px;font-weight:800;letter-spacing:.12em}.login-card h1{font-size:28px;margin:20px 0 12px}.login-card p{line-height:1.6;color:#637571}.login-card label{display:block;font-weight:600;margin-top:20px}.login-card input{display:block;width:100%;box-sizing:border-box;padding:13px 14px;margin-top:8px;border:1px solid #b9ceca;border-radius:10px;font:inherit;background:#fff;color:#102421}.login-card button{width:100%;padding:14px;border:0;border-radius:12px;background:#0f766e;color:#fff;font:inherit;font-weight:700;cursor:pointer}.login-card button:disabled{opacity:.6}.login-card .login-error{color:#b91c1c;min-height:24px}.login-note{font-size:13px}.login-page [hidden]{display:none!important}.local-account-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.local-account-actions button{border:1px solid var(--border);border-radius:8px;padding:7px 9px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:12px}.session-message{position:fixed;bottom:20px;left:20px;right:20px;z-index:100;background:#fff7d6;color:#714c00;border:1px solid #efd373;padding:18px;border-radius:14px}.login-card input:focus-visible,.login-card button:focus-visible,.local-account-actions button:focus-visible{outline:3px solid #14b8a6;outline-offset:3px}#invitationLink{width:100%}
@media(max-width:760px){.local-account-actions{margin-top:0}.topbar{flex-wrap:wrap}.local-mobile-account{display:flex;gap:8px;justify-content:flex-end;padding:0 16px 12px}.local-mobile-account button{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:8px 10px}}
.personal-page{margin:0;background:#f3f7f6;color:#102421;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.personal-shell{max-width:940px;margin:auto;padding:28px 20px}.personal-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.personal-card{background:#fff;border:1px solid #d9e4e1;border-radius:20px;padding:24px;margin:20px 0;overflow:auto}.personal-card h2{font-size:20px}.personal-page label{display:inline-flex;flex-direction:column;gap:8px;margin:0 14px 14px 0;font-size:14px}.personal-page input{padding:12px;border:1px solid #b9ceca;border-radius:10px;font:inherit;max-width:100%;box-sizing:border-box}.personal-page button{border:0;border-radius:10px;background:#0f766e;color:#fff;padding:12px 18px;cursor:pointer;font:inherit}.personal-metrics{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.personal-metrics span{display:block;color:#637571}.personal-metrics strong{display:block;font-size:36px;margin-top:12px}.personal-page table{border-collapse:collapse;width:100%;text-align:left}.personal-page td,.personal-page th{padding:12px;border-bottom:1px solid #d9e4e1}.personal-page #personalError{color:#b91c1c}.personal-page input:focus-visible,.personal-page button:focus-visible{outline:3px solid #14b8a6;outline-offset:3px}@media(max-width:520px){.personal-metrics{grid-template-columns:1fr}.personal-metrics strong{font-size:30px}.personal-header{align-items:flex-start}.personal-header h1{font-size:24px}.personal-card{padding:20px}}
.topbar{flex-wrap:wrap;gap:16px;align-items:center}.top-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.top-actions #monthPicker{width:180px;min-width:0;height:44px;box-sizing:border-box;padding:8px 12px}.top-actions #themeButton{height:44px;width:44px;flex:none}.top-actions .local-account-actions{margin:0;align-items:center;gap:6px}.top-actions .local-account-actions button{height:36px}
[hidden]{display:none!important}
.bills-table{min-width:1080px}.bills-table td{vertical-align:top}.bills-table th:nth-child(1){min-width:105px}.bills-table th:nth-child(2){min-width:150px}.bills-table th:nth-child(6){min-width:165px}.bills-table th:nth-child(7){min-width:260px}.bills-table td:nth-child(3),.bills-table td:nth-child(4),.bills-table td:nth-child(5){white-space:nowrap}.bills-table td:nth-child(7){overflow-wrap:anywhere}
.access-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.access-actions .button{font-size:12px;padding:8px 10px}
.status.payment-ok{color:#166534;background:#dcfce7;border-color:#86efac}.payment-zero{color:#15803d;font-weight:750}.status.payment-pending{color:#854d0e;background:#fef9c3;border-color:#fde047}.payments-table td:last-child{white-space:nowrap}
[data-theme=dark] .status.payment-ok{color:#86efac;background:#14532d;border-color:#166534}[data-theme=dark] .payment-zero{color:#86efac}
.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.chart-heading h2,.chart-heading h3{margin:0}.chart-heading p{margin:7px 0 0}.chart-unit{border:1px solid var(--border);border-radius:12px;padding:10px 14px;font-weight:750;color:var(--primary)}.chart-presets{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.chart-presets .button{font-size:13px;padding:9px 12px}.chart-submit{align-content:end}.chart-note{font-size:13px;color:var(--muted);line-height:1.6;margin:16px 0 0}.chart-meter-picker{border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:24px}.chart-meter-picker summary,.chart-data summary,.chart-explanation summary{cursor:pointer;font-weight:700;min-height:24px}.chart-picker-tools{display:flex;align-items:end;gap:18px;margin:20px 0}.chart-picker-tools label{flex:1}.chart-filters fieldset{border:1px solid var(--border);border-radius:12px;padding:14px;min-width:200px;flex:1}.chart-filters label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 0}.chart-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}.chart-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:26px}.chart-summary{padding:18px;background:var(--surface2);border-radius:16px;display:grid;gap:8px}.chart-summary>div{display:flex;align-items:center;gap:8px;font-weight:700}.chart-summary strong{font-size:30px;letter-spacing:-.04em}.chart-summary strong small{font-size:14px;font-weight:500}.chart-summary .muted{font-size:12px}.chart-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 16px}.chart-legend>span{display:flex;align-items:center;gap:8px;font-size:13px}.chart-display{display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px}.chart-display button{border:0;background:transparent;color:var(--text);padding:7px 13px;cursor:pointer;border-radius:8px;font:inherit;font-size:13px}.chart-display button[aria-pressed=true]{background:var(--primary);color:#fff}.chart-reading-key{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);margin-top:14px}.chart-data,.chart-explanation{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.chart-data .table-wrap{margin-top:18px}.chart-data caption{padding:14px;text-align:left;font-weight:700}.chart-data td{white-space:nowrap}.chart-data th{position:sticky;top:0}.chart-scroll svg{font-family:inherit}.chart-scroll [tabindex]:focus{outline:2px solid var(--primary)}
@media(max-width:720px){.chart-heading{align-items:flex-start;flex-wrap:wrap}.chart-picker-tools{align-items:stretch;flex-direction:column}.chart-summary-grid{grid-template-columns:1fr}.chart-controls .form-grid{grid-template-columns:1fr}.chart-filters fieldset{min-width:0}.chart-summary strong{font-size:28px}.chart-display{margin-left:auto}}
@media(min-width:1000px){.chart-controls .form-grid{grid-template-columns:1.4fr 1fr 1fr auto;align-items:end}.chart-controls .chart-heading{margin-bottom:10px}.chart-controls .chart-presets{margin:14px 0 18px}.chart-summary{grid-template-columns:1fr auto;align-items:center}.chart-summary>.muted{grid-column:1/-1}.chart-summary>strong{text-align:right}.chart-summary-grid{margin-bottom:18px}}
.bills-table{min-width:1300px}.bills-table th:nth-child(3){min-width:210px}.bills-table th:nth-child(7){min-width:165px}.bills-table th:nth-child(8){min-width:260px}.bills-table td:nth-child(4),.bills-table td:nth-child(5),.bills-table td:nth-child(6){white-space:nowrap}.bills-table td:nth-child(8){overflow-wrap:anywhere}
