:root{font-family:'DM Sans',Arial,sans-serif;color:#17251f;background:#f5f7f5;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#17251f;--muted:#7d8982;--line:#e8ece8;--green:#245c4b;--pale:#e8f1ec;--amber:#a86d1e;--surface:#fff}*{box-sizing:border-box}body{margin:0;min-width:320px}.boot,.error-screen{padding:48px;color:var(--green);font:700 24px Manrope,Arial,sans-serif}.boot span{display:block;margin-top:10px;color:var(--muted);font:400 14px 'DM Sans',Arial,sans-serif}.error-screen p{font:400 15px 'DM Sans',Arial,sans-serif;color:var(--muted)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#10241f;color:#fff;padding:28px 17px 18px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:11px;color:#f5fbf6;text-decoration:none;font:800 17px Manrope,Arial,sans-serif;letter-spacing:-.5px;padding:0 10px 36px}.brand-mark{height:35px;width:35px;display:grid;place-items:center;border-radius:11px;background:#d9eadf;color:#214e40;font:800 20px Manrope,Arial,sans-serif}.brand-light{font-weight:500;color:#9fb7aa}.brand small{display:block;margin-top:3px;color:#839c8e;font:500 9px 'DM Sans',Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase}.side-label,.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:700;color:#87958d}.side-label{padding:0 12px 11px;color:#7e978b}.sidebar nav{display:grid;gap:4px}.nav-item{width:100%;border:0;border-radius:9px;background:transparent;color:#afbeb5;display:flex;align-items:center;gap:12px;text-align:left;padding:11px 12px;font-size:13px}.nav-item:hover{background:#1b352d;color:#fff}.nav-item.active{background:#25483b;color:#fff;font-weight:600}.nav-icon{font-size:17px;width:19px;text-align:center;color:#a3c1ad}.nav-count{margin-left:auto;border-radius:12px;background:#e9b875;color:#382a17;font-size:10px;padding:2px 7px;font-style:normal}.side-bottom{margin-top:auto}.local-chip{padding:11px;border:1px solid #2d483d;border-radius:10px;display:flex;align-items:center;gap:10px;color:#dfebe3;font-size:11px}.local-chip small{display:block;color:#8da295;margin-top:3px;font-size:10px}.pulse{display:inline-block;width:7px;height:7px;background:#71c196;border-radius:50%;box-shadow:0 0 0 4px #71c19624;flex:0 0 auto}.backup-link{display:flex;justify-content:space-between;text-decoration:none;color:#9db1a4;font-size:11px;padding:17px 8px 4px}.backup-link:hover{color:#fff}.main{margin-left:244px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:104px;background:rgba(255,255,255,.84);border-bottom:1px solid var(--line);padding:23px 40px;display:flex;align-items:center;justify-content:space-between}.topbar .eyebrow{color:#9aa49d}.topbar .eyebrow span{color:#6ba789;padding:0 5px}.topbar h1{font:700 24px Manrope,Arial,sans-serif;letter-spacing:-.7px;margin:6px 0 0}.top-actions{display:flex;align-items:center;gap:17px}.owner-chip{display:flex;align-items:center;gap:9px}.owner-chip b,.owner-chip small{display:block}.owner-chip b{font-size:11px}.owner-chip small{font-size:10px;color:var(--muted);margin-top:3px}.avatar{width:31px;height:31px;border-radius:50%;background:#e5eee8;color:#245c4b;display:grid;place-items:center;font-size:12px;font-weight:700}.icon-button,.close-button{border:1px solid var(--line);background:#fff;width:34px;height:34px;border-radius:9px;color:#53685e;font-size:19px}.page-content{width:min(1400px,100%);margin:0 auto;padding:27px 40px 32px;flex:1}.footer{border-top:1px solid var(--line);padding:14px 40px;color:#a0aaa4;font-size:10px;display:flex;justify-content:space-between}.period-strip{height:48px;display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#75837a;font-size:11px}.period-strip>b{font-size:11px;color:#35473d}.period-strip .pulse{width:6px;height:6px}.period-spacer{flex:1}.sync-mark{font-size:10px;color:#a0aaa4}.text-button{border:0;padding:4px;background:transparent;color:#37715c;font-size:11px;font-weight:700}.text-button:hover{text-decoration:underline}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 17px 15px;min-height:119px}.metric-accent{background:#173e32;border-color:#173e32;color:#fff}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#738178;font-size:11px}.metric-top i{color:#a8b4ac;font-style:normal}.metric-accent .metric-top{color:#bdd0c4}.metric strong{display:block;font:700 22px Manrope,Arial,sans-serif;letter-spacing:-.8px;margin-top:13px;white-space:nowrap}.metric strong small,.distribution-figures b small{font:500 10px 'DM Sans',Arial,sans-serif;letter-spacing:0;color:#89968d;margin-left:4px}.metric-accent strong small{color:#bdd0c4}.metric p{font-size:9px;color:#95a098;margin:8px 0 0}.metric-accent p{color:#aec4b5}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.9fr);gap:14px;margin-top:15px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:14px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2,.section-heading h2{font:700 15px Manrope,Arial,sans-serif;letter-spacing:-.25px;margin:5px 0 0}.panel-heading .eyebrow,.section-heading .eyebrow{color:#a0aaa4}.legend{display:flex;align-items:center;gap:7px;color:#859188;font-size:9px}.legend i{width:7px;height:7px;border-radius:50%;display:inline-block;margin-left:4px}.legend-rent{background:#39775e}.legend-out{background:#d9e0db}.chart{height:154px;position:relative;margin:21px 2px 0;display:flex;align-items:flex-end;gap:7px;padding:0 1px}.chart-guides{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.chart-guides i{border-top:1px dashed #edf0ed}.bar-group{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:3px;position:relative;z-index:1}.bar{width:min(13px,40%);min-height:0;border-radius:4px 4px 1px 1px;transition:height .2s}.bar-rent{background:#47866c}.bar-out{background:#dce4de}.chart-labels{display:flex;gap:7px;margin:7px 2px 0}.chart-labels span{flex:1;text-align:center;text-transform:uppercase;color:#9ba59e;font-size:8px}.chart-foot{border-top:1px solid var(--line);margin-top:16px;padding-top:12px;display:flex;justify-content:space-between;gap:10px;color:#929d95;font-size:10px}.chart-foot b{display:block;color:#34473b;font-size:11px;margin-top:5px}.positive-text{color:#3c8864!important}.warning-text{color:#bb7c2a!important}.rate-badge,.ai-badge{background:#edf4ef;color:#3b755b;border-radius:20px;padding:6px 9px;font-size:9px;font-weight:700;white-space:nowrap}.waterfall{margin:19px 0 12px}.waterfall>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #f1f3f1;font-size:10px;color:#89948c}.waterfall b{font-size:10px;color:#526158;font-weight:600;white-space:nowrap}.waterfall-total{border-bottom:0!important;border-top:1px solid #dfe6e1;margin-top:3px;padding-top:10px!important;color:#283b30!important;font-weight:700}.waterfall-total b{color:#1f4e3d;font-size:11px}.split-line{height:7px;display:flex;border-radius:6px;overflow:hidden;background:#edf0ed}.split-line span{display:block;background:#63957b}.split-line i{display:block;background:#c4d6ca}.distribution-figures{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.distribution-figures>div{display:flex;flex-direction:column;gap:4px}.distribution-figures small{font-size:9px;color:#88948b}.distribution-figures b{font:700 14px Manrope,Arial,sans-serif;color:#30483a}.distribution-figures span{font-size:9px;color:#9aa49d}.fine-print{font-size:9px;line-height:1.55;color:#9aa49d;margin:13px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 12px}.section-heading .muted{font-size:10px;color:#89948c}.properties-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.property-card{padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.property-top{display:flex;justify-content:space-between;align-items:center}.property-symbol{height:29px;width:29px;display:grid;place-items:center;border-radius:8px;background:#edf3ef;color:#39715a;font:700 10px Manrope,Arial,sans-serif}.status{display:inline-flex;align-items:center;border-radius:20px;padding:4px 8px;font-size:9px;font-weight:600;white-space:nowrap}.status.neutral{background:#f0f3f0;color:#758279}.status.confirmed{background:#e7f3ea;color:#39794f}.status.review{background:#fff2dc;color:#a56b20}.status.rejected,.status.disputed{background:#fbe9e6;color:#a94c3d}.status.open{background:#fff2dc;color:#a56b20}.status.paid{background:#e7f3ea;color:#39794f}.property-name{font:700 14px Manrope,Arial,sans-serif;margin-top:11px}.property-location{font-size:9px;color:#9aa49d;margin-top:4px}.property-capital{font:700 17px Manrope,Arial,sans-serif;margin-top:16px}.property-capital small{font-size:9px;font-weight:500;color:#87948a}.property-stats{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:12px;padding-top:10px;color:#9aa49d;font-size:9px}.property-stats b{display:block;color:#58675d;font-size:10px;margin-top:4px}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:2px}.lower-grid .panel{min-height:150px}.task-list{margin-top:12px}.task-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #f0f2f0}.task-row:last-child{border:0}.check-button{width:16px;height:16px;border:1px solid #cbd5cd;border-radius:5px;background:#fff;color:white;padding:0;font-size:10px}.task-done .check-button{background:#548a6d;border-color:#548a6d}.task-title{flex:1;font-size:10px;color:#58675d}.task-done .task-title{text-decoration:line-through;color:#aab3ac}.task-due{font-size:9px;color:#9ba49e}.source-row{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #f0f2f0}.source-row:last-child{border:0}.source-logo{height:26px;width:26px;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;color:#4f8c6b;font-weight:700;font-size:12px}.source-logo.gmail{color:#b7644b}.source-row>span:nth-child(2){flex:1}.source-row b,.source-row small{display:block}.source-row b{font-size:10px}.source-row small{font-size:9px;color:#9aa49d;margin-top:4px}.status-dot{width:7px;height:7px;border-radius:50%;background:#6fbb8b}.status-dot.off{background:#d6a750}.notice{display:flex;align-items:flex-start;gap:11px;border-radius:10px;padding:12px 14px;margin-bottom:13px}.notice-icon{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-size:11px;font-weight:700}.notice b{font-size:10px}.notice p{font-size:9px;margin:4px 0 0;line-height:1.5}.notice-amber{background:#fff7e9;border:1px solid #f2e3c5;color:#765623}.notice-amber .notice-icon{background:#f0d8aa;color:#806025}.notice-blue{background:#edf5f7;border:1px solid #dcebee;color:#3d6470}.notice-blue .notice-icon{background:#d7e9ec;color:#47747e}.notice .text-button{margin-left:auto;white-space:nowrap}.notice.compact{margin:16px 0 0}.page-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}.page-tools .eyebrow{color:#a0aaa4}.page-tools p{font-size:10px;color:#87938a;margin:6px 0 0}.button{border-radius:8px;padding:9px 13px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:7px;justify-content:center;transition:background .15s,border .15s}.button.primary{border:1px solid #245c4b;background:#245c4b;color:white}.button.primary:hover{background:#174938}.button.secondary{border:1px solid #dce4dd;background:white;color:#42584a}.button.secondary:hover{background:#f4f7f4}.button.dark{border:1px solid #17251f;background:#17251f;color:#fff}.button:disabled{opacity:.55;cursor:wait}.button span{font-size:14px}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.table-toolbar b{font-size:12px}.subtle{display:block;font-size:9px;color:#9aa49d;margin-top:5px}.search-box{height:33px;width:min(250px,100%);display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:7px;padding:0 9px;color:#88958c}.search-box input{border:0;outline:none;width:100%;font-size:10px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;min-width:680px}th{text-align:left;color:#9aa49d;font-size:8px;text-transform:uppercase;letter-spacing:.8px;font-weight:700;padding:9px;border-bottom:1px solid var(--line)}td{padding:11px 9px;border-bottom:1px solid #f0f2f0;font-size:10px;color:#59675e;vertical-align:middle}td b{display:block;color:#37463c;font-size:10px}td small{display:block;color:#9aa49d;font-size:9px;margin-top:4px}.date-cell{white-space:nowrap}.amount-cell{white-space:nowrap;font-weight:600;color:#405147}.amount-cell small{display:inline;color:#9aa49d}.source-ref{color:#9b7637!important}.empty-cell{text-align:center;color:#a0aaa4;padding:26px}.panel>.notice{margin-top:15px}.bill-list{margin-top:12px}.bill-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #eff2ef}.bill-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#f2f5f2;color:#688571}.bill-main{flex:1;min-width:0}.bill-title{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700}.bill-main p{font-size:9px;color:#66746a;margin:5px 0}.bill-main small{font-size:9px;color:#a0aaa4}.bill-amount{text-align:right;font-size:11px;font-weight:700;white-space:nowrap}.bill-amount .text-button{display:block;margin:4px 0 0 auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:34px 12px;color:#849188}.empty-state>span{height:31px;width:31px;border-radius:50%;background:#edf3ef;display:grid;place-items:center;color:#4e8364}.empty-state b{font-size:11px;color:#536258}.empty-state small{font-size:9px}.ai-panel{margin-top:15px}.ai-panel>p{font-size:10px;color:#8d9990}.field-label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:600;color:#5e6d63;margin-top:13px}.field-label input,.field-label select,.field-label textarea{width:100%;padding:9px 10px;border:1px solid #dfe6e0;border-radius:7px;background:white;color:#27382e;font-size:11px;outline:none}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:#79a98b;box-shadow:0 0 0 3px #76ad8921}.field-label textarea{resize:vertical;line-height:1.5}.ai-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:11px}.ai-bottom>span{font-size:9px;color:#9aa49d}.ai-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;margin-top:13px;border:1px solid #dce9df;background:#f6faf7;border-radius:8px}.ai-result>div{display:grid;gap:5px}.ai-result b{font-size:11px}.ai-result small{font-size:9px;color:#78857c}.connections-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.connection-card{display:flex;gap:12px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:11px}.connection-symbol{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;color:#54866a;font-weight:700}.connection-symbol.gmail{color:#b9604b}.connection-symbol.ai{color:#765d99}.connection-copy{flex:1}.connection-title{display:flex;align-items:center;justify-content:space-between;gap:6px}.connection-title b{font-size:11px}.connection-copy p{font-size:9px;line-height:1.5;color:#718076;margin:8px 0 5px}.connection-copy small{font-size:8px;line-height:1.5;color:#a0aaa4}.source-history{margin-top:15px}.source-history>p{font-size:10px;line-height:1.6;color:#728076}.source-meta{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:10px 0;margin:11px 0 13px;font-size:9px;color:#909b92}.source-meta b{color:#5f6d62}.settings-panel,.investment-panel{max-width:900px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 15px;margin:8px 0 16px}.confirm-terms{display:flex;align-items:center;gap:8px;font-size:10px;color:#58675d;margin-top:16px}.confirm-terms input{accent-color:#367459}.form-actions{display:flex;gap:8px;margin-top:18px}.capital-list{margin-top:12px}.capital-list>div{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #f0f2f0;font-size:10px;color:#58675d}.capital-list small{display:block;color:#9aa49d;font-size:9px;margin-top:3px}.capital-list b{font-size:11px}.capital-total{border:0!important;border-top:1px solid #dce4dd!important;font-weight:700;color:#34473b!important}.reports-list{display:grid;gap:9px}.report-card{width:100%;display:flex;align-items:center;gap:12px;padding:15px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--ink)}.report-card:hover{border-color:#9bb9a5}.report-icon{height:33px;width:33px;display:grid;place-items:center;border-radius:9px;background:#edf4ef;color:#43785c}.report-card>span:nth-child(2){flex:1}.report-card b,.report-card small{display:block}.report-card b{font-size:11px}.report-card small{margin-top:4px;font-size:9px;color:#98a29b}.report-arrow{color:#7e9787}.report-toolbar{display:flex;justify-content:space-between;margin-bottom:12px}.report-paper{max-width:940px;margin:0 auto;background:#fff;padding:35px 42px;border:1px solid #e5eae5;border-radius:4px;box-shadow:0 5px 24px #1a352010}.report-brand{display:flex;align-items:center;gap:10px;font:700 12px Manrope,Arial,sans-serif;letter-spacing:1px}.report-brand small{display:block;font:500 8px 'DM Sans',Arial,sans-serif;color:#9aa49d;margin-top:4px}.report-status{margin-top:28px;font-size:8px;letter-spacing:1.3px;color:#ac762d;font-weight:700}.report-paper h2{font:700 25px Manrope,Arial,sans-serif;letter-spacing:-.8px;margin:9px 0}.report-period{font-size:12px;color:#6f7e73}.report-generated{font-size:9px;color:#a0aaa4;margin-top:-5px}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:24px 0}.report-kpis>div{padding:12px;background:#f6f8f6;border-radius:8px}.report-kpis small,.report-kpis b{display:block}.report-kpis small{font-size:8px;color:#8c9990}.report-kpis b{font:700 13px Manrope,Arial,sans-serif;margin-top:8px}.report-paper h3{font:700 12px Manrope,Arial,sans-serif;margin:23px 0 8px}.report-lines>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:9px;color:#6f7e73}.report-lines b{color:#33463a;white-space:nowrap}.report-questions{padding-left:18px;font-size:9px;line-height:1.8;color:#78857c}.report-signoff{display:flex;justify-content:space-between;gap:15px;margin-top:35px;font-size:10px;color:#6c796f}.report-footnote{border-top:1px solid var(--line);padding-top:10px;font-size:8px;line-height:1.55;color:#9aa49d}.modal-form{padding:22px;width:min(460px,calc(100vw - 30px));max-height:85vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.modal-head .eyebrow{color:#9aa49d}.modal-head h2{font:700 18px Manrope,Arial,sans-serif;margin:5px 0 0}.close-button{border:0;background:#f2f5f2;font-size:20px}dialog{border:1px solid #e1e8e2;border-radius:13px;padding:0;box-shadow:0 20px 70px #10241f36}dialog::backdrop{background:#10241f71;backdrop-filter:blur(2px)}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-form .form-actions{margin-top:20px}#toast{position:fixed;z-index:10;bottom:20px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#163d30;color:#fff;border-radius:8px;padding:11px 15px;font-size:11px;box-shadow:0 6px 20px #12261f28;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.bad{background:#8f4036}.muted{font-size:10px;color:#919d94}
@media(max-width:1100px){.sidebar{width:205px}.main{margin-left:205px}.page-content{padding-inline:25px}.topbar{padding-inline:25px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.properties-grid{gap:9px}.property-card{padding:13px}.chart{height:130px}}
@media(max-width:720px){.sidebar{position:fixed;inset:auto 0 0;width:auto;height:64px;padding:5px 8px;background:#10241f}.brand,.side-label,.side-bottom{display:none}.sidebar nav{height:100%;display:flex;justify-content:space-around;gap:2px}.nav-item{width:auto;min-width:45px;flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:center;padding:6px 2px;font-size:8px;border-radius:7px}.nav-icon{font-size:15px}.nav-count{position:absolute;margin:0 0 17px 22px;padding:1px 4px}.main{margin-left:0;padding-bottom:64px}.topbar{height:78px;padding:14px 16px}.topbar h1{font-size:19px}.topbar .eyebrow{font-size:8px}.owner-chip{display:none}.page-content{padding:16px 13px 25px}.footer{padding:10px 14px;font-size:8px;gap:8px}.metrics-grid{gap:8px}.metric{padding:13px;min-height:105px}.metric strong{font-size:17px}.metric-top{font-size:9px}.metric p{font-size:8px}.dashboard-grid{gap:8px;margin-top:9px}.panel{padding:15px;margin-bottom:9px}.panel-heading h2,.section-heading h2{font-size:13px}.chart{height:115px;gap:3px}.chart-labels{gap:3px}.chart-foot{font-size:8px;flex-wrap:wrap}.properties-grid{grid-template-columns:1fr;gap:8px}.property-card{padding:13px}.property-capital{margin-top:10px}.property-stats{margin-top:9px;padding-top:8px}.lower-grid{grid-template-columns:1fr;gap:4px}.section-heading{margin:18px 0 9px}.section-heading .muted{display:none}.period-strip{gap:6px;font-size:9px;flex-wrap:wrap;height:auto;min-height:38px;margin-bottom:9px}.period-strip>b{font-size:9px}.sync-mark{display:none}.page-tools{align-items:flex-start}.page-tools p{max-width:230px;line-height:1.5}.button{font-size:9px;padding:8px 10px}.table-toolbar{align-items:flex-start;flex-direction:column}.search-box{width:100%}.connections-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.settings-panel,.investment-panel{padding:15px}.report-paper{padding:22px 15px}.report-kpis{grid-template-columns:repeat(2,1fr)}.report-kpis b{font-size:11px}.report-signoff{flex-direction:column}.report-toolbar{position:sticky;top:0;background:#f5f7f5;padding:5px 0;z-index:2}.bill-row{gap:8px}.bill-amount{font-size:9px}.bill-title{font-size:10px;flex-wrap:wrap}.ai-bottom{align-items:flex-start;flex-direction:column}.notice{padding:10px;gap:8px}.notice .text-button{font-size:9px}.report-card{padding:11px;gap:8px}.report-card b{font-size:9px}}
@media print{body{background:#fff}.sidebar,.topbar,.footer,.report-toolbar,#toast{display:none!important}.main{margin:0}.page-content{max-width:none;padding:0}.report-paper{max-width:none;border:0;box-shadow:none;padding:0}.report-status{color:#9b681c}table{min-width:0}th,td{padding:6px;font-size:8px}.report-paper h2{font-size:20px}.report-kpis{break-inside:avoid}.report-paper h3{break-after:avoid}.report-signoff{break-inside:avoid}}
.bank-row-list{display:grid;gap:12px}.bank-row{display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(310px,1fr);align-items:start;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.bank-row:last-child{border-bottom:0}.bank-row-main{display:grid;gap:6px}.bank-row-main b{font-size:13px}.bank-row-main small{font-size:10px;color:var(--muted)}.bank-row>strong{white-space:nowrap;font-size:13px}.bank-row-actions{display:grid;gap:8px}.bank-row-actions .form-two{gap:8px}.bank-row-actions .field-label{font-size:10px}.bank-row-actions .button{justify-self:start}.bank-row-actions textarea,.bank-row-actions input,.bank-row-actions select{width:100%}.source-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.source-row>div{display:grid;gap:5px}.source-row small{font-size:10px;color:var(--muted)}
@media(max-width:720px){.bank-row{grid-template-columns:1fr auto;gap:8px}.bank-row-actions{grid-column:1/-1}.bank-row-main b{font-size:11px}.source-row{align-items:flex-start;flex-direction:column}.bank-row-actions .form-two{grid-template-columns:1fr}}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 20% 15%,#e6f0e9,transparent 38%),#f5f7f5}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 18px 55px #10241f12}.auth-card>.brand-mark{margin-bottom:25px}.auth-card h1{font:700 26px Manrope,Arial,sans-serif;letter-spacing:-.7px;margin:7px 0}.auth-card>p{font-size:12px;line-height:1.65;color:#78857c;margin:10px 0 18px}.auth-submit{width:100%;margin-top:20px;min-height:40px}.auth-hint{display:block;margin-top:13px;font-size:10px;line-height:1.55;color:#89968d}.auth-error{padding:10px 12px;border-radius:8px;background:#fbe9e6;color:#984739;font-size:11px;margin:14px 0}.local-note{display:flex;align-items:center;gap:9px;margin-top:22px;padding-top:15px;border-top:1px solid var(--line);font-size:10px;color:#758279}.local-note .pulse{width:6px;height:6px}.page-content form:not(#password-form) :disabled{opacity:.7}.owner-read-only [data-manager-only]{display:none!important}
@media(max-width:720px){.auth-card{padding:25px 20px}.auth-card h1{font-size:22px}}

@page { size: A4; margin: 12mm 11mm 14mm; }
@media print {
  body { background: #fff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .sidebar, .topbar, .footer, .report-toolbar, #toast { display: none !important; }
  .main { margin: 0; }
  .page-content { width: 100%; max-width: none; padding: 0; }
  .report-paper { width: 100%; max-width: none; margin: 0; padding: 0; border: 0; box-shadow: none; overflow: visible; }
  .report-brand, .report-status, .report-period, .report-generated, .report-kpis, .report-lines, .report-questions, .report-signoff, .report-footnote { break-inside: avoid-page; page-break-inside: avoid; }
  .report-paper h3 { break-after: avoid-page; page-break-after: avoid; }
  .table-wrap { overflow: visible; }
  table { width: 100%; min-width: 0; border-collapse: collapse; }
  thead { display: table-header-group; }
  tr { break-inside: avoid; page-break-inside: avoid; }
  th, td { padding: 5px; font-size: 8px; overflow-wrap: anywhere; }
}

:focus-visible { outline: 3px solid #6daa83; outline-offset: 3px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { border-color: #4c8a69; box-shadow: 0 0 0 3px #6daa8326; }
.metric{width:100%;text-align:left;color:var(--ink);font:inherit;cursor:pointer;transition:transform .15s,border-color .15s}.metric:hover{transform:translateY(-1px);border-color:#a9c2ae}.metric-accent{color:#fff}.metric-note{display:block;font-size:9px;color:#95a098;margin:8px 0 0}.metric-accent .metric-note{color:#aec4b5}.metric-top i{font-size:9px}.bar-group{border:0;background:transparent;padding:0;cursor:pointer}.bar-group:hover,.bar-group.selected{background:#edf4ef;border-radius:6px}.bar-group:focus-visible{outline-offset:2px}.chart-labels button{flex:1;border:0;background:transparent;padding:2px;text-align:center;text-transform:uppercase;color:#9ba59e;font-size:8px}.chart-labels button:hover{color:#37715c}.dashboard-detail{scroll-margin:16px}.metric-detail-shortcuts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:0 4px 8px}.metric-detail-shortcuts .text-button{font-size:10px}.property-stats button{display:block;text-align:left;color:#89948c;font-size:9px}.property-stats button b{font-size:10px}.bill-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.bill-actions .text-button{padding:2px 0}.bill-row.tenant-bill{background:#fbfcfb}.tenant-bill .bill-icon{background:#f0f2f0;color:#858f88}.report-finalize-controls{max-width:940px;margin:0 auto}.report-property-total{font-weight:700}.report-paper table{table-layout:auto}.report-paper td small{line-height:1.4}.report-paper .report-questions{overflow-wrap:anywhere}
@media(max-width:720px){.metric-detail-shortcuts{justify-content:flex-start}.metric-detail-shortcuts .text-button{text-align:left}.bar-group{min-width:0}.chart-labels button{font-size:7px}.bill-actions{gap:4px}.bill-actions .text-button{font-size:9px}.report-paper .table-wrap{overflow-x:auto}}
@media print{.report-finalize-controls{display:none!important}.report-paper{font-size:9pt;color:#17251f}.report-paper h3{margin-top:15px;padding-bottom:4px;border-bottom:1px solid #dce4dd}.report-paper .report-footnote{color:#66746a}.report-paper .report-generated{color:#66746a}.report-paper .status,.report-paper button{display:none!important}.report-paper td,.report-paper th{vertical-align:top}.report-paper .report-kpis>div{border:1px solid #e4e9e5}.report-paper table{break-inside:auto}.report-paper tr{break-inside:avoid;page-break-inside:avoid}}
.snapshot-capital{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:10px;background:#f2f6f2;color:#66746b;font-size:12px}.snapshot-capital b{font:700 19px Manrope,Arial,sans-serif;color:#24372b}.snapshot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:8px 4px}.snapshot-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:11px 0;border-bottom:1px solid #eef1ee;font-size:11px}.snapshot-list>div>b{font-size:13px;color:#34473a}.snapshot-list>div>b small{font-size:9px;font-weight:500;color:#849087}.snapshot-list>div>small{grid-column:1/-1;color:#909b93;font-size:9px}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

.lease-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lease-card h3{font:700 12px Manrope,Arial,sans-serif;margin:19px 0 8px;color:#405548}.lease-card>p{font-size:11px;color:#78867d}.lease-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:17px}.lease-form label,.rent-schedule-form label{display:grid;gap:6px;font-size:10px;color:#69776e}.lease-form input,.lease-form select,.rent-schedule-form input,.rent-allocation-form input,.rent-allocation-form select{min-width:0;width:100%;border:1px solid #dfe6e1;border-radius:8px;padding:9px;background:#fff;color:#25392e;font-size:11px}.lease-form .button{align-self:end}.rent-installment{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px 12px;align-items:center;border-top:1px solid #eef1ee;padding:11px 0}.rent-installment small{display:block;color:#929d95;font-size:9px;margin-top:5px}.rent-installment .rent-allocation-form{grid-column:1/-1}.rent-allocation-form,.rent-schedule-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.rent-allocation-form select{flex:1 1 260px}.rent-allocation-form input{width:120px}.rent-schedule-form{border-top:1px solid #eef1ee;padding-top:12px;margin-top:8px}.rent-schedule-form label{flex:1 1 150px}.rent-schedule-form .button{white-space:nowrap}@media(max-width:900px){.lease-grid{grid-template-columns:1fr}.lease-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.lease-form{grid-template-columns:1fr}.rent-installment{grid-template-columns:1fr}.rent-installment .status{justify-self:start}.rent-installment .rent-allocation-form{grid-column:1}.rent-allocation-form select,.rent-allocation-form input,.rent-allocation-form button{width:100%;flex-basis:100%}}

[hidden] { display: none !important; }

@media screen and (max-width: 720px) {
  .sidebar nav { justify-content: flex-start; overflow-x: auto; }
  .report-paper table { min-width: 0; }
  .report-paper th,
  .report-paper td { padding-inline: 4px; overflow-wrap: anywhere; white-space: normal; }
  .report-paper th:last-child:empty,
  .report-paper td:last-child:empty { display: none; }
}

@media print {
  .app-shell, .main, .page-content { background: #fff; min-height: 0; }
  .skip-link { display: none; }
  .report-paper th:last-child:empty,
  .report-paper td:last-child:empty { display: none; }
}

@media screen {
  :root {
    font-family: system-ui, "Segoe UI", sans-serif;
    font-size: 100%;
    line-height: 1.5;
    background: #f5f3ed;
    --ink: #182f2a;
    --muted: #475d56;
    --line: #d9dfd7;
    --green: #205747;
    --surface: #fff;
    --rail: #142e28;
    --focus: #0c6d98;
  }
  body { min-width: 0; color: var(--ink); }
  :focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
  #page-title:focus, #dashboard-detail:focus { outline: 3px solid var(--focus); outline-offset: 4px; }
  .skip-link {
    position: fixed; top: 8px; left: 8px; z-index: 8;
    padding: 12px 18px; background: #fff; color: var(--green);
    transform: translateY(-150%);
  }
  .skip-link:focus { transform: none; }

  .app-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); }
  .sidebar {
    position: sticky; inset: 0 auto auto; align-self: start;
    width: auto; height: 100dvh; overflow-y: auto;
    background: var(--rail); padding: 24px 14px 16px;
  }
  .sidebar :focus-visible { outline-color: #f2cb86; outline-offset: -3px; }
  .brand {
    display: flex; min-height: 56px; padding: 8px; margin-bottom: 24px;
    font: 700 1.25rem/1.2 system-ui, sans-serif; letter-spacing: -.035em;
  }
  .brand-mark { width: 44px; height: 44px; flex: 0 0 auto; background: #dcece0; }
  .brand small { color: #bed4c8; font: 500 .875rem/1.3 system-ui, sans-serif; letter-spacing: 0; text-transform: none; }
  .eyebrow, .topbar .eyebrow, .panel-heading .eyebrow, .page-tools .eyebrow, .modal-head .eyebrow {
    font-size: .8125rem; letter-spacing: .09em; font-weight: 750; color: var(--muted);
  }
  .side-label { display: block; color: #bed4c8; font-size: .8125rem; }
  .sidebar nav { display: grid; gap: 5px; padding: 2px; height: auto; overflow: visible; }
  .nav-group { display: grid; gap: 5px; }
  .nav-more { display: none; }
  .nav-item {
    position: relative; width: 100%; min-height: 48px; min-width: 0;
    flex-direction: row; justify-content: flex-start; gap: 10px; padding: 9px 11px;
    color: #e0ece5; font-size: 1rem; line-height: 1.25; text-align: left;
  }
  .nav-item.active { background: #315b4d; box-shadow: inset 4px 0 #e9c680; }
  .nav-icon { flex: 0 0 20px; font-size: 1.2rem; color: #c0dbcc; }
  .nav-count { position: static; margin: 0 0 0 auto; font-size: .8125rem; }
  .side-bottom { padding-top: 24px; }
  .local-chip, .backup-link { font-size: .9375rem; color: #e0ece5; }
  .local-chip small { color: #bed4c8; font-size: .875rem; }
  .backup-link { min-height: 48px; padding: 12px 8px; gap: 6px; text-decoration: underline; text-underline-offset: .2em; }

  .main { margin: 0; padding: 0; }
  .topbar {
    min-height: 105px; height: auto; padding: 20px clamp(18px, 3vw, 46px);
    gap: 18px; flex-wrap: wrap; background: #fffdf8;
  }
  .topbar h1 { font: 720 clamp(1.875rem, 4vw, 2.65rem)/1.12 system-ui, sans-serif; letter-spacing: -.045em; }
  .top-actions { gap: 8px; flex-wrap: wrap; }
  .owner-chip { display: flex; margin-right: 10px; }
  .owner-chip b { font-size: 1rem; }
  .owner-chip small { font-size: .875rem; }
  .avatar { width: 40px; height: 40px; font-size: 1rem; }
  .page-content { padding: 24px clamp(16px, 3vw, 46px) 36px; }
  .footer { padding: 14px clamp(16px, 3vw, 46px); gap: 8px 24px; flex-wrap: wrap; font-size: .875rem; color: var(--muted); }
  .period-strip {
    min-height: 120px; height: auto; padding: 20px clamp(16px, 3vw, 30px);
    justify-content: space-between; flex-wrap: wrap; gap: 10px 18px; margin-bottom: 18px;
    border: 1px solid #ceddd1; border-radius: 18px; background: #e7f0e7; color: var(--ink);
  }
  .period-strip b { display: block; margin-top: 4px; font-size: clamp(1.125rem, 2.25vw, 1.625rem); }
  .period-strip p { margin: 4px 0 0; color: var(--muted); font-size: .9375rem; }

  .button, .text-button, .check-button, .close-button, details > summary {
    min-height: 48px; font-size: 1rem; line-height: 1.3;
  }
  .button { padding: 10px 15px; border-radius: 10px; text-align: center; }
  .button.secondary { border-color: #8b9d92; color: #234d40; }
  .text-button { padding: 8px; color: #205747; text-decoration: underline; text-underline-offset: .18em; }
  .text-button:hover { background: #edf4ee; border-radius: 8px; }
  .button:disabled { opacity: .7; }
  details > summary { padding: 10px 0; cursor: pointer; }
  .check-button, .close-button { min-width: 48px; flex-shrink: 0; }
  .check-button { border-color: #82988a; font-size: 1.25rem; }
  .task-done .check-button { background: var(--green); border-color: var(--green); }
  .field-label { font-size: 1rem; color: var(--ink); }
  .field-label :is(input, select, textarea), .search-box input { font-size: 1rem; min-height: 48px; }
  .field-label :is(input, select, textarea), .search-box { border-color: #8b9d92; }
  .field-label :is(input, select, textarea):focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; box-shadow: none; }
  .confirm-terms input { width: 24px; height: 24px; margin: 0; flex: 0 0 auto; }
  .search-box { height: auto; width: min(100%, 400px); }
  .search-box input:focus-visible { outline-offset: 0; }
  .form-actions, .report-toolbar { flex-wrap: wrap; gap: 8px; }
  .modal-form { width: min(550px, calc(100vw - 28px)); }
  .modal-head { gap: 12px; }
  .modal-head h2 { font: 720 1.4rem/1.2 system-ui, sans-serif; }
  #toast { max-width: calc(100% - 28px); width: max-content; font-size: 1rem; }

  .metrics-grid { gap: 14px; }
  .metric {
    display: flex; flex-direction: column; align-items: flex-start;
    min-width: 0; min-height: 194px; padding: 16px 18px; border-radius: 16px;
    overflow-wrap: anywhere;
  }
  .metric:hover { transform: none; border-color: #527767; box-shadow: 0 5px 18px #173e321a; }
  .metric-accent { color: #fff; background: #205345; border-color: #205345; }
  .metric-top, .metric-note, .metric-link { color: var(--muted); font-size: .9375rem; line-height: 1.35; }
  .metric-top { color: var(--ink); font-size: 1rem; font-weight: 700; }
  .metric strong { margin-top: 10px; font: 750 clamp(1.25rem, 2.5vw, 1.95rem)/1.15 system-ui, sans-serif; letter-spacing: -.035em; white-space: normal; }
  .metric strong small, .distribution-figures b small, .property-capital small { font: 650 .875rem system-ui, sans-serif; color: var(--muted); }
  .metric-note { margin: 6px 0 12px; }
  .metric-link { color: #205747; font-weight: 700; margin-top: auto; text-decoration: underline; text-underline-offset: .2em; }
  .metric-accent :is(.metric-top, .metric-note, .metric-link, strong small) { color: #eef8f0; }

  .dashboard-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 16px; margin-top: 16px; }
  .panel, .property-card { min-width: 0; padding: clamp(15px, 2vw, 24px); border-radius: 16px; margin-bottom: 16px; }
  .panel-heading, .section-heading { flex-wrap: wrap; gap: 8px 12px; }
  .panel-heading h2, .section-heading h2, .property-name { font: 720 1.375rem/1.2 system-ui, sans-serif; letter-spacing: -.025em; }
  .section-heading .muted { display: inline; color: var(--muted); font-size: .9375rem; }
  .property-symbol { width: 44px; height: 44px; font-size: .9375rem; }
  .property-capital { font: 720 1.375rem/1.25 system-ui, sans-serif; }
  .property-stats { justify-content: flex-start; gap: 10px; flex-wrap: wrap; }
  .property-stats b { font-size: .9375rem; }
  .property-location, .metric-note, .task-title, .task-due, .task-done .task-title, .source-row small,
  .fine-print, .subtle, .muted, .page-tools p, .ai-panel > p, .ai-bottom > span, .ai-result small,
  .connection-copy p, .connection-copy small, .source-history > p, .source-meta,
  .bill-main p, .bill-main small, .report-card small, .capital-list small, .confirm-terms {
    color: var(--muted); font-size: .9375rem;
  }
  .task-row { flex-wrap: wrap; }
  .task-title { flex: 1 1 130px; }
  .source-logo { width: 38px; height: 38px; flex: 0 0 auto; font-size: 1rem; }
  .source-row b, .ai-result b, .capital-list b, .capital-list > div, .empty-state b,
  .connection-title b, .bill-title, .bill-amount, .table-toolbar b, .report-card b { font-size: 1rem; }
  .empty-state, .empty-state small { color: var(--muted); font-size: .9375rem; }
  .notice { flex-wrap: wrap; padding: 12px 16px; gap: 10px; }
  .notice > div { flex: 1 1 200px; }
  .notice b { font-size: 1rem; }
  .notice p { font-size: .9375rem; }
  .notice .text-button { font-size: 1rem; white-space: normal; }
  .notice-icon { width: 24px; height: 24px; font-size: .875rem; }
  .status { font-size: .875rem; white-space: normal; line-height: 1.25; padding: 5px 9px; }
  .status.neutral { color: #475d56; }
  .status.confirmed, .status.paid, .status.final { color: #245a40; }
  .status.review, .status.open, .status.partial, .status.draft { color: #754510; }
  .status.rejected, .status.disputed { color: #832f24; }

  .legend { display: flex; flex-wrap: wrap; gap: 5px 12px; color: var(--muted); font-size: .875rem; }
  .legend span { display: inline-flex; align-items: center; gap: 6px; }
  .legend i { width: 10px; height: 10px; margin: 0; }
  .legend-rent, .bar-rent { background: #39775e; }
  .legend-out, .bar-out { background: #a56639; }
  .chart-hint { margin: 12px 0 0; font-size: .9375rem; color: var(--muted); }
  .chart-scroll { overflow-x: auto; }
  .chart-hint span { display: none; }
  .chart { height: 178px; align-items: stretch; gap: 2px; margin: 8px 0 0; padding: 4px; }
  .bar-group {
    display: flex; flex: 1 0 38px; flex-direction: column; gap: 3px;
    align-items: stretch; justify-content: flex-end; padding: 3px; border: 0;
    border-radius: 8px; color: var(--ink); background: transparent;
  }
  .bar-group:focus-visible { outline-offset: -2px; }
  .bar-group:hover, .bar-group.selected { background: #e8f1e9; }
  .bar-track { display: flex; flex: 1; align-items: end; justify-content: center; gap: 3px; border-bottom: 1px solid #a9bbb0; }
  .bar-label { font-size: .875rem; line-height: 1.4; text-align: center; }
  .chart-foot { flex-wrap: wrap; font-size: .875rem; color: var(--muted); }
  .chart-foot b { font-size: 1rem; }
  .positive-text { color: #286447 !important; }
  .warning-text { color: #805016 !important; }
  .rate-badge, .ai-badge { color: #295747; font-size: .875rem; }
  .waterfall > div, .waterfall b, .waterfall-total b { font-size: .9375rem; color: var(--muted); }
  .waterfall b, .distribution-figures b { color: var(--ink); }
  .distribution-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .distribution-figures small, .distribution-figures span { font-size: .875rem; color: var(--muted); }
  .distribution-figures b { font: 700 1.125rem system-ui, sans-serif; }

  .table-wrap { border-radius: 8px; }
  table { min-width: 700px; }
  th { font-size: .8125rem; color: #344f45; background: #edf2eb; }
  td, td b { font-size: .9375rem; color: var(--ink); }
  td small, .amount-cell small { font-size: .875rem; color: var(--muted); }
  .source-ref { color: #734e18 !important; }
  tbody tr:nth-child(even) { background: #f8faf7; }
  .lease-card h3, .bank-row-main b { font-size: 1.125rem; }
  .lease-card p, .lease-card li, .lease-stats small, .lease-stats b,
  .bank-row-main small, .bank-row-amount, .bank-row-actions, .snapshot-capital { font-size: .9375rem; }
  .lease-grid, .connections-grid, .lower-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .connection-copy, .bank-row-main { min-width: 0; overflow-wrap: anywhere; }
  .connection-title { flex-wrap: wrap; }
  .report-card { min-height: 64px; padding: 12px 16px; }
  .report-toolbar { position: static; }
  .report-paper h2 { font-size: 1.625rem; }
  .report-paper h3 { font-size: 1.125rem; }
  .report-paper table { min-width: 600px; }
  .report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-kpis b { font-size: 1.125rem; overflow-wrap: anywhere; }
  .report-paper :is(.report-period, .report-generated, .report-kpis small, .report-lines > div,
    .report-questions, .report-signoff, .report-footnote, .report-status, .report-brand small) {
    font-size: .9375rem; color: var(--muted);
  }
  .report-lines > div { flex-wrap: wrap; }

  .auth-screen { min-height: 100dvh; background: radial-gradient(ellipse at 20% 0%, #dceae1, transparent 64%), #f5f3ed; }
  .auth-card { width: min(100%, 540px); padding: clamp(20px, 5vw, 40px); border-radius: 22px; }
  .auth-card h1 { font: 750 clamp(1.875rem, 5vw, 2.5rem)/1.1 system-ui, sans-serif; letter-spacing: -.04em; }
  .auth-card p, .auth-hint, .local-note, .auth-error { font-size: 1rem; line-height: 1.5; }
  .auth-card p, .auth-hint, .local-note { color: var(--muted); }
  .auth-card .field-label :is(input, select) { font-size: 1.0625rem; min-height: 50px; }
  .auth-card .auth-submit { min-height: 52px; font-size: 1.0625rem; }
}

@media screen and (max-width: 1280px) {
  .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media screen and (max-width: 1120px) {
  .dashboard-grid { grid-template-columns: minmax(0, 1fr); }
}

@media screen and (max-width: 920px) {
  .app-shell { grid-template-columns: minmax(0, 1fr); }
  .sidebar { position: static; height: auto; overflow: visible; padding: 12px 16px 16px; }
  .brand { margin-bottom: 8px; }
  .side-label, .local-chip { display: none; }
  .nav-group { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .side-bottom { padding-top: 0; }
  .backup-link { min-height: 44px; justify-content: flex-start; }
  .bank-row { grid-template-columns: minmax(0, 1fr) auto; }
  .bank-row-actions { grid-column: 1/-1; }
}

@media screen and (max-width: 600px) {
  .nav-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-more {
    display: flex; justify-content: space-between; align-items: center; min-height: 48px;
    padding: 8px 12px; text-align: left; background: transparent; color: #e0ece5;
    border: 1px solid #77978a; border-radius: 9px; font-size: .9375rem;
  }
  .nav-more::after { content: '+'; font-size: 1.25rem; }
  .nav-more[aria-expanded="true"]::after { content: '−'; }
  .nav-more[aria-expanded="false"] + #nav-secondary { display: none; }
  .properties-grid, .lease-grid, .connections-grid, .lower-grid { grid-template-columns: minmax(0, 1fr); }
  .topbar { gap: 12px; }
  .owner-chip { flex-basis: 100%; }
  .owner-chip .avatar, .owner-chip small { display: none; }
  .page-content { padding-top: 16px; }
  .page-tools, .ai-bottom, .ai-result { flex-direction: column; align-items: flex-start; }
  .page-tools p { max-width: none; }
  .bill-row, .bill-title { flex-wrap: wrap; }
  .bill-main { flex-basis: 190px; }
  .chart-hint span { display: inline; }
  .bar-group { flex-basis: 44px; }
  .report-paper { padding: 18px 14px; }
}

@media screen and (max-width: 420px) {
  .metrics-grid, .form-two, .distribution-figures { grid-template-columns: minmax(0, 1fr); }
  .metric { min-height: 155px; }
  .nav-item { font-size: .9375rem; }
  .bank-row { grid-template-columns: minmax(0, 1fr); }
}

@media screen {
  :root {
    background: #f5f1ea;
    --ink: #1b2b35;
    --muted: #465860;
    --rail: #182b36;
    --line: #dcd7cf;
    --green: #245249;
  }
  .sidebar { border-right: 1px solid #324650; }
  .brand { color: #fffaf0; }
  .brand-mark { background: #f4e4c9; color: #3e3525; }
  .brand small, .side-label, .nav-icon, .local-chip small { color: #c7d7dc; }
  .nav-item { color: #edf3f4; }
  .nav-item:hover { background: #2b4350; }
  .nav-item.active { background: #344d5a; box-shadow: inset 4px 0 #e6b985; }
  .topbar { background: #fffcf7; }
  .topbar h1, .auth-card h1 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    letter-spacing: -.035em;
  }
  .rental-page { display: grid; gap: clamp(22px, 4vw, 40px); }
  .rental-intro { padding: 2px 0 4px; }
  .rental-intro p { font-size: 1.1875rem; margin: 5px 0 18px; }
  .rental-nav { display: flex; flex-wrap: wrap; gap: 8px; }
  .rental-nav a {
    display: inline-flex; align-items: center; justify-content: space-between; gap: 18px;
    min-height: 48px; padding: 8px 14px; border: 1px solid #a6a9a5; border-radius: 8px;
    background: #fffcf7; color: var(--ink); text-underline-offset: .2em; font-weight: 650;
  }
  .rental-nav a:hover { background: #f0e4d3; }
  .rental-property { min-width: 0; border: 1px solid #d7d1c7; background: #fffcf7; border-radius: 20px; overflow: clip; scroll-margin-top: 12px; }
  .rental-property-head { background: #203a46; color: #fffaf0; padding: clamp(19px, 3vw, 32px); border-bottom: 4px solid #c79868; }
  .rental-property-head .eyebrow { display: block; color: #f1d4b3; text-transform: uppercase; }
  .rental-property-head h2 { margin: 6px 0 0; font: 700 clamp(1.8rem, 3.5vw, 2.75rem)/1.12 Georgia, serif; letter-spacing: -.025em; }
  .rental-columns { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
  .rental-block { min-width: 0; padding: clamp(16px, 3vw, 28px); }
  .rental-block h3 { font: 700 1.25rem/1.25 system-ui, sans-serif; margin: 0 0 14px; }
  .rental-aside { min-width: 0; border-left: 1px solid var(--line); background: #f8f4ed; }
  .rental-aside .rental-block + .rental-block { border-top: 1px solid var(--line); }
  .rental-contract { min-width: 0; padding: clamp(13px, 2vw, 20px); border: 1px solid var(--line); border-radius: 12px; background: #fff; }
  .rental-contract + .rental-contract { margin-top: 14px; }
  .rental-contract-head, .rental-amount, .rental-receipts li { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 6px 12px; }
  .rental-contract-head h4 { margin: 0; font-size: 1.125rem; overflow-wrap: anywhere; }
  .rental-contract-head p { margin: 4px 0 0; color: var(--muted); font-size: .9375rem; }
  .rental-amount { align-items: baseline; margin: 14px 0; }
  .rental-amount strong { font-size: 1.375rem; }
  .rental-amount small, .rental-receipts small { font-size: .875rem; }
  .rental-documents, .rental-receipts { list-style: none; padding: 0; margin: 0; }
  .rental-documents li + li, .rental-receipts li + li { margin-top: 6px; }
  .rental-documents a {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px;
    min-height: 48px; padding: 8px 10px; border-radius: 8px; background: #f3f5f4;
    color: #234c4b; font-weight: 700; text-underline-offset: .2em;
  }
  .rental-documents a:hover { background: #e4eeea; }
  .rental-doc-format { padding: 3px 5px; border-radius: 4px; background: #e4dfd6; color: #4b4032; font-size: .75rem; }
  .rental-details { border-top: 1px solid var(--line); margin-top: 10px; }
  .rental-details summary, .rental-create summary { font-weight: 700; color: var(--ink); }
  .rental-count { padding: 1px 7px; background: #ebe6dd; border-radius: 1em; }
  .rental-receipts li { padding: 7px 0; border-bottom: 1px solid var(--line); }
  .rental-receipts time { color: var(--muted); }
  .rental-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .rental-gallery a { display: block; overflow: hidden; border-radius: 8px; background: #e5e5df; }
  .rental-gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
  .rental-page :is(.lease-form, .rent-schedule-form, .rent-allocation-form) { flex-wrap: wrap; }
  .rental-page :is(.lease-form, .rent-schedule-form, .rent-allocation-form) :is(label, input, select) { font-size: 1rem; min-width: 0; max-width: 100%; }
  .rental-page :is(.lease-form, .rent-schedule-form, .rent-allocation-form) :is(input, select) { min-height: 48px; }
  .rental-page .rent-installment { flex-wrap: wrap; gap: 8px; }
  .rental-page .rent-installment small { font-size: .9375rem; color: var(--muted); }
}

@media screen and (max-width: 780px) {
  .rental-columns { grid-template-columns: minmax(0, 1fr); }
  .rental-aside { border-left: 0; border-top: 1px solid var(--line); }
  .rental-nav a { flex: 1 1 180px; }
}
