:root{--font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--green-950: #153524;--green-800: #245c3b;--green-700: #2e7049;--green-100: #e8f0e9;--green-50: #f3f7f3;--gold: #d9b75f;--gold-soft: #f6efd9;--ink: #18241d;--muted: #66736b;--line: #dfe7e1;--white: #fff;--danger: #a43c3c;--shadow: 0 18px 50px rgba(30, 61, 42, .09)}*{box-sizing:border-box}html{background:var(--green-50);color:var(--ink);font-family:var(--font-ui)}body{margin:0;min-height:100vh}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}.portal-shell{min-height:100vh}.portal-sidebar{background:var(--green-950);bottom:0;color:#edf5ef;display:flex;flex-direction:column;left:0;padding:26px 18px 20px;position:fixed;top:0;width:262px;z-index:20}.brand{align-items:center;display:flex;gap:12px;padding:1px 4px 31px}.brand-mark{align-items:center;display:flex;flex:0 0 76px;height:76px;justify-content:center;position:relative}.portal-sidebar .brand-mark:before{background:radial-gradient(circle,#f9f6d8e6 0,#e2edcab8 28%,#9bcb9757 52%,#558f611f 66%,#15352400 78%);border-radius:50%;content:"";filter:blur(4px);height:108px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:108px}.brand-mark img{display:block;filter:drop-shadow(0 3px 5px rgba(8,31,17,.22));height:72px;position:relative;width:72px;z-index:1}.brand span{display:flex;flex-direction:column}.brand strong{color:#f7fbf8;font-family:var(--font-ui);font-size:15px;font-weight:780;letter-spacing:-.015em;line-height:1.25;text-shadow:0 1px 5px rgba(9,35,19,.48)}.brand small{color:#d2e2d6;font-size:11px;margin-top:4px;text-shadow:0 1px 4px rgba(9,35,19,.45)}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:5px}.nav-item{align-items:center;border-radius:12px;color:#c9d8cd;display:flex;font-size:14px;font-weight:650;gap:13px;padding:11px 13px;transition:.15s ease}.nav-item>span{display:inline-grid;font-size:18px;place-items:center;width:22px}.nav-badge{background:var(--gold);border-radius:99px;color:var(--green-950);font-size:10px;margin-left:auto;min-width:20px;padding:3px 6px;text-align:center}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item.active{background:#f5f1df;color:var(--green-950)}.nav-section{color:#779281;font-size:10px;font-weight:800;letter-spacing:.12em;margin:22px 13px 6px;text-transform:uppercase}.sidebar-account{align-items:center;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:10px;padding:18px 6px 0}.avatar{align-items:center;background:var(--gold-soft);border-radius:50%;color:var(--green-950);display:inline-flex;flex:0 0 auto;font-weight:800;height:38px;justify-content:center;width:38px}.account-copy{display:flex;flex:1;flex-direction:column;min-width:0}.account-copy strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-copy small{color:#8ba291;font-size:11px;margin-top:2px}.icon-button{background:transparent;border:0;color:#b4c5b8;cursor:pointer;font-size:21px;padding:7px}.portal-main{margin-left:262px;min-height:100vh}.portal-content{margin:0 auto;max-width:1250px;padding:54px 46px 90px}.mobile-header,.mobile-nav{display:none}.page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:32px}.page-header h1{font-family:var(--font-ui);font-size:clamp(32px,4vw,46px);font-weight:760;letter-spacing:-.045em;line-height:1.08;margin:8px 0 10px}.page-header p{color:var(--muted);font-size:15px;line-height:1.55;margin:0;max-width:630px}.eyebrow{color:var(--green-700);display:block;font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.season-pill{background:var(--green-100);border-radius:99px;color:var(--green-800);font-size:12px;font-weight:750;padding:9px 14px}.back-link{color:var(--green-700);display:block;font-size:13px;font-weight:700;margin-bottom:22px}.quick-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:48px}.quick-card{align-items:center;border:1px solid transparent;border-radius:18px;display:flex;gap:15px;min-height:105px;padding:19px;transition:transform .16s ease,box-shadow .16s ease}.quick-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.quick-card.green{background:var(--green-800);color:#fff}.quick-card.gold{background:var(--gold-soft);border-color:#eadba8}.quick-card.pale{background:#fff;border-color:var(--line)}.quick-icon{align-items:center;background:#ffffff29;border-radius:14px;display:flex;flex:0 0 auto;font-size:25px;height:52px;justify-content:center;width:52px}.gold .quick-icon,.pale .quick-icon{background:#fff;color:var(--green-800)}.quick-card>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.quick-card small{opacity:.72}.quick-card strong{font-family:var(--font-ui);font-size:17px;font-weight:720;letter-spacing:-.015em;margin-top:5px}.quick-card b{font-size:20px;font-weight:400}.section-block{margin-top:38px}.section-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:17px}.section-heading h2{font-family:var(--font-ui);font-size:25px;font-weight:740;letter-spacing:-.03em;margin:5px 0 0}.section-heading>a{color:var(--green-700);font-size:13px;font-weight:750}.reading-list{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.reading-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:13px;grid-template-columns:44px minmax(150px,1fr) auto 86px;padding:15px 18px}.reading-row:last-child{border-bottom:0}.reading-type{align-items:center;border-radius:12px;display:flex;font-size:17px;height:40px;justify-content:center;width:40px}.reading-type.electric,.type-chip.electric{background:#fff2c9;color:#8b6815}.reading-type.water,.type-chip.water{background:#dff1f5;color:#276879}.reading-row>span:nth-child(2){display:flex;flex-direction:column}.reading-row small{color:var(--muted);font-size:12px;margin-top:3px}.reading-value{font-size:17px;font-weight:800}.reading-row time{color:var(--muted);font-size:12px;text-align:right}.responsibility-card{align-items:center;background:var(--green-950);border-radius:20px;color:#fff;display:flex;justify-content:space-between;margin-top:36px;padding:28px 30px}.responsibility-card .eyebrow{color:#9fc0a8}.responsibility-card h2{font-family:var(--font-ui);font-weight:720;letter-spacing:-.02em;margin:6px 0}.responsibility-card p{color:#b8cbbd;margin:0}.responsibility-actions{display:flex;gap:10px}.garden-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.garden-card,.reading-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 28px #1e3d2a0b}.garden-card{padding:23px}.garden-card-head{align-items:center;display:flex;gap:14px}.garden-number{align-items:center;background:var(--green-800);border-radius:14px;color:#fff;display:flex;font-family:var(--font-ui);font-size:20px;font-weight:760;height:52px;justify-content:center;min-width:52px;padding:0 8px}.garden-card-head>div{flex:1}.garden-card-head small,.reading-card header small{color:var(--muted);font-size:11px;text-transform:uppercase}.garden-card h2,.reading-card h2{font-family:var(--font-ui);font-size:20px;font-weight:720;letter-spacing:-.02em;margin:2px 0 0}.circle-link{align-items:center;background:var(--green-100);border-radius:50%;color:var(--green-800);display:flex;font-size:24px;height:40px;justify-content:center;width:40px}.facts-grid{border-top:1px solid var(--line);display:grid;gap:18px 20px;grid-template-columns:1fr 1fr;margin:20px 0;padding-top:20px}.facts-grid div{min-width:0}.facts-grid dt{color:var(--muted);font-size:11px;margin-bottom:5px}.facts-grid dd{font-size:14px;font-weight:700;margin:0;overflow-wrap:anywhere}.status-dot{border-radius:50%;display:inline-block;height:8px;margin-right:7px;width:8px}.status-dot.yes{background:#4d9a69}.status-dot.no{background:#b6c0b8}.card-actions{display:flex;gap:9px}.button{align-items:center;border:1px solid transparent;border-radius:11px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:750;justify-content:center;min-height:42px;padding:10px 16px}.button-primary{background:var(--green-800);color:#fff}.button-primary:hover{background:var(--green-700)}.button-secondary{background:#fff;border-color:#bdcbbf;color:var(--green-800)}.button-light{background:#fff;color:var(--green-950)}.button-danger{background:#f8e8e8;color:var(--danger)}.button-wide{width:100%}.button-large{font-size:15px;min-height:50px;padding-left:23px;padding-right:23px}.reading-gardens{display:grid;gap:20px}.reading-card{overflow:hidden}.reading-card>header{align-items:center;display:flex;justify-content:space-between;padding:20px 22px}.reading-card header p{color:var(--muted);font-size:13px;margin:4px 0 0}.reading-table-wrap{overflow-x:auto}.reading-table{border-collapse:collapse;min-width:680px;width:100%}.reading-table th{background:#f5f8f5;color:var(--muted);font-size:10px;letter-spacing:.06em;padding:10px 16px;text-align:left;text-transform:uppercase}.reading-table td{border-top:1px solid var(--line);font-size:13px;padding:13px 16px}.type-chip{border-radius:99px;display:inline-block;font-size:11px;font-weight:750;padding:5px 9px}.evidence-links{display:flex;gap:8px}.evidence-links a{color:var(--green-700);font-size:12px;font-weight:750;text-decoration:underline}.inline-empty{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:22px}.reading-form{display:grid;gap:18px}.form-card{padding:24px}.form-card-heading{align-items:center;display:flex;gap:13px;margin-bottom:22px}.form-card-heading>span{align-items:center;background:var(--green-100);border-radius:50%;color:var(--green-800);display:flex;flex:0 0 auto;font-weight:850;height:35px;justify-content:center;width:35px}.form-card-heading h2{font-family:var(--font-ui);font-size:21px;font-weight:730;letter-spacing:-.02em;margin:0}.form-card-heading p{color:var(--muted);font-size:12px;margin:3px 0 0}.form-card-heading.plain{align-items:start}.form-grid{display:grid;gap:17px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span:first-child{color:#435047;font-size:12px;font-weight:750}.field input,.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fbfcfb;border:1px solid #cdd8cf;border-radius:10px;color:var(--ink);min-height:46px;outline:none;padding:10px 12px;width:100%}.field select{background-image:linear-gradient(45deg,transparent 50%,#66736b 50%),linear-gradient(135deg,#66736b 50%,transparent 50%);background-position:calc(100% - 17px) 20px,calc(100% - 12px) 20px;background-repeat:no-repeat;background-size:5px 5px,5px 5px}.field input:focus,.field select:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #2e70491c}.field.full{grid-column:1 / -1}.field-error{color:var(--danger);font-size:11px}.meter-numbers{background:var(--green-50);border-radius:10px;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:8px 25px;margin-top:17px;padding:12px}.meter-numbers strong{color:var(--ink)}.upload-zone{align-items:center;background:#f7faf7;border:1.5px dashed #9bb1a0;border-radius:15px;cursor:pointer;display:flex;justify-content:center;min-height:220px;overflow:hidden;position:relative}.upload-zone input{height:1px;opacity:0;position:absolute;width:1px}.upload-zone>span{align-items:center;color:var(--muted);display:flex;flex-direction:column;text-align:center}.upload-zone b{align-items:center;background:var(--green-100);border-radius:50%;color:var(--green-800);display:flex;font-size:26px;height:52px;justify-content:center;margin-bottom:12px;width:52px}.upload-zone strong{color:var(--green-800)}.upload-zone small{margin-top:5px}.upload-zone img{height:300px;-o-object-fit:contain;object-fit:contain;width:100%}.ocr-row{align-items:end;display:flex;gap:13px;margin-top:18px}.reading-value-field{flex:1}.reading-value-field input{font-size:22px;font-weight:800}.ocr-status{background:var(--gold-soft);border-radius:9px;color:#6c581f;font-size:12px;padding:10px 12px}.check-grid{display:grid;gap:11px;grid-template-columns:repeat(2,1fr);margin-top:17px}.check-card{align-items:flex-start;background:var(--green-50);border-radius:11px;cursor:pointer;display:flex;gap:10px;padding:13px}.check-card input,.check-row input{accent-color:var(--green-800);height:17px;margin-top:2px;width:17px}.check-card span{display:flex;flex-direction:column}.check-card strong{font-size:12px}.check-card small{color:var(--muted);font-size:10px;margin-top:3px}.takeover-copy-card{align-items:flex-start;background:var(--gold-soft);border:1px solid #e4d28f;border-radius:12px;cursor:pointer;display:flex;gap:11px;margin-top:17px;padding:14px}.takeover-copy-card input{accent-color:var(--green-800);flex:0 0 auto;height:19px;margin-top:2px;width:19px}.takeover-copy-card span{display:flex;flex-direction:column}.takeover-copy-card strong{color:var(--green-950);font-size:13px}.takeover-copy-card small{color:#685b34;font-size:11px;line-height:1.5;margin-top:4px}.signature-wrap{background:#fbfcfb;border:1px solid #cdd8cf;border-radius:12px;height:190px;overflow:hidden;position:relative;touch-action:none}.signature-wrap canvas{height:100%;position:relative;width:100%;z-index:2}.signature-wrap>span{color:#a8b1aa;font-family:var(--font-ui);font-size:17px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.text-button{background:transparent;border:0;color:var(--green-700);cursor:pointer;font-size:12px;font-weight:750;margin-top:8px;padding:5px 0}.submit-bar{align-items:center;background:var(--green-950);border-radius:17px;color:#fff;display:flex;justify-content:space-between;padding:20px 22px}.submit-bar p{color:#b8cbbd;font-size:12px;line-height:1.5;margin:0;max-width:530px}.form-errors{background:#faeaea;border:1px solid #e5b9b9;border-radius:10px;color:#842e2e;font-size:13px;padding:13px}.profile-grid{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.65fr) minmax(280px,.8fr)}.password-card{display:flex;flex-direction:column;gap:15px}.readonly-strip{background:var(--green-50);border-radius:12px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:20px;padding:13px}.readonly-strip span{display:flex;flex-direction:column}.readonly-strip small{color:var(--muted);font-size:10px}.readonly-strip strong{font-size:13px;margin-top:3px}.mobile-logout{display:none}.invoice-list,.task-list{display:grid;gap:12px}.invoice-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;display:grid;gap:18px;grid-template-columns:1fr auto auto;padding:18px 20px}.invoice-card h2,.task-card h2{font-family:var(--font-ui);font-size:17px;font-weight:720;letter-spacing:-.015em;margin:3px 0}.invoice-card p{color:var(--muted);font-size:11px;margin:0}.invoice-card small{color:var(--muted);font-size:11px}.invoice-status{border-radius:99px;font-size:10px;font-weight:800;padding:5px 9px}.status-paid{background:#e2f2e6;color:#28603b}.status-open,.status-partial{background:#fff0c7;color:#755b12}.status-cancelled{background:#eee;color:#666}.invoice-amount{font-size:17px;text-align:right}.privacy-note{color:var(--muted);font-size:12px;line-height:1.5;margin-top:16px}.task-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;display:grid;gap:14px;grid-template-columns:auto 1fr auto;padding:17px 20px}.task-state{background:var(--gold);border:5px solid var(--gold-soft);border-radius:50%;height:17px;width:17px}.task-card small,.task-card p,.task-card time{color:var(--muted);font-size:11px;margin:0}.task-card:hover{border-color:#aec2b2;box-shadow:0 9px 28px #1e3d2a12}.task-detail{display:flex;flex-direction:column;gap:22px}.task-meta{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.task-meta>div{background:var(--green-50);border-radius:11px;padding:13px}.task-meta small,.task-meta strong{display:block}.task-meta small{color:var(--muted);font-size:10px;margin-bottom:4px}.task-callout{background:var(--gold-soft);border-radius:12px;padding:16px}.task-callout p{color:var(--muted);font-size:13px;line-height:1.55;margin:6px 0 0}.mobile-badge{background:var(--gold);border-radius:99px;color:var(--green-950);font-size:9px;left:50%;min-width:17px;padding:2px 4px;position:absolute;top:-5px}.task-card-observed{border-left:4px solid var(--green-700)}.signature-form{display:flex;flex-direction:column;gap:14px}.signature-form .signature-wrap{margin-top:4px}.join-fee-facts{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.join-fee-facts>div{background:var(--green-50);border-radius:12px;min-width:0;padding:14px}.join-fee-facts small,.join-fee-facts strong,.join-fee-facts span{display:block}.join-fee-facts small,.join-fee-number small{color:var(--muted);font-size:10px;margin-bottom:5px;text-transform:uppercase}.join-fee-facts strong{font-size:14px}.join-fee-facts span{color:var(--muted);font-size:12px;line-height:1.45;margin-top:4px;overflow-wrap:anywhere}.join-fee-table-wrap{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.join-fee-table{border-collapse:collapse;min-width:480px;width:100%}.join-fee-table th,.join-fee-table td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left}.join-fee-table th{background:#f5f8f5;color:var(--muted);font-size:10px;text-transform:uppercase}.join-fee-table th:last-child,.join-fee-table td:last-child{text-align:right}.join-fee-table tbody tr:last-child td{border-bottom:0}.join-fee-table .total td{background:var(--green-50);font-weight:800}.join-fee-number{background:var(--green-950);border-radius:13px;color:#fff;display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:16px}.join-fee-number>div{display:flex;flex-direction:column;gap:3px}.join-fee-number small,.join-fee-number span{color:#b8cbbd}.join-fee-number code{color:#dce8df;font-size:11px}.join-fee-number span{font-size:11px}.task-invoice-result{display:flex;flex-direction:column;gap:18px}.task-invoice-frame{background:#e7ebe8;border:1px solid var(--line);border-radius:12px;height:min(72vh,900px);min-height:580px;width:100%}.task-invoice-actions{display:flex;flex-wrap:wrap;gap:10px}.push-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100}.push-modal[hidden]{display:none}.push-modal-backdrop{background:#0a1c12b3;inset:0;position:absolute}.push-modal-card{background:#fff;border-radius:22px;box-shadow:0 28px 80px #07180e52;max-height:calc(100vh - 32px);max-width:590px;overflow-y:auto;padding:32px;position:relative;width:100%}.push-modal-icon{align-items:center;background:var(--gold-soft);border-radius:50%;display:flex;font-size:30px;height:62px;justify-content:center;margin-bottom:19px;width:62px}.push-modal-card h2{font-size:29px;letter-spacing:-.035em;line-height:1.15;margin:8px 0 12px}.push-modal-card>p{color:var(--muted);font-size:16px;line-height:1.6;margin:0}.push-explanation{background:var(--green-50);border:1px solid var(--line);border-radius:13px;font-size:14px;line-height:1.55;margin:20px 0;padding:15px 17px}.push-explanation strong{color:var(--green-950)}.push-explanation ul{margin:8px 0 0;padding-left:21px}.push-explanation li+li{margin-top:5px}.push-modal-actions,.push-profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.push-decline{display:block;margin:14px auto 0}.push-help,.push-feedback{background:var(--gold-soft);border-radius:10px;color:#66531f!important;font-size:14px!important;line-height:1.5!important;margin-top:14px!important;padding:12px 13px}.push-feedback{background:#e2f2e6;color:#245c3b!important}.push-feedback.is-error{background:#faeaea;color:#842e2e!important}.push-profile-card{display:flex;flex-direction:column}.push-profile-status{align-items:center;background:var(--green-50);border-radius:12px;display:flex;gap:12px;padding:14px}.push-profile-status>div{display:flex;flex-direction:column;gap:3px}.push-profile-status small{color:var(--muted);line-height:1.4}.push-status-dot{border:5px solid #e7ebe8;border-radius:50%;height:18px;width:18px}.push-status-dot.is-on{background:#43885b;border-color:#d8ebde}.push-status-dot.is-off{background:#9ba49e}.push-profile-copy{color:var(--muted);font-size:13px;line-height:1.55;margin:16px 0 0}.empty-state{align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;padding:52px 24px;text-align:center}.empty-state>span{align-items:center;background:var(--green-100);border-radius:50%;color:var(--green-800);display:flex;font-size:26px;height:58px;justify-content:center;margin-bottom:13px;width:58px}.empty-state h2,.empty-state h3{font-family:var(--font-ui);font-weight:730;letter-spacing:-.02em;margin:0 0 7px}.empty-state p{color:var(--muted);line-height:1.5;margin:0 0 18px;max-width:480px}.flash,.connection-notice,.queue-notice{border-radius:10px;font-size:13px;margin-bottom:18px;padding:12px 14px}.flash-success{background:#e2f2e6;color:#245c3b}.connection-notice{background:#fae9c9;color:#6e5517}.queue-notice{align-items:center;background:#e5efff;color:#294d80;display:flex;justify-content:space-between}.queue-notice button{background:transparent;border:0;color:inherit;cursor:pointer;font-weight:800}.guest-body{background:linear-gradient(135deg,var(--green-950) 0 46%,#edf3ed 46% 100%)}.login-shell{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:30px 18px}.login-card{background:#fff;border-radius:24px;box-shadow:0 30px 80px #0c22153b;max-width:460px;padding:34px;width:100%}.login-brand{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:13px;margin-bottom:31px;padding-bottom:22px}.login-brand img{height:60px;width:60px}.login-brand p{color:var(--green-700);font-size:11px;font-weight:850;letter-spacing:.11em;margin:0;text-transform:uppercase}.login-brand h1{font-family:inherit;font-size:20px;font-weight:760;letter-spacing:-.015em;margin:3px 0 0}.login-intro h2{font-family:inherit;font-size:29px;font-weight:740;letter-spacing:-.035em;line-height:1.15;margin:7px 0 9px}.login-intro p{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 23px}.form-stack{display:flex;flex-direction:column;gap:16px}.password-field{display:flex;position:relative}.password-field button{background:transparent;border:0;color:var(--green-700);cursor:pointer;font-size:11px;font-weight:750;position:absolute;right:8px;top:15px}.check-row{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:7px}.login-help{border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.5;margin:24px 0 0;padding-top:19px;text-align:center}.auth-card{max-width:490px}.auth-progress{align-items:center;display:flex;gap:8px;margin-bottom:25px}.auth-progress span{background:#dbe6dd;border-radius:99px;height:5px;overflow:hidden;width:42px}.auth-progress span.done,.auth-progress span.active{background:var(--green-700)}.auth-progress small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;margin-left:4px;text-transform:uppercase}.auth-code-input{font-size:25px!important;font-variant-numeric:tabular-nums;font-weight:760;letter-spacing:.3em;padding-left:calc(12px + .3em)!important;text-align:center}.auth-alternative{border-top:1px solid var(--line);margin-top:4px;padding-top:15px}.auth-alternative summary{color:var(--green-700);cursor:pointer;font-size:12px;font-weight:750;list-style-position:inside}.auth-alternative .field{margin-top:13px}.auth-actions{align-items:center;display:flex;flex-direction:column;gap:13px;margin-top:2px}.auth-cancel{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:11px;padding:3px;text-decoration:underline;text-underline-offset:3px}.auth-qr-frame{background:#fff;border:1px solid var(--line);border-radius:16px;margin:18px auto;max-width:286px;padding:12px}.auth-qr-frame img{display:block;height:auto;width:100%}.auth-secret{background:var(--green-50);border:1px solid var(--line);border-radius:10px;color:var(--green-950);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow-wrap:anywhere;padding:12px;text-align:center}.auth-note{background:var(--gold-soft);border:1px solid #eadba8;border-radius:11px;color:#66531f;font-size:12px;line-height:1.5;padding:12px 13px}.activation-form{gap:19px}.activation-body .login-shell{align-items:flex-start;padding-bottom:46px;padding-top:46px}.activation-body .auth-card{max-width:560px}.activation-form .field>span:first-child{color:var(--ink);font-size:16px;font-weight:760}.activation-form .field input{font-size:17px;min-height:52px;padding:12px 14px}.activation-form .password-field input{padding-right:88px}.activation-form .password-field button{font-size:14px;min-height:44px;padding:0 8px;right:7px;top:4px}.access-code-field{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:18px!important;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.field-help{color:var(--muted);font-size:14px;line-height:1.45}.activation-form .field-error{background:#faeaea;border-left:4px solid var(--danger);border-radius:5px;color:#7f2929;font-size:15px;font-weight:650;line-height:1.45;padding:10px 12px}.activation-error-summary{background:#faeaea;border:1px solid #e2aaaa;border-radius:12px;color:#752525;font-size:15px;line-height:1.5;margin:-5px 0 20px;padding:14px 15px}.activation-error-summary strong{display:block;font-size:16px;margin-bottom:3px}.activation-error-summary p{margin:0}.password-guidance{background:var(--green-50);border:1px solid #bfd0c2;border-radius:13px;color:#34453a;font-size:15px;line-height:1.55;padding:15px 16px}.password-guidance strong{color:var(--green-950);display:block;font-size:16px}.password-guidance ul{margin:8px 0;padding-left:22px}.password-guidance li{margin:4px 0}.password-guidance p{color:var(--green-800);font-weight:700;margin:8px 0 0}.password-status{color:var(--muted);font-size:14px;font-weight:650;line-height:1.4}.password-status.is-valid{color:#27623d}.password-status.is-valid:before{content:"✓ "}.password-status.is-invalid{color:var(--danger)}.password-status.is-invalid:before{content:"! ";font-weight:850}.recovery-code-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:18px 0;padding:0}.recovery-code-grid li{background:var(--green-50);border:1px solid var(--line);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;padding:9px;text-align:center}.offline-card .empty-state{border:0;padding:10px}@media(max-width:980px){.quick-grid{grid-template-columns:1fr}.quick-card{min-height:90px}.garden-grid,.profile-grid{grid-template-columns:1fr}}@media(max-width:760px){.portal-sidebar{display:none}.portal-main{margin:0}.mobile-header{align-items:center;background:#fffffff5;border-bottom:1px solid var(--line);display:flex;height:66px;justify-content:space-between;padding:max(10px,env(safe-area-inset-top)) 17px 10px;position:sticky;top:0;z-index:15}.mobile-brand{align-items:center;display:flex;font-family:var(--font-ui);font-size:15px;font-weight:750;gap:9px;letter-spacing:-.01em}.mobile-brand .brand-mark{flex-basis:44px;height:44px}.mobile-brand .brand-mark img{height:40px;width:40px}.mobile-header .avatar{height:36px;width:36px}.portal-content{padding:28px 16px calc(94px + env(safe-area-inset-bottom))}.mobile-nav{background:#fffffff7;border-top:1px solid var(--line);bottom:0;display:grid;grid-template-columns:repeat(5,1fr);left:0;padding:8px 4px max(8px,env(safe-area-inset-bottom));position:fixed;right:0;z-index:25}.mobile-nav a{align-items:center;color:#7a877e;display:flex;flex-direction:column;gap:2px}.mobile-nav a>span{font-size:19px;position:relative}.mobile-nav small{font-size:9px;font-weight:700}.mobile-nav a.active{color:var(--green-800)}.page-header{margin-bottom:24px}.page-header h1{font-size:36px}.page-header p{font-size:13px}.season-pill{display:none}.dashboard-header{margin-bottom:22px}.quick-grid{gap:10px;margin-bottom:34px}.quick-card{border-radius:15px;padding:14px}.quick-icon{height:45px;width:45px}.quick-card strong{font-size:16px}.section-heading h2{font-size:23px}.section-heading>a{font-size:11px}.reading-row{gap:9px;grid-template-columns:39px 1fr auto;padding:13px}.reading-row time{display:none}.reading-type{height:36px;width:36px}.reading-value{font-size:15px}.responsibility-card{align-items:stretch;flex-direction:column;gap:18px;padding:22px}.responsibility-actions .button{flex:1}.garden-card{padding:17px}.facts-grid{grid-template-columns:1fr 1fr;gap:16px 12px}.card-actions{flex-direction:column}.reading-card>header{align-items:flex-start;gap:12px;padding:16px}.reading-card>header .button{font-size:0;min-width:42px;padding:8px}.reading-card>header .button:first-letter{font-size:18px}.form-card{border-radius:16px;padding:18px}.form-grid.two,.check-grid{grid-template-columns:1fr}.ocr-row{align-items:stretch;flex-direction:column}.upload-zone{min-height:190px}.upload-zone img{height:240px}.submit-bar{align-items:stretch;flex-direction:column;gap:14px}.readonly-strip{grid-template-columns:1fr}.mobile-logout{display:block}.invoice-card{grid-template-columns:1fr auto}.invoice-card>div{grid-column:1 / -1}.invoice-amount{text-align:left}.join-fee-facts,.join-fee-number{grid-template-columns:1fr}.task-invoice-frame{height:64vh;min-height:440px}.task-invoice-actions{flex-direction:column}.task-invoice-actions .button{width:100%}.guest-body{background:var(--green-950)}.login-shell,.activation-body .login-shell{align-items:flex-start;padding:max(22px,env(safe-area-inset-top)) 12px max(28px,env(safe-area-inset-bottom))}.login-card{border-radius:20px;padding:24px 20px}.login-brand{margin-bottom:25px}.login-intro h2{font-size:26px}.recovery-code-grid{grid-template-columns:1fr}.push-modal{align-items:flex-end;padding:10px}.push-modal-card{border-radius:20px;padding:24px 20px max(22px,env(safe-area-inset-bottom))}.push-modal-card h2{font-size:25px}.push-modal-actions{flex-direction:column}.push-modal-actions .button,.push-profile-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
