@charset "UTF-8";
:root{color-scheme:light;--bg:#f5f7f8;--surface:#fff;--surface-2:#eef3f4;--ink:#23353a;--muted:#657a80;--line:#dae3e5;--accent:#17695e;--accent-hover:#115549;--accent-ink:#fff;--accent-soft:#e1efea;--hero:#173d38;--hero-ink:#f5fbf7;--hero-muted:#b6d4ca;--shadow:0 8px 30px #173d3807;--warn:#89551b;--warn-bg:#fff4df;--danger:#b04744;--success:#2a7160;--radius:20px;--font:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif}
:root[data-theme=warm]{color-scheme:light;--bg:#f5f0e8;--surface:#fffcf7;--surface-2:#eee6da;--ink:#44382e;--muted:#897665;--line:#dfd4c5;--accent:#8b5c37;--accent-hover:#71492b;--accent-ink:#fffaf2;--accent-soft:#f1e2cf;--hero:#5b4231;--hero-ink:#fff8ed;--hero-muted:#d9c7b3;--shadow:0 8px 30px #60442f08;--warn:#8b5a24;--warn-bg:#f8ead1;--danger:#a8483e;--success:#5e7251}
:root[data-theme=dark]{color-scheme:dark;--bg:#151b1d;--surface:#1e272a;--surface-2:#293438;--ink:#e9f0f0;--muted:#a2b3b8;--line:#39464b;--accent:#9acbb5;--accent-hover:#b8dfce;--accent-ink:#172a22;--accent-soft:#2a443a;--hero:#2b443d;--hero-ink:#f2fff8;--hero-muted:#bcdbcd;--shadow:none;--warn:#efd197;--warn-bg:#423a2b;--danger:#f2a5a0;--success:#a0cfb7}
*{box-sizing:border-box}html{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:15px;scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--accent);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:11px;min-height:44px;padding:11px 16px;font-weight:600;transition:background .15s,border-color .15s,transform .15s}button:hover{background:var(--surface-2)}button:active{transform:translateY(1px)}button.primary,.button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.primary:hover{background:var(--accent-hover)}button.quiet{background:transparent;border-color:transparent}button.danger{color:var(--danger);background:transparent;border-color:var(--line)}button.small-button{font-size:.83rem;padding:9px 12px}button.wide{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;border:1px solid var(--line);border-radius:11px;font-weight:600;text-decoration:none}.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:var(--surface);padding:12px}.skip-link:focus{top:12px}.topbar{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:16px;max-width:1500px;margin:0 auto}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:800;font-size:1.36rem;letter-spacing:-.8px;color:var(--ink);line-height:1}.brand-light{font-weight:400}.brand small{display:block;font-size:.64rem;font-weight:500;letter-spacing:.4px;margin-top:7px;color:var(--muted)}.brand-mark{height:38px;width:38px;background:var(--accent);color:var(--accent-ink);display:grid;align-content:center;text-align:center;border-radius:12px;font-size:1.2rem;letter-spacing:-4px;padding-right:3px;position:relative}.brand-mark span{position:absolute;right:10px;top:10px;opacity:.6}.topbar-actions,.theme-picker{display:flex;align-items:center;gap:8px}.theme-picker{gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.theme-picker button{min-height:32px;min-width:32px;padding:1px 5px;font-size:1.25rem;line-height:1;border:0;border-radius:8px;background:transparent;color:var(--muted)}.theme-picker button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:0 2px 5px #0000000c}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:38px;max-width:1400px;margin:0 auto;padding:34px 42px 60px}.app-shell:has(#sidebar[hidden]){display:block;max-width:1060px}#sidebar{min-width:0}#sidebar nav{display:flex;flex-direction:column;gap:7px;position:sticky;top:28px}.nav-label,.eyebrow{font-size:.71rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:750;color:var(--muted);margin:0 0 14px}.nav-label{padding-left:14px;margin:13px 0}.nav-item{display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;color:var(--muted);padding:14px 16px;font-size:.94rem;font-weight:550}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}.nav-icon{font-size:1.18rem;width:21px;text-align:center}.sidebar-bottom{border-top:1px solid var(--line);padding:20px 14px;margin-top:26px;font-size:.78rem;color:var(--muted);line-height:1.65}.sidebar-bottom a{display:block}.sidebar-bottom strong{color:var(--ink);font-weight:600}.page-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin:3px 0 26px}.page-heading h1{margin:4px 0 8px;font-size:2.05rem;letter-spacing:-1.2px;line-height:1.12;font-weight:730}.page-heading p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}.heading-controls{display:flex;gap:8px;align-items:center}.heading-controls select{width:auto;max-width:220px;margin:0}.icon-button{width:44px;padding:8px;font-size:1.4rem}.house-picker{border:0;padding:0 24px 0 0;margin-bottom:10px;max-width:220px;min-height:28px;background:transparent;border-radius:0;color:var(--muted);font-size:.81rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(260px,1fr);gap:22px;align-items:start}.stack{display:grid;gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow);min-width:0}.card h2,.card h3{margin:0 0 10px;font-size:1.12rem;letter-spacing:-.3px}.card h3{font-size:1rem}.card p{line-height:1.7}.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.card-header h2,.card-header h3{margin:0}.card-number{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.balance-card{padding:29px 30px;background:var(--hero);color:var(--hero-ink);border-color:var(--hero);position:relative;overflow:hidden}.balance-card:before,.balance-card:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #ffffff0f;border-radius:50%;right:-124px;top:-90px;pointer-events:none}.balance-card:after{width:310px;height:310px;right:-159px;top:-125px}.balance-card .eyebrow{color:var(--hero-muted);margin-bottom:17px}.balance-label{font-size:.89rem;color:var(--hero-muted)}.balance-value{font-size:clamp(2rem,4vw,3rem);font-weight:650;letter-spacing:-1.6px;line-height:1.2;margin:10px 0 12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.balance-value .currency{font-size:.65em;font-weight:400;opacity:.8}.balance-card p{color:var(--hero-muted);font-size:.82rem;line-height:1.6;margin:0}.balance-card .balance-bottom{border-top:1px solid #ffffff24;margin-top:22px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:10px}.balance-card .balance-bottom strong{font-size:.93rem;font-weight:550;color:var(--hero-ink)}.balance-card button{background:var(--hero-ink);color:var(--hero);border:0}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:6px 10px;font-size:.73rem;font-weight:650;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.pill.muted{background:var(--surface-2);color:var(--muted)}.pill.warning{background:var(--warn-bg);color:var(--warn)}.next-action{display:flex;gap:14px;align-items:flex-start}.action-symbol{flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:1.3rem}.next-action p{font-size:.85rem;color:var(--muted);margin:6px 0 16px;line-height:1.65}.next-action h2{font-size:1.1rem;margin:2px 0}.muted{color:var(--muted)}.small{font-size:.8rem}.section-gap{margin-top:22px}.button-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.button-row.end{justify-content:flex-end}.button-row>*{max-width:100%}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);margin-top:18px;padding-top:19px}.mini-stats div+div{padding-left:20px;border-left:1px solid var(--line)}.mini-stats dt{font-size:.77rem;color:var(--muted);margin-bottom:7px}.mini-stats dd{margin:0;font-size:1.1rem;font-weight:650;letter-spacing:-.4px}.steps{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0}.steps li{display:flex;gap:12px;position:relative;min-height:68px;align-items:flex-start;padding:0 0 20px}.steps li:last-child{min-height:0;padding:0}.steps li:after{content:"";position:absolute;left:14px;top:31px;bottom:4px;width:1px;background:var(--line)}.steps li:last-child:after{display:none}.step-dot{height:29px;width:29px;flex:0 0 29px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:700}.steps li.current .step-dot{background:var(--accent);color:var(--accent-ink)}.steps li.done .step-dot{background:var(--accent-soft);color:var(--accent)}.steps strong{font-size:.85rem;display:block;margin-top:2px;font-weight:600}.steps small{display:block;color:var(--muted);font-size:.75rem;margin-top:4px;line-height:1.4}.detail-list{display:grid;gap:14px;margin:0}.detail-list div{display:flex;gap:15px;justify-content:space-between}.detail-list dt{color:var(--muted);font-size:.81rem}.detail-list dd{margin:0;text-align:right;font-size:.83rem;font-weight:550}.empty-state{padding:48px 30px;text-align:center;max-width:680px;margin:30px auto}.empty-state .empty-symbol{font-size:2.6rem;width:92px;height:92px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:28px;margin:0 auto 24px}.empty-state h1{font-size:1.8rem;letter-spacing:-.8px;margin:0 0 15px}.empty-state p{line-height:1.75;color:var(--muted);max-width:450px;margin:0 auto 24px}.privacy-line{font-size:.78rem;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px}.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:70px 0}.login-copy h1{font-size:3.15rem;line-height:1.1;letter-spacing:-2px;margin:18px 0 22px}.login-copy p{font-size:1rem;line-height:1.8;color:var(--muted)}.login-copy .eyebrow{color:var(--accent)}.login-card{padding:32px}.login-card h2{font-size:1.4rem;margin-bottom:8px}.login-card>p{margin-top:0;font-size:.86rem;color:var(--muted)}label{display:grid;gap:7px;font-size:.8rem;font-weight:600;line-height:1.45}input,select,textarea{width:100%;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:10px;min-height:46px;padding:11px 12px;color:var(--ink);font-size:1rem;font-weight:400}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input:focus,select:focus,textarea:focus{background:var(--surface)}textarea{resize:vertical;min-height:80px}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:var(--accent);margin:0;flex:0 0 19px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-stack{display:grid;gap:17px}.full{grid-column:1/-1}.help{font-size:.77rem;line-height:1.65;color:var(--muted);font-weight:400;margin:0}.notice-panel{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:14px 16px;font-size:.84rem;line-height:1.7}.notice-panel.warning{background:var(--warn-bg);border-color:transparent;color:var(--warn)}.notice-panel.success{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.notice-panel p{margin:0}.divider{height:1px;background:var(--line);margin:22px 0;border:0}.subheading{font-size:.72rem;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);font-weight:700;margin:8px 0 0}.readings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.meter-card{padding:22px}.meter-card .card-header{margin-bottom:8px}.meter-card label{margin-top:16px}.meter-value-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-size:.78rem;color:var(--muted)}.meter-value-row strong{color:var(--ink);font-weight:600}.photo-box{position:relative;display:grid;place-items:center;margin:16px 0 0;border:1px dashed var(--line);background:var(--bg);border-radius:13px;min-height:105px;overflow:hidden}.photo-box img{width:100%;height:210px;object-fit:contain;background:var(--surface-2);display:block}.photo-empty{padding:20px;text-align:center;font-size:.8rem;color:var(--muted)}.photo-empty span{display:block;font-size:1.6rem;margin-bottom:5px}.photo-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.photo-actions button{padding:8px 11px;font-size:.76rem;flex:1;min-width:44px}.photo-actions .upload-label{display:inline-flex;justify-content:center;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px 11px;margin:0;font-size:.76rem;cursor:pointer;font-weight:600}.photo-actions input[type=file]{position:absolute;width:1px;height:1px;padding:0;opacity:0;min-height:1px}.photo-actions .upload-label:focus-within{outline:3px solid var(--accent);outline-offset:2px}.ocr-candidate{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border-radius:10px;background:var(--warn-bg);color:var(--warn);font-size:.79rem}.ocr-candidate button{font-size:.75rem;min-height:38px;padding:6px 9px}.form-actions{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.form-actions p{flex:1;font-size:.79rem;color:var(--muted);line-height:1.6;min-width:200px}.bill-table{width:100%;border-collapse:collapse;font-size:.83rem}.bill-table th{text-align:left;color:var(--muted);font-weight:500;font-size:.73rem;padding:0 9px 12px}.bill-table td{border-top:1px solid var(--line);padding:15px 9px;vertical-align:top}.bill-table th:first-child,.bill-table td:first-child{padding-left:0}.bill-table th:last-child,.bill-table td:last-child{padding-right:0;text-align:right;white-space:nowrap}.bill-table td:last-child{font-weight:650}.bill-table td small{display:block;font-size:.71rem;color:var(--muted);margin-top:5px;line-height:1.5}.bill-table .bill-total td{font-size:1rem;padding-top:20px;font-weight:700}.bill-table .numeric{white-space:nowrap}.table-scroll{overflow-x:auto}.bill-note{font-size:.78rem;color:var(--muted);line-height:1.65}.billing-balance{background:var(--surface-2);border-radius:13px;padding:17px 19px;margin-top:20px}.billing-balance .detail-list{gap:10px}.billing-balance .total{border-top:1px solid var(--line);padding-top:12px;margin-top:2px}.billing-balance .total dt,.billing-balance .total dd{font-size:1rem;font-weight:700;color:var(--ink)}details{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:0 18px}summary{cursor:pointer;min-height:51px;padding:16px 0;font-size:.86rem;font-weight:650}details[open]>summary{margin-bottom:12px;border-bottom:1px solid var(--line)}details>form,details>.details-body{padding-bottom:19px}.invoice-row{display:grid;grid-template-columns:minmax(0,1fr) 135px 44px;gap:9px;margin-bottom:10px;align-items:end}.invoice-row .resource{grid-column:1/-1}.service-editor{display:grid;gap:12px}.service-row{padding:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:13px}.service-row .service-fields{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}.service-row .service-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}.service-title strong{font-size:.82rem}.service-title button{font-size:.75rem;min-height:36px;padding:5px 9px}.payment-row,.history-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-top:1px solid var(--line)}.payment-row:first-child,.history-row:first-child{border-top:0;padding-top:0}.payment-row:last-child,.history-row:last-child{padding-bottom:0}.payment-row strong,.history-row strong{font-size:.85rem;font-weight:600}.payment-row p,.history-row p{font-size:.76rem;color:var(--muted);margin:5px 0 0;line-height:1.5}.payment-row .payment-amount{text-align:right;white-space:nowrap}.payment-row .payment-amount strong{font-size:.94rem;font-variant-numeric:tabular-nums}.payment-row.reversed{opacity:.58}.payment-row.reversed .payment-amount strong{text-decoration:line-through}.text-button{min-height:38px;padding:6px 0;border:0;background:transparent;color:var(--accent);font-size:.78rem;font-weight:600}.text-button:hover{background:transparent;text-decoration:underline}.history-row button{font-size:.78rem;padding:8px 11px}.audit-item{padding:12px 0;border-top:1px solid var(--line);font-size:.79rem;line-height:1.6}.audit-item:first-child{border-top:0}.audit-item small{display:block;color:var(--muted);font-size:.73rem}.settings-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:22px;align-items:start}.settings-grid h2{margin-bottom:18px}.settings-theme-list{display:grid;gap:9px}.settings-theme-list button{display:flex;gap:12px;align-items:center;font-weight:500;text-align:left}.settings-theme-list button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.swatch{display:flex;overflow:hidden;border-radius:6px;border:1px solid #00000015;width:38px;height:27px;flex:0 0 38px}.swatch:before,.swatch:after{content:"";width:50%;height:100%;background:#f5f0e8}.swatch:after{background:#8b5c37}.swatch.light:before{background:#fff}.swatch.light:after{background:#17695e}.swatch.dark:before{background:#151b1d}.swatch.dark:after{background:#9acbb5}.theme-caption{font-size:.71rem;color:var(--muted);font-weight:400;margin-left:auto}.file-button{display:flex;justify-content:center;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:11px;padding:11px 16px;cursor:pointer;font-size:.85rem;font-weight:600}.file-button input{position:absolute;opacity:0;width:1px;height:1px;padding:0;min-height:1px}.file-button:focus-within{outline:3px solid var(--accent);outline-offset:3px}.settings-card p{font-size:.81rem;color:var(--muted);line-height:1.7}.settings-card .button-row>*{flex:1}.footer-note{margin:30px 0 0;font-size:.73rem;color:var(--muted);line-height:1.65}.loading-state{display:grid;place-items:center;padding:100px 0;color:var(--muted);font-size:.86rem}.loading-ring{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;max-width:min(560px,calc(100vw - 32px));width:max-content;padding:14px 20px;background:var(--ink);color:var(--surface);border-radius:13px;box-shadow:0 5px 30px #0002;font-size:.86rem;line-height:1.6}dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:22px;padding:28px;max-width:min(630px,calc(100vw - 28px));max-height:calc(100dvh - 40px);width:100%;box-shadow:0 22px 100px #0003}dialog::backdrop{background:#13232780;backdrop-filter:blur(3px)}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:20px}.modal-header h2{font-size:1.4rem;letter-spacing:-.5px;margin:6px 0}.modal-header p{font-size:.84rem;color:var(--muted);line-height:1.6;margin:8px 0 0}.modal-close{font-size:1.4rem;flex:0 0 38px;min-height:38px;height:38px;padding:3px}.modal-body>p{font-size:.85rem;line-height:1.7}.share-text{white-space:pre-wrap;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:16px;font-size:.84rem;line-height:1.7;overflow-wrap:anywhere}.share-image{width:100%;border:1px solid var(--line);border-radius:10px;display:block}.shared-layout{max-width:660px;margin:0 auto;padding-top:10px}.shared-layout .page-heading h1{font-size:1.9rem}.shared-layout .readings-grid{grid-template-columns:1fr}.shared-layout .balance-card{margin-bottom:20px}.shared-layout .card{margin-bottom:18px}.shared-layout .card .card{margin:0}.shared-layout .shared-footer{text-align:center;margin:24px 0;font-size:.74rem;color:var(--muted);line-height:1.7}.inline-error{color:var(--danger);font-size:.85rem;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;padding:0}.archived-banner{margin-bottom:20px}.photo-zoom{max-height:70vh;width:100%;object-fit:contain}.busy-mark{height:2px;background:var(--accent);position:fixed;top:0;left:0;width:100%;z-index:150;animation:busy 1.5s linear infinite;transform-origin:left}@keyframes busy{0%{transform:scaleX(.1)}50%{transform:scaleX(.7)}100%{transform:scaleX(1)}}[hidden]{display:none!important}
@media(min-width:1250px){.app-shell{gap:46px}.dashboard-grid{gap:24px}.card{padding:27px}.balance-card{padding:32px}}
@media(max-width:1050px){.topbar{padding:0 25px}.app-shell{grid-template-columns:174px minmax(0,1fr);padding:28px 25px 50px;gap:25px}.dashboard-grid,.settings-grid{grid-template-columns:1fr}.dashboard-grid>.stack:last-child{display:grid;grid-template-columns:1fr 1fr;align-items:start}.dashboard-grid>.stack:last-child>.card:first-child{grid-row:span 2}.page-heading{flex-wrap:wrap}.page-heading h1{font-size:1.85rem}.login-layout{gap:30px}.login-copy h1{font-size:2.5rem}}
@media(max-width:720px){.topbar{height:77px;padding:0 18px}.brand{font-size:1.23rem;gap:9px}.brand-mark{width:33px;height:33px;border-radius:10px}.brand-mark span{right:8px;top:7px}.brand small{font-size:.58rem}.topbar-actions{gap:3px}.topbar-actions #logout{font-size:.72rem;padding:7px;min-height:36px}.theme-picker{padding:2px}.theme-picker button{min-height:34px;min-width:30px}.app-shell{display:block;padding:24px 18px calc(100px + env(safe-area-inset-bottom))}.app-shell:has(#sidebar[hidden]){padding-bottom:30px}#sidebar nav{position:fixed;bottom:0;left:0;right:0;top:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:var(--surface);border-top:1px solid var(--line);z-index:30;padding:7px 7px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -6px 25px #00000004}.nav-label,.sidebar-bottom{display:none}.nav-item{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:7px 2px;min-height:54px;border-radius:11px;font-size:.63rem;font-weight:600}.nav-icon{font-size:1.24rem;line-height:1.1}.page-heading{gap:12px;margin:0 0 20px;align-items:center}.page-heading h1{font-size:1.82rem;letter-spacing:-.8px;margin:4px 0 7px}.page-heading p{font-size:.8rem}.heading-controls{width:100%}.heading-controls select{flex:1;max-width:none;font-size:.84rem;background:var(--surface);min-height:43px}.heading-controls .icon-button{height:43px;min-height:43px}.house-picker{font-size:.76rem;margin-bottom:7px}.card{padding:21px;border-radius:17px}.dashboard-grid{gap:17px}.stack{gap:17px}.balance-card{padding:25px}.balance-value{font-size:2.45rem;letter-spacing:-1.4px}.balance-card .eyebrow{font-size:.66rem;margin-bottom:16px}.balance-card .balance-bottom{margin-top:20px;padding-top:16px}.balance-card .balance-bottom button{font-size:.79rem;padding:10px 13px}.next-action{gap:12px}.next-action h2{font-size:1.04rem}.next-action p{font-size:.8rem}.next-action .button-row button{font-size:.79rem;flex-grow:1}.action-symbol{flex-basis:36px;width:36px;height:36px;border-radius:11px;font-size:1.1rem}.mini-stats dd{font-size:1.04rem}.dashboard-grid>.stack:last-child{grid-template-columns:1fr}.dashboard-grid>.stack:last-child>.card:first-child{grid-row:auto}.readings-grid{grid-template-columns:1fr;gap:16px}.meter-card{padding:20px}.form-actions{flex-direction:column;align-items:stretch;gap:8px;margin-top:16px}.form-actions p{margin:5px 0 10px;min-width:0}.form-actions .button-row>*{flex:1}.form-grid{gap:15px 12px}.bill-table{font-size:.8rem}.bill-table th{font-size:.68rem;padding:0 5px 12px}.bill-table td{padding:13px 5px}.bill-table .desktop-only{display:none}.bill-table .bill-total td{font-size:.93rem}.bill-table td small{font-size:.7rem}.billing-balance{padding:16px;margin-top:15px}.billing-balance .detail-list dt,.billing-balance .detail-list dd{font-size:.78rem}.billing-balance .detail-list .total dt,.billing-balance .detail-list .total dd{font-size:.9rem}.login-layout{display:block;padding:20px 0 0}.login-copy{margin:0 4px 28px}.login-copy h1{font-size:2.45rem;max-width:330px;margin:13px 0 16px;letter-spacing:-1.3px}.login-copy p{font-size:.87rem;margin:0;line-height:1.75}.login-card{padding:25px}.login-card h2{font-size:1.23rem}.login-card>p{font-size:.8rem}.empty-state{margin:8px auto;padding:30px 20px}.empty-state h1{font-size:1.57rem}.empty-state p{font-size:.86rem}.empty-state .empty-symbol{height:76px;width:76px;border-radius:23px;font-size:2rem}.settings-grid{gap:17px}.settings-theme-list{grid-template-columns:repeat(3,1fr);gap:7px}.settings-theme-list button{display:flex;flex-direction:column;gap:8px;align-items:center;font-size:.76rem;padding:13px 6px}.theme-caption{display:none}.invoice-row{grid-template-columns:minmax(0,1fr) 100px 36px;gap:7px}.invoice-row .icon-button{width:36px;font-size:1.1rem;padding:7px}.service-row{padding:14px}.service-row .service-fields{gap:12px 10px}.service-row .service-fields label{font-size:.73rem}.payment-row,.history-row{gap:9px}.payment-row strong{font-size:.79rem}.payment-row .payment-amount strong{font-size:.88rem}.payment-row p{font-size:.73rem}.history-row strong{font-size:.81rem}.history-row button{font-size:.73rem;padding:8px 10px}.history-row .pill{font-size:.65rem;padding:5px 7px}.footer-note{font-size:.71rem;margin-top:22px}.button-row button,.button-row .button{font-size:.8rem}.notice-panel{font-size:.78rem;padding:13px}.detail-list dt,.detail-list dd{font-size:.78rem}dialog{padding:21px;border-radius:19px;max-height:calc(100dvh - 24px);max-width:calc(100vw - 20px)}.modal-header{margin-bottom:17px}.modal-header h2{font-size:1.25rem}.modal-header p{font-size:.79rem}.modal-close{width:35px;flex-basis:35px;min-height:35px}.shared-layout{padding:0}.shared-layout .page-heading h1{font-size:1.7rem}.shared-layout .card{margin-bottom:16px}.shared-layout .balance-card{margin-bottom:17px}#notice{bottom:calc(85px + env(safe-area-inset-bottom));font-size:.79rem;padding:12px 16px}.app-shell:has(#sidebar[hidden])~#notice{bottom:20px}.subheading{font-size:.68rem}.privacy-line{font-size:.71rem}}
.mobile-total-label{display:none}
.ocr-crop-stage{display:flex;justify-content:center;align-items:center;min-height:130px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:8px;overflow:hidden}.ocr-crop-frame{position:relative;display:inline-block;max-width:100%;line-height:0;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair;overflow:hidden}.ocr-crop-image{display:block;max-width:100%;max-height:50dvh;width:auto;height:auto;pointer-events:none;user-select:none;-webkit-user-drag:none}.ocr-crop-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.ocr-crop-overlay path{fill:#10282790}.ocr-crop-overlay rect{fill:transparent;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px #000)}.ocr-crop-note{margin-top:10px;padding:10px 12px;background:var(--accent-soft);border-radius:10px;color:var(--accent);font-size:.74rem;line-height:1.6}.ocr-crop-note .text-button{display:block;padding:4px 0;min-height:36px;font-size:.73rem}.crop-hint{margin-top:10px;font-size:.73rem}.crop-precision summary{font-size:.79rem}.crop-precision label{font-size:.72rem}.crop-precision input{min-height:42px}.ocr-warning{font-weight:600}
.integration-card h2{margin-bottom:4px}.integration-summary{padding:17px 0;border-bottom:1px solid var(--line)}.integration-summary:last-child{border-bottom:0;padding-bottom:0}.integration-summary>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.integration-summary strong{font-size:.84rem;font-weight:650}.integration-summary .pill{font-size:.68rem;white-space:normal}.integration-summary p{font-size:.78rem;margin:11px 0 14px;line-height:1.65}.integration-status{display:grid;gap:0;margin:0;border:1px solid var(--line);border-radius:13px;overflow:hidden}.integration-status>div{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:13px 15px;border-top:1px solid var(--line)}.integration-status>div:first-child{border-top:0}.integration-status dt{font-size:.79rem;color:var(--muted);flex:1;line-height:1.55}.integration-status dd{margin:0;font-size:.81rem;font-weight:600;text-align:right;line-height:1.55;flex:1;overflow-wrap:anywhere}.integration-status dd small{display:block;font-weight:400;color:var(--muted);font-size:.73rem;margin-top:3px}.integration-guide{margin:0;padding-left:23px;font-size:.83rem;line-height:1.7}.integration-guide li{padding:0 0 11px 4px}.integration-guide li:last-child{padding-bottom:0}.integration-guide li::marker{color:var(--accent);font-weight:700}.reading-check-state{margin:14px 0 -3px;min-height:28px}.reading-check-state .pill{font-size:.7rem;white-space:normal}.ocr-result{border:1px solid var(--line);background:var(--surface-2);padding:14px;border-radius:12px;margin-top:13px}.ocr-result.uncertain{background:var(--warn-bg);border-color:transparent;color:var(--warn)}.ocr-result-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.ocr-result-heading span{font-size:.77rem;font-weight:600}.ocr-result-heading strong{font-size:1.2rem;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.ocr-result p,.ocr-feedback p{font-size:.76rem;line-height:1.6;margin:8px 0 0}.ocr-result p.ocr-confidence{font-size:.72rem;color:var(--muted)}.ocr-result.uncertain p.ocr-confidence{color:var(--warn)}.ocr-result button{margin-top:11px;font-size:.77rem;min-height:41px;width:100%}.ocr-feedback{border:1px solid var(--line);border-radius:12px;margin-top:13px;padding:13px;color:var(--danger);background:var(--surface)}.ocr-feedback strong{font-size:.8rem}
@media(max-width:720px){.integration-status>div{gap:12px;padding:12px}.integration-status dt,.integration-status dd{font-size:.76rem}.integration-status dd small{font-size:.68rem}.integration-guide{font-size:.78rem}.integration-summary>div{gap:8px}.ocr-result-heading strong{font-size:1.15rem}}
@media(max-width:720px){.mobile-total-label{display:table-cell}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
