@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.reading-workspace{max-width:1120px;margin-inline:auto;padding:24px;display:grid;gap:20px}.reading-workspace h1,.reading-workspace h2,.reading-workspace p{margin:0 0 12px}.reading-card{background:var(--surface, #fff);border:1px solid var(--border, #ddd);border-radius:12px;padding:20px;min-width:0}.reading-workspace form,.reading-workspace label{display:grid;gap:8px}.reading-workspace form{gap:16px}.reading-workspace input,.reading-workspace select,.reading-workspace textarea{width:100%;max-width:100%;min-width:0;padding:10px;border:1px solid var(--border, #aaa);border-radius:6px;background:var(--surface, #fff);color:inherit;font:inherit}.reading-workspace textarea{min-height:88px}.reading-workspace .reading-check{display:flex;align-items:center;gap:10px}.reading-check input{width:18px;height:18px;flex-shrink:0}.reading-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.reading-record{padding-block:12px;border-top:1px solid var(--border, #ddd);overflow-wrap:anywhere}.reading-workspace button{min-height:40px;white-space:normal}.reading-table{overflow:auto}.reading-table table{width:100%;border-collapse:collapse}.reading-table th,.reading-table td{text-align:left;padding:12px;border-bottom:1px solid var(--border, #ddd)}.reading-public{max-width:640px}.reading-workspace code{overflow-wrap:anywhere}.reading-workspace [role=alert]{color:var(--danger, #9b2626)}.reading-workspace :focus-visible{outline:3px solid var(--brand, #267453);outline-offset:3px}@media(max-width:650px){.reading-workspace{padding:16px}.reading-columns{grid-template-columns:1fr}.reading-card{padding:16px}}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr;background:#fbfbf8;color:#17201c}.auth-aside{background:#183f32;color:#f7faf7;display:flex;flex-direction:column;justify-content:space-between;padding:40px clamp(32px,5vw,88px);position:relative;overflow:hidden}.auth-aside:after{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(255,255,255,.14);border-radius:50%;left:-130px;bottom:-230px;box-shadow:0 0 0 95px #ffffff06,0 0 0 190px #ffffff05;pointer-events:none}.auth-brand{display:flex;align-items:center;gap:12px;font-weight:650;letter-spacing:-.025em;font-size:19px;z-index:1}.auth-brand span:last-child{display:flex;flex-direction:column;line-height:1.05}.auth-brand strong{font-size:13px;font-weight:500;color:#c8dfd2;margin-top:4px;letter-spacing:0}.auth-mark{display:grid;place-items:center;background:#31775d;border-radius:12px;width:42px;height:42px}.auth-aside-copy{max-width:550px;z-index:1}.auth-eyebrow{color:#a8d4bc;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.auth-aside h1{font-size:clamp(42px,4vw,68px);line-height:1.05;margin:16px 0 24px;letter-spacing:-.055em;font-weight:680}.auth-aside p{font-size:17px;line-height:1.65;color:#d6e5dc;max-width:440px}.auth-aside small{z-index:1;color:#b5d4c2;font-size:13px}.auth-main{display:flex;flex-direction:column;padding:30px clamp(24px,5vw,80px)}.auth-top{display:flex;justify-content:flex-end}.auth-language{display:flex;border:1px solid #e1e6df;border-radius:9px;padding:3px;background:#fff;gap:2px}.auth-language button{border:0;background:transparent;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:700;color:#66726a}.auth-language button.selected{background:#e6f2ec;color:#195a43}.auth-card{width:min(100%,420px);margin:auto}.auth-lock{width:48px;height:48px;border-radius:13px;background:#e6f2ec;color:#1f7257;display:grid;place-items:center;margin-bottom:26px}.auth-card h2{font-size:30px;line-height:1.2;letter-spacing:-.04em;font-weight:690}.auth-intro{color:#66726a;line-height:1.6;margin-top:10px;margin-bottom:30px}.auth-form{display:flex;flex-direction:column}.auth-form label{font-size:13px;font-weight:650;margin-bottom:8px}.auth-form input{border:1px solid #d7dcd5;background:#fff;border-radius:9px;min-height:46px;padding:0 13px;margin-bottom:19px;width:100%;color:#17201c}.auth-form input:focus{border-color:#4169d8;outline:2px solid #4169d8;outline-offset:1px}.auth-submit{min-height:47px;border:0;border-radius:9px;background:#1f7257;color:#fff;font-size:14px;font-weight:650;margin-top:5px;display:flex;justify-content:center;align-items:center;gap:10px}.auth-submit:hover{background:#185e48}.auth-submit:disabled{opacity:.55;cursor:wait}.auth-notice,.auth-error{font-size:13px;line-height:1.5;border-radius:8px;padding:11px 13px;margin-bottom:17px}.auth-notice{background:#e6f2ec;color:#195a43}.auth-error{background:#fff0ef;color:#a02d24}.auth-secondary-link,.auth-text-button{display:inline-block;color:#1f7257;font-weight:650;font-size:13px;margin-top:17px}.auth-text-button{border:0;background:transparent;padding:0;text-align:left}.auth-footer{border-top:1px solid #e5e8e3;margin-top:32px;padding-top:23px;display:flex;gap:8px;font-size:13px;color:#66726a}.auth-footer a{color:#1f7257;font-weight:650}@media(max-width:800px){.auth-layout{display:block}.auth-aside{min-height:180px;padding:26px}.auth-aside-copy{margin-top:25px}.auth-aside h1{font-size:27px;margin:6px 0}.auth-aside p,.auth-aside small{display:none}.auth-main{min-height:calc(100vh - 180px);padding:18px 24px 44px}.auth-card{margin:32px auto}.auth-lock{margin-bottom:18px}}:root{font-family:Geist,Inter,system-ui,-apple-system,sans-serif;color:#17201c;background:#f6f7f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f6f7f4;--canvas: #fbfbf8;--surface: #fff;--subtle: #f0f2ee;--border: #e5e8e3;--border-strong: #d7dcd5;--text: #17201c;--body: #34403b;--muted: #646e68;--brand: #1f7257;--brand-hover: #185e48;--brand-soft: #e6f2ec;--focus: #4169d8}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.18;font-weight:700;letter-spacing:-.035em}h2{font-size:18px;line-height:1.3;font-weight:620;letter-spacing:-.015em}h3{font-size:14px;font-weight:620}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{width:240px;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;flex:none;position:sticky;top:0;height:100vh;z-index:20;padding:22px 12px 14px}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 28px}.brand-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:var(--brand);color:#fff}.brand-name{display:block;font-size:17px;line-height:18px;font-weight:700;letter-spacing:-.045em}.brand-product{display:block;font-size:11px;line-height:17px;color:var(--muted);font-weight:540;letter-spacing:.005em}.association-switch{display:flex;align-items:center;gap:9px;border:1px solid var(--border-strong);border-radius:9px;background:#fff;min-height:52px;padding:7px 9px;margin-bottom:28px;box-shadow:0 1px 2px #17201c06}.association-icon{background:var(--brand-soft);color:var(--brand);border-radius:7px;width:29px;height:29px;display:grid;place-items:center;flex:none}.association-copy{min-width:0;flex:1}.association-copy strong,.association-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.association-copy strong{font-size:12px;font-weight:620}.association-copy small{font-size:10px;color:var(--muted);margin-top:2px}.association-switch>svg{color:var(--muted)}.association-switch select{min-width:0;flex:1;border:0;background:transparent;color:var(--text);font-size:12px;font-weight:640;padding:4px 0;appearance:none;cursor:pointer}.association-switch select:disabled{cursor:default}.nav-caption{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#828a86;font-weight:700;padding:0 13px 9px}.sidebar nav{display:grid;align-content:start;gap:16px;overflow-y:auto;min-height:0}.nav-group{display:grid;gap:3px}.nav-group .nav-caption{padding:0 13px 5px;margin:0}.nav-link{display:flex;align-items:center;gap:12px;min-height:38px;padding:0 12px;font-size:13px;color:#46514b;border-radius:7px;font-weight:520}.nav-link svg{color:#69746d}.nav-link:hover{background:#edf0eb}.nav-link.active{background:var(--brand-soft);color:var(--brand);font-weight:620}.nav-link.active svg{color:var(--brand)}.nav-count{margin-left:auto;background:#fff;color:var(--brand);border:1px solid #d3e6d9;border-radius:999px;min-width:20px;height:20px;text-align:center;line-height:18px;font-size:11px}.sidebar-bottom{margin-top:auto}.demo-mini{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px;padding:10px 13px 14px}.demo-dot{height:7px;width:7px;display:inline-block;background:#c68236;border-radius:50%;flex:none}.profile{display:flex;align-items:center;gap:9px;border-top:1px solid var(--border);padding:13px 8px 1px}.profile:hover{background:var(--brand-soft);border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.avatar,.top-avatar{height:31px;width:31px;border-radius:50%;display:grid;place-items:center;background:#dce9dd;color:#275d41;font-size:12px;font-weight:700}.profile strong,.profile small{display:block}.profile strong{font-size:12px}.profile small{font-size:10px;color:var(--muted);margin-top:2px}.workspace{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:56px;min-height:56px;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 31px;gap:16px;position:sticky;top:0;z-index:10}.topbar-left,.topbar-right{display:flex;align-items:center;gap:13px;min-width:0}.topbar-left{font-size:12px;color:var(--muted)}.topbar-left strong{font-weight:620;color:var(--text)}.topbar-breadcrumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.crumb-slash{color:#b9c0b9}.topbar-demo{display:flex;align-items:center;gap:6px;color:#7c6a4e;font-size:11px;background:#fbf6eb;padding:5px 8px;border:1px solid #f0e5cb;border-radius:5px}.language-switch{border:1px solid var(--border);display:flex;border-radius:7px;background:var(--canvas);padding:2px}.language-switch button{border:0;background:none;color:#6a756e;font-size:10px;font-weight:700;min-width:29px;height:25px;border-radius:5px}.language-switch button.selected{background:#fff;color:var(--brand);box-shadow:0 1px 3px #17201c1f}.top-avatar{height:28px;width:28px}.mobile-menu{display:none!important}.content{width:100%;max-width:1520px;margin:0 auto;padding:38px 42px 66px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:27px}.eyebrow{font-size:11px;line-height:16px;letter-spacing:.115em;text-transform:uppercase;color:var(--brand);font-weight:700;margin-bottom:8px}.section-description{font-size:14px;line-height:22px;color:var(--muted);margin-top:8px}.section-action{flex:none}.role-pill{display:inline-flex;gap:7px;align-items:center;border:1px solid #d6e7da;color:var(--brand);background:#ecf5ef;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}.surface{background:#fff;border:1px solid var(--border);border-radius:11px}.hero-panel{min-height:210px;background:#245a47;border-radius:13px;display:flex;position:relative;overflow:hidden;color:#fff;margin-bottom:19px}.hero-content{position:relative;z-index:1;padding:31px 36px}.hero-kicker{text-transform:uppercase;letter-spacing:.11em;font-size:11px;color:#cce9da;font-weight:650;display:flex;align-items:center;gap:7px}.hero-kicker-dot{width:6px;height:6px;background:#81d4ab;border-radius:50%}.hero-panel h2{font-size:27px;line-height:33px;font-weight:660;letter-spacing:-.035em;margin-top:14px}.hero-panel p{font-size:13px;color:#e2f0e8;margin-top:5px}.hero-actions{display:flex;gap:10px;margin-top:22px}.hero-graphic{position:absolute;right:5%;bottom:-21px;height:187px;width:245px;transform:skew(-13deg);opacity:.58}.building-shape{width:172px;height:182px;margin:auto;border:1px solid #aed9bc;border-bottom:0;background:linear-gradient(135deg,#d8f2e02e,#ffffff05);display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:24px 22px}.building-shape i{display:block;border:1px solid #bedfcb;background:#c8ecd42b}.button{border-radius:7px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font-size:13px;font-weight:620;white-space:nowrap;transition:background .15s,border-color .15s}.button:disabled{opacity:.52;cursor:not-allowed}.button-primary{background:var(--brand);border:1px solid var(--brand);color:#fff}.button-primary:hover:not(:disabled){background:var(--brand-hover)}.button-secondary{background:#fff;color:var(--body);border:1px solid var(--border-strong)}.button-secondary:hover:not(:disabled){background:#f7f9f6}.button-quiet{background:transparent;color:var(--brand);border:1px solid transparent}.button-quiet:hover:not(:disabled){background:var(--brand-soft)}.button-light{background:#fff;color:#185b41;border:1px solid #fff}.button-light:hover{background:#edf7ef}.button-hero-ghost{background:#ffffff12;color:#fff;border:1px solid rgba(255,255,255,.27)}.button-hero-ghost:hover{background:#ffffff29}.button.full{width:100%}.icon-button{border:none;background:transparent;color:#59655e;width:34px;height:34px;border-radius:7px;display:grid;place-items:center}.icon-button:hover{background:var(--subtle)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-card{padding:19px 20px;min-height:164px;display:flex;align-items:flex-start;flex-direction:column}.stat-icon{height:33px;width:33px;border-radius:8px;display:grid;place-items:center;margin-bottom:13px}.money-icon{background:#e6f2ec;color:#1f7257}.water-icon{background:#eaf1f7;color:#397397}.issue-icon{background:#f5eee7;color:#9a6a3e}.stat-label{color:var(--muted);font-size:12px}.stat-card>strong{font-size:28px;letter-spacing:-.035em;line-height:1.2;margin-top:3px}.stat-card>a{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-size:12px;font-weight:620;margin-top:auto;padding-top:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:17px}.dashboard-list,.dashboard-side{padding:23px}.card-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.card-heading h2,.dashboard-side h2{font-size:19px}.text-link{color:var(--brand);font-size:12px;display:inline-flex;align-items:center;gap:5px;font-weight:620;white-space:nowrap}.notice-stack{margin-top:19px}.notice-row{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--border)}.row-icon{height:31px;width:31px;border-radius:8px;background:var(--subtle);color:var(--brand);display:grid;place-items:center;flex:none}.notice-row strong{font-size:13px}.notice-row p{font-size:12px;line-height:19px;color:var(--muted);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notice-row small{font-size:11px;color:#858e87;display:block;margin-top:7px}.bill-summary{display:flex;justify-content:space-between;align-items:center;margin-top:23px;font-size:12px;color:var(--muted)}.bill-summary strong{color:var(--text);font-size:25px;letter-spacing:-.03em}.summary-divider{border-top:1px solid var(--border);margin:20px 0 14px}.summary-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:12px;color:var(--muted)}.summary-line strong{color:var(--body);font-weight:580}.dashboard-side .button{margin-top:10px}.demo-disclaimer{margin:20px 0 0;font-size:11px;color:#777f79;display:flex;gap:7px;align-items:center}.two-column{display:grid;grid-template-columns:minmax(335px,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}.form-panel,.history-panel{padding:23px}.panel-title{display:flex;align-items:center;gap:12px;margin-bottom:22px}.panel-icon{width:39px;height:39px;border-radius:9px;background:#e6f2ec;color:var(--brand);display:grid;place-items:center}.panel-title p{font-size:11px;color:var(--muted);margin-top:2px}.form-stack{display:grid;gap:17px}.form-stack label{display:block;font-size:12px;font-weight:600;color:var(--body)}.form-stack input,.form-stack select,.form-stack textarea{display:block;width:100%;margin-top:7px;padding:0 11px;min-height:39px;border-radius:7px;border:1px solid var(--border-strong);background:#fff;color:var(--text);font-size:13px;outline:none}.form-stack textarea{padding:10px 11px;resize:vertical;line-height:21px}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:var(--focus);box-shadow:0 0 0 2px #4169d81f}.form-stack select:disabled{background:#f8f9f6;color:#59665d}.label-hint{float:right;color:var(--muted);font-weight:450}.form-split{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-stack>.button{justify-self:start}.previous-reading{display:flex;align-items:center;gap:8px;background:#f5f8f5;border-radius:7px;padding:10px 11px;font-size:12px;color:var(--muted)}.previous-reading svg{color:var(--brand)}.previous-reading strong{margin-left:auto;color:var(--body)}.form-message,.page-feedback{display:flex;align-items:center;gap:8px;border:1px solid #cae7d2;background:#eff9f2;border-radius:7px;padding:9px 11px;font-size:12px;color:#176243}.form-error{border-color:#f2d1cb;background:#fff4f1;color:#a33d32}.page-feedback{margin-bottom:17px}.history-panel .count-label{margin-bottom:3px}.count-label{color:var(--muted);font-size:12px}.reading-list{margin-top:18px}.reading-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--border)}.reading-circle{height:34px;width:34px;border-radius:8px;background:#f0f4f0;color:var(--brand);display:grid;place-items:center;flex:none}.reading-main{min-width:0;flex:1}.reading-main strong,.reading-main small{display:block}.reading-main strong{font-size:13px}.reading-main small{font-size:11px;color:var(--muted);margin-top:3px}.reading-value{text-align:right}.reading-value strong{font-size:14px;display:block}.reading-value .status{margin-top:4px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:10px;line-height:13px;font-weight:620;background:#f4f5f1;color:#617069;white-space:nowrap}.status-approved,.status-reviewed,.status-paid,.status-resolved{background:#e6f2ec;color:#1f7257}.status-submitted,.status-pending,.status-open,.status-unpaid{background:#f9f0df;color:#976018}.status-rejected{background:#f9e9e5;color:#b53f37}.status-inprogress{background:#e8ecfb;color:#3c61c8}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:45px 20px;color:var(--muted);font-size:13px;line-height:20px}.empty-icon{height:43px;width:43px;border-radius:12px;background:var(--subtle);color:#688173;display:grid;place-items:center;margin-bottom:12px}.state-panel{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;color:var(--muted);font-size:13px}.state-panel strong{color:var(--text);font-size:17px}.state-panel .button{margin-top:5px}.error-panel>svg{color:#b53f37}.bill-highlight{background:#e9f2eb;border:1px solid #d8e8db;border-radius:11px;display:flex;align-items:center;justify-content:space-between;padding:22px 27px;color:var(--brand);margin-bottom:26px}.bill-highlight span,.bill-highlight strong{display:block}.bill-highlight span{font-size:12px}.bill-highlight strong{font-size:32px;letter-spacing:-.035em;margin-top:4px}.bill-highlight>svg{opacity:.6}.list-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.bill-list,.issue-list{display:grid;gap:11px}.bill-card{overflow:hidden}.bill-card-trigger{width:100%;display:flex;align-items:center;gap:15px;border:0;background:#fff;padding:16px 20px;text-align:left}.bill-card-trigger:hover{background:#fafcf9}.bill-period-icon{width:40px;height:40px;border-radius:9px;display:grid;place-items:center;background:#f0f3ef;color:var(--brand);flex:none}.bill-period{flex:1;min-width:0}.bill-period strong,.bill-period small,.bill-amount strong{display:block}.bill-period strong{font-size:14px}.bill-period small{font-size:11px;color:var(--muted);margin-top:4px}.bill-amount{text-align:right}.bill-amount strong{font-size:17px}.bill-amount .status{margin-top:4px}.bill-card-trigger>svg{color:#849087;margin-left:8px;transition:transform .18s}.bill-card-trigger>svg.rotate{transform:rotate(180deg)}.bill-detail{border-top:1px solid var(--border);padding:19px 21px 20px;background:#fdfefc}.bill-detail h3{margin-bottom:12px}.bill-line,.bill-total{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:12px}.bill-line span{color:var(--body)}.bill-line small{display:block;margin-top:3px;color:var(--muted)}.bill-line strong{font-weight:580}.bill-total{border-top:1px solid var(--border-strong);margin-top:7px;padding-top:14px;font-size:13px}.muted{color:var(--muted);font-size:12px}.notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.notice-card{padding:24px;min-height:186px}.notice-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.notice-tag{display:inline-flex;align-items:center;gap:5px;color:var(--brand);font-size:11px;font-weight:640}.notice-card time{color:var(--muted);font-size:11px}.notice-card h2{margin:18px 0 8px;font-size:18px}.notice-card p{color:var(--body);font-size:13px;line-height:21px;white-space:pre-wrap}.notice-author{font-size:11px;color:var(--muted);border-top:1px solid var(--border);padding-top:12px;margin-top:18px}.issue-card{padding:20px}.issue-main{display:flex;gap:14px}.issue-symbol{height:36px;width:36px;display:grid;place-items:center;background:#f2f3ed;border-radius:9px;color:#687e6d;flex:none}.issue-main>div:last-child{min-width:0;flex:1}.issue-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.issue-heading h2{font-size:14px}.issue-card p{font-size:13px;color:var(--body);line-height:20px;margin-top:7px}.issue-meta{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;font-size:11px;color:var(--muted)}.issue-meta span{display:inline-flex;align-items:center;gap:4px}.review-toolbar{display:flex;justify-content:space-between;margin-bottom:12px;font-size:12px;color:var(--muted)}.review-live{display:inline-flex;align-items:center;gap:6px}.review-list{overflow:hidden}.review-row{display:flex;align-items:center;gap:18px;padding:15px 20px;border-bottom:1px solid var(--border)}.review-row:last-child{border-bottom:0}.review-meter{flex:1.5;display:flex;align-items:center;gap:11px;min-width:0}.review-meter strong,.review-meter small,.review-reading strong,.review-reading small,.review-submitted strong,.review-submitted small{display:block}.review-meter strong{font-size:13px}.review-meter small,.review-reading small,.review-submitted small{font-size:11px;color:var(--muted);margin-top:3px}.review-reading{width:90px}.review-reading strong{font-size:14px}.review-submitted{width:130px}.review-submitted strong{font-size:12px;font-weight:550}.review-row .button{flex:none}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#0f191373;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:12px;width:min(100%,510px);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 14px 40px #0f19132b;padding:23px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-header h2{font-size:21px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.mobile-overlay,.mobile-bottom{display:none}@media(max-width:1160px){.content{padding:30px 28px 60px}.dashboard-grid{grid-template-columns:1.35fr 1fr}.hero-graphic{right:-2%}.topbar{padding:0 24px}}@media(max-width:920px){.sidebar{width:210px}.content{padding:27px 21px 55px}.dashboard-grid,.two-column{grid-template-columns:1fr}.dashboard-side{max-width:none}.hero-graphic{opacity:.35}.stat-grid{gap:10px}.stat-card{padding:16px}}@media(max-width:700px){h1{font-size:27px}.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s;width:248px;box-shadow:12px 0 30px #16201914}.sidebar-open{transform:translate(0)}.mobile-overlay{display:block;position:fixed;inset:0;z-index:15;background:#0b150f59;border:0;width:100%}.mobile-menu{display:grid!important;margin-left:-8px}.topbar{padding:0 15px;height:54px;min-height:54px}.topbar-demo,.top-avatar{display:none}.topbar-left{gap:8px}.topbar-breadcrumb{max-width:110px}.topbar-right{gap:5px}.content{padding:25px 16px 100px}.section-head{align-items:flex-start;margin-bottom:21px}.section-description{font-size:13px;line-height:20px}.section-action .button{font-size:0;width:36px;padding:0}.section-action .button svg{width:17px}.role-pill{font-size:11px}.hero-panel{min-height:194px}.hero-content{padding:25px 24px}.hero-panel h2{font-size:23px}.hero-graphic{right:-85px;opacity:.22}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.stat-card{min-height:135px;padding:11px}.stat-icon{width:28px;height:28px;margin-bottom:10px}.stat-icon svg{height:17px;width:17px}.stat-label{font-size:10px;line-height:13px}.stat-card>strong{font-size:20px}.stat-card>a{font-size:0;gap:0}.stat-card>a svg{height:16px;width:16px}.dashboard-list,.dashboard-side,.form-panel,.history-panel{padding:19px}.notice-grid{grid-template-columns:1fr}.notice-card{padding:20px}.mobile-bottom{display:block;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);z-index:12;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom nav{height:60px;display:flex;justify-content:space-around}.mobile-bottom a{min-width:55px;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;color:#69746d;font-size:10px}.mobile-bottom a.active{color:var(--brand);font-weight:650}.review-row{flex-wrap:wrap;gap:12px}.review-meter{flex-basis:100%}.review-row .button{margin-left:auto}.bill-card-trigger{padding:14px;gap:10px}.bill-period-icon{width:34px;height:34px}.bill-amount strong{font-size:14px}}@media(max-width:390px){.form-split{grid-template-columns:1fr}.hero-actions{gap:6px}.hero-actions .button{font-size:11px;padding:0 10px}.topbar-breadcrumb{max-width:75px}.stat-grid{grid-template-columns:1fr}.stat-card{min-height:70px;display:grid;grid-template-columns:29px 1fr auto;column-gap:10px;align-items:center}.stat-icon{grid-row:1/3;margin:0}.stat-card>strong{grid-column:2;grid-row:2;font-size:19px}.stat-card>a{grid-column:3;grid-row:1/3;padding:0}}.role-select{height:30px;border:1px solid var(--border-strong);border-radius:7px;background:#fff;color:var(--body);padding:0 8px;font-size:11px;font-weight:600;max-width:120px}.period-control{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:600}.period-control input{min-width:145px;height:35px}.monthly-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}.monthly-summary-card{padding:16px 18px}.monthly-summary-card small,.monthly-summary-card strong{display:block}.monthly-summary-card small{font-size:11px;color:var(--muted)}.monthly-summary-card strong{font-size:26px;line-height:1.2;margin-top:7px}.source-banner{display:flex;align-items:center;gap:9px;padding:11px 13px;margin-bottom:17px;border:1px solid #e6dbbc;border-radius:8px;background:#fcf8eb;color:#786641;font-size:12px}.source-banner svg{flex:none}.monthly-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px 100px;align-items:center;column-gap:15px;row-gap:10px;padding:15px 18px;border-bottom:1px solid var(--border)}.monthly-row:last-child{border-bottom:0}.monthly-value small,.monthly-value strong{display:block}.monthly-value small{font-size:10px;color:var(--muted)}.monthly-value strong{font-size:13px;margin-top:3px}.monthly-actions{grid-column:1 / -1;display:grid;grid-template-columns:minmax(160px,1fr) auto auto auto;align-items:end;gap:8px;padding-left:46px}.monthly-actions .button{white-space:nowrap}.reason-field{min-width:0;font-size:10px;color:var(--muted)}.reason-field span{display:block;margin-bottom:3px}.reason-field input{width:100%;min-width:0;height:35px}.monthly-reason{grid-column:1 / -1;color:var(--muted);font-size:11px;margin:0}.status-missing{background:#f1f1ef;color:#686f69}.status-flagged{background:#f9e9e5;color:#a34535}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.portfolio-card{padding:20px}.portfolio-card-title{display:flex;align-items:center;gap:12px}.portfolio-card-title .stat-icon{margin:0}.portfolio-card h2{font-size:16px}.portfolio-card p{font-size:12px;color:var(--muted);margin-top:3px}.portfolio-metrics{display:flex;gap:30px;margin:20px 0;padding-top:17px;border-top:1px solid var(--border)}.portfolio-metrics span{display:grid;gap:4px;font-size:11px;color:var(--muted)}.portfolio-metrics strong{font-size:23px;color:var(--text)}.portfolio-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.portfolio-actions .button-quiet{background:transparent;border:1px solid transparent;color:var(--brand)}.portfolio-actions .button-quiet:hover{background:var(--brand-soft)}.payment-instructions{margin-top:18px;padding:16px;border-radius:8px;background:#f5f8f5}.payment-instructions h3{margin:0 0 4px;font-size:13px}.payment-instructions p,.bill-source{font-size:11px;color:var(--muted)}.payment-instructions dl{display:grid;grid-template-columns:100px 1fr;gap:6px 10px;margin:14px 0 0;font-size:12px}.payment-instructions dt{color:var(--muted)}.payment-instructions dd{margin:0;font-weight:650;overflow-wrap:anywhere}.payment-copy-field{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.payment-copy-field>span{min-width:0;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.payment-copy-field small{flex-basis:100%;color:var(--brand);font-weight:500}.payment-copy{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 6px;border:1px solid var(--border-strong);border-radius:5px;background:#fff;color:var(--brand);font-size:10px;font-weight:650}.payment-copy:hover{background:var(--brand-soft)}.bill-source{margin-top:14px}.issue-detail-toggle{display:inline-flex;align-items:center;gap:7px;margin:16px 0 0 50px;padding:5px 0;border:0;background:transparent;color:var(--brand);font-size:12px;font-weight:650;cursor:pointer}.issue-detail-toggle svg{transition:transform .18s}.issue-detail-toggle svg.rotate{transform:rotate(180deg)}.issue-card .ops-diary{margin-top:14px;border-top:1px solid var(--border);padding-top:18px}.period-task-panel{padding:21px 23px;margin:17px 0}.period-task-panel .card-heading{align-items:center}.period-task-panel .card-heading .muted{margin-top:5px}.period-meter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:9px;margin-top:17px}.period-meter{min-width:0;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:#fcfdfb}.period-meter-icon{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:8px;color:var(--brand);background:var(--brand-soft)}.period-meter>div{min-width:0;flex:1}.period-meter strong,.period-meter small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.period-meter strong{font-size:12px}.period-meter small{font-size:11px;color:var(--muted);margin-top:2px}.board-progress-intro{margin-top:19px;font-size:13px;color:var(--body)}.board-missing-list{display:grid;margin:15px 0 20px;border-top:1px solid var(--border)}.board-missing-list>div{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:10px 0;font-size:12px}.board-missing-list small{color:var(--muted);padding-top:9px}.board-progress-complete{display:flex;align-items:center;gap:7px;color:var(--brand);font-size:12px;margin:18px 0}.reading-context{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;color:var(--muted);line-height:1.5}.reading-context strong{color:var(--body)}.reading-retry-note{margin-top:-8px}.form-neutral{border-color:var(--border);background:#f5f7f4;color:var(--body)}.reading-receipt{display:flex;align-items:flex-start;gap:10px;border:1px solid #b7d8c3;border-radius:9px;background:#edf8ef;padding:13px;margin-top:17px;color:#1e6044}.reading-receipt>svg{flex:none;margin-top:2px}.reading-receipt strong{font-size:13px}.reading-receipt p{font-size:13px;margin:3px 0}.reading-receipt small{display:block;font-size:11px;line-height:1.45}.reading-list{display:grid}.reading-entry{border-top:1px solid var(--border)}.reading-entry:first-child{border-top:0}.reading-entry .reading-row{width:100%;border:0;background:none;text-align:left}.reading-entry .reading-row:hover{background:#f9fbf8}.reading-row>svg{flex:none;color:var(--muted);transition:transform .18s}.reading-row>svg.rotate{transform:rotate(180deg)}.reading-detail{padding:0 12px 15px 46px;color:var(--body);font-size:11px;line-height:1.5}.reading-detail>p{margin-bottom:9px}.reading-detail dl{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:5px 12px;margin:0 0 9px}.reading-detail dt,.reading-detail small{color:var(--muted)}.reading-detail dd{min-width:0;margin:0;overflow-wrap:anywhere}.reading-detail code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px}.financial-source-note{display:flex;align-items:flex-start;gap:8px;margin:12px 0 25px;color:#706848;font-size:12px;line-height:1.45}.financial-source-note svg{flex:none;margin-top:1px}.bill-provenance{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding-bottom:13px;margin-bottom:16px;font-size:11px}.bill-provenance span{color:var(--muted)}.bill-provenance strong{font-weight:600}.bill-amount small{display:block;margin-bottom:2px;font-size:10px;color:var(--muted)}@media(max-width:1050px){.monthly-actions{grid-template-columns:minmax(150px,1fr) auto auto}.monthly-actions .button-primary{grid-column:3}}@media(max-width:700px){.monthly-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.monthly-summary-card{padding:12px}.monthly-summary-card strong{font-size:22px}.monthly-row{grid-template-columns:1fr 70px}.monthly-row>.status{justify-self:start}.monthly-actions{padding-left:0;grid-template-columns:1fr 1fr}.monthly-actions .reason-field{grid-column:1 / -1}.monthly-actions .button{justify-content:center}.monthly-actions .button-primary{grid-column:auto}.portfolio-grid{grid-template-columns:1fr}.period-control input{width:145px}}.modal-native{width:min(100%,550px);max-height:calc(100vh - 40px);padding:20px;border:0;background:transparent;overflow:visible}.modal-native::backdrop{background:#0f191373}.modal-native .modal{width:100%;max-height:calc(100vh - 40px);overflow:auto}@media(max-width:700px){.topbar-left{flex:1;min-width:0}.topbar-left strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topbar-breadcrumb,.crumb-slash,.topbar-user-email{display:none}.topbar-right,.topbar .icon-button{flex:none}.period-task-panel{padding:18px}.period-task-panel .card-heading{align-items:flex-start}.reading-value{flex:none}.bill-card-trigger{min-width:0}.bill-amount{flex:none}.bill-period small{overflow-wrap:anywhere}.payment-instructions dl{grid-template-columns:1fr;gap:3px}.payment-instructions dt:not(:first-child){margin-top:10px}.role-select{max-width:100px;padding:0 4px;font-size:10px}}
