@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;700;800&display=swap');
body.light{color-scheme:light;--bg:#f6f8fa;--panel:#fff;--text:#202f36;--muted:#667780;--border:#e8edef}
body:not(.light){--bg:#131c20;--panel:#1b272d;--text:#e6eef0;--muted:#96a8af;--border:#2c3a41}
.real-app{font:14px 'DM Sans',system-ui,sans-serif;display:block}.real-app aside{position:fixed;inset:0 auto 0 0;width:238px;padding:32px 20px 20px;background:var(--panel);display:flex;flex-direction:column;overflow-y:auto;z-index:10}.real-app .brand{font:800 26px Manrope,system-ui;display:flex;gap:9px;align-items:center;letter-spacing:-1.3px;padding:0 10px}.brandmark{background:var(--accent);color:#252614;border-radius:10px;padding:5px;display:grid;place-items:center}.real-app svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.workspace{margin:33px 3px 27px;border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;gap:10px;align-items:center}.workspace>span{background:#ffd23f25;color:var(--text);padding:8px;border-radius:8px}.workspace strong{font-size:12px}.workspace small{display:block;font-size:11px}.real-app .nav-label{font-size:10px;letter-spacing:1.5px;margin:0 14px 12px}.real-app nav{margin:0;display:grid;gap:5px}.real-app nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;font-weight:500;color:var(--muted);border-radius:8px}.real-app nav a:hover{background:var(--bg);color:var(--text)}.real-app nav a[aria-current]{background:#ffd23f25;color:var(--text);font-weight:700;box-shadow:inset 3px 0 var(--accent)}.sidebar-footer{margin-top:auto;padding:25px 10px 0;font-size:12px}.sidebar-footer a{display:block;margin:12px 0}.real-app main{margin-left:238px;width:calc(100% - 238px);padding:0}.real-topbar{min-height:79px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:14px 36px;background:var(--panel);gap:14px}.breadcrumb{font-size:12px}.breadcrumb a{text-decoration:none}.shell-actions{display:flex;align-items:center;gap:12px}.shell-actions select{border:0;background:transparent;width:auto;padding:5px;font-size:12px}.shell-actions button{padding:7px;display:grid;place-items:center}.mode-switch{display:flex;border:1px solid var(--border);border-radius:7px;background:var(--bg);padding:3px;white-space:nowrap;font-size:11px}.mode-switch a,.mode-switch span{padding:7px 10px;text-decoration:none}.mode-switch span{background:var(--panel);border-radius:4px;font-weight:700}.real-app main>.card{max-width:1400px;margin:0 auto;padding:32px 36px;background:transparent;border:0;border-radius:0;box-shadow:none}.real-app h1{font:800 28px Manrope,system-ui;margin:12px 0 8px}.real-app h2{font:700 19px Manrope,system-ui}.real-app h3{font:700 16px Manrope,system-ui}.real-app #intro{font-size:13px;margin-bottom:26px}.real-app .tag{font-size:10px;color:var(--muted)}.real-app #account,.real-app #recovery,.real-app form#property-form,.real-app #room-area{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:25px;max-width:760px;margin:20px 0}.real-app label{font-size:13px}.real-app input,.real-app select{font-size:14px}.real-app .primary{width:auto;min-width:180px;font-size:13px}.real-app #account form{max-width:550px}.real-app #real-properties>hr,.real-app #real-properties>h2{display:none}.real-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.real-stats>div{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:23px}.real-stats strong{display:block;font:800 30px Manrope,system-ui;margin-top:14px}.real-welcome{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px}.shell-primary{display:inline-block;background:var(--accent);color:#252614;font-weight:700;padding:12px 18px;border-radius:8px;text-decoration:none;margin:12px 0}.real-tree{display:flex;align-items:center;gap:25px;padding:25px;background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:25px}.real-node{flex:1;border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;background:var(--bg);min-width:0}.real-node:hover{border-color:var(--accent)}.real-node>div:not(.node-art){padding:18px}.real-node h3{overflow-wrap:anywhere}.real-node p{color:var(--muted);font-size:13px}.real-node span{font-size:12px;font-weight:700}.node-art{height:130px;background:linear-gradient(135deg,#ffd23f25,#ffd23f08);display:grid;place-items:center}.real-app .node-art svg{width:52px;height:52px;color:var(--text)}.tree-arrow{color:var(--accent);font-size:32px}.real-app .note{line-height:1.7;font-size:12px}
@media(max-width:850px){.real-app aside{position:static;width:100%;padding:18px}.real-app .workspace,.real-app .nav-label,.real-app .sidebar-footer{display:none}.real-app nav{display:flex;overflow-x:auto;flex-wrap:nowrap;margin-top:18px}.real-app nav a{flex-shrink:0;padding:10px;font-size:12px}.real-app main{margin:0;width:100%}.real-topbar{padding:14px 20px;flex-wrap:wrap}.real-app main>.card{padding:24px 20px}.shell-actions{gap:8px}.real-tree{padding:16px;gap:12px}.real-stats{gap:10px}.real-stats>div{padding:14px}.real-stats strong{font-size:23px}}
@media(max-width:520px){.real-tree{flex-direction:column;align-items:stretch}.tree-arrow{text-align:center;transform:rotate(90deg)}.real-stats{grid-template-columns:1fr}.node-art{height:95px}.real-app #account,.real-app #recovery,.real-app form#property-form,.real-app #room-area{padding:18px}}
.real-app .brand .brandmark{color:#252614}
.money-income,.real-node .money-income{color:#48e597;font-weight:800;text-shadow:0 0 10px #22c55e33}.money-expense{color:#ff7878;font-weight:800}body.light .money-income,body.light .real-node .money-income{color:#087a39;text-shadow:none}body.light .money-expense{color:#bd2020}.real-app #property-rent,.real-app #room-rent{font-weight:800;color:#48e597}body.light.real-app #property-rent,body.light.real-app #room-rent{color:#087a39}.photo-editor{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid var(--border)}.photo-preview{height:260px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg);margin:15px 0}.photo-preview img,.node-art img{height:100%;width:100%;object-fit:cover;display:block}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffd23f25,#ffd23f08);color:var(--muted);gap:10px}.real-app .photo-placeholder svg{width:130px;height:80px}.photo-placeholder small{font-size:11px}.photo-picker{display:block}.photo-picker input{margin-top:8px;font-weight:400}.photo-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.photo-actions .primary{margin-top:0}.photo-editor .error{color:#ff7878}body.light .photo-editor .error{color:#bd2020}.real-tree .node-art{height:180px}.rent-offer{font-size:15px!important}.photo-editor input[type=file]{max-width:100%}@media(max-width:520px){.photo-preview{height:200px}}
/* Photo cards: readable frosted black panel behind the property details. */
.real-node:has(.node-art img){position:relative;isolation:isolate;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end}
.real-tree .real-node:has(.node-art img)>.node-art{position:absolute;inset:0;height:100%;z-index:-1;display:block}
.real-node:has(.node-art img)>.node-art img{width:100%;height:100%;object-fit:cover}
.real-node:has(.node-art img)>div:not(.node-art){position:relative;width:fit-content;max-width:calc(100% - 24px);margin:12px;padding:16px 18px;border:1px solid #ffffff18;border-radius:10px;background:linear-gradient(135deg,rgba(0,0,0,.82),rgba(0,0,0,.66));backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:0 4px 20px #0004;color:#fff}
.real-node:has(.node-art img) h3{margin-top:0;color:#fff}
.real-node:has(.node-art img) p{color:#d7e0e3}
.real-node:has(.node-art img) span{color:#fff}
.real-node:has(.node-art img) .money-income,body.light .real-node:has(.node-art img) .money-income{color:#48e597;font-weight:800;text-shadow:0 0 10px #22c55e33}
@media(max-width:520px){.real-node:has(.node-art img){min-height:300px}}
.real-app .brand .brand-word{color:var(--text)}.real-app .brand .brand-fy{color:var(--accent)}
.real-node .rental-mode-highlight,.real-node:has(.node-art img) .rental-mode-highlight{color:var(--accent);font-size:inherit;font-weight:800;text-shadow:0 0 12px #ffd23f66}

#mortgage-panel{margin-top:32px;padding-top:24px;border-top:1px solid #75838a55}#mortgage-fields{border:0;padding:0;margin:20px 0}#mortgage-fields[hidden]{display:none}.mortgage-filters{display:flex;gap:16px;flex-wrap:wrap}.mortgage-filters label{flex:1;min-width:150px}.mortgage-payment{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid #75838a44}.mortgage-payment>div{flex:1;min-width:180px}.mortgage-payment small{display:block;margin-top:6px}.mortgage-payment button{width:auto}.payment-date-form{flex-basis:100%;display:flex;gap:12px;align-items:end;flex-wrap:wrap}.payment-date-form label{margin:0}.money-expense{color:#ff626b!important;font-weight:800!important}body.light .money-expense{color:#c42432!important}#mortgage-first[readonly]{opacity:.7}
/* Compact section menu: one editor at a time, touch-friendly on phones. */
.housing-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:760px;margin:0 0 20px}.housing-sections[data-kind=room]{grid-template-columns:repeat(2,minmax(0,1fr))}.housing-sections button{min-height:52px;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font-weight:700;cursor:pointer}.housing-sections button[aria-expanded=true]{background:var(--accent);border-color:var(--accent);color:#252614;box-shadow:0 3px 12px #ffd23f22}.housing-sections button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.housing-sections button:disabled{opacity:.45;cursor:not-allowed}.housing-sections svg{flex-shrink:0}.real-app #real-properties>.photo-editor,.real-app #mortgage-panel{max-width:760px;margin:20px 0;padding:25px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.housing-sections[hidden],#real-properties>[hidden]{display:none!important}
@media(max-width:520px){.housing-sections{gap:7px}.housing-sections button{flex-direction:column;gap:6px;min-height:72px;padding:10px 5px;font-size:12px;line-height:1.25}.real-app #real-properties>.photo-editor,.real-app #mortgage-panel{padding:18px}.real-app .mortgage-filters{gap:10px}.real-app .mortgage-filters label{min-width:0;flex-basis:calc(50% - 10px)}.real-app .mortgage-filters label:last-child{flex-basis:100%}.real-app .photo-actions button{width:100%;min-height:44px}.real-app input,.real-app select{min-width:0;max-width:100%;font-size:16px}.real-app .shell-actions select{font-size:12px}}

#expense-panel{max-width:900px;margin:20px 0;padding:25px;background:var(--panel);border:1px solid var(--border);border-radius:12px}#expense-panel[hidden]{display:none!important}#expense-form{margin:20px 0;padding:20px 0;border-block:1px solid var(--border)}.expense-totals{display:flex;flex-wrap:wrap;gap:20px}.housing-sections{grid-template-columns:repeat(4,minmax(0,1fr))}.housing-sections[data-kind=room]{grid-template-columns:repeat(3,minmax(0,1fr))}#expense-panel .mortgage-payment{overflow-wrap:anywhere}#expense-panel .mortgage-payment button{min-height:44px}#expense-list small{line-height:1.7}@media(max-width:520px){.housing-sections,.housing-sections[data-kind=room]{grid-template-columns:repeat(2,minmax(0,1fr))}#expense-panel{padding:18px}.expense-totals{flex-direction:column;gap:8px}}
/* Expense ledger: separate totals, status and labelled details. */
.expense-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.expense-summary>div{display:flex;flex-direction:column;gap:9px;padding:20px;background:var(--bg);border:1px solid var(--border);border-radius:12px}.expense-summary>div>span{font-weight:700}.expense-summary strong{font-size:26px;overflow-wrap:anywhere}.expense-summary small{color:var(--muted)}.expense-entry{padding:20px;margin:14px 0;background:var(--bg);border:1px solid var(--border);border-radius:14px;box-shadow:0 3px 12px #00000009}.expense-entry-head{display:flex;gap:12px;align-items:center}.expense-category-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;background:#ffd23f20;color:var(--accent)}body.light .expense-category-icon{color:#765500}.expense-entry-title{flex:1;min-width:0}.expense-entry-title h4{font-size:16px;margin:0 0 5px;overflow-wrap:anywhere}.expense-entry-title>span{font-size:12px;color:var(--muted)}.expense-entry-amount{font-size:21px;white-space:nowrap}.expense-badge{display:inline-block;margin:15px 0 0;padding:6px 10px;border-radius:7px;font-size:12px;font-weight:700}.expense-badge.pending{background:#ffac3220;color:#ffbf59}.expense-badge.paid{background:#48e59718;color:#48e597}.expense-badge.active{background:#ffd23f20;color:var(--accent)}.expense-badge.stopped{background:#87949f20;color:var(--muted)}body.light .expense-badge.pending{color:#8a5100}body.light .expense-badge.paid{color:#087a39}body.light .expense-badge.active{color:#765500}.expense-entry-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--border)}.expense-entry-details dt{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:12px}.real-app .expense-entry-details svg{width:15px;height:15px}.expense-entry-details dd{margin:7px 0 0;font-size:13px;font-weight:600;overflow-wrap:anywhere}.expense-edit{margin-top:18px;min-height:44px;width:100%;background:var(--panel);font-weight:600}.expense-empty{padding:22px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);line-height:1.7}#expense-rules{padding-top:2px}#expense-panel>h3{border-top:1px solid var(--border);padding-top:26px;margin-top:28px}#expense-panel>.mortgage-filters{padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:12px}
@media(max-width:520px){.expense-summary{gap:8px}.expense-summary>div{padding:13px}.expense-summary strong{font-size:20px}.expense-entry{padding:15px}.expense-entry-head{flex-wrap:wrap;gap:10px}.expense-entry-amount{flex-basis:100%;padding-top:5px;font-size:23px}.expense-entry-details{gap:15px 10px}.expense-entry-title h4{font-size:15px}}
/* Section buttons: hover glow, selected state and keyboard focus. */
.housing-sections button{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
@media(hover:hover){.housing-sections button:not(:disabled):hover{border-color:var(--accent);background:#ffd23f20;box-shadow:0 0 0 1px #ffd23f55,0 0 18px #ffd23f33}.housing-sections button[aria-expanded=true]:hover{background:var(--accent);box-shadow:0 0 0 1px #ffd23f88,0 0 22px #ffd23f55}}
@media(prefers-reduced-motion:reduce){.housing-sections button{transition:none}}
.photo-remove{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;color:#ff7878;border-color:#ff787866;margin-top:12px}.photo-remove[hidden]{display:none}.photo-remove:hover{background:#ff787815;border-color:#ff7878}body.light .photo-remove{color:#bd2020}.real-app .photo-remove svg{width:19px;height:19px}.photo-remove:focus-visible{outline:2px solid currentColor;outline-offset:3px}

#document-panel{max-width:900px;margin:20px 0;padding:25px;background:var(--panel);border:1px solid var(--border);border-radius:12px}#document-panel[hidden]{display:none!important}#document-form{margin:20px 0;padding:20px 0;border-block:1px solid var(--border)}.document-filters{display:flex;gap:14px;margin-top:20px;flex-wrap:wrap}.document-filters label{flex:1;min-width:140px}.document-filters .document-search{flex:3}.document-filename{overflow-wrap:anywhere;font-size:13px;padding-top:15px;border-top:1px solid var(--border);color:var(--muted)}#document-panel mark{background:#ffd23f25;color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}#document-panel .photo-actions button{min-height:44px}.housing-sections{grid-template-columns:repeat(3,minmax(0,1fr))}.housing-sections[data-kind=room]{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:520px){#document-panel{padding:18px}.housing-sections,.housing-sections[data-kind=room]{grid-template-columns:repeat(2,minmax(0,1fr))}.document-filters label{min-width:100%;}.document-filters .document-search{flex-basis:100%}}

#tenant-panel{max-width:1000px}#tenant-panel[hidden]{display:none!important}#tenant-form{max-width:760px;margin:22px 0;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}#tenant-notes{box-sizing:border-box;width:100%;resize:vertical;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;margin:8px 0 18px}.tenant-avatar{width:54px;height:54px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#ffd23f25;color:var(--text);font-size:18px;font-weight:800}.tenant-avatar img{width:100%;height:100%;object-fit:cover}.tenant-avatar-large{width:96px;height:96px;font-size:28px;margin:15px 0}.tenant-card h3{overflow-wrap:anywhere;margin:0}.tenant-card .photo-actions{margin-top:20px}.tenant-card button{min-height:44px}#tenant-panel mark{background:#ffd23f25;color:inherit;text-decoration:underline;text-decoration-color:var(--accent)}.tenant-photo-remove{display:flex;gap:10px;align-items:center}.tenant-photo-remove[hidden]{display:none}.tenant-photo-remove input{width:18px;margin:0}.tenant-card .expense-entry-head{flex-wrap:nowrap;min-width:0}@media(max-width:520px){#tenant-form{padding:18px}#tenant-notes{font-size:16px}.tenant-card .expense-entry-details{grid-template-columns:1fr}.tenant-card .expense-entry-head h3{min-width:0;font-size:16px}}
#lease-panel[hidden],#rent-panel[hidden],#lease-status[hidden]{display:none!important}#lease-panel,#rent-panel{max-width:1050px}.lease-form{margin:24px 0;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.lease-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.lease-form-grid label[hidden]{display:none}.lease-form textarea{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:12px;font:inherit;resize:vertical}.lease-form fieldset{border:1px solid var(--border);border-radius:10px;margin:18px 0;padding:15px}.lease-person-option{display:flex!important;align-items:center;gap:12px;padding:10px;border-radius:8px;background:var(--bg);margin:8px 0!important}.lease-person-option input{width:20px!important;margin:0!important}.lease-person-option .tenant-avatar{width:34px;height:34px;font-size:12px}.lease-notice{border-left:3px solid var(--accent);padding:12px 16px;background:#ffd23f12;line-height:1.6;font-size:13px}.lease-avatars{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.lease-person-chip{display:inline-flex;align-items:center;gap:8px;font-size:13px}.lease-person-chip .tenant-avatar{width:30px;height:30px;font-size:11px}.lease-card h2{font-size:20px;overflow-wrap:anywhere}.lease-disclosure{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}.lease-disclosure summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:var(--accent)}.lease-disclosure summary:before{content:'▸';margin-right:9px}.lease-disclosure[open] summary:before{content:'▾'}.lease-disclosure summary:hover{background:#ffd23f15;box-shadow:0 0 15px #ffd23f20}.lease-disclosure form{max-width:600px;margin-top:18px}.lease-disclosure button{min-height:44px}.money-pending{color:#ffac32!important;font-weight:800!important}body.light .money-pending{color:#a85400!important}body.light .lease-disclosure summary{color:#735400}#lease-new svg{width:20px;height:20px;vertical-align:middle;margin-right:8px}#lease-panel mark,#rent-panel mark{color:inherit;background:#ffd23f25;text-decoration:underline;text-decoration-color:var(--accent)}.rental-connections{display:flex;align-items:center;gap:32px;padding:20px;margin:18px 0 28px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.rental-unit{display:flex;flex-direction:column;gap:8px;min-width:155px;max-width:230px;flex:1;border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none!important;color:var(--text);padding-bottom:14px;background:var(--bg)}.rental-unit>strong,.rental-unit>span{margin:0 12px;overflow-wrap:anywhere}.rental-unit-photo{height:110px;position:relative;overflow:hidden}.rental-unit-photo img{width:100%;height:100%;object-fit:cover}.rental-unit-photo svg{width:100%;height:100%;max-height:100px}.rental-branches{flex:1;min-width:0}.rental-branch{position:relative;display:flex;gap:32px;align-items:center;padding:15px 0}.rental-branch:before{content:'→';position:absolute;left:-27px;color:var(--accent);font-size:22px}.rental-people{display:flex;flex-direction:column;gap:12px;flex:1;min-width:0}.rental-person{display:flex;gap:10px;align-items:center;min-height:64px;text-align:left;position:relative;overflow-wrap:anywhere}.rental-person:before{content:'→';position:absolute;left:-27px;color:var(--accent);font-size:22px}.rental-person .tenant-avatar{width:36px;height:36px;font-size:12px}.rental-vacant{border:2px solid #49ea93!important;box-shadow:0 0 14px #49ea9325}.rental-occupants{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.rental-occupants>strong{font-size:12px}#tenant-rental-map:empty{display:none}@media(max-width:700px){.lease-form-grid{grid-template-columns:1fr}.lease-form{padding:18px}.rental-connections{display:block;padding:16px}.rental-unit{max-width:none;width:100%;box-sizing:border-box;min-width:0}.rental-branch{display:block;padding-top:30px}.rental-branch:before{content:'↓';left:50%;top:0}.rental-people{padding-top:22px}.rental-person:before{content:'↓';left:50%;top:-23px}.rental-person{margin-top:10px}.rental-unit-photo{height:130px}.lease-card h2{font-size:18px}}
#housing-rent-panel{margin:20px 0;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}#housing-rent-panel[hidden]{display:none!important}.housing-sections[data-kind=room]{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:520px){.housing-sections[data-kind=room]{grid-template-columns:repeat(2,minmax(0,1fr))}}
.housing-lease-diagram{display:flex;align-items:center;gap:14px;margin:22px 0;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.housing-lease-node{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:12px;background:var(--panel);overflow:hidden;padding-bottom:16px;text-align:center}.housing-lease-node>small{color:var(--accent);font-size:12px;font-weight:700}.housing-lease-node>strong{padding:0 12px;overflow-wrap:anywhere;font-size:16px;line-height:1.5}.housing-lease-photo{height:120px;overflow:hidden}.housing-lease-photo>img{width:100%;height:100%;object-fit:cover}.housing-lease-photo .photo-placeholder{height:100%;box-sizing:border-box}.housing-lease-arrow{flex:0 0 36px;color:var(--accent);text-align:center;font-size:32px;font-weight:700}.housing-lease-arrow:before{content:'⟶'}.housing-lease-people{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.housing-lease-tenant{padding:22px 0;align-items:center}.housing-lease-tenant .tenant-avatar{width:64px;height:64px;font-size:22px}body.light .housing-lease-node>small{color:#735400}@media(max-width:700px){.housing-lease-diagram{flex-direction:column;padding:14px;gap:8px}.housing-lease-node,.housing-lease-people{width:100%;flex:auto;box-sizing:border-box}.housing-lease-arrow{flex:0 0 32px;line-height:32px}.housing-lease-arrow:before{content:'↓'}.housing-lease-photo{height:140px}}
.rent-receipts{margin-top:18px}.rent-receipt{border:1px solid var(--border);border-left:3px solid #49ea93;border-radius:10px;margin:14px 0;padding:18px;background:var(--panel)}.rent-receipt-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.rent-receipt-head>strong{font-size:22px}.rent-receipt-head .expense-badge{margin:0}.rent-receipt-void{border-left-color:var(--muted)}.rent-receipt-void .rent-receipt-head>strong{color:var(--muted);text-decoration:line-through}.receipt-cancel,.receipt-audit{margin-top:18px;border-top:1px solid var(--border);padding-top:10px}.receipt-cancel>summary,.receipt-audit>summary{font-size:13px;min-height:44px;cursor:pointer}.rent-receipt-form .lease-form-grid{gap:0 14px}.rent-receipt-form input:disabled,.rent-receipt-form select:disabled{opacity:.65}.receipt-audit li{font-size:13px;line-height:1.8;overflow-wrap:anywhere}.rent-receipt .note{overflow-wrap:anywhere}@media(max-width:520px){.rent-receipt{padding:14px}.rent-receipt-head>strong{font-size:20px}.rent-receipt-form .lease-form-grid{grid-template-columns:1fr}}

.language-selector{position:relative;display:inline-flex;align-items:center}.real-app .language-selector .spanish-flag{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:24px;height:16px;stroke:none;border-radius:2px;pointer-events:none;box-shadow:0 0 0 1px #0002}.real-app .language-selector select{padding-left:46px;margin:0}
