/* RentControl · shared palette for every workspace surface. */
:root{color-scheme:dark;--background:#0c1420;--surface:#151f2b;--surface-2:#1b2939;--line:#263545;--muted:#a2b3c8;--ink:#f3f6fc;--accent:#2b87ff;--green:#62d5a0;--red:#ff8794;font-family:Manrope,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--background)}
body{background:var(--background);color:var(--ink);font-size:14px}a{color:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #72b1ff;outline-offset:4px}button:active,.button:active{filter:brightness(.9)}::selection{background:#2b87ff55}p{font-size:13px;color:var(--muted)}h1{font-size:30px;letter-spacing:-1px}h1>span{color:var(--accent)}h2{font-size:18px;color:var(--ink)}h3{color:var(--ink)}
.panel{background:var(--surface);border-color:var(--line);border-radius:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#111b28;border-right:1px solid var(--line);border-bottom:0;padding:28px 18px;display:flex;flex-direction:column;justify-content:start;align-items:stretch;gap:0;z-index:40}.brand{display:flex;min-height:40px}.brand img{width:193px;height:auto;max-width:100%}.sidebar nav{display:grid;margin-top:28px;gap:5px;overflow-y:auto}.nav-link{font-size:13px;gap:12px;padding:12px;color:#b5c4d5;line-height:1.5}.nav-link span{display:inline-block;font-size:19px;width:22px}.nav-link:hover{background:#1b2c40;color:white}.nav-link.active{background:#17395f;color:#fff}.nav-link.active span{color:#66adff}.sidebar-foot{display:block;color:var(--muted);font-size:11px;line-height:1.8;margin-top:auto;padding-top:20px}.sidebar-foot small{display:block;color:#8ca2bc;font-size:11px}.live-dot{background:var(--green)}.sidebar>form{margin:14px 0 0}.sidebar>form button{font-size:11px;padding:6px 10px}.shell{margin-left:236px}.topbar{height:68px;padding:0 30px;background:#0f1926;border-color:var(--line);gap:14px}.topbar-title{font-size:13px}.topbar .eyebrow{color:#899eb8;font-size:10px}.save-status{color:#b4c8de;font-size:11px}.save-status:before{background:var(--green)}.save-status.failed{color:var(--red)}.save-status.failed:before{background:var(--red)}main{max-width:1500px;padding:30px;margin:auto}.page-heading{gap:18px;margin-bottom:22px}.eyebrow{color:#8da3bd;font-size:10px}.section-heading{gap:16px}.expenses-heading{margin:6px 0 24px}.expenses-heading h2{font-size:25px}.month-control{color:var(--muted);font-size:12px;min-width:170px}.menu-toggle{display:none}.menu-backdrop{position:fixed;inset:0;background:#040913b3;border:0;z-index:39}.button,.tag,.view-switch{background:#1b2b3e;color:#dae6f6;border-color:var(--line)}.button{font-size:12px}.button:hover{background:#243c55}.button.primary{background:var(--accent);border-color:var(--accent);color:white}.button.primary:hover{background:#4397ff}.button.small{font-size:11px}.tag{font-size:11px}.text-button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#83bbff;font:inherit;font-size:12px;padding:6px 0;cursor:pointer;text-decoration:none}.text-button:hover{text-decoration:underline;color:#b3d5ff}
:is(input:not([type=range]):not([type=checkbox]),select,textarea),.managed-card input,.managed-card textarea,.payment-dialog input:not([type=checkbox]),.payment-dialog select,.payment-dialog textarea,.balance-anchor input,.balance-anchor select,.rc-url-label input,.board-panel input,.calendar-filters select,.month-control input{background:#0f1a28;color:var(--ink);border-color:#35485d;font:inherit;font-size:14px;accent-color:var(--accent)}input::placeholder,textarea::placeholder{color:#8195af}input[type=checkbox],input[type=range]{accent-color:var(--accent)}:disabled{cursor:default;opacity:.55}option{background:#142132;color:var(--ink)}input:hover,select:hover,textarea:hover{border-color:#526c88}.expense-name{background:transparent!important}.expense-row.disabled{background:#101b27}.expense-header,.expense-total,.expense-children,.expense-child,.managed-result,.rc-stats>div,.board-detail,.day-heading{background:#101b29;color:var(--ink);border-color:var(--line)}.expense-row,.expense-entry,.expense-group,.expense-child,.managed-heading,.event,.brief-row,.payment-row,footer{border-color:var(--line)}.expense-total strong,.group-total,.managed-due strong,.management-help strong,.event-date strong{color:var(--ink)}.group-total-caption,.group-schedule,.expense-total,.children-footnote,.expense-amount-label,.expense-ledger,.expense-header,.event-date,.event-name small,.chart-note,.method-note,.method-panel dd,.balance-finish,.slider-extents,.summary-caption,.expense-row .date-field{color:var(--muted)}.group-toggle,.subitem-button,.rc-signin{color:#83bbff}.group-toggle:hover,.subitem-button:hover{color:white}.expense-row select,.expense-row .date-input,.expense-row .day-input{background:#0f1a28;color:var(--ink);border-color:#35485d}.summary-label{color:#bed0e5;font-size:13px}.summary-icon{background:#183454;color:#85bfff}.summary-icon.neutral{background:#24334a;color:#aec7e7}.summary-card{display:block;padding:22px}.summary-value{font-size:29px;margin:16px 0 7px;text-align:left;grid-column:auto;grid-row:auto}.summary-caption{margin-left:0;font-size:11px}.summary-stack{grid-template-columns:1fr}.main-panel{padding:26px}.hero-amount{color:var(--ink)}.hero-amount .currency{color:#afc0d5}.amount-label,.slider-label,.check-label,.balance-block>label{color:#c0cfe2}.balance-gap{color:var(--green)}.balance-gap.negative,.overdue-label{color:var(--red)!important}.balance-context{color:var(--muted)}.profit-control{border-color:var(--line)}.profit-input{color:var(--muted)}.profit-input input{background:none;border-bottom-color:var(--line)}.financial-metrics strong,.calendar-totals strong{font-size:26px}.error-banner,.expense-invalid,.managed-invalid{background:#3a202b;color:#ffb1b9;border-color:#995263}.toast{background:#263e57;color:white;border:1px solid #48627f}.toast button{color:#9bccff}.delete{color:#adc0d7}.delete:hover{background:#542735;color:#ffb1b9}.payment-dialog{background:var(--surface);color:var(--ink);border-color:#3b526d;box-shadow:0 24px 90px #0008}.payment-dialog::backdrop{background:#030914c9}.payment-dialog label,.managed-card label,.factor-label{color:var(--muted)}.payment-form-footer p,.calendar-note{color:#adbed2}.payment-dialog details{border-color:var(--line)}.payment-dialog summary{color:#d3e2f4}.management-totals .panel:last-child{background:#182b3e}.managed-warning,.rc-incomplete,.prepaid-warning{background:#3d3020;color:#f5c17a}.managed-warning{padding:10px;border-radius:6px}.confirmed-value{color:var(--ink)}.confirmed-heading,.confirmed-bookings>span{color:#c6d6eb}.confirmed-bookings p{color:var(--muted)}.confirmed-bookings a{color:#83bbff}#income-extra{grid-column:1/-1}#income-bookings{max-height:360px;overflow-y:auto}#confirmed-note{color:var(--muted);font-size:11px}#confirmed-refresh{color:#83bbff}.brief-row{font-size:12px}.brief-row small{font-size:10px}.rc-settings summary{color:#83bbff}.method-panel dt{color:#d9e6f6}.curve text{fill:#a3b8d0}.chart-legend{color:var(--muted)}.legend-line{background:var(--accent)}footer{color:#b9cde4}footer>span{color:var(--muted)}.cloud-panel a{color:#9ac8ff}
.calendar-weekday{color:#b7c9df}.calendar-cell,.calendar-blank{background:var(--surface);color:var(--ink)}.calendar-cell:hover{background:#1c3047}.calendar-cell.selected{background:#143455;box-shadow:inset 0 0 0 2px var(--accent)}.calendar-cell.today .calendar-day-number{color:#89bdff}.calendar-preview{color:#c4d4e7;border-left-color:#7f98b7}.calendar-preview.paid{color:#88dfb1;border-color:#62d5a0}.calendar-preview.overdue{color:#ff9ca7;border-color:#ff8794}.calendar-preview.cancelled{color:#9aa7b9;border-color:#6c7d93}.view-switch button{color:#b6c9df}.view-switch button[aria-pressed=true]{background:#285180;color:white}.payment-row.overdue{background:#33222e;border-color:#ff8794}.payment-row.paid{border-left-color:#62d5a0}.payment-status{background:#253951;color:#cbdcf0}.overdue .payment-status{background:#5b2c3c;color:#ffc0c8}.paid .payment-status{background:#1d483b;color:#a4efd0}.cancelled .payment-status{background:#263343;color:#becadd}.calendar-carry h3{color:var(--red)}.day-heading:hover{background:#20354e}.board-corner,.board-date{background:#1b2c40;color:var(--ink)}.board-object{background:#152231;color:var(--ink)}.board-cell{background:#101d2c;color:#9eb5cd}.board-today{background:#1d3654}.board-booking{background:#23384d;border-color:#57738e;color:#deebfb}.board-booking.paid{background:#184638;border-color:#40916f;color:#b2f2d3}.board-booking.partial{background:#493922;border-color:#a67c3d;color:#ffe0a3}.board-booking.unpaid{background:#4a2635;border-color:#a75c73;color:#ffc5d2}.board-booking:hover{filter:brightness(1.15)}.board-date,.board-corner,.board-track,.board-object,.board-cell{border-color:var(--line)}.board-detail{color:var(--ink)}
/* Overview */
.overview-heading h1{font-size:32px;margin-top:8px}.overview-data-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-5px 0 18px;font-size:11px;color:var(--muted)}.overview-data-bar .warning{color:#efbf79}.overview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin-bottom:20px}.overview-card{padding:20px;min-width:0}.card-heading{display:flex;gap:10px;align-items:center;width:100%;background:none;border:0;padding:0;text-align:left;color:#c1d0e3;font:inherit;font-size:13px;cursor:pointer}.card-heading:hover{color:white}.metric-icon{display:grid;place-content:center;flex-shrink:0;width:32px;height:32px;background:#173a62;color:#79b8ff;border-radius:9px;font-size:22px}.card-arrow{margin-left:auto;color:#94bce9}.metric-value{display:block;font-size:clamp(25px,2.5vw,36px);font-weight:750;letter-spacing:-.8px;font-variant-numeric:tabular-nums;line-height:1.25;margin:17px 0 8px;overflow-wrap:anywhere}.overview-card>p{font-size:11px;line-height:1.6}.withdrawal-card{background:#132c48;border-color:#265a8c}.withdrawal-card.is-negative{background:#352432;border-color:#8e4b62}.withdrawal-card.is-negative .metric-value{color:#ffb5bf}.inline-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:14px}.income-reference{border-top:1px solid var(--line);margin-top:15px;padding-top:14px}.income-reference>span{display:block;color:var(--muted);font-size:11px}.income-reference>strong{display:block;font-size:12px;margin:7px 0}.income-reference p{font-size:11px}#overview-bookings{max-height:330px;overflow:auto;margin-top:14px}.overview-lower-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:18px;align-items:start}.overview-chart-panel,.overview-payments-panel,.overview-objects-panel{padding:22px;min-width:0}.overview-lower-grid h2{font-size:18px}.overview-lower-grid .section-heading{align-items:start}.overview-lower-grid .section-heading p{font-size:11px}.overview-reserve-controls{display:flex;align-items:center;gap:18px;justify-content:space-between;margin:18px 0 14px;flex-wrap:wrap}.overview-reserve-controls .check-label{font-size:12px;max-width:none}.overview-goal{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.overview-goal input{width:110px;border:1px solid var(--line);border-radius:6px;padding:6px}.overview-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:#b3c5dc}.overview-legend>span{display:flex;align-items:center;gap:6px}.line-key{display:inline-block;width:17px;height:2px;background:#2b87ff}.reserve-key{height:0;border-top:2px dashed #9cb2cf;background:none}.deficit-key{background:#ff8794}.overview-curve{width:100%;height:270px;margin-top:15px;position:relative}.overview-curve svg{width:100%;height:100%;overflow:visible}.overview-curve text{fill:#9fb3cc;font-size:10px}.overview-curve .chart-hit{cursor:crosshair}.chart-tooltip{padding:11px 12px;background:#101c2b;border:1px solid var(--line);border-radius:7px;color:#c9daee;font-size:11px;line-height:1.7;min-height:43px;display:flex;flex-wrap:wrap;gap:5px 15px}.chart-tooltip strong{color:white}.chart-empty{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted);font-size:13px;padding:24px}.overview-payments-panel>p{font-size:11px;margin-top:10px}.upcoming-payment{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;font:inherit;cursor:pointer}.upcoming-payment:hover{background:#203249}.upcoming-payment span{min-width:0}.upcoming-payment strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.upcoming-payment small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.upcoming-payment b{font-size:14px;white-space:nowrap;font-weight:600}.upcoming-payment .overdue{color:var(--red)}#overview-payments-more{margin-top:12px}#overview-payments-more summary{font-size:12px;color:#8fc2ff;cursor:pointer;padding:8px 0}.overview-objects-panel{margin-top:20px}.overview-objects-panel>.section-heading{margin-bottom:18px}.object-table-wrap{overflow:auto}.object-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:13px}.object-table th{text-align:left;background:#1b2d42;color:#bdcfe5;font-size:11px;font-weight:500;padding:12px}.object-table th:nth-child(n+3),.object-table td:nth-child(n+3){text-align:right}.object-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.object-table td:nth-child(n+3){white-space:nowrap;font-variant-numeric:tabular-nums}.object-table tr[data-object]{cursor:pointer}.object-table tr[data-object]:hover{background:#1c3048}.object-name{display:flex;align-items:center;gap:10px}.object-symbol{display:grid;place-items:center;width:33px;height:33px;border-radius:8px;background:#203750;color:#9bcaff;flex-shrink:0;font-size:20px}.object-name button{background:none;border:0;color:var(--ink);font:inherit;font-weight:600;text-align:left;padding:0;cursor:pointer}.object-table small{display:block;color:var(--muted);font-size:10px;white-space:normal;margin-top:5px}.object-type{color:#b8cce6;font-size:11px}.amount-positive{color:#74b7ff}.amount-negative{color:#ff99a8}.object-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.object-summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.object-summary strong{font-size:20px}.object-dialog h3{margin:22px 0 8px;font-size:15px}.object-dialog p{font-size:12px;line-height:1.7}.object-dialog .brief-row{font-size:12px}.object-dialog{max-width:720px}.object-dialog select{width:100%}.object-dialog #object-detail-status{color:#a7d9bc;margin-top:12px}#objects .overview-objects-panel{margin-top:0}.objects-show-all{margin-top:14px}.overview-card [aria-expanded=true] .card-arrow{transform:rotate(180deg)}
@media(max-width:1200px){main{padding:26px}.topbar{padding:0 26px}.metric-value{font-size:29px}.overview-card{padding:17px}.overview-lower-grid{grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr)}.overview-chart-panel,.overview-payments-panel{padding:18px}.overview-lower-grid .section-heading{flex-wrap:wrap}.object-table td,.object-table th{padding:12px 8px}}
@media(max-width:1050px){.overview-cards{gap:12px}.card-heading{font-size:12px;gap:8px}.metric-icon{width:27px;height:27px;font-size:18px}.overview-lower-grid{grid-template-columns:1fr}.overview-payments-panel #overview-payments{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.overview-heading h1{font-size:29px}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);width:250px;padding:24px 18px;transition:transform .18s;flex-wrap:nowrap;align-items:stretch}.menu-open .sidebar{transform:translateX(0)}.sidebar nav{display:grid;margin-top:26px;gap:6px}.sidebar .nav-link{font-size:14px;padding:12px}.sidebar-foot{display:block}.shell{margin-left:0}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:36px;font-size:18px;padding:5px 8px}.topbar{position:sticky;top:0;z-index:30;height:62px;padding:0 20px}.topbar .eyebrow{display:none}.topbar-title{display:inline;font-size:12px}.topbar>div{gap:10px}.save-status{max-width:180px;font-size:10px}.overview-cards{grid-template-columns:repeat(3,minmax(0,1fr))}main{padding:24px 20px}.brand small{display:block}.page-heading{margin-bottom:18px}.plan-grid{grid-template-columns:minmax(0,1.6fr) minmax(210px,1fr)}.overview-data-bar{margin-top:0}.overview-cards .metric-value{font-size:27px}.sidebar>form{margin-top:16px}}
@media(max-width:650px){main{padding:22px 15px}.topbar{padding:0 14px;gap:8px}.topbar-title{display:none}.topbar .button{font-size:12px;min-height:36px}.save-status{max-width:145px;font-size:10px;line-height:1.4}.overview-heading h1{font-size:27px}.page-heading{align-items:start;flex-direction:column}.month-control{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:12px}.month-control input{font-size:16px;max-width:65%;padding:9px}.overview-cards{grid-template-columns:1fr;gap:12px}.overview-card{padding:19px}.card-heading{font-size:14px}.metric-icon{width:32px;height:32px;font-size:21px}.overview-cards .metric-value{font-size:33px;margin-top:14px}.overview-card>p{font-size:12px}.overview-data-bar{font-size:10px;align-items:start}.overview-data-bar .text-button{font-size:11px;white-space:nowrap}.overview-chart-panel,.overview-payments-panel,.overview-objects-panel{padding:17px}.overview-lower-grid{gap:14px}.overview-curve{height:250px}.overview-payments-panel #overview-payments{display:block}.overview-reserve-controls{gap:12px}.overview-goal input{font-size:16px}.overview-legend{font-size:9px;gap:9px}.overview-lower-grid h2{font-size:18px}.object-table,.object-table tbody,.object-table tr,.object-table td{display:block;width:100%;white-space:normal!important}.object-table thead{display:none}.object-table tr{padding:10px 0;border-bottom:1px solid var(--line)}.object-table td{border:0;padding:5px 0;min-height:24px}.object-table td:nth-child(n+2){display:flex;align-items:start;justify-content:space-between;gap:12px;text-align:right}.object-table td:nth-child(n+2):before{content:attr(data-label);font-size:12px;color:var(--muted);text-align:left}.object-table td>div:not(.object-name){text-align:right}.object-table small{font-size:10px}.object-table td:first-child{padding-bottom:10px}.object-name button{font-size:14px}.object-table-wrap{overflow:visible}.object-dialog{padding:20px}.object-summary{gap:12px}.object-summary strong{font-size:18px}.plan-grid{grid-template-columns:1fr}.summary-card{display:block}.summary-value{font-size:29px;margin:14px 0 7px}.summary-caption{font-size:11px}.summary-label{font-size:13px}.summary-stack{gap:12px}.balance-anchor{grid-template-columns:1fr}.hero-amount{font-size:44px}.calendar-selected{padding:16px}.payment-row{grid-template-columns:minmax(0,1fr) auto}.payment-sum{font-size:13px}.payment-actions{grid-column:1/-1}.curve-panel{padding:20px 16px}.check-label{max-width:210px}.overview-reserve-controls .check-label{max-width:none;font-size:11px}.object-table .amount-positive,.object-table .amount-negative{font-size:14px}.financial-metrics strong,.calendar-totals strong{font-size:22px}input:not([type=checkbox]):not([type=range]),select,textarea{font-size:16px}.calendar-preview{display:none}}

.overview-income-expanded{padding:20px 22px;margin:0 0 20px}.overview-income-expanded #overview-bookings{margin-top:0;max-height:300px}.overview-income-expanded .income-reference{margin-top:12px}.overview-income-expanded .income-reference strong{display:inline;margin-left:12px}.overview-income-expanded .income-reference>span{display:inline}.overview-income-expanded .income-reference p{margin-top:6px}

.topbar-brand{display:inline-flex;flex-shrink:0}.topbar-brand img{display:block;width:30px;height:30px}@media(max-width:650px){.topbar-brand img{width:27px;height:27px}}
