@font-face{font-family:Water Display;src:local("Georgia")}:root{color:#18323a;background:#f5f4ef;font-family:Trebuchet MS,Segoe UI,sans-serif;font-synthesis:none;--ink: #18323a;--muted: #62747a;--paper: #fffefa;--ground: #f5f4ef;--teal: #0b6671;--teal-dark: #084c55;--coral: #dd6b47;--line: #d9dfdb;--shadow: 0 14px 38px rgba(24, 50, 58, .09)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--ground);background-image:linear-gradient(rgba(11,102,113,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,102,113,.035) 1px,transparent 1px);background-size:28px 28px}button,input,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(221,107,71,.35);outline-offset:2px}h1,h2,p{margin-top:0}h1,h2{font-family:Water Display,Georgia,serif;letter-spacing:0}h1{margin-bottom:8px;font-size:clamp(2rem,7vw,3.2rem);line-height:1.04}.app-shell{min-height:100vh;padding-bottom:92px}.topbar{position:sticky;top:0;z-index:20;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 960px)/2));color:var(--paper);background:#0b6671f7;box-shadow:0 2px 16px #18323a1f}.brand,.language-button{border:0;color:inherit;background:transparent;display:inline-flex;align-items:center;gap:9px}.brand strong{font-family:Water Display,Georgia,serif;font-size:1.25rem}.brand-mark{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--teal);background:var(--paper)}.language-button{min-width:70px;justify-content:flex-end;font-weight:700}main{width:100%}.page{width:min(100%,760px);min-height:calc(100vh - 160px);margin:0 auto;padding:34px 20px 44px}.page-heading{margin-bottom:28px}.page-heading>p:last-child{color:var(--muted)}.eyebrow,.record-type{margin-bottom:8px;color:var(--coral);font-weight:800;font-size:.75rem;text-transform:uppercase}.loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--teal);font-family:Water Display,Georgia,serif;font-size:1.5rem}.primary,.secondary,.text-button,.icon-text,.back-button,.inline-action{min-height:48px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800}.primary{padding:0 20px;color:#fff;background:var(--teal);border-radius:6px;box-shadow:0 6px 16px #0b66712e}.primary:hover{background:var(--teal-dark)}.primary:disabled{opacity:.58;cursor:wait}.secondary{padding:0 18px;color:var(--teal);background:var(--paper);border:1px solid #bfcfca;border-radius:6px}.text-button,.back-button{color:var(--teal);background:transparent}.back-button{min-height:36px;margin:-8px 0 22px;justify-content:flex-start}.back-button svg{width:19px}.wide{width:100%}.action-stack{display:grid;gap:12px;margin:26px 0}.meter-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px;padding:24px;background:var(--paper);border-left:5px solid var(--coral);box-shadow:var(--shadow)}.meter-panel>div:last-child{display:grid;gap:5px}.meter-panel .label{color:var(--muted);font-size:.85rem}.meter-face{width:132px;aspect-ratio:1.3;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:14px;color:#d7f1ed;background:var(--ink);border:5px solid #c4d0cc;border-radius:6px;box-shadow:inset 0 0 0 2px #617177}.meter-face span{color:#fff;font-family:Consolas,monospace;font-size:1.35rem}.meter-face small{align-self:end}.quiet-note{color:var(--muted);text-align:center;font-size:.86rem}.trust-strip{margin-top:32px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding-top:18px;color:var(--muted);border-top:1px solid var(--line);font-size:.85rem}.trust-strip svg{color:var(--teal)}.trust-strip strong{color:var(--teal)}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;height:calc(74px + env(safe-area-inset-bottom));padding:5px max(8px,calc((100vw - 760px)/2)) env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:#fffefafa;border-top:1px solid var(--line);box-shadow:0 -6px 24px #18323a12}.bottom-nav button{min-width:0;border:0;display:grid;place-content:center;justify-items:center;gap:3px;color:#718087;background:transparent;font-size:.7rem;font-weight:800}.bottom-nav svg{width:22px;height:22px}.bottom-nav button.active{color:var(--teal)}.bottom-nav button.active svg{stroke-width:3}.onboarding{min-height:100vh;display:grid;grid-template-columns:minmax(260px,.75fr) minmax(320px,1.25fr);background:var(--paper)}.onboarding-brand{display:grid;place-content:center;justify-items:center;gap:18px;color:#fff;background-color:var(--teal);background-image:repeating-linear-gradient(135deg,transparent 0 24px,rgba(255,255,255,.04) 24px 48px);font-family:Water Display,Georgia,serif;font-size:2rem}.onboarding-brand span{width:84px;height:84px;display:grid;place-items:center;color:var(--teal);background:var(--paper);border-radius:50%}.setup-panel{width:min(100%,680px);align-self:center;padding:48px clamp(24px,7vw,82px)}.lead{color:var(--muted);line-height:1.55}.language-segment,.month-segment,.filter-segment{display:inline-flex;padding:4px;background:#e8ece8;border-radius:6px}.language-segment{margin-bottom:32px}.language-segment button,.month-segment button,.filter-segment button{min-height:38px;padding:0 16px;border:0;color:var(--muted);background:transparent;border-radius:4px;font-weight:800}.language-segment button.active,.month-segment button.active,.filter-segment button.active{color:var(--ink);background:var(--paper);box-shadow:0 2px 7px #18323a1a}form{display:grid;gap:20px}.field{min-width:0;display:grid;gap:7px;color:var(--ink);font-size:.86rem;font-weight:800}input,textarea{width:100%;min-height:48px;padding:11px 13px;color:var(--ink);background:var(--paper);border:1px solid #b9c8c4;border-radius:4px}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--teal)}.two-columns{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}fieldset{min-width:0;margin:0;padding:0;border:0}legend{margin-bottom:8px;font-size:.86rem;font-weight:800}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.error,.warning{padding:13px 15px;color:#8c2f19;background:#fff0e9;border-left:4px solid var(--coral);line-height:1.45}.warning{color:#6d4d00;background:#fff8dc;border-color:#c99b28}.tariff-warning{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px}.tariff-warning svg{flex:0 0 auto;margin-top:2px}.previous-strip{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;margin-bottom:24px;padding:14px 16px;background:#e8f1ef;border-left:4px solid var(--teal);font-size:.85rem}.previous-strip span{color:var(--muted)}.photo-actions{display:flex;flex-wrap:wrap;gap:9px}.photo-field>img,.evidence-image{width:100%;max-height:280px;object-fit:cover;border:1px solid var(--line);border-radius:4px}.photo-field>img{margin-bottom:8px}.icon-text{min-height:36px;color:#a13a22;background:transparent}.icon-text:disabled{opacity:.35}.historical-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:14px}.historical-row .icon-text{min-height:48px}.history-add{margin-bottom:18px}.historical-link{min-height:36px;margin:-12px 0 16px;padding:0}.timeline-content .reading-usage{font-size:.85rem}.reading-usage strong{color:var(--teal)}.inline-action span{display:inline-flex;align-items:center;gap:8px}.receipt-page{max-width:760px}.review-list{margin:18px 0 26px;border-top:1px solid var(--line)}.review-list>div{display:grid;grid-template-columns:1fr auto;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.review-list dt{color:var(--muted)}.review-list dd{margin:0;font-weight:800;text-align:right}.review-list .emphasis{font-size:1.1rem}.notice{display:flex;align-items:center;gap:10px;padding:15px;color:var(--teal);background:#e8f1ef}.correction-notice{align-items:flex-start}.correction-notice>span{display:grid;gap:4px}.correction-notice small{color:var(--muted);line-height:1.4}.success-page{display:grid;align-content:center;justify-items:center;text-align:center;max-width:520px;gap:12px}.success-mark{width:56px;height:56px;display:grid;place-items:center;color:#fff;background:var(--teal);border-radius:50%}.saved-reading{width:100%;display:grid;gap:4px;margin:20px 0;padding:24px;background:var(--paper);border-top:4px solid var(--coral);box-shadow:var(--shadow)}.saved-reading strong{font-family:Water Display,Georgia,serif;font-size:2rem}.receipt-heading{margin:18px 0 28px;padding-bottom:18px;border-bottom:3px solid var(--ink)}.receipt-heading>span{color:var(--teal);font-family:Water Display,Georgia,serif;font-size:1.4rem;font-weight:800}.receipt-heading p{margin:22px 0 5px;color:var(--coral);font-weight:900;font-size:.75rem}.receipt-heading h1,.receipt-heading h2{margin:0;overflow-wrap:anywhere}.bill-saved-status{display:flex;align-items:center;gap:12px;margin-bottom:18px}.bill-saved-status>span{width:42px;height:42px;display:grid;place-items:center;color:#fff;background:var(--teal);border-radius:50%}.bill-saved-status p{margin:0 0 2px;color:var(--muted);font-size:.78rem}.bill-document{overflow:hidden;background:var(--paper);border:1px solid #cbd6d2;border-radius:6px;box-shadow:var(--shadow)}.bill-voided-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 20px;color:#7b3023;background:#fff0e9;border-bottom:1px solid #e8b4a5;font-size:.78rem;font-weight:900;text-transform:uppercase}.bill-voided-banner svg{width:18px}.bill-document-header{display:grid;grid-template-columns:1fr minmax(0,auto);align-items:center;gap:24px;padding:24px 28px;color:#fff;background:var(--teal)}.bill-document-brand{display:flex;align-items:center;gap:12px}.bill-document-brand>span{width:42px;height:42px;display:grid;place-items:center;color:var(--teal);background:#fff;border-radius:50%}.bill-document-brand>span svg{width:23px}.bill-document-brand div{display:grid;gap:2px}.bill-document-brand strong{font-family:Water Display,Georgia,serif;font-size:1.35rem}.bill-document-brand small{color:#d7efec}.bill-document-number{min-width:0;display:grid;gap:4px;text-align:right}.bill-document-number small{color:#d7efec}.bill-document-number strong{overflow-wrap:anywhere;font-size:.95rem}.bill-document-parties{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:28px;padding:28px;border-bottom:1px solid var(--line)}.bill-property>span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.bill-property h2{margin:6px 0 4px;font-size:1.85rem}.bill-property p{margin:0;color:var(--muted)}.bill-metadata{margin:0}.bill-metadata>div{display:grid;grid-template-columns:1fr auto;gap:12px;padding:6px 0}.bill-metadata dt{color:var(--muted);font-size:.78rem}.bill-metadata dd{margin:0;font-size:.82rem;font-weight:800;text-align:right}.bill-section{padding:24px 28px 0}.bill-section h3{margin:0 0 12px;color:var(--ink);font-family:inherit;font-size:.78rem;text-transform:uppercase}.bill-reading-summary{display:grid;grid-template-columns:1fr 1fr;margin:0 0 28px;background:var(--paper);border:1px solid var(--line)}.bill-reading-summary>div{min-width:0;padding:15px}.bill-reading-summary>div:nth-child(2){border-left:1px solid var(--line)}.bill-reading-summary dt{margin-bottom:7px;color:var(--muted);font-size:.78rem}.bill-reading-summary dd{display:grid;gap:3px;margin:0}.bill-reading-summary dd strong{font-family:Water Display,Georgia,serif;font-size:1.15rem}.bill-reading-summary dd small{color:var(--muted)}.bill-reading-summary .usage{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;align-items:center;border-top:1px solid var(--line);background:#e8f1ef}.bill-reading-summary .usage dt{margin:0;color:var(--teal);font-weight:800}.bill-reading-summary .usage dd{text-align:right}.review-list.compact{font-size:.9rem}.bill-lines{border-top:1px solid var(--ink)}.bill-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;padding:12px 4px;border-bottom:1px solid var(--line)}.bill-lines span{color:var(--muted)}.bill-lines .rounding-line{font-size:.82rem}.bill-amount-due{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;margin-top:26px;padding:22px 28px;color:#fff;background:var(--ink)}.bill-amount-due span{color:#d7efec;font-size:.82rem;font-weight:800;text-transform:uppercase}.bill-amount-due>strong{font-family:Water Display,Georgia,serif;font-size:2rem}.bill-amount-due strong small{font-family:inherit;font-size:.9rem}.bill-amount-due.is-paid{background:var(--teal)}.bill-amount-due.is-voided{background:#746f6b}.bill-evidence{display:grid;gap:10px;margin-top:24px;break-inside:avoid}.bill-evidence .evidence-image{max-height:none;object-fit:contain}.bill-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-top:16px}.filter-segment{width:100%;display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.filter-segment button{min-width:0;padding-inline:6px}.timeline{position:relative}.timeline:before{content:"";position:absolute;top:12px;bottom:12px;left:22px;width:2px;background:var(--line)}.timeline-item{position:relative;display:grid;grid-template-columns:46px 1fr;gap:16px;margin-bottom:18px}.timeline-icon{position:relative;z-index:1;width:46px;height:46px;display:grid;place-items:center;color:var(--teal);background:var(--paper);border:2px solid var(--teal);border-radius:50%}.bill-entry .timeline-icon{color:var(--coral);border-color:var(--coral)}.bill-entry.is-voided .timeline-icon{color:#746f6b;border-color:#9d9894}.bill-entry.is-voided .timeline-content{background:#f4f2f0}.timeline-content{min-width:0;padding:18px;background:var(--paper);border:1px solid var(--line);box-shadow:0 5px 16px #18323a0d}.timeline-content h2{margin:3px 0 5px;font-size:1.6rem}.timeline-content p,.timeline-content small{margin-bottom:8px;color:var(--muted)}.timeline-content .evidence-image{max-width:180px;max-height:110px;margin-top:8px}.inline-action{width:100%;min-height:42px;margin-top:12px;justify-content:space-between;color:var(--teal);background:transparent;border-top:1px solid var(--line)}.inline-action svg{width:18px}.history-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-status{padding:4px 7px;color:#8a402d;background:#fff0e9;border:1px solid #e8b4a5;border-radius:3px;font-size:.7rem;font-weight:900;text-transform:uppercase}.payment-status.is-paid{color:#0d665f;background:#e8f1ef;border-color:#a8cec8}.payment-status.is-voided{color:#6b3730;background:#ece7e4;border-color:#c9bbb5}.replacement-link{margin:7px 0 0!important;font-size:.76rem;overflow-wrap:anywhere}.history-summary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.history-open-hint{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0;color:var(--teal);background:transparent;font-weight:800}.history-open-hint svg{width:18px}.payment-toggle{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;color:var(--ink);background:#eef3f1;border:1px solid var(--line);border-radius:4px;font-size:.78rem;font-weight:800}.payment-toggle svg{width:17px}.empty{padding:38px 0 38px 68px;color:var(--muted)}.tariff-grid{display:grid;grid-template-columns:repeat(2,1fr);background:var(--paper);border:1px solid var(--line)}.tariff-version{margin-bottom:30px}.tariff-version-heading{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:3px solid var(--teal)}.tariff-version-heading span{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere;text-align:right}.tariff-grid>div{min-height:150px;display:grid;align-content:center;gap:7px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.tariff-grid span,.tariff-grid small{color:var(--muted)}.tariff-grid strong{font-family:Water Display,Georgia,serif;font-size:2rem}.source-note{display:grid;grid-template-columns:auto 1fr;gap:14px;margin-top:22px;padding:18px;background:#e8f1ef}.source-note span{font-weight:800}.source-note p{margin:5px 0 0;color:var(--muted);line-height:1.45}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.setting-row>div:first-child{display:grid;gap:5px}.setting-row span,.setting-row small{color:var(--muted)}.setting-row .language-segment{margin:0}.backup-section{margin-top:36px;display:grid;gap:12px}.backup-section h2{margin:0;font-size:1.15rem}.backup-section>p{margin:0;color:var(--muted);line-height:1.5}.backup-section .backup-last{color:var(--ink);font-weight:800}.backup-section .backup-privacy{font-size:.82rem}.backup-import{display:grid;gap:12px}.file-button{cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-button:focus-within{outline:3px solid rgba(221,107,71,.35);outline-offset:2px}.backup-preview{display:grid;gap:12px;padding:18px;background:#e8f1ef}.backup-preview>span{font-weight:800}.backup-preview dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0}.backup-preview dt{color:var(--muted);font-size:.78rem}.backup-preview dd{margin:2px 0 0;font-weight:800}.backup-preview .warning{margin:0}.backup-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.setup-restore{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.about-section{margin-top:36px}.about-section h2{margin:0 0 12px;font-size:1.15rem}.about-section>p{margin:0 0 10px;color:var(--muted);line-height:1.5}.about-section dl{display:flex;flex-wrap:wrap;gap:28px;margin:16px 0 0}.about-section dt{color:var(--muted);font-size:.78rem}.about-section dd{margin:4px 0 0;font-weight:800}.danger-zone{margin-top:42px;padding-top:20px;border-top:3px solid var(--coral)}.danger-zone>span{display:block;margin-bottom:16px;font-weight:800}.danger-zone button{min-height:46px;display:inline-flex;align-items:center;gap:9px;padding:0 16px;color:#a13a22;background:#fff0e9;border:1px solid #e8b4a5;border-radius:4px;font-weight:800}@media(max-width:640px){.onboarding{grid-template-columns:1fr}.onboarding-brand{min-height:180px}.onboarding-brand span{width:64px;height:64px}.setup-panel{padding:32px 20px 44px}.two-columns{grid-template-columns:1fr}.historical-row{grid-template-columns:1fr auto;padding-bottom:14px;border-bottom:1px solid var(--line)}.historical-row .field{grid-column:1}.historical-row .icon-text{grid-column:2;grid-row:1}.meter-panel{grid-template-columns:1fr}.meter-face{width:100%;aspect-ratio:auto}.previous-strip{grid-template-columns:1fr auto}.previous-strip b{grid-column:1 / -1}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions>*{width:100%}.tariff-grid{grid-template-columns:1fr}.tariff-grid>div{min-height:118px}.setting-row{align-items:flex-start}.bill-document-header{grid-template-columns:1fr;gap:16px;padding:20px}.bill-document-number{padding-top:14px;text-align:left;border-top:1px solid rgba(255,255,255,.25)}.bill-document-parties{grid-template-columns:1fr;gap:20px;padding:22px 20px}.bill-section{padding-inline:20px}.bill-reading-summary{grid-template-columns:1fr}.bill-reading-summary>div:nth-child(2){border-top:1px solid var(--line);border-left:0}.bill-amount-due{padding-inline:20px}.bill-actions{grid-template-columns:1fr}.history-summary-actions{align-items:stretch;flex-direction:column}.history-summary-actions>*{width:100%}.payment-toggle{justify-content:center}}@page{size:A4 portrait;margin:10mm}@media print{html,body{margin:0;background:#fff}.topbar,.bottom-nav,.no-print{display:none!important}.app-shell{padding:0}.page{width:100%;min-height:0;padding:0}.bill-document{border:0;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.bill-voided-banner{print-color-adjust:exact;-webkit-print-color-adjust:exact}.bill-document-header{grid-template-columns:1fr minmax(0,auto);gap:7mm;padding:5mm 7mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.bill-document-number{padding-top:0;text-align:right;border-top:0}.bill-document-parties{gap:7mm;padding:5mm 7mm}.bill-document-parties{grid-template-columns:minmax(0,1fr) minmax(55mm,.8fr)}.bill-property h2{margin-block:1mm;font-size:1.55rem}.bill-metadata>div{padding:1mm 0}.bill-section{padding:4mm 7mm 0}.bill-section h3{margin-bottom:2mm}.bill-reading-summary{margin-bottom:4mm}.bill-reading-summary{grid-template-columns:1fr 1fr}.bill-reading-summary>div{padding:3mm}.bill-reading-summary>div:nth-child(2){border-top:0;border-left:1px solid var(--line)}.bill-lines>div{padding:2.2mm 1mm}.bill-amount-due{margin-top:4mm;padding:4mm 7mm}.bill-amount-due{print-color-adjust:exact;-webkit-print-color-adjust:exact}.bill-evidence{gap:2mm;margin:4mm 7mm 5mm}.bill-evidence .evidence-image{width:100%;height:45mm;max-height:45mm;object-fit:contain;object-position:left center}}
