.sidebar-collapse{position:absolute;left:-14px;top:28px;width:30px;height:30px;min-width:30px;padding:0;border-radius:50%;background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:0 6px 18px rgba(6,25,39,.16);font-size:22px;line-height:1}
.sidebar,.app-main{transition:width .22s ease,margin-right .22s ease,transform .22s ease}
html.sidebar-is-collapsed .sidebar{width:84px;padding-inline:13px}
html.sidebar-is-collapsed .app-main{margin-right:84px}
html.sidebar-is-collapsed .brand{justify-content:center;padding-inline:0}
html.sidebar-is-collapsed .brand-copy,html.sidebar-is-collapsed .nav-label{display:none}
html.sidebar-is-collapsed .main-nav a,html.sidebar-is-collapsed .sidebar-footer a{justify-content:center;padding-inline:8px}
html.sidebar-is-collapsed .sidebar-collapse{transform:rotate(180deg)}
.share-panel{padding:12px;border-radius:12px;background:#f6fbfa;border:1px solid #d6eeea}
.share-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}
.share-row>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px}
.share-row small,.share-row b{display:block}.share-row b{margin-top:4px;color:var(--teal-dark)}
.status-chip.rental{background:#e0f2fe;color:#0369a1}.status-chip.ownership{background:#f3e8ff;color:#7e22ce}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.section-heading h2,.section-heading h3{margin:0}.section-heading p{margin:4px 0 0}
.participant-picker{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;max-height:190px;overflow:auto;padding:3px}.participant-option{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;font-size:13px;white-space:nowrap}.participant-field small{display:block}
.shared-toggle{grid-column:1/-1;padding:10px 12px;background:#eefaf7;border:1px solid #bde7dc;border-radius:10px;font-weight:700}
.participant-editor{width:100%;margin-top:10px}.participant-editor summary{cursor:pointer;font-weight:700;color:var(--teal-dark);margin-bottom:8px}.participant-editor form{padding:10px;background:rgba(255,255,255,.75);border-radius:10px}.participant-editor button{margin-top:9px}.charge-table input[type="text"],.charge-table input[type="number"]{min-width:80px;width:100%}.charge-table .center{text-align:center}
@media(max-width:820px){html.sidebar-is-collapsed .sidebar{width:264px;padding:22px 16px}html.sidebar-is-collapsed .app-main{margin-right:0}html.sidebar-is-collapsed .brand{justify-content:flex-start;padding:4px 8px 24px}html.sidebar-is-collapsed .brand-copy,html.sidebar-is-collapsed .nav-label{display:block}html.sidebar-is-collapsed .main-nav a,html.sidebar-is-collapsed .sidebar-footer a{justify-content:flex-start;padding:10px 12px}.sidebar-collapse{display:none}.share-row{grid-template-columns:1fr}}

/* Rental Manager V2.0 */
.brand-copy strong{display:flex;align-items:center;gap:7px}.brand-copy em{font-style:normal;font-size:9px;letter-spacing:.08em;color:#84eadf;background:rgba(50,196,181,.14);border:1px solid rgba(132,234,223,.25);padding:2px 5px;border-radius:99px}
.version-pill,.count-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap}.version-pill{color:var(--teal-dark);background:var(--mint);border:1px solid #b9e9df}.count-badge{color:#526678;background:#edf3f6;border:1px solid var(--line)}
.nav-group{margin:0}.nav-group summary{list-style:none;display:flex;align-items:center;gap:11px;color:#cce0ea;padding:10px 12px;border-radius:11px;font-weight:500;cursor:pointer;transition:.18s ease}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover{background:rgba(255,255,255,.08);color:#fff}.nav-group summary.active{color:#fff;background:linear-gradient(90deg,rgba(26,178,163,.28),rgba(255,255,255,.08));box-shadow:inset -3px 0 #32c4b5}.nav-arrow{margin-right:auto;transition:transform .2s}.nav-group[open] .nav-arrow{transform:rotate(180deg)}.nav-submenu{display:grid;gap:3px;margin:4px 14px 6px 0;padding-right:12px;border-right:1px solid rgba(255,255,255,.13)}.nav-submenu a{padding:7px 9px;font-size:12px}.nav-submenu a.active{background:rgba(50,196,181,.16);box-shadow:none;color:#fff}.building-dot{width:7px;height:7px;border-radius:50%;background:#7f9aaa}.nav-submenu a.active .building-dot{background:#37cfbf;box-shadow:0 0 0 3px rgba(55,207,191,.15)}
html.sidebar-is-collapsed .nav-group summary{justify-content:center;padding-inline:8px}html.sidebar-is-collapsed .nav-group .nav-arrow,html.sidebar-is-collapsed .nav-submenu{display:none}
.building-tabs{display:flex;gap:10px;margin:-8px 0 20px}.building-tabs a{min-width:210px;display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:13px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--muted);font-weight:700;box-shadow:0 5px 15px rgba(16,45,66,.04)}.building-tabs a.active{border-color:#7fd3c9;color:var(--teal-dark);background:#effbf8;box-shadow:0 7px 18px rgba(15,143,131,.09)}.building-tab-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#edf3f6;color:var(--navy);font-weight:800}.building-tabs a.active .building-tab-icon{background:var(--teal);color:#fff}
.charge-create{padding:0;overflow:hidden;margin-bottom:20px}.charge-create>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 19px;cursor:pointer;font-weight:800}.charge-create>summary::-webkit-details-marker{display:none}.charge-create>summary small{color:var(--muted);font-weight:500}.charge-create[open]>summary{border-bottom:1px solid var(--line);background:#f8fbfc}.charge-create form{padding:18px}.option-check{display:inline-flex;align-items:center;gap:6px}.charge-list-heading{margin-top:25px}.charge-table-wrap{overflow:auto}.charge-table input[type=text],.charge-table input[type=number]{min-width:120px}.charge-table .center{text-align:center}.charge-table .inactive-row{opacity:.58}.table-switch{display:inline-flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}.table-switch>input{position:absolute;opacity:0;pointer-events:none}.table-switch>span{width:36px;height:20px;padding:2px;border-radius:99px;background:#cbd5dc;position:relative;transition:.2s}.table-switch>span:after{content:"";position:absolute;top:3px;right:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s}.table-switch>input:checked+span{background:var(--teal)}.table-switch>input:checked+span:after{transform:translateX(-16px)}.table-switch>input:disabled+span{opacity:.45;cursor:not-allowed}.table-switch>b{font-size:9px;color:var(--muted)}
.period-toolbar{position:relative}.month-status-title{font-size:20px!important}.month-state-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:16px 0 26px;padding:13px 16px;border:1px solid;border-radius:14px}.month-state-bar>div{display:flex;align-items:center;gap:9px}.month-state-bar>div>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%}.month-state-bar.draft{background:#fff9ed;border-color:#f1d39c;color:#8a5a08}.month-state-bar.draft>div>span{background:#ffedc8}.month-state-bar.finalized{background:#edfaf6;border-color:#bfe8dc;color:#126b58}.month-state-bar.finalized>div>span{background:#d8f4eb}.shared-section-heading{margin-top:6px}.shared-section-heading h2,.accounts-heading h2{margin:3px 0}.shared-composer{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(480px,1.45fr);gap:20px;padding:0;overflow:hidden}.shared-composer-fields{padding:21px;background:linear-gradient(160deg,#fff,#f7fbfc);border-left:1px solid var(--line)}.shared-composer-participants{padding:19px}.composer-title{display:flex;align-items:center;gap:11px;margin-bottom:17px}.composer-title h3{margin:0}.composer-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.composer-icon{width:40px;height:40px;border-radius:12px;background:var(--mint);color:var(--teal-dark);display:grid;place-items:center;font-size:21px;font-weight:800}.shared-composer-fields>.field{margin-bottom:12px}.amount-divider-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.allocation-preview{display:flex;align-items:baseline;gap:6px;margin:13px 0;padding:11px 13px;border-radius:11px;background:#edf9f6;color:var(--teal-dark)}.allocation-preview span{font-size:11px}.allocation-preview b{margin-right:auto;font-size:21px;font-variant-numeric:tabular-nums}.allocation-preview small{font-size:10px}.shared-submit{width:100%}
.participant-selector{min-width:0}.participant-selector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}.participant-selector-head h4{margin:0;font-size:15px}.participant-selector-head p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.65}.selection-counter{min-width:76px;padding:7px 10px;border-radius:11px;background:#eff6f8;text-align:center}.selection-counter b{display:block;color:var(--teal-dark);font-size:20px;line-height:1.1}.selection-counter span{font-size:9px;color:var(--muted)}.participant-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}.participant-search{position:relative;display:flex;align-items:center;flex:1}.participant-search span{position:absolute;right:11px;color:var(--muted);font-size:18px}.participant-search input{padding-right:35px;min-height:37px}.selection-actions{display:flex;gap:5px;flex-wrap:wrap}.participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:330px;overflow:auto;padding:3px 1px 3px 5px}.apartment-choice{display:grid;grid-template-columns:23px 36px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;transition:.16s}.apartment-choice:hover{border-color:#8fcfc7;background:#f9fdfc}.apartment-choice.selected{border-color:#61c4b8;background:#f0fbf8;box-shadow:inset 0 0 0 1px rgba(15,143,131,.08)}.apartment-choice>input{position:absolute;opacity:0;pointer-events:none}.choice-check{width:22px;height:22px;border:1px solid #bdcbd2;border-radius:7px;color:transparent;display:grid;place-items:center;font-size:11px;font-weight:800}.apartment-choice.selected .choice-check{background:var(--teal);border-color:var(--teal);color:#fff}.choice-unit{height:31px;min-width:31px;padding:0 5px;border-radius:9px;background:#edf3f6;display:grid;place-items:center;font-weight:800;font-size:12px}.choice-copy{min-width:0}.choice-copy b,.choice-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-copy b{font-size:11px}.choice-copy small{font-size:9px;color:var(--muted);margin-top:2px}.apartment-choice .status-chip{font-size:8px;padding:4px 6px}.participant-selector-foot{display:flex;justify-content:space-between;gap:8px;margin-top:9px;color:var(--muted);font-size:10px}.selection-warning{color:var(--red);font-weight:800}
.shared-charge-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:14px}.shared-charge-card{padding:16px;border-top:3px solid}.shared-charge-card.reconciled{border-top-color:#20a27d}.shared-charge-card.has-difference{border-top-color:#e08a17}.shared-charge-head,.shared-charge-head>div{display:flex;align-items:center;justify-content:space-between;gap:9px}.shared-charge-head>div{justify-content:flex-start}.shared-charge-head h3{margin:0;font-size:15px}.shared-charge-head p{margin:2px 0 0;color:var(--muted);font-size:10px}.reconcile-mark{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#e5f7f1;color:#168467;font-weight:800}.has-difference .reconcile-mark{background:#fff1dd;color:#b86a00}.shared-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:13px 0}.shared-metrics>div{padding:8px;border-radius:9px;background:#f5f8fa}.shared-metrics span,.shared-metrics b{display:block}.shared-metrics span{color:var(--muted);font-size:9px}.shared-metrics b{font-size:13px;margin-top:3px;font-variant-numeric:tabular-nums}.shared-charge-editor{border-top:1px solid var(--line);padding-top:10px}.shared-charge-editor>summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;color:var(--teal-dark);font-size:11px;font-weight:800}.shared-charge-editor>summary::-webkit-details-marker{display:none}.shared-charge-editor[open]>summary span{transform:rotate(180deg)}.shared-charge-editor>form{margin-top:12px}.editor-amounts{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:8px;align-items:end}.editor-amounts .allocation-preview{margin:0;min-height:42px}.editor-amounts .option-check{grid-column:1/-1}.editor-actions{display:flex;justify-content:flex-end;margin-top:10px}.shared-delete{display:flex;justify-content:flex-end;margin-top:7px!important}.accounts-heading{margin-top:28px}.monthly-table-wrap{max-width:100%}.monthly-table .identity small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.payer-cell{max-width:210px;overflow:hidden;text-overflow:ellipsis}.not-applicable{display:block;text-align:center;color:#a5b2ba;font-weight:700}.payment-date{width:145px;min-height:35px}
@media(max-width:1180px){.shared-composer{grid-template-columns:1fr}.shared-composer-fields{border-left:0;border-bottom:1px solid var(--line)}.shared-charge-list{grid-template-columns:1fr}}
@media(max-width:820px){html.sidebar-is-collapsed .nav-group summary{justify-content:flex-start;padding:10px 12px}html.sidebar-is-collapsed .nav-group .nav-arrow,html.sidebar-is-collapsed .nav-submenu{display:flex}.nav-submenu{display:grid!important}.building-tabs{display:grid;grid-template-columns:1fr 1fr}.building-tabs a{min-width:0}.participant-tools{align-items:stretch;flex-direction:column}.selection-actions{width:100%}.selection-actions>*{flex:1}.participant-grid{grid-template-columns:1fr;max-height:390px}.shared-metrics{grid-template-columns:1fr 1fr}.editor-amounts{grid-template-columns:1fr 1fr}.editor-amounts .allocation-preview{grid-column:1/-1}.month-state-bar{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.building-tabs{grid-template-columns:1fr}.charge-create>summary small{display:none}.shared-composer-fields,.shared-composer-participants{padding:14px}.amount-divider-grid{grid-template-columns:1fr}.participant-selector-head{align-items:center}.choice-copy b{max-width:160px}.charge-table thead{display:none}.charge-table,.charge-table tbody,.charge-table tr,.charge-table td{display:block;width:100%}.charge-table tr{padding:12px;border-bottom:7px solid var(--bg)}.charge-table td{display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;padding:6px}.charge-table td:before{content:attr(data-label);font-size:10px;color:var(--muted);font-weight:800}.charge-table td:first-child input{max-width:70%}.charge-table .table-switch{flex-direction:row}.charge-table .table-switch>b{display:none}}
.report-toolbar .field{min-width:115px}.report-toolbar .report-search{min-width:210px}.report-kpis{margin-bottom:18px}.report-table{margin-top:18px}
.sidebar-footer form{margin:0}.logout-link{width:100%;justify-content:flex-start;padding:10px 12px;background:transparent;color:#cce0ea;box-shadow:none;font-weight:500}.logout-link:hover{background:rgba(255,255,255,.08);color:#fff;transform:none}.login-page{background:radial-gradient(circle at 15% 15%,#e2faf5,transparent 28%),linear-gradient(140deg,#edf4f7,#f9fbfc);display:grid;place-items:center;padding:24px}.login-shell{width:min(980px,100%);min-height:580px;display:grid;grid-template-columns:.9fr 1.1fr;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(16,45,66,.17);border:1px solid rgba(210,225,232,.9)}.login-brand-panel{position:relative;display:flex;flex-direction:column;justify-content:center;padding:55px;color:#fff;background:linear-gradient(155deg,#102d42,#0c5960 75%,#0f8f83);overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}.login-brand-panel:before{width:270px;height:270px;left:-110px;top:-80px}.login-brand-panel:after{width:190px;height:190px;right:-80px;bottom:-50px}.login-brand-panel>*{position:relative;z-index:1}.login-brand-panel .version-pill{align-self:flex-start;color:#bff7ef;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.16)}.login-brand-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#41d4c5,#0f8f83);font-size:32px;font-weight:800;box-shadow:0 14px 28px rgba(0,0,0,.18);margin-bottom:22px}.login-brand-panel h1{font-size:32px;margin:15px 0 6px}.login-brand-panel>p{color:#cde4e8;line-height:1.8}.login-features{display:grid;gap:10px;margin-top:25px;color:#e4f4f4;font-size:12px}.login-card{display:flex;flex-direction:column;justify-content:center;padding:65px 70px}.login-card h2{font-size:27px;margin:4px 0}.login-card>p{margin:0 0 24px}.login-card form{display:grid;gap:15px}.login-card form button{width:100%;margin-top:5px}.login-remember{display:flex;align-items:center;gap:6px}.login-note{color:var(--muted);text-align:center;margin-top:17px}.login-card .alert{font-size:11px;margin-bottom:16px}
@media(max-width:760px){.login-page{padding:12px}.login-shell{grid-template-columns:1fr;min-height:0}.login-brand-panel{padding:28px}.login-brand-panel>p,.login-features{display:none}.login-brand-panel h1{font-size:23px}.login-brand-mark{width:48px;height:48px;font-size:24px;margin-bottom:8px}.login-card{padding:32px 24px}.login-card h2{font-size:23px}}

/* Rental Manager V2.1 - bulk collection and full-width receipts */
.bulk-payment-panel{display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(410px,1.2fr);align-items:center;gap:18px;margin:24px 0 10px;padding:16px 18px;border-color:#a8dfd4;background:linear-gradient(135deg,#f4fdfa,#fff)}
.bulk-payment-copy{display:flex;align-items:center;gap:11px}.bulk-payment-copy h3{margin:0;font-size:15px}.bulk-payment-copy p{margin:3px 0 0;color:var(--muted);font-size:10px}.bulk-payment-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--teal);color:#fff;font-size:18px;font-weight:800;box-shadow:0 7px 16px rgba(15,143,131,.2)}
.bulk-select-all{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #c5e8e1;border-radius:10px;background:#fff;color:var(--teal-dark);white-space:nowrap;cursor:pointer}.bulk-select-all input{width:17px;min-height:17px}
.bulk-payment-controls{display:flex;align-items:end;justify-content:flex-end;gap:9px}.bulk-payment-controls label{display:grid;gap:4px}.bulk-payment-controls label span{font-size:9px;color:var(--muted)}.bulk-payment-controls input{width:145px;min-height:37px}.bulk-selected-count{min-width:70px;padding:6px 9px;border-radius:10px;background:#e7f7f3;text-align:center}.bulk-selected-count b,.bulk-selected-count span{display:block}.bulk-selected-count b{font-size:18px;color:var(--teal-dark);line-height:1}.bulk-selected-count span{font-size:8px;color:var(--muted);margin-top:3px}.bulk-payment-controls button{min-height:37px}.bulk-payment-controls button:disabled{cursor:not-allowed;filter:grayscale(.65);opacity:.55;transform:none}
.monthly-table .bulk-column{position:sticky;right:0;z-index:3;width:58px;min-width:58px;text-align:center;background:#fff}.monthly-table th.bulk-column{z-index:5;background:#e5efF2}.monthly-table .bulk-column+.identity{right:58px}.monthly-table tr.bulk-selected-row td{background:#edf9f6}.monthly-table tr.bulk-selected-row .bulk-column,.monthly-table tr.bulk-selected-row .identity{background:#e2f5f0}.bulk-account-check{display:inline-grid;place-items:center;cursor:pointer}.bulk-account-check input{position:absolute;opacity:0;pointer-events:none}.bulk-account-check span{width:24px;height:24px;border:1px solid #b8c8d0;border-radius:8px;display:grid;place-items:center;color:transparent;background:#fff;font-size:11px;font-weight:800}.bulk-account-check input:checked+span{color:#fff;background:var(--teal);border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,143,131,.11)}.bulk-paid-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:800}.paid-account-row{opacity:.78}
.receipt-screen .ticket{width:100%;max-width:1180px;min-height:0;margin:auto;border:2px solid #0f172a;border-collapse:collapse;background:#fff;table-layout:fixed}.receipt-screen .ticket td{padding:7px 16px;border:0;vertical-align:middle}.receipt-screen .ticket-title{text-align:center;font-size:16px;font-weight:800;border-bottom:1px solid #0f172a!important;padding:11px 16px!important}.receipt-screen .ticket-number{float:left;color:#475569;font-size:12px;white-space:nowrap}.receipt-screen .meta{border-bottom:1px solid #cbd5e1}.receipt-screen .meta span{display:inline-block;margin-left:24px}.receipt-screen .payer{font-weight:800}.receipt-screen .charge-row td{border-top:1px solid #eef2f6}.receipt-screen .line-name{width:29%}.receipt-screen .line-amount{width:21%;direction:ltr;text-align:left;padding-left:24px!important;padding-right:24px!important;white-space:nowrap}.receipt-screen .total-row td{border-top:3px solid #0f172a!important;font-size:15px;font-weight:800}.receipt-screen .words-row td{background:#e5e7eb;text-align:center;font-weight:800;border-top:1px solid #94a3b8}.receipt-screen .footer-row td{border-top:1px solid #94a3b8;font-size:12px;text-align:center;padding-block:9px}
@media(max-width:1180px){.bulk-payment-panel{grid-template-columns:1fr auto}.bulk-payment-controls{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:820px){.bulk-payment-panel{grid-template-columns:1fr}.bulk-payment-controls{grid-column:auto;display:grid;grid-template-columns:1fr auto}.bulk-payment-controls label{grid-column:1/-1}.bulk-payment-controls input{width:100%}.bulk-payment-controls button{min-width:0}.receipt-screen .ticket{min-width:760px}.receipt-screen .ticket td{padding-inline:11px}.receipt-screen .line-amount{padding-inline:16px!important}}
