:root{--color-primary: oklch(58% .23 260);--color-text: oklch(22% .02 260);--color-text-muted: oklch(42% .03 260);--color-text-subtle: oklch(46% .03 260);--color-text-on-primary: oklch(100% 0 0);--color-bg: oklch(97% .01 260);--color-bg-surface: oklch(100% 0 0);--color-bg-muted: oklch(96% .01 260);--color-border: oklch(89% .02 260);--color-border-muted: oklch(94% .01 260);--color-border-heavy: oklch(84% .02 260);--color-sidebar-bg: var(--color-text);--color-sidebar-text: oklch(91% .02 260);--color-sidebar-text-muted: oklch(81% .03 260);--color-sidebar-hover: oklch(28% .04 260);--color-success: oklch(50% .15 150);--color-success-bg: oklch(96% .03 150);--color-danger: oklch(50% .2 25);--color-danger-bg: oklch(97% .02 25);--color-danger-border: oklch(85% .1 25);--color-danger-text: oklch(35% .15 25);--color-badge-bg: oklch(95% .01 260);--color-badge-text: var(--color-text-muted);--color-table-header-bg: oklch(98% .01 260);--color-occupied: oklch(58% .18 250);--color-blocked: oklch(38% .02 260);--font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Playfair Display", serif;--font-numeric: "Roboto Mono", "SFMono-Regular", "Cascadia Mono", "Segoe UI Mono", ui-monospace, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.25rem;--font-size-lg: 1.5625rem;--font-size-xl: 2rem;--font-size-xxl: 2.5rem;--font-size-display: 3.5rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 64px;--page-inline-space: var(--space-xl);--page-block-space: var(--space-xl);--page-section-gap: var(--space-xl);--touch-target: 44px;--shadow-modal: 0 40px 100px oklch(from var(--color-text) l c h / .12);--shadow-panel: 0 16px 48px oklch(from var(--color-text) l c h / .05);--shadow-card: 0 4px 20px oklch(from var(--color-text) l c h / .03);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;color:var(--color-text);background:var(--color-bg);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary: oklch(50% .18 260);--color-text: oklch(95% .01 260);--color-text-muted: oklch(80% .02 260);--color-text-subtle: oklch(70% .02 260);--color-bg: oklch(18% .02 260);--color-bg-surface: oklch(24% .02 260);--color-bg-muted: oklch(20% .02 260);--color-border: oklch(30% .02 260);--color-border-muted: oklch(28% .02 260);--color-border-heavy: oklch(35% .02 260);--color-sidebar-hover: oklch(32% .04 260);--color-table-header-bg: oklch(26% .02 260);--color-badge-bg: oklch(30% .02 260);--shadow-modal: 0 20px 60px oklch(0% 0 0 / .45);--shadow-panel: 0 16px 40px oklch(0% 0 0 / .3)}}[data-theme=dark]{--color-primary: oklch(50% .18 260);--color-text: oklch(95% .01 260);--color-text-muted: oklch(80% .02 260);--color-text-subtle: oklch(70% .02 260);--color-bg: oklch(18% .02 260);--color-bg-surface: oklch(24% .02 260);--color-bg-muted: oklch(20% .02 260);--color-border: oklch(30% .02 260);--color-border-muted: oklch(28% .02 260);--color-border-heavy: oklch(35% .02 260);--color-sidebar-hover: oklch(32% .04 260);--color-table-header-bg: oklch(26% .02 260);--color-badge-bg: oklch(30% .02 260);--shadow-modal: 0 20px 60px oklch(0% 0 0 / .45);--shadow-panel: 0 16px 40px oklch(0% 0 0 / .3)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes date-picker-sheet-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}*{box-sizing:border-box}body{margin:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input,select,textarea{font:inherit;font-variant-numeric:tabular-nums;transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart),filter var(--duration-fast) var(--ease-out-quart)}.money-text,.amount-input-wrapper input,.currency-prefix,.chart-tooltip span,.rate-breakdown span:has(+strong),.rate-breakdown strong,.apartment-meta-list li:last-child strong,.compact-list strong,.rent-receipt-lines strong,.rent-alert-meta strong,.rent-alerts-header>strong,.calendar-cell-price,.reservation-total-cell,.expenses-total-card dd,.expense-card-main p,.expense-ledger-amount,.total-amount,.cat-val,.rent-receipt-total strong{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;letter-spacing:0}.amount-input-wrapper{position:relative;display:flex;align-items:center;--amount-prefix-width: 3.25rem}.amount-input-wrapper input{padding-left:calc(var(--space-md) + var(--amount-prefix-width))}.currency-prefix{position:absolute;left:var(--space-md);width:var(--amount-prefix-width);color:var(--color-text-muted);font-weight:600;pointer-events:none}button{border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-text-on-primary);cursor:pointer;min-height:var(--touch-target);padding:0 var(--space-md);display:inline-flex;align-items:center;justify-content:center}button:hover{filter:brightness(1.08);transform:translateY(-1px)}button:active{transform:translateY(0);filter:brightness(.95)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5;transform:none!important;filter:grayscale(1)!important}input,select,textarea{width:100%;border:1px solid var(--color-border-heavy);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text);min-height:var(--touch-target);padding:var(--space-sm) var(--space-md)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .15)}textarea{min-height:88px;resize:vertical}label{display:grid;gap:var(--space-xs);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.2;font-weight:700;letter-spacing:.01em}small{display:block;color:var(--color-text-subtle);font-size:var(--font-size-xs);line-height:1.4;font-weight:400;margin-top:var(--space-xs)}.auth-page{min-height:100vh;display:grid;place-items:center;background:var(--color-bg-muted);padding:var(--space-lg);animation:fade-in var(--duration-slow) var(--ease-out-quart)}.auth-panel{width:min(400px,100%);display:grid;gap:var(--space-lg);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);box-shadow:var(--shadow-panel);animation:fade-in-up var(--duration-slow) var(--ease-out-expo) .1s both}.auth-panel h1{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.01em}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr);transition:grid-template-columns var(--duration-normal) var(--ease-out-quart)}@media(min-width:821px)and (max-width:1100px){.app-shell{grid-template-columns:104px 1fr}.sidebar .brand{justify-content:center;font-size:0;margin-right:0}.sidebar .brand svg{margin:0}.sidebar nav a{justify-content:center;padding:0;font-size:0}.sidebar nav a svg{margin:0;width:20px;height:20px}}.sidebar{background:radial-gradient(circle at 24% 0%,oklch(42% .09 226 / .34),transparent 30%),linear-gradient(180deg,#002946,#00182a 58%,#012);background:radial-gradient(circle at 24% 0%,oklch(42% .09 226 / .34),transparent 30%),linear-gradient(180deg,color(xyz 0.019 0.02 0.065),color(xyz 0.008 0.008 0.033) 58%,color(xyz 0.005 0.005 0.019));color:var(--color-sidebar-text);padding:var(--space-lg) 14px;overflow-y:auto;z-index:10;box-shadow:inset -1px 0 #ffffff14,18px 0 48px #00172d1f;box-shadow:inset -1px 0 #ffffff14,18px 0 48px oklch(20% .07 248 / .12)}.brand{color:var(--color-text-on-primary);font-family:var(--font-family);font-size:1.28rem;line-height:1;font-weight:900;margin:0 0 var(--space-xl);letter-spacing:-.03em;display:flex;align-items:center;gap:var(--space-sm);white-space:nowrap}.brand-icon{width:42px;height:42px;padding:9px;border-radius:12px;color:#4dcb9e;background:#ffffff17;box-shadow:inset 0 0 0 1px #ffffff14,0 10px 26px #00061242;box-shadow:inset 0 0 0 1px #ffffff14,0 10px 26px oklch(12% .06 250 / .26);flex-shrink:0}.sidebar nav{display:grid;gap:10px}.sidebar a{color:#b9cada;text-decoration:none;font-size:.98rem;font-weight:700;letter-spacing:0;border-radius:11px;padding:0 16px;min-height:50px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:13px;white-space:nowrap;text-align:center;transition:background-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.sidebar a.active,.sidebar a:hover{background:#ffffff1f;color:var(--color-text-on-primary);box-shadow:inset 0 0 0 1px #ffffff12,0 10px 24px #0006122e;box-shadow:inset 0 0 0 1px #ffffff12,0 10px 24px oklch(12% .06 250 / .18)}.sidebar a svg{width:22px;height:22px;stroke-width:1.85;color:#abcbd1}.sidebar a:active{transform:translate(2px)}.workspace{min-width:0;display:grid;grid-template-rows:auto 1fr}.bottom-navigation{display:none}.topbar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-lg);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);padding:var(--space-md) var(--space-xl);position:sticky;top:0;z-index:40}.topbar-mobile-identity,.mobile-menu-button,.sidebar-mobile-account,.sidebar-backdrop{display:none}.topbar-controls{display:flex;align-items:center;gap:var(--space-lg)}.account-menu{position:relative;flex:0 1 280px;min-width:190px}.account-menu summary{min-height:var(--touch-target);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text);box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .04);cursor:pointer;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary span{min-width:0;overflow:hidden;font-size:var(--font-size-base);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.account-menu summary svg{flex:0 0 auto;transition:transform var(--duration-fast) var(--ease-out-quart)}.account-menu[open] summary svg{transform:rotate(180deg)}.account-menu-panel{position:absolute;top:calc(100% + var(--space-sm));right:0;z-index:70;width:min(360px,calc(100vw - 32px));overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:0 18px 44px oklch(from var(--color-text) l c h / .16)}.account-menu-panel .topbar-select{min-height:64px;display:grid;grid-template-columns:1fr auto;gap:var(--space-lg);padding:0 var(--space-lg);border:0;border-radius:0;box-shadow:none}.account-menu-panel .topbar-select span{font-size:var(--font-size-base);font-weight:800}.account-menu-panel .topbar-select select{max-width:128px;min-height:40px;color:var(--color-text);font-size:var(--font-size-base);text-align:right}.account-menu-signout{width:100%;min-height:64px;justify-content:flex-start;padding:0 var(--space-lg);border:0;border-top:1px solid var(--color-border-muted);border-radius:0;background:var(--color-bg-surface);color:var(--color-text);font-size:var(--font-size-base);font-weight:500}.account-menu-signout:hover{background:var(--color-bg-muted);color:var(--color-text);filter:none}.topbar-select{min-height:var(--touch-target);display:flex;grid-template-columns:none;align-items:center;gap:var(--space-sm);padding:0 var(--space-sm) 0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text);box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .04)}.topbar-select span{color:var(--color-text);font-size:var(--font-size-base);font-weight:700;text-transform:none;letter-spacing:0}.topbar-select select{width:auto;max-width:260px;min-height:34px;padding:0 30px 0 0;border:0;border-radius:0;background-color:transparent;color:var(--color-text);font-weight:800}.topbar-select select:focus{box-shadow:none}.currency-select select{max-width:96px}.sidebar-mobile-select{display:none}.content{padding:var(--page-block-space) var(--page-inline-space);overflow:auto;max-width:1440px;margin:0 auto;width:100%;background:var(--color-bg);animation:fade-in var(--duration-slow) var(--ease-out-quart)}.page-header,.toolbar,.form-actions,.row-actions,.modal-header{display:flex;align-items:center;gap:var(--space-md)}.page-header{justify-content:space-between;margin-bottom:var(--page-section-gap);min-height:52px}.page-header h1{margin:0;font-family:var(--font-family);font-size:var(--font-size-xl);line-height:1.1;letter-spacing:-.03em;font-weight:900;animation:fade-in-up var(--duration-slow) var(--ease-out-expo)}.page-header-description{max-width:68ch;margin:var(--space-sm) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);animation:fade-in-up var(--duration-slow) var(--ease-out-expo) 50ms both}.reservations-page{display:grid;min-width:0;max-width:100%}.reservations-page .toolbar{z-index:1}.reservation-view-switch{display:flex;justify-content:flex-end;margin:calc(var(--space-xl) * -.35) 0 var(--space-md)}.reservation-view-switch .button-group{box-shadow:var(--shadow-card)}.reservation-content-panel{min-width:0;max-width:100%;min-height:360px;overflow:visible}.reservation-content-panel .calendar-page.embedded{min-width:0;max-width:100%;min-height:0;overflow:hidden}.reservation-content-panel .calendar-page.embedded .calendar-shell{width:100%;max-width:100%;min-height:0;max-height:min(720px,calc(100vh - 280px))}.reservation-content-panel table{margin-bottom:0}.reservation-tabs{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-lg);overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.reservation-tabs::-webkit-scrollbar{display:none}.reservation-tabs button{display:inline-flex;align-items:center;gap:var(--space-sm);min-height:var(--touch-target);border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-muted);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart)}.reservation-tabs button:hover{transform:none;filter:none;border-color:var(--color-border-heavy);background:var(--color-bg-muted);box-shadow:0 8px 18px oklch(from var(--color-text) l c h / .05)}.reservation-tabs button strong{display:inline-grid;min-width:26px;height:26px;place-items:center;border-radius:var(--radius-full);background:var(--color-bg-muted);color:var(--color-text);font-size:var(--font-size-xs)}.reservation-tabs button.active,.reservation-tabs button[aria-selected=true]{border-color:var(--color-primary);background:oklch(from var(--color-primary) 96% .035 h);color:var(--color-primary);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .12);font-weight:800}.reservation-tabs button.active strong,.reservation-tabs button[aria-selected=true] strong{background:var(--color-primary);color:var(--color-text-on-primary)}.reservation-tabs button.needs-attention:not(.active){border-color:#e0bf89;background:#fff7eb;background:oklch(98% .02 80)}.reservation-tabs button.needs-attention strong{background:#f6e2c0;color:#664700;color:oklch(42% .13 80)}.reservation-tabs .history-tab-trigger{margin-left:auto;border-color:var(--color-border-muted);background:transparent;color:var(--color-text-subtle)}.reservation-tabs .history-tab-trigger strong{background:var(--color-bg-surface);color:var(--color-text-subtle)}.reservation-tabs .history-tab-trigger:hover{background:var(--color-bg-surface);border-color:var(--color-border-heavy);color:var(--color-text)}.reservation-tabs .history-tab-trigger.active,.reservation-tabs .history-tab-trigger[aria-selected=true]{border-color:var(--color-border-heavy);background:var(--color-bg-surface);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-muted)}.reservation-tabs .history-tab-trigger.active strong,.reservation-tabs .history-tab-trigger[aria-selected=true] strong{background:var(--color-bg-muted);color:var(--color-text)}.reservation-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-items:start}.operational-reservation-table th:nth-child(1){width:44%}.operational-reservation-table th:nth-child(2){width:32%}.pending-table .reservation-row td{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.operational-reservation-table .row-actions{display:table-cell;text-align:right;vertical-align:middle;white-space:nowrap}.operational-reservation-table .row-actions button{min-height:36px;padding:0 var(--space-sm)}.operational-reservation-table .row-actions button+button{margin-left:var(--space-xs)}.operational-reservation-table .row-actions .reservation-primary-action{font-weight:800}.operational-reservation-table .row-actions .reservation-secondary-action{color:var(--color-text-muted);font-weight:700}.operational-reservation-table .row-actions .danger-text-button{color:var(--color-danger)}.reservation-skeleton-list{display:grid;gap:1px;overflow:hidden;border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-border-muted)}.reservation-skeleton-row{display:grid;grid-template-columns:2fr 1.2fr 1fr;gap:var(--space-xl);padding:var(--space-lg);background:var(--color-bg-surface)}.reservation-skeleton-row span{height:18px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-bg-muted),var(--color-border-muted),var(--color-bg-muted));background-size:220% 100%;animation:skeleton-sheen 1.2s var(--ease-out-quart) infinite}@keyframes skeleton-sheen{0%{background-position:100% 0}to{background-position:-100% 0}}.danger-text-button{color:var(--color-danger)}.reservation-history{margin-top:var(--space-xl)}.reservation-history-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.reservation-history-header h2{margin:0;font-size:var(--font-size-md)}.reservation-guest,.reservation-source,.reservation-date-range{display:flex;align-items:center}.reservation-guest{gap:12px;min-width:0}.reservation-guest-copy{min-width:0}.reservation-guest-heading{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.reservation-guest-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-ticket{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm) var(--space-md);align-items:center;min-width:0}.reservation-ticket .reservation-guest{min-width:0}.reservation-ticket-meta{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs);min-width:0}.reservation-request-source{display:inline-flex;align-items:center;flex:0 0 auto;gap:var(--space-xs);max-width:132px;padding:2px 7px;border:1px solid var(--color-border-muted);border-radius:var(--radius-sm);background:var(--color-bg-muted);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.03em;line-height:1.2;text-transform:uppercase}.reservation-request-source span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-request-source svg{width:13px;height:13px;flex:0 0 13px}.reservation-apartment-line{display:flex;align-items:baseline;gap:var(--space-sm);min-width:0}.reservation-guest-copy small{display:inline-block;min-width:0;overflow:hidden;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap}.reservation-dates{display:flex;flex-direction:column}.reservation-situation{display:grid;gap:2px;min-width:0;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-table-header-bg)}.reservation-situation strong{overflow:hidden;color:var(--color-text);font-size:var(--font-size-base);font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.reservation-situation span{overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:750;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.reservation-situation.active{border-color:oklch(from var(--color-success) 84% .055 h);background:oklch(from var(--color-success) 96% .025 h)}.reservation-situation.warning{border-color:#edcc95;background:#fff7eb}.reservation-situation.danger{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.reservation-date-range{font-weight:700}.reservation-dates small{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}.reservation-source{gap:6px}.reservation-total-cell{font-weight:800}.reservation-status-control{position:relative;display:inline-flex;align-items:center;min-width:116px;min-height:30px}.reservation-status-control .badge{width:100%;min-height:30px;justify-content:center;padding-right:22px}.reservation-status-control:after{content:"";position:absolute;right:9px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;pointer-events:none;transform:translateY(-2px) rotate(45deg)}.reservation-status-control select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-height:30px;opacity:0;cursor:pointer}.reservation-status-control:has(select:disabled){opacity:.65}.smooth-enter{animation:reservation-view-in var(--duration-fast) var(--ease-out-quart) both}@keyframes reservation-view-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reservations-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(296px,342px);gap:var(--space-xl);align-items:start}.reservation-board{min-width:0}.reservations-page .page-header{margin-bottom:var(--space-lg)}.reservations-page .page-header h1{letter-spacing:-.045em}.reservations-page .page-header button{border-color:#002848;border-color:oklch(27% .075 248);border-radius:9px;background:linear-gradient(180deg,#053051,#00203e);box-shadow:inset 0 1px #ffffff1f,0 8px 20px #00152933;box-shadow:inset 0 1px #ffffff1f,0 8px 20px oklch(19% .07 248 / .2)}.reservations-page .page-header button:hover{filter:brightness(1.04)}.reservations-page .reservation-tabs{gap:var(--space-lg);margin-bottom:var(--space-lg);padding-bottom:0;border-bottom:1px solid var(--color-border)}.reservations-page .reservation-tabs button{position:relative;min-height:42px;padding:0 0 11px;border:0;border-radius:0;background:transparent;color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:750;box-shadow:none}.reservations-page .reservation-tabs button:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;border-radius:var(--radius-full);background:transparent;transition:background-color var(--duration-fast) var(--ease-out-quart)}.reservations-page .reservation-tabs button:hover{background:transparent;color:var(--color-text);box-shadow:none}.reservations-page .reservation-tabs button strong{min-width:24px;height:24px;background:var(--color-bg-muted);color:var(--color-text-muted);font-size:.72rem}.reservations-page .reservation-tabs button.active,.reservations-page .reservation-tabs button[aria-selected=true]{border-color:transparent;background:transparent;color:var(--color-text);box-shadow:none}.reservations-page .reservation-tabs button.active:after,.reservations-page .reservation-tabs button[aria-selected=true]:after{background:#032642}.reservations-page .reservation-tabs button.active strong,.reservations-page .reservation-tabs button[aria-selected=true] strong{background:#032642;color:var(--color-text-on-primary)}.reservations-page .reservation-tabs button.needs-attention:not(.active){background:transparent}.reservations-page .reservation-tabs .history-tab-trigger{margin-left:auto}.reservation-card-list{display:grid;gap:var(--space-md)}.reservation-card-list .reservation-row{display:block;padding:18px 18px 18px 22px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-bg-surface);box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .05),0 14px 34px oklch(from var(--color-text) l c h / .055);transition:border-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.reservation-card-list .reservation-row:hover{border-color:var(--color-border-heavy);box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .05),0 18px 40px oklch(from var(--color-text) l c h / .075);transform:translateY(-1px)}.reservation-card-list .reservation-row.selected{border-color:#275985;box-shadow:0 0 0 3px #2759851f,0 18px 40px oklch(from var(--color-text) l c h / .075)}.reservation-card-list .reservation-ticket{display:grid;grid-template-columns:minmax(0,1fr) 148px;gap:var(--space-lg);align-items:center}.reservation-card-list .reservation-guest{align-items:center;gap:28px}.reservation-card-list .avatar{width:108px;height:108px;flex:0 0 108px;border:1px solid oklch(100% 0 0 / .24);background:radial-gradient(circle at 30% 20%,oklch(100% 0 0 / .12),transparent 38%),linear-gradient(145deg,#0d3252,#011b35);color:#f5f9fc;font-size:3.15rem;font-weight:500;letter-spacing:-.06em;box-shadow:inset 0 -12px 24px #0000001f,0 10px 24px oklch(from var(--color-text) l c h / .16)}.reservation-card-list .reservation-guest-copy{display:grid;gap:9px}.reservation-card-list .reservation-guest-heading{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:20px;row-gap:7px;line-height:1.1}.reservation-card-list .reservation-guest-heading span{color:var(--color-text);font-size:var(--font-size-md);font-weight:650}.reservation-card-list .reservation-guest-heading strong{display:inline;margin:0;color:var(--color-text);font-size:var(--font-size-md);font-weight:900;letter-spacing:-.02em}.reservation-card-list .reservation-ticket-meta{justify-content:flex-start;flex-wrap:wrap;gap:8px}.reservation-card-list .reservation-request-source{display:inline-flex;align-items:center;gap:7px;max-width:none;padding:4px 9px;border:1px solid var(--color-border-muted);border-radius:var(--radius-sm);background:oklch(from var(--color-bg-muted) l c h / .72);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:800;letter-spacing:0;line-height:1.15;text-transform:none}.reservation-card-list .reservation-request-source span{color:inherit;font-size:inherit;font-weight:inherit}.reservation-card-list .reservation-request-source svg{width:18px;height:18px;flex-basis:18px}.reservation-card-list .reservation-dates-cell{display:flex;flex-wrap:wrap;gap:var(--space-sm);color:var(--color-text);font-size:var(--font-size-base);font-weight:750}.reservation-card-list .reservation-timing-note{display:none}.reservation-card-summary{display:flex;flex-wrap:wrap;gap:0;margin:0;color:var(--color-text);font-size:1.35rem;font-weight:500;line-height:1.25;letter-spacing:-.025em}.reservation-card-summary span+span:before{content:"|";margin:0 10px;color:var(--color-text)}.reservation-card-summary .money-text{font-size:inherit;font-weight:inherit}.reservation-card-list .row-actions{display:grid;gap:10px;justify-content:stretch;text-align:initial;white-space:normal}.reservation-card-list .row-actions button{width:100%;min-height:42px;border-radius:9px;font-size:var(--font-size-sm);font-weight:850}.reservation-card-list .row-actions button+button{margin-left:0}.reservation-card-list .row-actions .reservation-primary-action{border-color:#002848;border-color:oklch(27% .075 248);background:linear-gradient(180deg,#053051,#00203e)}.reservation-card-list .row-actions .reservation-secondary-action{background:var(--color-bg-surface)}.reservation-agenda{position:sticky;top:calc(var(--space-lg) + 76px);overflow:hidden;min-height:520px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-bg-surface);box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .05),0 16px 34px oklch(from var(--color-text) l c h / .055)}.reservation-agenda-header{padding:var(--space-lg) var(--space-lg) var(--space-md);border-bottom:1px solid var(--color-border)}.reservation-agenda-header h2{margin:0;color:var(--color-text);font-size:var(--font-size-lg);font-weight:900;letter-spacing:-.04em;line-height:1.1}.reservation-agenda-header span{display:block;margin-top:6px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:700}.reservation-agenda-list{display:grid;margin:0;padding:0 var(--space-lg);list-style:none}.reservation-agenda-list li{display:grid;gap:4px;padding:20px 0;border-bottom:1px solid var(--color-border-muted)}.reservation-agenda-list li:last-child{border-bottom:0}.reservation-agenda-list time{color:var(--color-text);font-size:var(--font-size-base);font-weight:900}.reservation-agenda-list strong{color:var(--color-text);font-size:var(--font-size-base);font-weight:850;line-height:1.25}.reservation-agenda-list span{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:700}.reservation-agenda-list li.checkout time{color:var(--color-success)}.reservation-agenda-list li.pending time{color:#674a00;color:oklch(43% .11 83)}.reservation-agenda-empty{margin:0;padding:var(--space-lg);color:var(--color-text-muted);font-weight:700}.agenda-skeleton{display:grid;gap:var(--space-md);padding:var(--space-lg)}.agenda-skeleton span{height:56px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-bg-muted),var(--color-border-muted),var(--color-bg-muted));background-size:220% 100%;animation:skeleton-sheen 1.2s var(--ease-out-quart) infinite}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:var(--page-section-gap);background:var(--color-bg-surface);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);gap:var(--space-md);animation:fade-in-up var(--duration-slow) var(--ease-out-expo) 50ms both;position:relative;z-index:20}.filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.filter-item{position:relative;display:flex;align-items:center;gap:var(--space-sm);background:var(--color-bg-surface);border:1px solid var(--color-border-heavy);border-radius:var(--radius-sm);padding:0 var(--space-md);min-height:var(--touch-target);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-quart),background-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart)}.filter-item:hover{border-color:var(--color-primary);background-color:var(--color-bg-muted)}.filter-item:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .15)}.filter-item select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.multi-filter-trigger{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:transparent;box-shadow:none;cursor:pointer;padding:0}.multi-filter-trigger:hover{background:transparent;box-shadow:none;transform:none}.multi-filter-menu{position:absolute;top:calc(100% + var(--space-xs));left:0;z-index:30;display:grid;gap:2px;min-width:236px;max-width:min(320px,calc(100vw - (var(--space-md) * 2)));padding:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);box-shadow:var(--shadow-panel);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.multi-filter-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.multi-filter-menu-header{display:grid;gap:2px;padding:var(--space-sm) var(--space-sm) var(--space-xs);border-bottom:1px solid var(--color-border-muted);margin-bottom:2px}.multi-filter-menu-header span{color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.04em;line-height:1;text-transform:uppercase}.multi-filter-menu-header strong{min-width:0;overflow:hidden;color:var(--color-text);font-size:var(--font-size-sm);font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.multi-filter-option{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--touch-target);padding:0 var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);font-weight:750;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart)}.multi-filter-option:hover{background:var(--color-bg-muted)}.multi-filter-option:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:-2px}.multi-filter-option.is-selected{background:oklch(from var(--color-primary) l c h / .08);color:var(--color-text)}.multi-filter-checkbox{display:grid;width:18px;height:18px;flex:0 0 18px;place-items:center;border:1px solid var(--color-border-heavy);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-bg-surface);transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart)}.multi-filter-option.is-selected .multi-filter-checkbox{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-on-primary)}.multi-filter-option-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-filter-status-dot{width:8px;height:8px;flex:0 0 8px;border-radius:var(--radius-full);background:var(--color-badge-bg)}.multi-filter-status-dot.ok{background:var(--color-success)}.multi-filter-status-dot.warning{background:#825b00;background:oklch(50% .15 80)}.multi-filter-status-dot.danger{background:var(--color-danger)}.filter-item-content{display:flex;flex-direction:column;justify-content:center}.filter-item-label{font-size:10px;font-weight:800;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.05em;line-height:1;margin-bottom:2px}.filter-item-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:var(--space-xs);line-height:1}.filter-icon{color:var(--color-text-subtle);display:flex;align-items:center;opacity:.6}.calendar-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(220px,1fr);align-items:center;gap:var(--space-lg);min-height:84px;margin-bottom:0;background:var(--color-bg-surface);border:1px solid var(--color-border-muted);border-radius:var(--radius-md) var(--radius-md) 0 0;padding:var(--space-md) var(--space-xl);box-shadow:var(--shadow-card)}.calendar-toolbar-title{display:grid;gap:2px;min-width:0}.calendar-toolbar-title span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.calendar-toolbar-title strong{overflow:hidden;color:var(--color-text);font-size:var(--font-size-md);font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.button-group{display:flex;align-items:center;background:var(--color-bg-muted);padding:2px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.button-group button{border:none;background:transparent;color:var(--color-text-muted);min-height:36px;height:36px;padding:0 var(--space-md)}.button-group button:hover{background:var(--color-bg-surface);color:var(--color-text);transform:none}.button-group button.active,.button-group button[aria-pressed=true]{background:var(--color-bg-surface);color:var(--color-text);box-shadow:var(--shadow-card)}.month-filter{display:flex;align-items:center;justify-content:center;gap:var(--space-md);min-width:0}.month-filter-label{min-width:260px;color:var(--color-text);font-size:var(--font-size-lg);font-weight:800;line-height:1;text-align:center}.month-filter-label{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:40px}.month-filter-label strong{font-size:inherit;font-weight:inherit;line-height:inherit}.month-filter-label-button{border:1px solid transparent;background:transparent;color:var(--color-text);padding:0 var(--space-sm);transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart)}.month-filter-label-button:hover{border-color:var(--color-border-muted);background:var(--color-bg-muted);color:var(--color-text);filter:none;transform:none}.month-filter-label-button:focus-visible{outline:2px solid oklch(from var(--color-primary) l c h / .35);outline-offset:2px}.month-filter-current-indicator{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;border:1px solid var(--color-border-muted);border-radius:var(--radius-sm);background:oklch(from var(--color-primary) 96% calc(c*.22) h);color:var(--color-primary)}.month-filter-label-button:hover .month-filter-current-indicator{border-color:oklch(from var(--color-primary) 72% calc(c*.35) h);background:oklch(from var(--color-primary) 94% calc(c*.32) h);color:oklch(from var(--color-primary) 38% c h)}.toolbar .month-filter{min-height:var(--touch-target);justify-content:flex-start}.toolbar .month-filter-label{min-width:220px;font-size:var(--font-size-md)}.calendar-price-toggle{min-height:40px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-surface);color:var(--color-text);padding:0 var(--space-lg);font-size:var(--font-size-sm);font-weight:600;box-shadow:none}.calendar-price-toggle.active{border-color:var(--color-primary);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.calendar-price-toggle:hover{border-color:var(--color-border-heavy);background:var(--color-bg-muted);filter:none;transform:none}.onboarding-banner{background:oklch(from var(--color-primary) l c h / .05);border:1px dashed var(--color-primary);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);display:flex;align-items:center;justify-content:space-between;animation:fade-in-up var(--duration-slow) var(--ease-out-expo)}.onboarding-content{display:flex;align-items:center;gap:var(--space-md)}.onboarding-icon{font-size:24px}.onboarding-content strong{display:block;font-size:var(--font-size-sm);color:var(--color-primary)}.onboarding-content p{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.help-trigger{color:var(--color-primary)!important}.calendar-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm)}.calendar-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:var(--color-bg-surface);border-right:1px solid var(--color-border-muted);border-left:1px solid var(--color-border-muted)}.calendar-overview div{display:grid;gap:2px;min-width:0;padding:var(--space-md) var(--space-xl);border-top:1px solid var(--color-border-muted);border-right:1px solid var(--color-border-muted)}.calendar-overview div:last-child{border-right:0}.calendar-overview span{overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.06em;line-height:1.2;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.calendar-overview strong{color:var(--color-text);font-size:var(--font-size-lg);font-weight:850;line-height:1.1}.calendar-toolbar-actions label{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase}.calendar-toolbar-actions select{min-height:32px;padding:0 var(--space-sm);font-size:var(--font-size-xs)}.calendar-legend{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin:0;padding:var(--space-sm) var(--space-xl);background:var(--color-bg-surface);border-right:1px solid var(--color-border-muted);border-bottom:1px solid var(--color-border-muted);border-left:1px solid var(--color-border-muted);color:var(--color-text-muted);font-size:var(--font-size-sm)}.calendar-legend-items{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-md);min-width:0}.calendar-legend-items span{display:inline-flex;align-items:center;gap:var(--space-xs);white-space:nowrap}.legend-dot,.legend-ring{width:10px;height:10px;display:inline-block;flex:0 0 auto;border-radius:var(--radius-full)}.legend-dot.direct{background:#2a9b4f}.legend-dot.airbnb{background:#f33968}.legend-dot.booking{background:#1b6ad4}.legend-dot.blocked{background:var(--color-blocked)}.legend-ring.today{border:2px solid var(--color-primary)}.calendar-shell{--calendar-name-width: 286px;--calendar-day-width: 148px;--calendar-row-height: 148px;overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 318px);border-right:1px solid var(--color-border-muted);border-bottom:1px solid var(--color-border-muted);border-left:1px solid var(--color-border-muted);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-card);scrollbar-gutter:stable}.calendar-board{position:relative;width:max(100%,calc(var(--calendar-name-width) + (var(--calendar-days) * var(--calendar-day-width))));min-width:calc(var(--calendar-name-width) + (var(--calendar-days) * var(--calendar-day-width)))}.calendar-today-highlight{position:absolute;inset-block:58px 0;left:calc(var(--calendar-name-width) + (((100% - var(--calendar-name-width)) / var(--calendar-days)) * var(--calendar-today-index)));z-index:2;width:calc((100% - var(--calendar-name-width)) / var(--calendar-days));border:1px solid oklch(65% .12 245 / .56);border-top:0;border-radius:0 0 var(--radius-sm) var(--radius-sm);background:#a2cdf247;box-shadow:0 0 18px #4896d33d,inset 0 0 0 1px #ffffff57;pointer-events:none}.calendar-header-row,.calendar-apartment-row{display:grid;grid-template-columns:var(--calendar-name-width) minmax(0,1fr)}.calendar-header-row{position:sticky;top:0;z-index:20}.calendar-corner,.calendar-apartment-cell{position:sticky;left:0;z-index:12;display:grid;align-content:center;min-height:var(--calendar-row-height);padding:0 var(--space-md);background:linear-gradient(180deg,#fbfcfe,#f1f4f8);border-right:1px solid var(--color-border-muted)}.calendar-corner{z-index:24;min-height:58px;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-apartment-cell{grid-template-columns:minmax(0,1fr) auto;align-items:center;border-top:1px solid var(--color-border-muted)}.calendar-apartment-cell strong{overflow:hidden;color:var(--color-text);font-size:var(--font-size-md);font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.calendar-apartment-cell small{margin-top:2px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600}.calendar-apartment-icon{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--color-border-muted);border-radius:var(--radius-full);background:var(--color-bg-surface);color:var(--color-text-subtle)}.calendar-date-track,.calendar-cell-layer,.calendar-block-layer{display:grid;grid-template-columns:repeat(var(--calendar-days),1fr 1fr)}.calendar-date-track{min-height:58px}.calendar-date-header{display:grid;place-items:center;gap:2px;min-width:0;padding:8px var(--space-xs);background:linear-gradient(180deg,#fbfcfe,#f1f4f8);border-left:1px solid var(--color-border-muted);color:var(--color-text-muted);text-align:center;grid-column:span 2}.calendar-date-header.weekend{background:linear-gradient(180deg,#f4f7fb,#ebeff4)}.calendar-date-header.today{position:relative;z-index:1;border:1px solid oklch(65% .12 245 / .56);border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:#a2cdf247;box-shadow:0 0 18px #4896d32e,inset 0 0 0 1px #ffffff57;color:#073b5e}.calendar-date-header span{font-size:.72rem;font-weight:700;line-height:1.15;text-transform:uppercase}.calendar-row-track{position:relative;min-width:0;min-height:var(--calendar-row-height)}.calendar-cell-layer{position:relative;z-index:1}.calendar-block-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;grid-template-rows:1fr;align-items:start;padding-top:36px;pointer-events:none}.calendar-cell{position:relative;min-width:0;min-height:var(--calendar-row-height);padding:14px 12px 12px;border-top:0;border-left:0;border-radius:0;background:linear-gradient(180deg,var(--color-bg-surface),oklch(99% .002 260));border-right:1px solid oklch(90.5% .008 260);border-top:1px solid oklch(90.5% .008 260);cursor:crosshair;transform:none;outline-offset:-3px;grid-column:span 2}.calendar-cell:after{content:"+";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);background:oklch(from var(--color-primary) l c h / .08);font-size:22px;font-weight:500;line-height:1;color:var(--color-primary);opacity:0;transition:opacity var(--duration-fast) var(--ease-out-quart);pointer-events:none}.calendar-cell:hover:after{opacity:.8}.calendar-cell.occupied:after,.calendar-cell.blocked:after{content:none}.calendar-cell:focus-visible{outline:2px solid var(--color-primary);z-index:10}.calendar-cell:hover,.calendar-cell.selecting{background:oklch(from var(--color-primary) l c h / .05);filter:none;transform:none}.calendar-cell.weekend{background:linear-gradient(180deg,#f5f9fc,#eff3f8)}.calendar-cell.occupied{background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 2px,#f2f5f9 2px,#f2f5f9 4px)}.calendar-cell.today{box-shadow:none}.calendar-cell-day{position:absolute;top:14px;left:12px;color:#3b4350;font-size:var(--font-size-sm);font-weight:800;line-height:1;pointer-events:none}.calendar-cell-price{position:absolute;right:12px;bottom:10px;max-width:calc(100% - 24px);overflow:hidden;color:#86909f;font-size:.68rem;font-weight:700;line-height:1;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}@media(max-width:820px){.calendar-toolbar{grid-template-columns:1fr;padding:var(--space-sm);gap:var(--space-sm)}.calendar-toolbar-title{display:none}.month-filter{justify-content:space-between}.month-filter-label{min-width:0;font-size:var(--font-size-base);text-align:left}.calendar-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.calendar-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-overview div{padding:var(--space-sm) var(--space-md)}.calendar-overview strong{font-size:var(--font-size-md)}.calendar-legend{align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.calendar-legend-items{flex:1;gap:var(--space-sm)}.calendar-toolbar-actions label{flex-direction:column;align-items:flex-start}.calendar-toolbar-actions select{width:100%}.help-trigger{grid-column:span 2;width:100%!important}.calendar-shell{--calendar-name-width: 156px;--calendar-day-width: 118px;--calendar-row-height: 118px}.onboarding-banner{padding:var(--space-sm)}.onboarding-icon{display:none}}.calendar-cell.occupied,.calendar-cell.blocked{cursor:default}.calendar-booking-block{align-self:start;z-index:5;min-height:45px;width:calc(100% - 18px);margin:0 9px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius-full);display:flex;align-items:center;gap:8px;color:var(--color-text);overflow:hidden;text-align:left;transform:none;box-shadow:0 10px 22px #19223014;pointer-events:auto;transition:filter var(--duration-fast) var(--ease-out-quart)}.calendar-booking-block:hover{filter:brightness(1.1);transform:none}.calendar-booking-block:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;z-index:10}.calendar-booking-block.starts-in-view{border-top-left-radius:var(--radius-full);border-bottom-left-radius:var(--radius-full)}.calendar-booking-block.ends-in-view{border-top-right-radius:var(--radius-full);border-bottom-right-radius:var(--radius-full)}.calendar-booking-block.reservation{background:#b2e7bc;border-color:#75b683}.calendar-booking-block.source-airbnb{background:#ffc6c5;background:oklch(88% .09 20);border-color:#f98e8f}.calendar-booking-block.source-booking{background:#c5ddff;background:oklch(89% .07 258);border-color:#7aacf6}.calendar-booking-block.source-direct{background:#b2e7bc;border-color:#75b683}.calendar-booking-block.block{background:#c3cbd8;border-color:#9199a5}.calendar-source-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:22px;height:22px;background:#ffffff8c;border-radius:var(--radius-full);color:inherit;font-size:.72rem;font-weight:900;line-height:1}.calendar-booking-block span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:var(--font-size-sm);font-weight:800;line-height:1.25}.calendar-booking-block>span:not(.calendar-source-mark){min-width:0;flex:1 1 auto}.calendar-booking-block small{flex:0 0 auto;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.calendar-booking-block small{max-width:100%;margin:0;overflow:hidden;color:var(--color-text-muted);font-size:.68rem;font-weight:700;line-height:1.25;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.content:has(>.calendar-page){max-width:none;padding-top:var(--space-xl)}.calendar-page .page-header{margin-bottom:var(--space-lg)}.calendar-detail-list{display:grid;gap:var(--space-md);margin:0}.calendar-detail-list div{display:grid;grid-template-columns:120px 1fr;gap:var(--space-md);border-bottom:1px solid var(--color-border-muted);padding-bottom:var(--space-md)}.calendar-detail-list dt{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-detail-list dd{margin:0;color:var(--color-text);font-size:var(--font-size-sm);font-weight:700}.form-section{display:grid;gap:var(--space-md)}.calendar-loading{display:grid;gap:1px;overflow:hidden;background:var(--color-border-muted);border:1px solid var(--color-border);border-radius:var(--radius-md)}.calendar-loading span{height:64px;background:linear-gradient(90deg,transparent,oklch(from var(--color-bg-muted) l c h / .75),transparent),var(--color-bg-surface);background-size:220px 100%,auto;animation:calendar-skeleton 1.2s var(--ease-out-quart) infinite}@keyframes calendar-skeleton{0%{background-position:-220px 0,0 0}to{background-position:calc(100% + 220px) 0,0 0}}.toolbar label{min-width:200px}.inline-check{display:inline-flex;grid-template-columns:none;align-items:center;width:auto;min-width:0;color:var(--color-text);font-size:var(--font-size-base);gap:var(--space-sm)}.inline-check input{width:auto;min-height:auto}.form-switch{position:relative;display:inline-flex;grid-template-columns:none;align-items:center;gap:var(--space-sm);width:auto;min-width:0;min-height:var(--touch-target);color:var(--color-text);font-size:var(--font-size-sm);font-weight:800;letter-spacing:0;cursor:pointer}.form-switch input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-switch-track{position:relative;width:44px;height:26px;flex:0 0 44px;border:1px solid var(--color-border-heavy);border-radius:var(--radius-full);background:var(--color-bg-muted);transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart)}.form-switch-track:after{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-bg-surface);box-shadow:0 1px 4px oklch(from var(--color-text) l c h / .18);content:"";transition:background-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.form-switch:hover .form-switch-track{border-color:var(--color-primary)}.form-switch input:focus-visible+.form-switch-track{box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .16)}.form-switch input:checked+.form-switch-track{border-color:var(--color-primary);background:var(--color-primary)}.form-switch input:checked+.form-switch-track:after{transform:translate(18px)}.form-switch input:disabled+.form-switch-track{opacity:.62}.form-switch:has(input:disabled){cursor:not-allowed;opacity:.72}table{width:100%;border-collapse:collapse;background:var(--color-bg-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);animation:fade-in-up var(--duration-slow) var(--ease-out-expo) .1s both}th,td{padding:var(--space-md) var(--space-lg);text-align:left;vertical-align:middle}th{background:var(--color-table-header-bg);color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;font-weight:700;border-bottom:1px solid var(--color-border-muted)}td{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;border-bottom:1px solid var(--color-border-muted)}td strong{display:block;font-size:var(--font-size-base);color:var(--color-text);margin-bottom:4px}tr:last-child td{border-bottom:0}.row-actions{justify-content:flex-end;white-space:nowrap}.ghost-button{background:var(--color-bg-surface);border-color:var(--color-border-heavy);color:var(--color-text)}.ghost-button:hover{background:var(--color-bg-muted);border-color:var(--color-border-heavy)}.danger-button{background:var(--color-danger);border-color:var(--color-danger)}.danger-button:hover{filter:brightness(1.1)}.icon-button{width:var(--touch-target);min-height:var(--touch-target);padding:0;background:transparent;border:none;color:var(--color-text-muted)}.icon-button:hover{background:var(--color-bg-muted);color:var(--color-text);transform:none}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-full);background:var(--color-badge-bg);color:var(--color-text-muted);font-size:10px;font-weight:700;padding:2px 8px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge.ok{background:var(--color-success-bg);color:var(--color-success)}.badge.warning{background:#fdf0dc;color:#825b00;color:oklch(50% .15 80)}.badge.danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge.muted{background:var(--color-badge-bg);color:var(--color-text-subtle)}tr{transition:background-color var(--duration-fast) var(--ease-out-quart)}tr:hover td{background-color:var(--color-bg-muted)}.expenses-page{display:grid;gap:var(--page-section-gap)}.expenses-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xl);margin-bottom:0}.expenses-hero-title h1{margin:0;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-xl);font-weight:900;line-height:1.1;letter-spacing:-.03em}.expenses-hero-actions{display:flex;align-items:center;gap:var(--space-md);min-width:min(100%,600px);justify-content:flex-end}.expenses-hero-actions .toolbar-container{width:min(100%,420px)}.expenses-hero-actions .range-input-wrapper{min-height:68px;border-color:#d2d8e1;border-radius:8px;box-shadow:0 6px 20px oklch(from var(--color-text) l c h / .04)}.expenses-hero-actions .range-label{font-size:.72rem;letter-spacing:.04em}.expenses-hero-actions .range-value{color:#0b0d12;font-size:1.05rem;font-weight:800}.expenses-hero-actions .picker-popover{right:0;left:auto}.expenses-hero-actions .date-range-picker{max-width:min(728px,calc(100vw - 220px));overflow:auto}.expenses-hero-actions .month-filter{min-height:68px;padding:0 var(--space-md);border:1px solid oklch(88% .014 260);border-radius:8px;background:var(--color-bg-surface);box-shadow:0 6px 20px oklch(from var(--color-text) l c h / .04)}.expenses-hero-actions .month-filter-label{min-width:220px;color:#0b0d12;font-size:1.05rem;font-weight:800}.expenses-primary-action{min-height:68px;border-radius:8px;padding:0 28px;font-weight:800;box-shadow:0 8px 22px oklch(from var(--color-primary) l c h / .2);white-space:nowrap}.expenses-total-card{width:100%;margin:0;padding:0}.expenses-total-card>div{min-height:132px;padding:var(--space-xl);border:1px solid oklch(88.5% .014 260);border-radius:12px;background:#fff;box-shadow:0 16px 38px oklch(from var(--color-text) l c h / .06)}.expenses-total-card dt{margin:0 0 6px;color:#343b45;font-size:1.12rem;font-weight:650}.expenses-total-card dd{display:flex;align-items:center;gap:var(--space-sm);margin:0;color:#000;font-size:var(--font-size-xxl);font-weight:900;line-height:1;letter-spacing:0}.expenses-total-card p{margin:10px 0 0;color:#38463d;font-size:1rem;font-weight:600}.expenses-total-indicator{display:inline-grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#ccf4d3;color:#006b2e;color:oklch(46% .15 150);flex:0 0 auto}.expense-ledger{display:grid}.expense-ledger{overflow:hidden;border:1px solid var(--color-border-heavy);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-card);animation:fade-in-up var(--duration-slow) var(--ease-out-expo) .1s both}.expense-filter-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-muted);background:#fafcff}.expense-filter-toolbar .month-filter{min-height:44px;justify-content:flex-start;gap:var(--space-sm);padding:0 var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface)}.expense-filter-toolbar .month-filter-label{min-width:176px;color:var(--color-text);font-size:var(--font-size-sm);font-weight:850}.expense-filter-summary{display:grid;gap:2px;flex:0 0 auto;min-width:0}.expense-filter-summary span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.expense-filter-summary strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:850;line-height:1.2}.expense-search-control{display:flex;align-items:center;flex:1 1 240px;gap:var(--space-sm);min-width:0;min-height:44px;padding:0 10px 0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-muted);transition:border-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart),background-color var(--duration-fast) var(--ease-out-quart)}.expense-search-control:hover{border-color:var(--color-border-heavy);background:#fafcff}.expense-search-control:focus-within{border-color:#276ee1;box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .14);background:var(--color-bg-surface)}.expense-search-control svg{flex:0 0 auto}.expense-search-control input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-width:0;height:42px;border:0;outline:0;background:transparent;color:var(--color-text);font-size:var(--font-size-sm);font-weight:650}.expense-search-control input:focus{border:0;box-shadow:none}.expense-search-control input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.expense-search-control input::placeholder{color:var(--color-text-muted);opacity:.82}.expense-search-clear{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted)}.expense-search-clear:hover{background:var(--color-bg-muted);color:var(--color-text);filter:none}.expense-search-clear:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;color:var(--color-text)}.expense-search-clear:active{transform:scale(.96)}.expense-type-filter{display:inline-flex;gap:4px;min-width:max-content;padding:3px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#edf0f5}.expense-type-filter button{min-height:36px;border:1px solid transparent;border-radius:6px;padding:0 var(--space-md);background:transparent;color:var(--color-text-subtle);font-size:var(--font-size-sm);font-weight:800;white-space:nowrap}.expense-type-filter button:hover{background:#f6f9fd;color:var(--color-text);filter:none}.expense-type-filter button[aria-pressed=true]{border-color:oklch(from var(--color-primary) l c h / .16);background:#e0ecff;background:oklch(94% .036 260);color:#00317e;color:oklch(34% .16 260);box-shadow:0 1px 4px oklch(from var(--color-primary) l c h / .12)}.expense-filter-reset{min-height:44px;border:1px solid var(--color-border-heavy);border-radius:var(--radius-md);padding:0 var(--space-md);background:var(--color-bg-surface);color:var(--color-text);font-size:var(--font-size-sm);font-weight:800}.expense-filter-reset:hover{border-color:#9ea5b0;background:var(--color-bg-muted);filter:none}.expense-ledger-header,.expense-ledger-row{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(150px,.85fr) max-content minmax(120px,.45fr) minmax(218px,max-content);column-gap:clamp(var(--space-sm),1.6vw,var(--space-lg));align-items:center}.expense-ledger-header{min-height:48px;padding:0 var(--space-lg);border-bottom:1px solid var(--color-border-heavy);background:var(--color-table-header-bg);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.expense-ledger-header span:nth-child(4),.expense-ledger-header span:nth-child(5){text-align:right}.expense-ledger-row{min-height:82px;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-muted);transition:background-color var(--duration-fast) var(--ease-out-quart)}.expense-ledger-row:last-child{border-bottom:0}.expense-ledger-row:hover{background:var(--color-bg-muted)}.expense-filter-empty{display:grid;gap:6px;min-height:128px;align-content:center;justify-items:center;margin:var(--space-lg);padding:var(--space-xl);border:1px dashed var(--color-border-heavy);border-radius:var(--radius-md);background:#f8fafd;color:var(--color-text-muted);text-align:center}.expense-filter-empty strong{color:var(--color-text);font-size:var(--font-size-md);font-weight:850;line-height:1.2}.expense-filter-empty span{max-width:38ch;font-size:var(--font-size-sm);line-height:1.45}.expense-filter-empty-action{min-height:40px;margin-top:var(--space-sm);border-radius:var(--radius-sm);padding:0 var(--space-md);font-size:var(--font-size-sm);font-weight:800}.expense-visual-card{display:grid;min-width:0;min-height:0;overflow:hidden}.expense-card-main{display:grid;min-width:0;align-content:start;gap:var(--space-xs);padding:0}.expense-type-pill{display:inline-flex;align-items:center;justify-self:start;max-width:100%;min-height:26px;padding:0 10px;border-radius:var(--radius-full);color:#2c283e;background:#e5d7f7;font-size:.72rem;font-weight:850;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-type-pill.recurring{color:#003744;color:oklch(31% .065 220);background:#bdeaf8}.expense-card-main h2{min-width:0;margin:0;color:var(--color-text);font-size:var(--font-size-base);font-weight:850;line-height:1.2;letter-spacing:0;overflow-wrap:anywhere}.expense-card-main p{display:none;min-width:0;margin:0;color:#000;font-size:2rem;font-weight:900;line-height:1.05;letter-spacing:0;overflow-wrap:anywhere}.expense-card-mobile-period,.expense-ledger-description .expense-type-pill{display:none}.expense-ledger-period{min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.expense-ledger-type{justify-self:start}.expense-ledger-amount{color:var(--color-text);font-size:var(--font-size-base);font-weight:900;text-align:right;white-space:nowrap}.expense-card-footer{display:flex;align-items:center;justify-content:flex-end;justify-self:end;flex-wrap:nowrap;gap:var(--space-sm);min-height:0;padding:0;border-top:0;color:#535861;font-size:.92rem;font-weight:650}.expense-card-footer>span{display:none}.expense-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);min-width:0;flex:0 0 auto}.expense-icon-action,.expense-text-action{min-height:var(--touch-target);border:1px solid transparent;background:transparent;color:#6b6f76;padding:0}.expense-icon-action{width:var(--touch-target)}.expense-text-action{padding:0 var(--space-sm);color:#5a5e65;font-weight:750}.expense-icon-action:hover,.expense-text-action:hover{background:transparent;color:var(--color-text);filter:none;transform:translateY(-1px)}.expense-icon-action:focus-visible,.expense-text-action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;color:var(--color-text)}.expense-icon-action:active,.expense-text-action:active{transform:translateY(0)}.expense-icon-action:disabled,.expense-text-action:disabled{cursor:not-allowed;opacity:.55;transform:none}.apartments-board{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:start;animation:fade-in-up var(--duration-slow) var(--ease-out-expo) .1s both}.apartment-workspace{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.apartment-summary,.apartments-panel-header,.apartment-row-title,.apartment-row-footer{display:flex;align-items:center}.apartment-summary,.apartments-panel-header,.apartment-row-title,.apartment-row-footer{justify-content:space-between;gap:var(--space-lg)}.section-kicker{display:block;margin-bottom:var(--space-xs);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.animate-fade-in-up{animation:fade-in-up var(--duration-normal) var(--ease-out-expo) both}.animate-fade-in{animation:fade-in var(--duration-normal) var(--ease-out-quart) both}@media(max-width:1024px){.apartments-board{grid-template-columns:1fr;overflow-x:clip}.apartment-summary{grid-template-columns:1fr;padding:var(--space-lg)}.apartment-command-panel{min-width:0}}@media(max-width:1180px){.apartment-row{grid-template-columns:1fr;align-items:stretch}.apartment-row-footer{padding-top:var(--space-md);border-top:1px solid var(--color-border-muted)}}.apartment-workspace{display:grid;gap:var(--space-lg);overflow:hidden;background:transparent;border:0;box-shadow:none}.apartment-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-lg);padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface)}.apartment-identity{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-items:start;min-width:0}.apartment-identity h2{margin:0;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-xxl);line-height:1.1;letter-spacing:-.04em;text-transform:none}.apartment-identity p,.apartment-identity small,.apartments-panel-header p,.apartment-row p,.apartment-empty span{margin:var(--space-xs) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45}.apartment-identity small{display:block;max-width:70ch}.apartment-command-panel{display:grid;min-width:220px;align-content:start;gap:var(--space-md);padding:0;border:0;border-radius:0;background:transparent}.apartment-command-panel span{display:block;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.apartment-command-panel strong{display:block;margin-top:2px;color:var(--color-text);font-size:var(--font-size-md);line-height:1.2}.apartment-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-sm)}.ghost-danger-button{background:var(--color-bg-surface);border-color:var(--color-danger-border);color:var(--color-danger)}.ghost-danger-button:hover{background:var(--color-danger-bg);filter:none}.apartments-panel{display:grid;gap:var(--space-lg);padding:0;background:transparent;border:0;box-shadow:none}.apartments-panel-header{align-items:flex-start;padding:0}.apartments-panel-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-sm)}.apartments-panel-header h3,.apartment-row h4{margin:0;color:var(--color-text);font-size:var(--font-size-md);line-height:1.2}.apartment-manifest{display:grid;gap:var(--space-sm)}.apartment-row{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(380px,1.85fr);align-items:center;gap:var(--space-lg);min-height:116px;padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:none;transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.apartment-row:last-child{border-bottom:1px solid var(--color-border)}.apartment-row:hover{background:oklch(from var(--color-bg-muted) l c h / .62);border-color:var(--color-border-heavy);box-shadow:0 10px 24px oklch(from var(--color-text) l c h / .04);transform:translateY(-1px)}.apartment-card-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:var(--space-md);align-items:center;min-width:0;position:relative;padding-right:0}.apartment-row-marker{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-muted);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:0}.apartment-row-title{display:grid;gap:3px;align-items:flex-start;min-width:0}.apartment-row-title h4{overflow:hidden;font-size:1.1rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.apartment-row-title p{display:-webkit-box;overflow:hidden;min-height:1.45em;-webkit-box-orient:vertical;-webkit-line-clamp:2}.apartment-card-head .row-actions{position:static;gap:var(--space-xs)}.apartment-row-footer{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:var(--space-sm);padding-top:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.apartment-meta-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-sm);align-content:center;min-width:0;margin:0;padding:0;list-style:none}.apartment-meta-list li{display:grid;gap:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apartment-meta-list span{overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.apartment-meta-list strong{overflow:hidden;color:var(--color-text);font-size:var(--font-size-sm);font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.apartment-capacity{display:inline-flex;min-height:34px;align-items:center;padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-muted);color:var(--color-text);font-weight:700}.apartment-empty{display:grid;gap:var(--space-xs);padding:var(--space-xl);border:1px dashed var(--color-border-heavy);border-radius:var(--radius-sm);text-align:center}.apartment-empty strong{color:var(--color-text)}.avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-on-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:700;flex-shrink:0}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-xl);margin-bottom:var(--space-xxl);animation:fade-in-up var(--duration-slow) var(--ease-out-expo) both}.metric{background:var(--color-bg-surface);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs);transition:transform var(--duration-fast) var(--ease-out-quart)}.metric:hover{transform:translateY(-2px);border-color:var(--color-border-heavy)}.metric dt{color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:0}.metric dd{font-family:var(--font-numeric);font-size:var(--font-size-lg);line-height:1.2;letter-spacing:0;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums;margin:0}.dashboard-page{display:grid;gap:var(--page-section-gap);--dashboard-chart-blue: oklch(57% .22 250)}.dashboard-page .page-header{margin-bottom:0}.dashboard-page .page-header h1{font-size:var(--font-size-xl);letter-spacing:-.03em}.dashboard-page .page-header-description{color:#5d646f;font-size:var(--font-size-base);font-weight:600}.dashboard-page .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);margin-bottom:0}.dashboard-page .metric{min-height:132px;display:grid;grid-template-columns:auto 1fr;align-content:start;gap:var(--space-sm) var(--space-md);border-color:var(--color-border-heavy);border-radius:8px;padding:var(--space-lg);box-shadow:0 8px 22px oklch(from var(--color-text) l c h / .06)}.dashboard-page .metric:hover{transform:none}.dashboard-page .metric dt{align-self:center;color:var(--color-text);font-size:var(--font-size-sm);letter-spacing:0}.dashboard-page .metric dd{grid-column:1 / -1;font-size:2.5rem;font-weight:700;letter-spacing:0}.dashboard-metric-icon{order:-1;width:28px;height:28px;padding:4px;border-radius:7px;color:#105fd9;background:#e0f7fb}.metric-note{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin:0;color:#5d646f;font-size:var(--font-size-sm);font-weight:600}.metric-change{display:inline-flex;align-items:center;gap:2px;font-size:var(--font-size-sm);font-weight:900}.metric-change svg{width:18px;height:18px}.metric-change.positive{color:#007f38;color:oklch(52% .17 150)}.metric-change.negative{color:#d40924}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:var(--page-section-gap)}.attention-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:var(--space-lg);align-items:start}.dashboard-panel{background:var(--color-bg-surface);border:1px solid var(--color-border-heavy);border-radius:8px;box-shadow:0 8px 24px oklch(from var(--color-text) l c h / .07);overflow:hidden}.panel-header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border-heavy)}.dashboard-panel h2{margin:0;color:var(--color-text);font-size:var(--font-size-lg);line-height:1.1;font-weight:900;letter-spacing:-.03em}.segmented-control{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:#e5e8ed}.segmented-control button{min-height:34px;border:0;border-radius:var(--radius-full);background:transparent;color:var(--color-text-subtle);font-weight:800;padding:0 var(--space-md)}.segmented-control button[aria-pressed=true]{background:var(--color-bg-surface);color:var(--color-text);box-shadow:0 2px 8px oklch(from var(--color-text) l c h / .08)}.revenue-chart{height:430px;padding:var(--space-xl)}.movement-panel{margin-bottom:var(--space-sm)}.attention-grid .movement-panel{margin-bottom:0}.movement-header p{margin:var(--space-sm) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600}.checkins-table{border-radius:0;box-shadow:none;animation:none}.checkins-table td{padding:var(--space-md) var(--space-xl)}.checkins-table td{color:#343b45;font-size:var(--font-size-base);font-weight:700}.checkins-table td:first-child{display:flex;align-items:center;gap:var(--space-md);color:var(--color-text)}.movement-guest-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px}.movement-guest-copy strong{line-height:1.2}.movement-table td{padding:var(--space-md) var(--space-xl)}.movement-table td:nth-child(2){width:220px;min-width:190px;color:var(--color-text-muted);white-space:nowrap}.movement-table td:last-child{width:150px;text-align:right;white-space:nowrap}.movement-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 var(--space-sm);border-radius:7px;background:#c0e8fd;color:#00435f;color:oklch(36% .13 235);font-size:var(--font-size-xs);font-weight:800}.movement-badge.checkout{background:#ffdedb;background:oklch(93% .045 25);color:#830c16}.rent-alerts-panel{border-color:var(--color-danger-border)}.rent-alerts-header{background:var(--color-danger-bg)}.rent-alerts-header p{margin:var(--space-sm) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:700}.rent-alerts-header>strong{color:var(--color-danger);font-size:var(--font-size-xl);line-height:1;white-space:nowrap}.rent-alert-list{display:grid}.rent-alert-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:var(--space-md);min-height:76px;padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--color-border-muted);color:var(--color-text);text-decoration:none}.rent-alert-item:hover{background:oklch(from var(--color-danger-bg) l c h / .56)}.rent-alert-marker{width:10px;height:42px;border-radius:var(--radius-full);background:var(--color-danger)}.rent-alert-main,.rent-alert-meta{display:grid;gap:4px;min-width:0}.rent-alert-main strong,.rent-alert-meta strong{overflow:hidden;color:var(--color-text);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.rent-alert-main small,.rent-alert-meta small{overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.rent-alert-meta{text-align:right}.rent-alert-meta strong{color:var(--color-danger)}.rent-alert-more{min-height:48px;display:grid;place-items:center;color:var(--color-danger);font-weight:900;text-decoration:none}.rent-alert-more:hover{background:var(--color-danger-bg)}.guest-avatar{width:34px;height:34px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#0559d2;background:#d1e2ff;background:oklch(91% .05 260);font-size:var(--font-size-sm);font-weight:900}.guest-avatar.avatar-2{color:#7d3ab7;background:#ecddff;background:oklch(92% .06 305)}.guest-avatar.avatar-3{color:#c65100;color:oklch(58% .2 45);background:#ffdeba}.dashboard-empty-note{margin:0;padding:var(--space-xl);color:var(--color-text-muted);font-weight:600}@media(max-width:1100px){.dashboard-page .metric-grid,.dashboard-grid,.attention-grid{grid-template-columns:1fr}.revenue-chart{height:360px}}.date-range-picker{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:0 18px 44px oklch(from var(--color-text) l c h / .14);position:relative;width:fit-content;max-width:calc(100vw - (var(--space-lg) * 2))}.date-range-picker:before{content:none}.calendar-nav{position:absolute;top:calc(var(--space-lg) - 2px);left:var(--space-lg);right:var(--space-lg);display:flex;justify-content:space-between;pointer-events:none;z-index:1}.calendar-nav .icon-button{pointer-events:auto;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .05)}.calendar-nav .icon-button:hover{border-color:var(--color-border-heavy);background:var(--color-bg-muted)}.calendar-container{display:flex;gap:var(--space-xl)}@media(max-width:768px){.calendar-container{gap:var(--space-lg);flex-direction:column}.calendar-month{width:100%;max-width:320px}.date-range-picker{padding:var(--space-md)}}@media(max-width:640px){.date-range-picker{width:100%;max-width:100%;padding:28px var(--space-sm) max(var(--space-md),env(safe-area-inset-bottom));border-color:var(--color-border-muted);border-radius:14px 14px var(--radius-md) var(--radius-md);box-shadow:0 20px 60px oklch(from var(--color-text) l c h / .18)}.date-range-picker:before{content:"";position:absolute;top:10px;left:50%;width:40px;height:4px;border-radius:var(--radius-full);background:var(--color-border-heavy);transform:translate(-50%)}.calendar-container{display:block}.calendar-month{max-width:none}.calendar-month:nth-child(n+2){display:none}.calendar-nav{top:24px;right:var(--space-sm);left:var(--space-sm)}.calendar-nav .icon-button{width:var(--touch-target);min-width:var(--touch-target);height:var(--touch-target)}.calendar-month-header{min-height:var(--touch-target);margin-bottom:var(--space-md);padding:0 calc(var(--touch-target) + var(--space-sm));line-height:var(--touch-target)}.calendar-days-header{margin-bottom:var(--space-xs)}.calendar-grid{gap:6px}.calendar-day{min-width:0;min-height:46px;font-size:var(--font-size-base)}.calendar-day:before{top:5px;right:0;bottom:5px;left:0}.calendar-day:after{width:min(40px,calc(100% - 4px));height:40px}}.calendar-month{width:100%;max-width:308px}.calendar-month-header{text-align:center;font-weight:800;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--touch-target);margin-bottom:var(--space-sm);color:var(--color-text);letter-spacing:0}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:var(--space-sm)}.calendar-days-header span{font-size:var(--font-size-xs);font-weight:800;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:0}.calendar-grid{display:grid;gap:var(--space-xs)}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.calendar-day{position:relative;min-width:var(--touch-target);min-height:var(--touch-target);display:flex;align-items:center;justify-content:center;border:none;background:transparent;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart);padding:0;width:100%;isolation:isolate}.calendar-day:before,.calendar-day:after{content:"";position:absolute;pointer-events:none;opacity:0;z-index:0;transition:background-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart),opacity var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.calendar-day:before{top:4px;right:0;bottom:4px;left:0;background:transparent}.calendar-day:after{top:50%;left:50%;width:calc(var(--touch-target) - 8px);height:calc(var(--touch-target) - 8px);border-radius:var(--radius-sm);background:transparent;transform:translate(-50%,-50%) scale(.94)}.calendar-day-number{position:relative;z-index:1}.calendar-day:hover:not(.empty){color:var(--color-text);transform:none}.calendar-day:hover:not(.empty):not(.selected):not(.preview-endpoint):not(.preview-hovered):after{background:var(--color-bg-muted);opacity:1;transform:translate(-50%,-50%) scale(1)}.calendar-day:focus-visible{outline:none;box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .18);z-index:2}.calendar-day.selected{color:var(--color-text-on-primary);font-weight:800;z-index:2}.calendar-day.selected:after{background:var(--color-primary);box-shadow:0 8px 16px oklch(from var(--color-primary) l c h / .2);opacity:1;transform:translate(-50%,-50%) scale(1)}.calendar-day.range-start{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.calendar-day.range-end{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.calendar-day.range-start.range-end{border-radius:var(--radius-sm)}.calendar-day.preview-start{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.calendar-day.preview-end{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.calendar-day.preview-start.preview-end{border-radius:var(--radius-sm)}.calendar-day.today{color:var(--color-primary);font-weight:700}.calendar-day.today:after{box-shadow:inset 0 0 0 1px oklch(from var(--color-primary) l c h / .35);opacity:1}.calendar-day.selected.today{color:var(--color-text-on-primary)}.calendar-day.selected.today:after{box-shadow:inset 0 0 0 1px oklch(from var(--color-text-on-primary) l c h / .55),0 8px 16px oklch(from var(--color-primary) l c h / .2)}.calendar-day.in-range,.calendar-day.range-connected{color:var(--color-text)}.calendar-day.in-range:before,.calendar-day.range-connected:before{background:oklch(from var(--color-primary) 94% .04 h / .9);opacity:1}.calendar-day.range-connected.range-start:before{left:50%}.calendar-day.range-connected.range-end:before{right:50%}.calendar-day.preview-in-range,.calendar-day.preview-connected{color:var(--color-text)}.calendar-day.preview-in-range:before,.calendar-day.preview-connected:before{background:oklch(from var(--color-primary) 96% .026 h / .86);opacity:1}.calendar-day.preview-connected.preview-start:before{left:50%}.calendar-day.preview-connected.preview-end:before{right:50%}.calendar-day.preview-endpoint{color:var(--color-primary);font-weight:800;z-index:2}.calendar-day.preview-endpoint:after{background:var(--color-bg-surface);box-shadow:inset 0 0 0 1px oklch(from var(--color-primary) l c h / .42);opacity:1;transform:translate(-50%,-50%) scale(1)}.calendar-day.preview-endpoint:hover:after,.calendar-day.preview-hovered:after{background:oklch(from var(--color-primary) 97% .025 h / .96)}.calendar-day.preview-hovered:after{box-shadow:inset 0 0 0 1px oklch(from var(--color-primary) l c h / .48);opacity:1;transform:translate(-50%,-50%) scale(1)}.calendar-day.empty{cursor:default}.calendar-day.empty:hover{background:transparent;filter:none}.toolbar-container{position:relative;z-index:100}.range-input-wrapper{display:flex;align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border-heavy);border-radius:var(--radius-sm);padding:0 var(--space-md);cursor:pointer;min-height:var(--touch-target);flex:1;gap:var(--space-md);box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .04);transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart)}.range-input-wrapper:hover,.range-input-wrapper.open{border-color:var(--color-primary);background:var(--color-bg-surface);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .12)}.range-input-wrapper:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .18)}.range-field{display:flex;flex-direction:column;justify-content:center;min-width:0}.range-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-md);min-width:0;flex:1 1 auto}.range-label{font-size:var(--font-size-xs);text-transform:uppercase;font-weight:700;color:var(--color-text-subtle);line-height:1;margin-bottom:2px}.range-value{font-size:var(--font-size-sm);font-weight:800;color:var(--color-text);line-height:1}.range-separator{color:var(--color-text-subtle);font-weight:700;opacity:.55}.range-night-count{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-sm);border:1px solid oklch(from var(--color-primary) l c h / .2);border-radius:var(--radius-sm);background:oklch(from var(--color-primary) 97% .025 h);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:900;line-height:1;white-space:nowrap}.range-chevron{flex:0 0 auto;margin-left:auto;color:var(--color-text-subtle);opacity:.75;transition:transform var(--duration-fast) var(--ease-out-quart)}.range-input-wrapper.open .range-chevron{transform:rotate(180deg)}.picker-popover{position:absolute;top:calc(100% + var(--space-sm));left:0;z-index:1000;animation:fade-in-up var(--duration-normal) var(--ease-out-expo)}.screen-state,.empty-state,.form-error{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-base);padding:var(--space-xxl);text-align:center;animation:fade-in var(--duration-slow) var(--ease-out-quart)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);border:2px dashed var(--color-border-heavy);background:transparent;padding:var(--space-xxl);text-align:center;border-radius:var(--radius-md);animation:fade-in var(--duration-slow) var(--ease-out-quart)}.empty-state-content{display:grid;gap:var(--space-xs)}.empty-state-description{max-width:460px;margin:var(--space-sm) auto 0;color:var(--color-text-subtle);font-size:var(--font-size-sm);line-height:1.5}.empty-state-actions{margin-top:var(--space-md)}.empty-state-icon{font-size:48px;color:var(--color-border-heavy)}.empty-state-title{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-text);font-weight:700;margin:0}.empty-state-text{max-width:400px;margin:0 auto}.screen-state.error,.form-error{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger-text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:start center;background:oklch(from var(--color-text) l c h / .4);padding:var(--space-xxl) var(--space-md);z-index:100;animation:fade-in var(--duration-normal) var(--ease-out-quart)}.modal{width:min(500px,100%);max-height:calc(100vh - var(--space-xxl) * 2);overflow:auto;overscroll-behavior:contain;background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:var(--space-xxl);animation:fade-in-up var(--duration-slow) var(--ease-out-expo)}.modal-header{justify-content:space-between;margin-bottom:var(--space-xl)}.modal-header h2{margin:0;font-family:var(--font-family);font-size:var(--font-size-lg);font-weight:700;letter-spacing:-.01em}.form-grid{display:grid;gap:var(--space-lg)}.form-actions{justify-content:flex-end;margin-top:var(--space-lg)}.wizard-modal{width:min(760px,100%)}.wizard-form{gap:var(--space-xl)}.wizard-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);list-style:none;margin:0;padding:0}.wizard-steps li{display:flex;align-items:center;gap:var(--space-sm);min-width:0;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:700}.wizard-steps span{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--color-bg-muted);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs)}.wizard-steps li.active,.wizard-steps li.complete{color:var(--color-text)}.wizard-steps li.active span,.wizard-steps li.complete span{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.wizard-section{display:grid;gap:var(--space-lg)}.wizard-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.wizard-section-header h3{margin:0;font-size:var(--font-size-md);line-height:1.2}.wizard-section-header p{max-width:58ch;margin:var(--space-xs) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.wizard-empty{padding:var(--space-lg);border:1px dashed var(--color-border-heavy);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.apartment-draft{display:grid;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface)}.apartment-draft-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.apartment-draft-grid{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:var(--space-md)}.apartment-description{grid-column:1 / -1}.apartment-active{align-self:end}.review-list{display:grid;gap:var(--space-md)}.review-list>div{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-muted)}.review-list span{display:block;margin-bottom:var(--space-xs);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.01em;text-transform:uppercase}.review-list strong{display:block;color:var(--color-text);font-size:var(--font-size-md);line-height:1.25}.wizard-actions{margin-top:0}.apartment-modal{width:min(640px,100%);padding:var(--space-xl)}.apartment-modal .modal-header{margin-bottom:var(--space-lg)}.apartment-form{gap:var(--space-md)}.apartment-form-status{display:flex;align-items:center;justify-content:flex-start;min-height:var(--touch-target);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border-muted)}.apartment-status-toggle{white-space:nowrap}.apartment-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,.42fr);gap:var(--space-lg) var(--space-md);align-items:end}.apartment-name-field,.apartment-description{grid-column:1 / -1}.apartment-capacity-field{min-width:0}.apartment-capacity-input{display:grid;grid-template-columns:36px minmax(52px,1fr) 36px;align-items:center;min-height:var(--touch-target);overflow:hidden;border:1px solid var(--color-border-heavy);border-radius:var(--radius-sm);background:var(--color-bg-surface);transition:border-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart)}.apartment-capacity-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .15)}.apartment-capacity-input input{min-height:42px;padding:0 var(--space-xs);border:0;border-radius:0;box-shadow:none;text-align:center;font-weight:850}.apartment-capacity-input input:focus{box-shadow:none}.apartment-capacity-input input::-webkit-outer-spin-button,.apartment-capacity-input input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.apartment-capacity-stepper{width:36px;min-height:42px;border-radius:0;background:var(--color-bg-muted);color:var(--color-text);font-size:var(--font-size-md);font-weight:800}.apartment-capacity-stepper:hover{background:var(--color-border-muted)}.apartment-type-field{display:grid;grid-column:1 / -1;gap:var(--space-sm);min-width:0;margin:0;padding:0;border:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.2;font-weight:700;letter-spacing:.01em}.apartment-type-field legend{padding:0}.apartment-type-toggle{justify-self:start}.apartment-type-toggle button{min-width:136px}.apartment-description textarea{min-height:104px}.reservation-composer-modal{width:min(720px,100%);padding:0}.reservation-composer-modal .modal-header{padding:var(--space-xl) var(--space-xl) 0}.reservation-composer{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);padding:0 var(--space-xl) var(--space-xl)}.reservation-form-panel,.reservation-form-section{display:grid}.reservation-form-panel{gap:var(--space-lg);min-width:0}.reservation-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-sm);margin:0;padding:0;list-style:none}.reservation-stepper button{width:100%;min-height:44px;justify-content:flex-start;gap:var(--space-sm);padding:0 var(--space-md);border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-muted);box-shadow:none}.reservation-stepper button:hover:not(:disabled),.reservation-stepper button.active{border-color:var(--color-primary);background:oklch(from var(--color-primary) 97% .03 h);color:var(--color-primary);transform:none}.reservation-stepper button.complete{color:var(--color-text)}.reservation-stepper button:disabled{cursor:not-allowed;opacity:.58}.reservation-step-number{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:var(--radius-full);background:var(--color-bg-muted);color:inherit;font-size:var(--font-size-xs);font-weight:900}.reservation-step-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-stepper button.active .reservation-step-number,.reservation-stepper button.complete .reservation-step-number{background:var(--color-primary);color:var(--color-text-on-primary)}.reservation-composer>.form-error{grid-column:1 / -1}.reservation-form-section{gap:var(--space-md)}.reservation-composer .toolbar-container{z-index:5}.reservation-composer .picker-popover{right:0;left:0}.reservation-composer .date-range-picker{width:100%;max-width:100%;padding:var(--space-sm)}.reservation-composer .calendar-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.reservation-composer .calendar-nav{top:var(--space-sm);right:var(--space-sm);left:var(--space-sm)}.reservation-composer .calendar-nav .icon-button{width:38px;min-width:38px;height:38px;min-height:38px}.reservation-composer .calendar-month{max-width:none;min-width:0}.reservation-composer .calendar-month-header{min-height:38px;margin-bottom:var(--space-xs);padding:0 44px;font-size:var(--font-size-sm);line-height:38px}.reservation-composer .calendar-days-header{margin-bottom:2px}.reservation-composer .calendar-days-header span{font-size:var(--font-size-xs)}.reservation-composer .calendar-grid{gap:2px}.reservation-composer .calendar-day{min-width:0;min-height:32px;font-size:var(--font-size-xs)}.reservation-composer .calendar-day:before{top:3px;right:0;bottom:3px;left:0}.reservation-composer .calendar-day:after{width:28px;height:28px}.reservation-form-section h3,.reservation-price-header h3{margin:0;color:var(--color-text);font-size:var(--font-size-md);line-height:1.2}.reservation-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.reservation-price-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.reservation-price-toggle{flex:0 0 auto}.reservation-price-toggle button{min-height:38px}.rate-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-muted);color:var(--color-text-muted);font-size:var(--font-size-sm)}.rate-breakdown strong{color:var(--color-text);text-align:right}.reservation-availability-note{padding:var(--space-sm) var(--space-md);border:1px solid oklch(from var(--color-text-muted) l c h / .18);border-radius:var(--radius-md);background:oklch(from var(--color-bg-muted) l c h / .82);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45;animation:fade-in var(--duration-normal) var(--ease-out-quart)}.reservation-availability-result{display:grid;gap:var(--space-xs);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-muted)}.reservation-availability-result span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.01em;line-height:1.35;text-transform:uppercase}.reservation-availability-result strong{color:var(--color-text);font-size:var(--font-size-md);line-height:1.2}.reservation-availability-result small{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45}.reservation-availability-result.ok{border-color:oklch(from var(--color-success) l c h / .28);background:var(--color-success-bg)}.reservation-availability-result.ok strong{color:var(--color-success)}.reservation-availability-result.danger{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.reservation-availability-result.danger strong{color:var(--color-danger-text)}.reservation-resolution{display:grid;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface)}.reservation-resolution.ok{border-color:oklch(from var(--color-success) l c h / .3);background:var(--color-success-bg)}.reservation-resolution.danger{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.reservation-resolution-header{display:grid;gap:var(--space-xs)}.reservation-resolution-header span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:900;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}.reservation-resolution-header strong{color:var(--color-text);font-size:var(--font-size-md);line-height:1.2}.reservation-resolution.ok .reservation-resolution-header strong{color:var(--color-success)}.reservation-resolution.danger .reservation-resolution-header strong{color:var(--color-danger-text)}.reservation-resolution-header small,.reservation-resolution li small{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45}.reservation-resolution ul{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none}.reservation-resolution li{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto);align-items:center;gap:var(--space-sm) var(--space-md);padding:var(--space-md);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-bg-surface)}.reservation-resolution li div{display:grid;gap:2px;min-width:0}.reservation-resolution li span,.reservation-resolution li strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-resolution li span{color:var(--color-text);font-weight:900}.reservation-resolution li strong{color:var(--color-text);font-size:var(--font-size-base);text-align:right}.reservation-optimization-card{gap:var(--space-md);padding:var(--space-md)}.reservation-optimization-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-xs) var(--space-md)}.reservation-optimization-head span{grid-column:1 / -1;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:900;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}.reservation-optimization-head strong{min-width:0;color:var(--color-success);font-size:var(--font-size-lg);line-height:1.15}.reservation-optimization-head small{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-sm);border:1px solid oklch(from var(--color-success) l c h / .28);border-radius:var(--radius-full);background:var(--color-bg-surface);color:var(--color-success);font-size:var(--font-size-xs);font-weight:900;letter-spacing:.03em;text-transform:uppercase}.reservation-move-list{gap:var(--space-sm)}.reservation-optimization-card .reservation-move-list li{grid-template-columns:minmax(120px,.34fr) minmax(0,1fr);gap:var(--space-sm);align-items:center;padding:var(--space-sm)}.reservation-move-guest{align-content:center;gap:2px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--color-bg-muted)}.reservation-move-guest span{color:var(--color-text);font-size:var(--font-size-sm);font-weight:900}.reservation-move-flow{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:var(--space-xs);min-width:0;padding:var(--space-xs);border:1px solid var(--color-border-muted);border-radius:var(--radius-sm);background:var(--color-bg-surface)}.reservation-move-flow strong{min-width:0;overflow:hidden;padding:0 var(--space-xs);color:var(--color-text);font-size:var(--font-size-sm);line-height:1.25;text-align:center;text-overflow:ellipsis;white-space:nowrap}.reservation-move-arrow{display:grid;align-self:center;width:28px;height:28px;place-items:center;border-radius:var(--radius-full);background:var(--color-success);color:var(--color-text-on-primary);font-size:var(--font-size-base);font-weight:900}.reservation-final-summary{display:grid;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border-heavy);border-radius:var(--radius-md);background:var(--color-bg-surface)}.reservation-final-summary-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border-muted)}.reservation-final-summary-header strong{color:var(--color-text);font-size:var(--font-size-base)}.reservation-final-summary-header span{padding:3px 8px;border-radius:var(--radius-sm);background:var(--color-badge-bg);color:var(--color-badge-text);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.03em;text-transform:uppercase}.reservation-final-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm) var(--space-lg);margin:0}.reservation-final-summary dl div{min-width:0}.reservation-final-summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.01em;text-transform:uppercase}.reservation-final-summary dd{margin:var(--space-xs) 0 0;min-width:0;overflow-wrap:anywhere;color:var(--color-text);font-weight:800}.reservation-composer-actions{grid-column:1 / -1;justify-content:stretch;margin-top:0}.reservation-composer-actions button{flex:1}.reservation-submit-label-short{display:none}.reservation-extension-modal{width:min(560px,100%);padding:0}.reservation-extension-modal .modal-header{padding:var(--space-xl) var(--space-xl) 0}.reservation-extension{display:grid;padding:0 var(--space-xl) var(--space-xl)}@media(max-width:768px){.reservation-extension-modal .modal-header{padding:var(--space-lg) var(--space-lg) var(--space-sm)}.reservation-extension{gap:var(--space-lg);padding:var(--space-lg)}.reservation-extension-main{gap:var(--space-lg)}.reservation-extension-status{padding:var(--space-md)}}.reservation-extension-main,.reservation-extension-section,.reservation-extension-context,.reservation-extension-status{display:grid}.reservation-extension-main{gap:var(--space-lg);min-width:0}.reservation-extension-context{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin:0;padding:var(--space-md);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-bg-muted)}.reservation-extension-context div,.reservation-extension-readonly{min-width:0}.reservation-extension-context dt,.reservation-extension-readonly span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.01em;text-transform:uppercase}.reservation-extension-context dd{margin:var(--space-xs) 0 0;overflow:hidden;color:var(--color-text);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.reservation-extension-section{gap:var(--space-md)}.reservation-extension-section h3{margin:0;color:var(--color-text);font-size:var(--font-size-md);line-height:1.2}.reservation-extension-readonly{display:grid;align-content:center;min-height:48px;padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-muted)}.reservation-extension-readonly strong{margin-top:2px;color:var(--color-text);font-size:var(--font-size-base)}.reservation-extension-status{gap:var(--space-xs);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-muted)}.reservation-extension-status span{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:800;letter-spacing:.01em;text-transform:uppercase}.reservation-extension-status strong{color:var(--color-text);font-size:var(--font-size-md);line-height:1.15}.reservation-extension-status small{color:var(--color-text-muted);line-height:1.45}.reservation-extension-optimization{display:grid;gap:var(--space-md);padding:var(--space-md);border:1px solid oklch(62% .11 155 / .35);border-radius:var(--radius-md);background:#e5f7eb}.reservation-extension-optimization-header{display:grid;gap:var(--space-xs)}.reservation-extension-optimization-header strong{color:var(--color-success);font-size:var(--font-size-md);line-height:1.2}.reservation-extension-optimization-header small,.reservation-extension-optimization li small{color:var(--color-text-muted);line-height:1.45}.reservation-extension-optimization ul{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none}.reservation-extension-optimization li{display:grid;gap:2px;min-width:0;padding:var(--space-sm) var(--space-md);border:1px solid oklch(72% .06 155 / .35);border-radius:var(--radius-sm);background:var(--color-bg-surface)}.reservation-extension-optimization li span{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:800}.reservation-extension-optimization li strong{display:flex;align-items:center;min-width:0;color:var(--color-text);font-size:var(--font-size-base);line-height:1.25}.success-text{color:var(--color-success)!important}.danger-text{color:var(--color-danger)!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:768px){.reservations-page{overflow-x:clip}.reservations-page .page-header{margin-bottom:var(--space-lg)}.reservation-metric-grid{display:flex;gap:var(--space-sm);margin:0 0 var(--space-md);padding:0 var(--space-md) var(--space-xs);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.reservation-metric-grid::-webkit-scrollbar{display:none}.reservation-metric-grid .metric{flex:0 0 min(76vw,292px);min-height:104px;padding:var(--space-md);scroll-snap-align:start}.reservation-metric-grid .metric dd{font-size:var(--font-size-lg)}.reservation-metric-grid .metric dt{white-space:nowrap}.reservation-view-switch{display:none}.reservation-tabs{position:sticky;top:0;z-index:2;margin-right:calc(var(--space-md) * -1);margin-left:calc(var(--space-md) * -1);padding:0 var(--space-md) var(--space-sm);background:var(--color-bg)}.reservation-tabs button{flex:0 0 auto}.reservation-tabs .history-tab-trigger{margin-left:0}.reservation-workspace{grid-template-columns:1fr}.reservation-content-panel{min-height:0;overflow:hidden}.reservation-content-panel .calendar-page.embedded .calendar-shell{--calendar-name-width: 108px;--calendar-day-width: 76px;--calendar-row-height: 92px;max-height:56dvh;overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.reservation-content-panel .calendar-page.embedded .calendar-legend{display:grid;grid-template-columns:1fr;align-items:stretch;gap:var(--space-sm);border-radius:var(--radius-md) var(--radius-md) 0 0}.reservation-content-panel .calendar-page.embedded .calendar-price-toggle{width:100%;min-height:var(--touch-target)}.reservation-content-panel .calendar-page.embedded .calendar-legend-items{flex-wrap:nowrap;justify-content:flex-start;max-width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.reservation-content-panel .calendar-page.embedded .calendar-legend-items::-webkit-scrollbar{display:none}.reservation-content-panel .calendar-page.embedded .calendar-corner,.reservation-content-panel .calendar-page.embedded .calendar-apartment-cell{padding:0 var(--space-sm)}.reservation-content-panel .calendar-page.embedded .calendar-apartment-cell{grid-template-columns:minmax(0,1fr)}.reservation-content-panel .calendar-page.embedded .calendar-apartment-cell strong{font-size:var(--font-size-sm)}.reservation-content-panel .calendar-page.embedded .calendar-apartment-cell small{font-size:var(--font-size-xs)}.reservation-content-panel .calendar-page.embedded .calendar-cell{padding:var(--space-sm)}.reservation-content-panel .calendar-page.embedded .calendar-booking-block{min-height:38px;margin:0 5px;padding:0 var(--space-sm);border-radius:10px}.reservation-table{display:block;background:transparent}.reservation-table tbody{display:grid;gap:var(--space-sm)}.reservation-table .reservation-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md);margin-bottom:0;padding:var(--space-md);border-color:var(--color-border-muted);border-radius:var(--radius-md);box-shadow:none}.reservation-table .reservation-row:hover td{background-color:transparent}.reservation-table td{display:block;min-height:0;border-bottom:0;padding:0!important}.reservation-table td:before{content:none}.reservation-guest-cell{grid-column:1 / -1;grid-row:1;align-self:start;min-width:0}.reservation-guest{align-items:flex-start;gap:var(--space-sm)}.reservation-guest .avatar{width:calc(var(--touch-target) - var(--space-xs));height:calc(var(--touch-target) - var(--space-xs));flex:0 0 calc(var(--touch-target) - var(--space-xs))}.reservation-guest-copy strong,.reservation-guest-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-ticket{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm);align-items:start}.reservation-ticket .reservation-guest{grid-column:1 / 2}.reservation-guest-heading{align-items:flex-start;justify-content:space-between;gap:var(--space-xs)}.reservation-guest-heading strong{font-size:var(--font-size-base);line-height:1.2}.reservation-ticket-meta{grid-column:2 / 3;grid-row:1;align-self:start;justify-content:flex-end;flex-wrap:nowrap;max-width:34vw}.reservation-ticket-meta .reservation-request-source,.reservation-apartment-line{max-width:100%}.reservation-dates-cell{grid-column:1 / -1;grid-row:3;color:var(--color-text-muted)}.operational-reservation-table .reservation-dates-cell{grid-row:2}.operational-reservation-table .reservation-row{row-gap:var(--space-xs)}.operational-reservation-table .reservation-dates-cell{padding-left:0!important}.reservation-date-range{min-width:0;overflow:hidden;color:var(--color-text);scrollbar-width:none;text-overflow:ellipsis;white-space:nowrap}.reservation-situation{padding:var(--space-md)}.reservation-situation strong{font-size:var(--font-size-md)}.reservation-situation span{white-space:normal}.reservation-dates small{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.02em}.reservation-date-range::-webkit-scrollbar{display:none}.reservation-table .reservation-apartment-cell{grid-column:1 / 2;grid-row:4;min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.reservation-table .reservation-apartment-cell:before{content:none}.reservation-table .reservation-source-cell{grid-column:1 / -1;grid-row:3;align-self:center;justify-self:start}.reservation-source{gap:var(--space-xs)}.reservation-source svg{display:block}.reservation-table .reservation-status-cell{grid-column:2 / 3;grid-row:1;align-self:start;justify-self:end}.reservation-total-cell{grid-column:1 / -1;grid-row:2;align-self:center;justify-self:start;color:var(--color-text);font-size:var(--font-size-md);white-space:nowrap}.reservation-table .row-actions{grid-column:1 / -1;grid-row:4;display:flex;justify-content:stretch;flex-wrap:wrap;gap:var(--space-xs);width:100%;padding-top:var(--space-md)!important;border-top:1px solid var(--color-border-muted)}.operational-reservation-table:not(.pending-table) .row-actions{grid-row:3;margin-top:var(--space-xs)}.operational-reservation-table.pending-table .row-actions{grid-row:3;margin-top:var(--space-xs)}.reservation-table .row-actions button{flex:0 0 auto;min-height:var(--touch-target)}.reservation-table .row-actions .reservation-primary-action{flex:1 1 138px}.reservation-table .row-actions .reservation-secondary-action{flex:0 1 auto;min-width:0;padding-right:var(--space-sm);padding-left:var(--space-sm)}.operational-reservation-table .row-actions button{padding:0 var(--space-md)}.operational-reservation-table .row-actions button+button{margin-left:0}.reservation-history-header{align-items:stretch;flex-direction:column}.reservation-table .row-actions .icon-button{border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart)}.reservation-table .row-actions .icon-button:hover{background:var(--color-bg-muted);filter:none;transform:none}.reservation-table .row-actions .icon-button:active{background:var(--color-border-muted);filter:none;transform:none}.reservation-table .row-actions .icon-button:focus-visible{outline:none;box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .16)}.apartments-board{grid-template-columns:1fr}.toolbar{align-items:stretch;display:grid;grid-template-columns:1fr;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-sm);border-radius:var(--radius-md)}.toolbar label,.toolbar-container,.month-filter,.range-input-wrapper,.filter-group,.filter-item{width:100%;min-width:0}.toolbar .month-filter{justify-content:space-between}.toolbar .month-filter-label{flex:1;min-width:0;overflow:hidden;font-size:var(--font-size-base);text-overflow:ellipsis;white-space:nowrap}.filter-group{display:grid;grid-template-columns:1fr}.filter-item{min-height:52px}.filter-item-content,.filter-item-value{min-width:0}.filter-item-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.range-input-wrapper{align-items:center;padding:var(--space-sm) var(--space-md)}.range-input-wrapper.has-night-count{display:flex;gap:var(--space-sm)}.range-input-wrapper.has-night-count .range-fields{min-width:0}.range-input-wrapper.has-night-count .range-night-count{min-height:24px;padding:0 6px;font-size:var(--font-size-xs)}.range-field{min-width:0}.range-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-popover{position:absolute;top:calc(100% + var(--space-sm));right:0;left:0;max-height:calc(100dvh - var(--space-xl));overflow:auto;z-index:80}.reservation-composer .picker-popover{right:0;left:0}.date-range-picker{width:100%;max-width:100%;border-radius:var(--radius-md)}.apartment-workspace{gap:var(--space-lg);padding:0}.apartment-summary{grid-template-columns:1fr;padding:var(--space-lg)}.apartment-summary,.apartments-panel-header{align-items:stretch;flex-direction:column}.apartment-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;justify-content:stretch}.apartments-panel-controls{display:grid;grid-template-columns:1fr;justify-content:stretch}.apartment-actions,.apartments-panel-controls,.row-actions,.form-actions{width:100%;flex-wrap:wrap}.apartment-actions button,.apartments-panel-controls>button,.apartment-row-footer button,.form-actions button{flex:1 1 0}.apartment-actions button,.apartments-panel-controls>button{width:100%}.expenses-page{gap:var(--space-sm);min-width:0;overflow-x:clip}.expenses-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);margin-bottom:0}.expenses-hero-title h1{font-size:var(--font-size-lg);line-height:1.05}.expenses-hero-actions{display:contents}.expenses-hero-actions .toolbar-container{grid-column:1 / -1;grid-row:2;width:100%}.expenses-hero-actions .range-input-wrapper,.expenses-hero-actions .month-filter,.expenses-primary-action{min-height:48px}.expenses-primary-action{grid-column:2;grid-row:1;width:auto;padding:0 var(--space-md)}.expenses-hero-actions .month-filter{width:100%;justify-content:space-between;gap:var(--space-sm);padding:0 var(--space-sm)}.expenses-hero-actions .month-filter-label{flex:1;min-width:0;overflow:hidden;font-size:var(--font-size-base);text-align:center;text-overflow:ellipsis;white-space:nowrap}.expenses-hero-actions .picker-popover{right:0;left:0}.expenses-hero-actions .date-range-picker{width:100%;max-width:100%}@media(max-width:640px){.picker-popover{max-height:min(calc(100dvh - 120px),560px);overflow:auto;padding:0;animation:fade-in-up var(--duration-normal) var(--ease-out-expo)}.reservation-composer .picker-popover,.expenses-hero-actions .picker-popover{right:0;left:0}.reservation-composer .calendar-container{display:block;grid-template-columns:1fr}.reservation-composer .calendar-month{width:100%;max-width:none}.reservation-composer .calendar-month:nth-child(n+2){display:none}.date-range-picker{max-height:min(78dvh,560px);overflow:auto;border-radius:14px 14px var(--radius-md) var(--radius-md)}}.expenses-total-card{width:100%;margin-bottom:0}.expenses-total-card>div{min-height:0;padding:var(--space-md);border-radius:var(--radius-md)}.expenses-total-card dd{align-items:flex-start;font-size:var(--font-size-xl);line-height:1.05;overflow-wrap:anywhere}.expenses-total-card dt,.expenses-total-card p{font-size:var(--font-size-sm)}.expenses-total-indicator{width:28px;height:28px;margin-top:2px}.expense-ledger{gap:var(--space-sm);overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.expense-filter-toolbar{display:grid;grid-template-columns:1fr;gap:var(--space-sm);padding:var(--space-md);border:1px solid oklch(88.5% .014 260);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:0 8px 22px oklch(from var(--color-text) l c h / .045)}.expense-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.expense-search-control,.expense-filter-toolbar .month-filter,.expense-filter-reset{width:100%}.expense-search-control{min-height:48px;padding-inline:var(--space-md) 4px}.expense-search-control input{height:46px;font-size:var(--font-size-base)}.expense-search-clear{width:var(--touch-target);height:var(--touch-target);min-height:var(--touch-target)}.expense-filter-toolbar .month-filter{justify-content:space-between}.expense-filter-toolbar .month-filter-label{flex:1;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.expense-type-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0}.expense-type-filter button{min-width:0;padding:0 var(--space-xs)}.expense-ledger-header{display:none}.expense-ledger-row{grid-template-columns:1fr;gap:0;min-height:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);overflow:hidden}.expense-ledger-row:hover{background:var(--color-bg-surface)}.expense-filter-empty{margin:0;min-height:120px;padding:var(--space-lg);border:1px dashed oklch(76% .018 260);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:0 8px 22px oklch(from var(--color-text) l c h / .045)}.expense-ledger-period,.expense-ledger-type,.expense-ledger-amount{display:none}.expense-visual-card{min-height:0;border-radius:var(--radius-md)}.expense-card-main{grid-template-columns:minmax(0,1fr) minmax(max-content,38%);min-height:0;padding:var(--space-md) var(--space-md) 12px;gap:var(--space-sm);align-items:start}.expense-ledger-description .expense-type-pill{display:inline-flex;grid-column:1;grid-row:2;justify-self:start;min-height:26px;padding:0 10px}.expense-card-main h2{grid-column:1;grid-row:1;min-height:1.2em;font-size:var(--font-size-base);line-height:1.2}.expense-card-main p{display:block;grid-column:2;grid-row:1;justify-self:end;max-width:100%;color:var(--color-text);font-size:var(--font-size-md);line-height:1.05;text-align:right;white-space:nowrap}.expense-card-mobile-period{display:block;grid-column:2;grid-row:2;justify-self:end;align-self:center;max-width:100%;overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:650;line-height:1.25;text-align:right;text-overflow:ellipsis;white-space:nowrap}.expense-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);min-height:56px;padding:6px 10px 6px var(--space-md);border-top:1px solid var(--color-border-muted);background:oklch(from var(--color-bg-muted) l c h / .5);font-size:var(--font-size-sm)}.expense-card-footer>span{display:none}.expense-card-actions{justify-content:flex-end;gap:var(--space-xs)}.expense-icon-action,.expense-text-action{min-height:var(--touch-target);border-radius:var(--radius-sm)}.expense-icon-action{width:var(--touch-target)}.expense-text-action{padding:0 12px}.apartment-identity{grid-template-columns:1fr}.apartment-identity h2{font-size:var(--font-size-xxl);overflow-wrap:anywhere;text-transform:none}.apartment-identity p,.apartment-identity small{overflow-wrap:anywhere}.apartments-panel{padding:0}.apartment-manifest{grid-template-columns:1fr}.apartment-row{grid-template-columns:1fr;min-height:0;padding:var(--space-md);gap:var(--space-md)}.apartment-card-head{grid-template-columns:48px minmax(0,1fr) auto;gap:var(--space-sm);padding-right:0}.apartment-row-marker{width:40px;min-width:40px;height:40px;justify-self:start;padding:0;border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.apartment-card-head .row-actions{position:static;grid-column:3;grid-row:1;align-self:start;width:auto;flex-wrap:nowrap;gap:var(--space-xs);padding:0!important}.apartment-row-title{grid-column:1 / -1;min-width:0}.apartment-row-title h4{overflow:visible;text-overflow:clip;white-space:normal}.apartment-row-footer{grid-template-columns:1fr;padding-top:var(--space-sm);border-top:1px solid var(--color-border-muted)}.apartment-meta-list li{overflow:visible;text-overflow:clip;white-space:normal}.apartment-meta-list{grid-template-columns:repeat(2,minmax(0,1fr))}.apartment-meta-list span,.apartment-meta-list strong{white-space:normal}.wizard-steps{grid-template-columns:1fr}.wizard-section-header,.apartment-draft-header{align-items:stretch;flex-direction:column}.apartment-draft-grid,.apartment-form-grid{grid-template-columns:1fr}.apartment-active,.apartment-status-toggle{align-self:start}.apartment-type-toggle{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.apartment-type-toggle button{width:100%;padding:0 var(--space-sm)}.wizard-actions{justify-content:stretch}.wizard-actions button{flex:1}.reservation-composer-modal .modal-header{padding:var(--space-lg) var(--space-lg) 0}.reservation-composer{grid-template-columns:1fr;padding:0 var(--space-lg) var(--space-lg)}.reservation-extension-modal .modal-header{padding:var(--space-lg) var(--space-lg) 0}.reservation-extension{grid-template-columns:1fr;padding:0 var(--space-lg) var(--space-lg)}.reservation-field-row,.rate-breakdown{grid-template-columns:1fr}.reservation-price-header{align-items:stretch;flex-direction:column}.reservation-price-toggle{width:100%}.reservation-price-toggle button{flex:1}.rate-breakdown strong{text-align:left}table,thead,tbody,th,td,tr{display:block}table{border-radius:0;background:transparent;box-shadow:none}thead tr{position:absolute;top:-9999px;left:-9999px}tr{border:1px solid var(--color-border);margin-bottom:var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-card);overflow:hidden}td{display:grid;grid-template-columns:1fr;gap:3px;border:none;border-bottom:1px solid var(--color-border-muted);padding:var(--space-md) var(--space-lg)!important;position:relative;text-align:left;min-height:var(--touch-target)}td:last-child{border-bottom:0}td:before{content:attr(data-label);position:static;width:auto;padding-right:0;white-space:normal;text-align:left;font-weight:700;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}td[data-label=""]:before,td:not([data-label]):before{content:none}td strong{margin-bottom:0}.row-actions{justify-content:stretch;padding:var(--space-md)!important}.row-actions button{flex:1 1 44px}.apartment-card-head .row-actions{width:auto;justify-content:flex-end;flex-wrap:nowrap;padding:0!important}.apartment-card-head .row-actions button{flex:0 0 auto}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:block;width:100%;min-height:0;padding:0;border:0;border-radius:0;background:oklch(from var(--color-text) l c h / 0);opacity:0;pointer-events:none}.sidebar-backdrop:hover,.sidebar-backdrop:active{filter:none;transform:none}.mobile-nav-open .sidebar-backdrop{background:oklch(from var(--color-text) l c h / .38);opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:60;width:min(320px,calc(100vw - 48px));padding:calc(var(--space-lg) + env(safe-area-inset-top)) var(--space-md) calc(var(--space-lg) + env(safe-area-inset-bottom));border-right:1px solid oklch(100% 0 0 / .1);border-radius:0 24px 24px 0;box-shadow:24px 0 70px oklch(from var(--color-text) l c h / .28);transform:translate(calc(-100% - 24px));transition:transform var(--duration-normal) var(--ease-out-expo)}.mobile-nav-open .sidebar{transform:translate(0)}.sidebar .brand{display:flex;margin:0 0 var(--space-xl)}.sidebar nav{display:grid;grid-template-columns:1fr;gap:var(--space-xs);overflow:visible;padding:0;scrollbar-width:none;-webkit-mask-image:none;mask-image:none}.sidebar nav::-webkit-scrollbar{display:none}.sidebar a{min-height:52px;justify-content:flex-start;padding:0 var(--space-md);gap:var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-base);line-height:1.2;letter-spacing:0;white-space:nowrap;text-align:left;flex-direction:row}.sidebar a svg{width:22px;height:22px}.sidebar a:active{transform:translate(2px)}.sidebar-mobile-account{display:grid;gap:var(--space-sm);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid oklch(100% 0 0 / .12)}.sidebar-mobile-account span{min-width:0;overflow:hidden;color:var(--color-sidebar-text-muted);font-size:var(--font-size-sm);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sidebar-mobile-account .ghost-button{justify-content:center;border-color:#ffffff38;background:#ffffff14;color:var(--color-text-on-primary)}.workspace{grid-template-rows:auto 1fr}.topbar{align-items:center;flex-direction:row;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);position:sticky;top:0;background:oklch(from var(--color-bg-surface) l c h / .98);box-shadow:0 8px 24px oklch(from var(--color-text) l c h / .06)}.topbar-mobile-identity{display:flex;align-items:center;flex:0 0 auto}.mobile-menu-button{display:inline-flex;width:var(--touch-target);flex:0 0 var(--touch-target);padding:0;border-color:var(--color-border-heavy);background:var(--color-bg-surface);color:var(--color-text);box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .04)}.mobile-menu-button:hover{border-color:var(--color-primary);background:var(--color-bg-muted);filter:none}.topbar-controls{display:grid;grid-template-columns:minmax(0,1fr);flex:1 1 auto;min-width:0;gap:var(--space-sm);align-items:stretch}.topbar-select{min-width:0;width:100%;align-items:center;padding:0 var(--space-sm)}.topbar-select select{width:100%;max-width:none;min-width:0;min-height:40px;padding-right:22px;font-size:var(--font-size-sm);text-overflow:ellipsis}.topbar-select span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.account-menu{display:none}.sidebar-mobile-select{display:grid;grid-template-columns:1fr auto;width:100%;min-height:var(--touch-target);padding:0 var(--space-md);border-color:#ffffff29;background:#ffffff14;box-shadow:none}.sidebar-mobile-select span{position:static;width:auto;height:auto;padding:0;overflow:visible;clip:auto;color:var(--color-sidebar-text-muted);font-size:var(--font-size-sm);white-space:normal}.sidebar-mobile-select select{width:auto;max-width:132px;min-height:40px;padding-right:20px;color:var(--color-text-on-primary);font-size:var(--font-size-sm);font-weight:900}.metric-grid{grid-template-columns:1fr}.content{padding:var(--space-lg) var(--space-md);padding-bottom:calc(86px + env(safe-area-inset-bottom));overflow:visible}.content:has(>.reservations-page){overflow:clip}.page-header{align-items:stretch;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.page-header h1{font-size:var(--font-size-xl)}.page-header>button,.page-header>a,.page-header>.period-toggle{width:100%}.page-header>button{justify-content:center}.reservation-view-switch{justify-content:stretch;margin:0 0 var(--space-md)}.reservation-view-switch .button-group{width:100%}.reservation-view-switch .button-group button{flex:1}.reservation-content-panel{min-height:320px}}@media(max-width:820px){.bottom-navigation{position:fixed;right:var(--space-md);bottom:calc(var(--space-sm) + env(safe-area-inset-bottom));left:var(--space-md);z-index:50;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-xs);min-height:68px;padding:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-md);background:oklch(from var(--color-bg-surface) l c h / .98);box-shadow:0 16px 44px oklch(from var(--color-text) l c h / .16)}.bottom-navigation a{min-width:0;min-height:56px;display:grid;grid-template-rows:22px auto;place-items:center;gap:2px;padding:var(--space-xs) 2px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.72rem;font-weight:850;line-height:1.1;letter-spacing:0;text-align:center;text-decoration:none;transition:background-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.bottom-navigation a.active{background:var(--color-bg-muted);color:var(--color-primary)}.bottom-navigation a:hover{color:var(--color-primary)}.bottom-navigation a:active{transform:translateY(1px)}.bottom-navigation svg{width:21px;height:21px;stroke-width:2}.bottom-navigation span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:820px){.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-toolbar-title{display:none}.month-filter{justify-content:space-between}.month-filter-label{min-width:0;flex:1;font-size:var(--font-size-base)}.calendar-toolbar-actions{align-items:stretch}.calendar-toolbar-actions>button,.calendar-toolbar-actions label{flex:1}.calendar-shell{--calendar-name-width: 148px;max-height:calc(100vh - 300px)}.calendar-corner,.calendar-apartment-cell{padding:0 var(--space-md)}.calendar-apartment-cell strong,.calendar-booking-block span{font-size:var(--font-size-xs)}.calendar-booking-block small{display:none}.calendar-detail-list div{grid-template-columns:1fr}.calendar-legend{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs)}.calendar-page .page-header{margin-bottom:var(--space-md)}.content:has(>.calendar-page){padding:var(--space-md)}}@media(max-width:768px){.dashboard-page{gap:var(--space-md)}.dashboard-page .page-header{align-items:flex-start;gap:var(--space-sm);margin-bottom:0}.dashboard-page .page-header h1{font-size:var(--font-size-xl);line-height:1.05}.dashboard-page .page-header-description{font-size:var(--font-size-base);line-height:1.45}.dashboard-page .metric-grid{display:flex;gap:var(--space-sm);margin:0;padding:0 var(--space-md) var(--space-xs);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.dashboard-page .metric{flex:0 0 min(78vw,300px);min-height:122px;padding:var(--space-md);scroll-snap-align:start;box-shadow:none}.dashboard-page .metric-grid::-webkit-scrollbar{display:none}.dashboard-page .metric dd{font-size:var(--font-size-xl)}.metric-note{font-size:var(--font-size-sm)}.panel-header{min-height:auto;align-items:flex-start;flex-direction:column;gap:var(--space-md);padding:var(--space-md)}.dashboard-panel h2{font-size:var(--font-size-md);letter-spacing:-.01em}.segmented-control{width:100%;border-radius:10px}.segmented-control button{flex:1;min-height:var(--touch-target);border-radius:8px;padding:0 var(--space-sm);white-space:normal}.revenue-chart{height:240px;padding:var(--space-md) var(--space-sm) var(--space-md) 0}.movement-table,.movement-table tbody,.movement-table tr,.movement-table td{display:block}.movement-table{width:100%;background:var(--color-bg-surface)}.movement-table tbody{display:grid;gap:var(--space-sm);padding:var(--space-md)}.movement-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xs) var(--space-sm);min-height:76px;margin-bottom:0;border:1px solid var(--color-border-muted);border-radius:8px;padding:var(--space-md);background:var(--color-bg-muted);box-shadow:none}.movement-table td{min-height:auto;border-bottom:0;padding:0!important}.movement-table td:before{content:none}.movement-table td:nth-child(2){width:auto;min-width:0}.movement-table td:last-child{width:auto}.movement-table .movement-guest-cell{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.movement-table .movement-guest-cell strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movement-table .movement-date-cell{grid-column:1 / 2;padding-left:calc(34px + var(--space-md))!important;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:700}.movement-table .movement-type-cell{grid-column:2 / 3;grid-row:1 / 3;align-self:center}.movement-table .guest-avatar{margin-right:0}.rent-alerts-header{display:grid;grid-template-columns:minmax(0,1fr)}.rent-alerts-header>strong{font-size:var(--font-size-lg)}.rent-alert-item{grid-template-columns:minmax(0,1fr);gap:var(--space-sm);min-height:92px;padding:var(--space-md)}.rent-alert-marker{display:none}.rent-alert-main strong,.rent-alert-meta strong,.rent-alert-main small,.rent-alert-meta small{white-space:normal}.rent-alert-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);text-align:left}.rent-alert-more{min-height:var(--touch-target);padding:0 var(--space-md)}.dashboard-empty-note{padding:var(--space-md)}.checkins-table:not(.movement-table) td:first-child{display:table-cell}.checkins-table:not(.movement-table) td:first-child strong{display:inline}.guest-avatar{margin-right:var(--space-sm);vertical-align:middle}.screen-state,.empty-state,.form-error{padding:var(--space-xl) var(--space-md)}.modal-backdrop{align-items:end;place-items:end stretch;padding:max(var(--space-sm),env(safe-area-inset-top)) 0 0}.modal{width:100%;max-height:calc(100dvh - max(var(--space-sm),env(safe-area-inset-top)));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:0;border-radius:22px 22px 0 0}.modal-header{position:sticky;top:0;z-index:2;min-height:64px;margin-bottom:0;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-muted);background:var(--color-bg-surface)}.modal-header h2{min-width:0;overflow:hidden;font-size:var(--font-size-md);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.modal>.form-grid,.modal>.reservation-composer,.modal>.reservation-extension{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal>.form-grid{padding:var(--space-lg);padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom))}.modal .form-actions{position:sticky;bottom:0;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-sm);margin:var(--space-lg) calc(var(--space-lg) * -1) calc(var(--space-lg) * -1);padding:var(--space-md) var(--space-lg) max(var(--space-md),env(safe-area-inset-bottom));border-top:1px solid var(--color-border-muted);background:var(--color-bg-surface)}.modal .form-actions button{width:100%;min-height:48px}.reservation-composer-modal{width:100%}.reservation-composer-modal .modal-header{padding:var(--space-md) var(--space-lg)}.reservation-composer{gap:var(--space-lg);padding:var(--space-lg);padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom))}.reservation-stepper{grid-template-columns:repeat(4,minmax(44px,1fr));gap:var(--space-xs)}.reservation-stepper button{min-height:var(--touch-target);justify-content:center;padding:0 var(--space-xs);font-size:var(--font-size-xs)}.reservation-step-number{width:20px;height:20px;flex-basis:20px}.reservation-step-label{display:none}.reservation-composer .range-input-wrapper{min-height:58px}.reservation-composer .range-input-wrapper.has-night-count{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-sm)}.reservation-composer .range-input-wrapper.has-night-count .filter-icon{grid-row:1 / 3}.reservation-composer .range-input-wrapper.has-night-count .range-fields{grid-column:2 / 4;width:100%}.reservation-composer .range-input-wrapper.has-night-count .range-night-count{grid-column:2;justify-self:start}.reservation-composer .range-input-wrapper.has-night-count .range-chevron{grid-column:3;justify-self:end;margin-left:0}.reservation-extension-modal{width:100%}.reservation-extension-modal .modal-header{padding:var(--space-md) var(--space-lg)}.reservation-extension{gap:var(--space-lg);padding:var(--space-lg);padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom))}.reservation-composer .form-error{padding:var(--space-md)}.reservation-form-panel{gap:var(--space-md)}.reservation-form-section{gap:var(--space-sm)}.reservation-availability-result,.reservation-final-summary{padding:var(--space-md)}.reservation-final-summary dl{grid-template-columns:1fr}.reservation-resolution{padding:var(--space-md)}.reservation-resolution li{grid-template-columns:1fr}.reservation-resolution li strong{text-align:left;white-space:normal}.reservation-optimization-head{grid-template-columns:minmax(0,1fr) auto}.reservation-optimization-head strong{font-size:var(--font-size-base)}.reservation-optimization-head small{width:fit-content}.reservation-optimization-card .reservation-move-list li{grid-template-columns:1fr;gap:var(--space-xs);padding:var(--space-xs)}.reservation-move-flow{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)}.reservation-move-arrow{width:26px;height:26px;transform:none}.reservation-form-section h3,.reservation-price-header h3{font-size:var(--font-size-base)}.reservation-composer-actions{grid-template-columns:minmax(0,1fr);width:auto;bottom:0;margin:var(--space-lg) calc(var(--space-lg) * -1) calc(var(--space-lg) * -1)}.reservation-composer-actions button{width:100%;min-width:0;justify-content:center}.reservation-submit-label-full{display:none}.reservation-submit-label-short{display:inline}}@media(max-width:640px){.reservation-composer .picker-popover{max-height:min(calc(100dvh - 180px),520px);overflow:auto}.reservation-composer .date-range-picker{max-height:min(72dvh,520px);overflow:auto;padding:28px var(--space-sm) var(--space-md)}.reservation-composer .calendar-container{display:block;grid-template-columns:1fr}.reservation-composer .calendar-month{width:100%;max-width:none}.reservation-composer .calendar-month:nth-child(n+2){display:none}.reservation-composer .calendar-day{min-height:var(--touch-target);font-size:var(--font-size-base)}.reservation-composer .calendar-day:before{top:5px;right:0;bottom:5px;left:0}.reservation-composer .calendar-day:after{width:min(40px,calc(100% - 4px));height:40px}.reservation-composer .calendar-month-header{min-height:var(--touch-target);margin-bottom:var(--space-md);padding:0 calc(var(--touch-target) + var(--space-sm));line-height:var(--touch-target)}}@media(max-width:430px){.dashboard-page .metric{flex-basis:84vw}.movement-table tbody,.movement-table tr,.rent-alert-item{padding:var(--space-sm)}.movement-badge{min-height:32px;max-width:86px;justify-content:center;text-align:center;line-height:1.1}.rent-alert-meta{gap:var(--space-xs)}}.financial-page{--report-blue: oklch(57% .23 260);--report-red: oklch(59% .22 27);--report-red-soft: oklch(93% .055 27);--report-expense: oklch(61% .21 32);--report-yellow: oklch(78% .17 85)}.financial-page .page-header{margin-bottom:var(--page-section-gap)}.financial-page .page-header h1{font-family:var(--font-family);font-weight:900;letter-spacing:-.045em}.financial-page .page-header-description{font-size:var(--font-size-base)}.period-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--color-bg-surface);border:1px solid var(--color-border-heavy);border-radius:16px}.period-toggle button{min-height:34px;padding:0 var(--space-lg);border:0;border-radius:12px;background:transparent;color:var(--color-text-muted);font-weight:800}.period-toggle button:hover{background:var(--color-bg-muted);color:var(--color-text)}.period-toggle button.active{background:var(--report-blue);color:var(--color-text-on-primary)}.financial-date-toolbar{display:none}.financial-charts{display:grid;gap:var(--space-xl);margin-bottom:var(--space-xxl)}.chart-card{background:var(--color-bg-surface);border:1px solid var(--color-border-heavy);border-radius:10px;padding:0;box-shadow:var(--shadow-card);overflow:hidden}.chart-header{display:flex;justify-content:space-between;align-items:center;min-height:72px;margin-bottom:0;padding:0 var(--space-lg);border-bottom:1px solid var(--color-border-heavy)}.chart-header h3{margin:0;font-family:var(--font-family);font-size:var(--font-size-lg);line-height:1.15;letter-spacing:-.035em;font-weight:900}.chart-legend{display:flex;gap:var(--space-md);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted)}.legend-item{display:flex;align-items:center;gap:var(--space-xs)}.dot{width:10px;height:10px;border-radius:var(--radius-full)}.dot.income,.dot.reservation-income{background:var(--report-blue)}.dot.lease-income{background:var(--report-yellow)}.dot.expense{background:var(--report-expense)}.bar-chart{height:300px;padding:var(--space-xl) var(--space-xl) var(--space-lg);position:relative}.empty-chart{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-style:italic}.chart-tooltip{display:grid;gap:4px;padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border-heavy);border-radius:var(--radius-sm);box-shadow:var(--shadow-panel);color:var(--color-text);font-size:var(--font-size-xs)}.chart-tooltip strong{color:var(--color-text);font-size:var(--font-size-sm)}.chart-tooltip span{font-weight:800;white-space:nowrap}.section-header{min-height:82px;margin-bottom:0;padding:0 var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.section-header h3{margin:0;font-family:var(--font-family);font-size:var(--font-size-lg);letter-spacing:-.035em;font-weight:900}.expense-search{display:flex;align-items:center;gap:var(--space-sm);min-width:320px;height:44px;padding:0 var(--space-md);border:1px solid var(--color-border-heavy);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-subtle)}.expense-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--color-text);font:inherit}.expense-search input::placeholder{color:var(--color-text-subtle)}.financial-charts-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:var(--page-section-gap);margin-bottom:var(--page-section-gap)}@media(max-width:1024px){.financial-charts-grid{grid-template-columns:1fr}}.donut-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;padding:var(--space-xl) var(--space-lg)}.donut-wrapper{position:relative;width:192px;height:192px;margin-bottom:var(--space-xl)}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.total-amount{font-size:var(--font-size-lg);font-weight:900;color:var(--color-text);line-height:1}.total-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle);margin-top:2px}.category-list{list-style:none;padding:0;margin:0;width:100%}.category-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) 0;font-size:var(--font-size-base)}.cat-info{display:flex;align-items:center;gap:var(--space-sm)}.cat-dot{width:10px;height:10px;border-radius:var(--radius-full)}.cat-name{color:var(--color-text);font-weight:600}.cat-val{font-weight:700;color:var(--color-text)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);margin-bottom:var(--page-section-gap)}.metric-card{background:var(--color-bg-surface);border:1px solid var(--color-border-heavy);border-radius:10px;padding:var(--space-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-md);min-height:168px;justify-content:center}.metric-header{display:flex;justify-content:space-between;align-items:center}.metric-icon{width:56px;height:56px;border-radius:4px;display:flex;align-items:center;justify-content:center}.metric-icon.income{background:var(--color-success-bg);color:var(--color-success)}.metric-icon.expense{background:var(--color-danger-bg);color:var(--color-danger)}.metric-icon.profit{background:oklch(from var(--report-blue) l c h / .1);color:var(--report-blue)}.metric-badge{font-size:10px;font-weight:800;padding:2px 8px;border-radius:var(--radius-full)}.metric-badge.positive{background:var(--color-success-bg);color:var(--color-success)}.metric-badge.negative{background:var(--color-danger-bg);color:var(--color-danger)}.metric-badge.info{background:oklch(from var(--report-blue) l c h / .1);color:var(--report-blue)}.metric-body dt{font-size:10px;font-weight:800;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.metric-body dd{margin:0;font-size:var(--font-size-xxl);font-family:var(--font-numeric);font-weight:700;letter-spacing:0;color:var(--color-text);line-height:1.2;font-variant-numeric:tabular-nums}.metric-body .income-val,.metric-body .expense-val,.metric-body .profit-val{color:var(--color-text)}@media(max-width:768px){.financial-page{min-width:0;overflow-x:clip}.financial-page .page-header{display:grid;gap:var(--space-md);margin-bottom:var(--space-lg)}.financial-page .page-header h1{font-size:var(--font-size-xl);line-height:1.08;letter-spacing:-.03em}.financial-page .page-header-description{font-size:var(--font-size-sm);line-height:1.45}.period-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border-radius:var(--radius-md)}.period-toggle button{min-width:0;min-height:var(--touch-target);padding:0 var(--space-sm);border-radius:8px;font-size:var(--font-size-sm)}.summary-cards,.financial-charts-grid{grid-template-columns:1fr;gap:var(--space-md);margin-bottom:var(--space-lg)}.metric-card{min-height:0;padding:var(--space-lg);gap:var(--space-lg)}.metric-icon{width:44px;height:44px;border-radius:var(--radius-sm)}.metric-badge{min-height:26px;display:inline-flex;align-items:center}.metric-body dd{font-size:var(--font-size-lg);letter-spacing:-.02em;overflow-wrap:anywhere}.chart-header,.section-header{min-height:auto;align-items:stretch;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.chart-header h3,.section-header h3{font-size:var(--font-size-md);letter-spacing:-.02em}.chart-legend{flex-wrap:wrap}.chart-legend{gap:var(--space-sm)}.bar-chart{height:220px;padding:var(--space-md) var(--space-xs) var(--space-md)}.donut-content{min-height:0;padding:var(--space-lg) var(--space-md)}.donut-wrapper{width:168px;height:168px;margin-bottom:var(--space-lg)}.total-amount{max-width:110px;overflow-wrap:anywhere;text-align:center;font-size:var(--font-size-md)}.category-list{display:grid;gap:var(--space-xs)}.category-item{gap:var(--space-sm);font-size:var(--font-size-sm)}.cat-info,.cat-name,.cat-val{min-width:0}.cat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-val{flex:0 0 auto}.expense-search{min-width:0;width:100%}}@media(max-width:480px){:root{--space-xl: 24px;--space-xxl: 40px}.ghost-button{padding-right:var(--space-sm);padding-left:var(--space-sm)}.sidebar{width:min(304px,calc(100vw - 32px));border-radius:0 20px 20px 0}.sidebar a{min-height:50px;font-size:var(--font-size-base)}.sidebar a svg{width:21px;height:21px}.page-header-description{font-size:var(--font-size-base)}.metric-grid{gap:var(--space-md);margin-bottom:var(--space-xl)}.metric{padding:var(--space-md)}.reservation-metric-grid .metric{flex-basis:min(84vw,276px)}.reservation-metric-grid{gap:var(--space-sm);margin:0 calc(var(--space-md) * -1) var(--space-md)}.reservation-table .reservation-row{grid-template-columns:minmax(0,1fr) auto}.reservation-total-cell{grid-column:1 / -1;justify-self:start}.reservation-total-cell{grid-row:2;font-size:var(--font-size-md)}.reservation-dates-cell{grid-row:3}.reservation-table .reservation-apartment-cell{grid-column:1 / 2;grid-row:4}.reservation-table .reservation-source-cell{grid-column:2 / 3;grid-row:4;justify-self:end}.reservation-table .reservation-status-cell{grid-column:2 / 3;grid-row:1;justify-self:end}.reservation-table .row-actions{grid-row:5}.reservation-table.operational-reservation-table:not(.pending-table) .row-actions{grid-row:3}.reservation-table.operational-reservation-table.pending-table .row-actions{grid-row:3}.calendar-shell{--calendar-name-width: 124px;--calendar-day-width: 104px;--calendar-row-height: 104px}.calendar-apartment-icon,.calendar-source-mark,.filter-icon{display:none}}.lease-page{display:grid;gap:var(--page-section-gap)}.lease-page .page-header{margin-bottom:0}.lease-mobile-tabs,.lease-row-meta{display:none}.lease-workspace{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:var(--page-section-gap);align-items:start}.lease-left-column{display:grid;gap:var(--space-lg);min-width:0}.lease-list-panel,.lease-detail-panel{display:grid;gap:var(--space-lg);min-width:0;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);box-shadow:var(--shadow-card)}.lease-detail-panel{position:sticky;top:calc(var(--space-xl) + 88px)}.lease-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md)}.lease-list-heading h3{margin:0;color:var(--color-text);font-size:var(--font-size-lg);line-height:1.15}.lease-list-heading span{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:700}.lease-filters{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:var(--space-sm);align-items:end}.lease-search-field,.lease-status-field{position:relative}.lease-search-field:before{position:absolute;top:50%;left:14px;z-index:1;width:14px;height:14px;border:2px solid var(--color-text-subtle);border-radius:50%;content:"";transform:translateY(-58%);opacity:.75}.lease-search-field:after{position:absolute;top:28px;left:27px;z-index:1;width:8px;height:2px;border-radius:var(--radius-full);background:var(--color-text-subtle);content:"";transform:rotate(45deg);opacity:.75}.lease-search-field input{padding-left:42px}.lease-unpaid-filter{grid-column:1 / -1;min-height:36px}.lease-card-list,.compact-list{display:grid}.lease-row-card{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-height:64px;padding:var(--space-md) var(--space-sm);border:0;border-bottom:1px solid var(--color-border-muted);border-radius:0;background:var(--color-bg-surface);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart)}.lease-row-card:hover,.lease-row-card:focus-visible{background:oklch(from var(--color-primary) 97% .02 h / .65);outline:none}.lease-row-card.selected{border-color:transparent;border-radius:var(--radius-sm);background:oklch(from var(--color-primary) 90% .055 h / .72);box-shadow:none}.lease-status-dot{width:12px;height:12px;border-radius:var(--radius-full);box-shadow:0 0 0 3px #ffffffe6,0 2px 8px #0000001f}.lease-status-dot.healthy{background:#00a149;background:oklch(62% .18 150)}.lease-status-dot.attention{background:#d73337}.lease-row-main{display:grid;min-width:0;gap:2px}.lease-row-main strong{overflow:hidden;color:var(--color-text);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.lease-row-main span{overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.lease-health-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:700;white-space:nowrap}.lease-health-label.attention{color:var(--color-danger-text)}.lease-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:var(--space-lg);row-gap:var(--space-md)}.lease-detail-header>div:first-of-type{min-width:0}.lease-detail-summary{display:contents}.lease-detail-summary>div{min-width:0}.lease-detail-header h3{margin:0;color:var(--color-text);font-size:var(--font-size-xl);line-height:1.15;text-transform:uppercase}.lease-detail-header p,.lease-due-section p{margin:var(--space-xs) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.lease-detail-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;grid-column:2;grid-row:1;justify-content:flex-end;gap:var(--space-sm)}.lease-detail-actions button{min-height:36px;min-width:76px;padding:0 var(--space-sm);font-size:var(--font-size-sm)}.lease-detail-facts{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);overflow:hidden}.lease-due-section h4,.rent-receipts-heading h4{margin:0 0 var(--space-xs);color:var(--color-text);font-size:var(--font-size-base);font-weight:800}.lease-detail-facts>span{display:grid;gap:var(--space-xs);min-width:0;padding:var(--space-md);border-right:1px solid var(--color-border-muted)}.lease-detail-facts>span:last-child{border-right:0}.lease-detail-facts>span>span{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600}.lease-detail-facts>span>strong{color:var(--color-text);font-size:var(--font-size-base);font-weight:800;line-height:1.25;text-align:right}.lease-detail-facts>span>strong{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.lease-due-section{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-danger-bg)}.rent-receipts-section{display:grid;gap:var(--space-md)}.rent-receipts-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md)}.rent-receipts-heading>div{display:grid;gap:2px;min-width:0}.rent-receipts-heading h4{margin-bottom:0}.rent-receipts-heading span{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:700;text-align:right}.rent-receipt-grid{display:grid;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);overflow:hidden}.rent-receipt-card{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(190px,1fr) minmax(190px,.9fr) auto;align-items:center;column-gap:var(--space-lg);row-gap:var(--space-sm);min-width:0;min-height:72px;padding:var(--space-md);border-bottom:1px solid var(--color-border-muted);border-radius:0;background:var(--color-bg-surface)}.rent-receipt-card:last-child{border-bottom:0}.rent-receipt-title{display:grid;gap:var(--space-xs);min-width:0}.rent-receipt-title strong{display:block;overflow:hidden;color:var(--color-text);font-size:var(--font-size-sm);font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.rent-receipt-lines{display:grid;gap:4px;justify-self:center;width:min(100%,240px)}.rent-receipt-lines>span{display:grid;grid-template-columns:minmax(72px,1fr) auto;column-gap:var(--space-sm);align-items:baseline}.rent-receipt-lines span span{color:var(--color-text);font-size:var(--font-size-sm);font-weight:800;line-height:1.25;text-align:left}.rent-receipt-lines strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:800;line-height:1.25;text-align:right;white-space:nowrap}.payment-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;isolation:isolate;min-height:var(--touch-target);padding:4px;border:1px solid var(--color-border-heavy);border-radius:var(--radius-full);background:var(--color-bg-muted);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:900;line-height:1;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-quart),background-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart)}.payment-switch:before{position:absolute;top:4px;bottom:4px;left:4px;z-index:-1;width:calc(50% - 4px);border-radius:var(--radius-full);background:var(--color-bg-surface);box-shadow:0 1px 4px oklch(from var(--color-text) l c h / .12);content:"";transition:background-color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.payment-switch span{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:34px;padding:0 var(--space-sm);line-height:1;white-space:nowrap}.payment-switch:hover:not(:disabled){filter:none;transform:none}.payment-switch:focus-visible{outline:none;box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .16)}.payment-switch:active:not(:disabled):before{box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .16)}.payment-switch:disabled{cursor:not-allowed;opacity:.66}.payment-switch.paid{border-color:oklch(from var(--color-success) 78% .07 h);background:var(--color-success-bg)}.payment-switch.paid:before{transform:translate(100%)}.payment-switch.paid span:last-child{color:var(--color-success)}.payment-switch.unpaid{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.payment-switch.unpaid span:first-child{color:var(--color-danger-text)}.rent-receipt-summary{display:contents}.rent-receipt-total{padding:0;border:0;min-width:0;justify-self:center;text-align:center}.rent-receipt-total strong{display:block;overflow:hidden;color:var(--color-text);font-size:var(--font-size-lg);font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.rent-receipt-actions{display:flex;align-items:center;gap:var(--space-sm);justify-self:end;width:auto}.rent-receipt-actions .payment-switch{width:168px}.rent-receipt-actions .rent-receipt-edit{width:auto}.rent-receipt-edit{min-height:38px;min-width:64px;margin-top:0;border:1px solid var(--color-border-heavy);background:var(--color-bg-surface);color:var(--color-text);font-size:var(--font-size-sm);font-weight:800}.rent-receipt-edit-mobile{display:none}.rent-receipt-edit:hover,.rent-receipt-edit:focus-visible{border-color:var(--color-primary);background:var(--color-bg-muted);color:var(--color-text);filter:none}.compact-list span{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-sm)}.compact-list strong{color:var(--color-text)}@media(max-width:1100px){.lease-workspace{grid-template-columns:1fr}.lease-detail-panel{position:static}.rent-receipt-grid{display:grid}.rent-receipt-card{grid-template-columns:minmax(140px,1fr) minmax(180px,1fr) minmax(176px,1fr)}.rent-receipt-total{display:none}}@media(max-width:768px){.lease-page{gap:var(--space-md)}.lease-page .page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-xs) var(--space-md);margin-bottom:0}.lease-page .page-header>div{min-width:0}.lease-page .page-header>button{width:auto;min-height:40px;padding:0 var(--space-md);white-space:nowrap}.lease-page .page-header-description{grid-column:1 / -1;max-width:36rem;font-size:var(--font-size-base);line-height:1.45}.lease-mobile-tabs{position:sticky;top:calc(64px + env(safe-area-inset-top));z-index:12;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xs);padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:oklch(from var(--color-bg-muted) l c h / .96);box-shadow:0 8px 22px oklch(from var(--color-text) l c h / .08)}.lease-mobile-tabs button{display:grid;gap:1px;min-height:48px;border:0;background:transparent;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:800;line-height:1.15}.lease-mobile-tabs button.active{background:var(--color-bg-surface);color:var(--color-primary);box-shadow:var(--shadow-card)}.lease-mobile-tabs small{margin:0;color:inherit;font-size:var(--font-size-xs);font-weight:800;opacity:.82}.lease-workspace{display:block}.lease-left-column{display:contents}.lease-list-panel,.lease-detail-panel{display:none}.lease-list-panel.mobile-panel-active,.lease-detail-panel.mobile-panel-active{display:grid}.lease-list-panel,.lease-detail-panel{gap:var(--space-md);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.lease-filters,.lease-detail-facts,.rent-receipt-lines{grid-template-columns:1fr}.lease-filters{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm)}.lease-search-field{grid-column:1 / -1}.lease-status-field{min-width:132px}.lease-unpaid-filter{grid-column:auto;min-height:var(--touch-target);align-content:center;justify-content:center;padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);white-space:nowrap}.lease-card-list{gap:var(--space-sm)}.lease-row-card{grid-template-columns:16px minmax(0,1fr) auto;min-height:76px;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .04)}.lease-row-card.selected{border-color:oklch(from var(--color-primary) 72% .1 h);border-radius:var(--radius-sm)}.lease-row-meta{display:block;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800}.lease-detail-header{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface)}.lease-detail-summary{display:grid;width:100%;gap:var(--space-sm)}.lease-detail-header h3{font-size:var(--font-size-lg);text-transform:none}.lease-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);grid-column:auto;grid-row:auto;width:100%}.lease-detail-actions button{min-height:var(--touch-target);width:100%}.lease-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border-radius:var(--radius-sm)}.lease-detail-facts>span{padding:var(--space-sm);border-right:1px solid var(--color-border-muted);border-bottom:1px solid var(--color-border-muted)}.lease-detail-facts>span:nth-child(2n){border-right:0}.lease-detail-facts>span:nth-last-child(-n+2){border-bottom:0}.lease-detail-facts>span>span{font-size:var(--font-size-xs)}.lease-detail-facts>span>strong{font-size:var(--font-size-sm)}.rent-receipt-grid{gap:var(--space-sm);border:0;background:transparent;overflow:visible}.rent-receipts-heading{align-items:center;flex-direction:row;gap:var(--space-sm)}.rent-receipts-heading span{text-align:left}.rent-receipts-heading button{flex:0 0 auto}.rent-receipt-card{grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-sm);row-gap:var(--space-md);align-items:center;min-height:0;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 1px 2px oklch(from var(--color-text) l c h / .04)}.rent-receipt-title{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm)}.rent-receipt-edit-mobile{display:inline-flex;align-items:center;justify-content:center;justify-self:end}.rent-receipt-card:last-child{border-bottom:1px solid var(--color-border)}.rent-receipt-lines{grid-column:1 / -1;justify-self:stretch;gap:var(--space-xs)}.rent-receipt-lines>span{grid-template-columns:1fr auto;justify-content:stretch}.rent-receipt-summary{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border-muted)}.rent-receipt-total{display:block;justify-self:start;min-width:0;width:100%;padding-top:0;border-top:0;text-align:left}.rent-receipt-title strong,.rent-receipt-total strong{font-size:var(--font-size-base)}.rent-receipt-actions{display:flex;gap:var(--space-sm);justify-self:end;width:auto;padding-top:0;border-top:0}.rent-receipt-actions .payment-switch{width:clamp(148px,42vw,168px)}.rent-receipt-actions .rent-receipt-edit{display:none}}@media(max-width:480px){.lease-page{gap:var(--space-sm)}.lease-page .page-header{grid-template-columns:minmax(0,1fr)}.lease-page .page-header>button{width:100%}.lease-page .page-header-description{display:none}.lease-list-panel,.lease-detail-panel{padding:0}.lease-filters{grid-template-columns:1fr}.lease-status-field{min-width:0}.lease-unpaid-filter{justify-content:start}.lease-row-card{grid-template-columns:14px minmax(0,1fr) auto;gap:var(--space-sm)}.lease-health-label{grid-column:3;justify-self:end;max-width:8.5rem;min-height:24px;padding:3px var(--space-sm);overflow:hidden;border-radius:var(--radius-full);background:var(--color-success-bg);font-size:var(--font-size-xs);line-height:1.2;text-overflow:ellipsis}.lease-health-label.attention{background:var(--color-danger-bg)}.lease-detail-actions,.lease-detail-facts{grid-template-columns:1fr}.lease-detail-facts>span,.lease-detail-facts>span:nth-child(2n),.lease-detail-facts>span:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--color-border-muted)}.lease-detail-facts>span:last-child{border-bottom:0}.rent-receipts-heading{align-items:stretch;flex-direction:column}.rent-receipts-heading button{width:100%}.rent-receipts-heading span{display:none}}@media(max-width:1180px){.reservations-layout{grid-template-columns:1fr}.reservation-agenda{position:static;min-height:0}.reservation-agenda-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-lg)}}@media(max-width:768px){.reservations-page .reservation-tabs{gap:var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.reservation-card-list{gap:var(--space-md)}.reservation-card-list .reservation-row{padding:var(--space-md);border-radius:14px}.reservation-card-list .reservation-ticket{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.reservation-card-list .reservation-guest{gap:var(--space-md)}.reservation-card-list .avatar{width:68px;height:68px;flex-basis:68px;font-size:2rem}.reservation-card-list .reservation-guest-heading{flex-wrap:wrap}.reservation-card-list .reservation-guest-heading span,.reservation-card-list .reservation-guest-heading strong{font-size:var(--font-size-base)}.reservation-card-summary{font-size:var(--font-size-md)}.reservation-card-list .reservation-dates-cell{display:grid;gap:3px}.reservation-card-list .reservation-timing-note{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:3px 9px;border:1px solid var(--color-border);border-radius:7px;background:oklch(from var(--color-bg-muted) l c h / .72);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:750}.reservation-card-list .reservation-timing-note.departure{border-color:#92ad9561;background:#ecf5ed;color:#294f32}.reservation-card-list .reservation-timing-note.arrival{border-color:#89a1ba57;background:#ecf3fa;color:#2a4864}.reservation-card-list .reservation-timing-note.warning{border-color:#c0a0616b;background:#faf1e0;color:#5a4000;color:oklch(39% .085 83)}.reservation-card-list.operational-reservation-table .row-actions,.reservation-card-list.operational-reservation-table:not(.pending-table) .row-actions,.reservation-card-list.operational-reservation-table.pending-table .row-actions{display:flex;grid-row:auto;flex-wrap:wrap;gap:var(--space-xs);margin-top:0;padding-top:var(--space-md);border-top:1px solid var(--color-border-muted)}.reservation-card-list .row-actions button{flex:1 1 132px;width:auto;min-height:var(--touch-target)}.reservation-card-list .row-actions .reservation-secondary-action{flex:1 1 96px}.reservation-agenda{display:none;border-radius:14px}.reservation-agenda-list{grid-template-columns:1fr}}@media(max-width:520px){.reservation-card-list .reservation-guest{align-items:flex-start}.reservation-card-list .avatar{width:58px;height:58px;flex-basis:58px;font-size:1.65rem}.reservation-card-list .reservation-ticket-meta,.reservation-card-list .reservation-dates-cell,.reservation-card-summary{gap:6px}.reservation-card-summary{display:grid;font-size:var(--font-size-base)}.reservation-card-summary span+span:before{content:none}}
