: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-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: 12px;--radius-lg: 24px;--radius-full: 999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 64px;--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 fade-in{0%{opacity:0}to{opacity:1}}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;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)}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: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:260px 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:80px 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:var(--color-sidebar-bg);color:var(--color-sidebar-text);padding:var(--space-xl) var(--space-md);overflow-y:auto;z-index:10}.brand{color:var(--color-text-on-primary);font-family:var(--font-display);font-size:var(--font-size-md);line-height:1;font-weight:700;margin:0 var(--space-xs) var(--space-xxl);letter-spacing:.02em;display:flex;align-items:center;gap:var(--space-sm);white-space:nowrap}.brand-icon{color:var(--color-primary);flex-shrink:0}.sidebar nav{display:grid;gap:var(--space-sm)}.sidebar a{color:var(--color-sidebar-text-muted);text-decoration:none;font-size:var(--font-size-sm);font-weight:600;letter-spacing:.01em;border-radius:var(--radius-sm);padding:0 var(--space-md);min-height:var(--touch-target);display:flex;align-items:center;gap:var(--space-md);white-space:nowrap;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:var(--color-sidebar-hover);color:var(--color-text-on-primary)}.sidebar a:active{transform:translate(2px)}.workspace{min-width:0;display:grid;grid-template-rows:auto 1fr}.topbar{display:flex;align-items:center;justify-content:space-between;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:5}.topbar select{max-width:320px;background-color:var(--color-bg-muted);border-color:transparent}.topbar-user{display:flex;align-items:center;gap:var(--space-lg);color:var(--color-text-muted);font-size:var(--font-size-sm);min-width:0}.topbar-user span{font-weight:600;color:var(--color-text-subtle)}.content{padding:var(--space-xxl) var(--space-xl);overflow:auto;max-width:1200px;margin:0 auto;width:100%;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(--space-xxl)}.page-header h1{margin:0;font-family:var(--font-display);font-size:var(--font-size-xxl);line-height:1.1;letter-spacing:-.01em;font-weight:700;animation:fade-in-up var(--duration-slow) var(--ease-out-expo)}.page-header-description{margin:var(--space-xs) 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}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:var(--space-xl);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%}.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:88px;margin-bottom:0;background:var(--color-bg-surface);border:1px solid var(--color-border-muted);border-radius:0;padding:var(--space-lg) var(--space-xl);box-shadow:none}.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}.calendar-period-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-md);min-width:0}.calendar-period-controls strong{min-width:260px;color:var(--color-text);font-size:var(--font-size-xl);font-weight:800;line-height:1;text-align:center}.calendar-price-toggle{min-height:48px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-surface);color:var(--color-text);padding:0 22px;font-size:var(--font-size-md);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)}.calendar-quick-actions{display:flex;align-items:center;gap:var(--space-sm)}.help-trigger{color:var(--color-primary)!important}.calendar-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm)}.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;flex-wrap:wrap;align-items:center;gap:var(--space-md);margin:0;padding:var(--space-md) 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 span{display:inline-flex;align-items:center;gap:var(--space-xs)}.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: 256px;--calendar-day-width: 128px;--calendar-row-height: 174px;overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 250px);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;background:var(--color-bg-surface);box-shadow:none;scrollbar-gutter:stable}.calendar-board{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-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-lg);background:#f4f7fb;border-right:1px solid var(--color-border-muted)}.calendar-corner{z-index:24;min-height:64px;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-sm);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-xs);font-weight:600}.calendar-apartment-icon{display:inline-grid;place-items:center;width:34px;height:34px;color:var(--color-text-muted)}.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:64px}.calendar-date-header{display:grid;place-items:center;min-width:0;padding:var(--space-xs);background:#e5e8ed;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:#e0e3e8}.calendar-date-header.today{color:var(--color-primary)}.calendar-date-header span{font-size:var(--font-size-sm);font-weight:700;line-height:1.15;text-transform:none}.calendar-date-header strong{color:inherit;font-size:var(--font-size-sm);font-weight:700;line-height:1.15}.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:center;pointer-events:none}.calendar-cell{position:relative;min-width:0;min-height:var(--calendar-row-height);padding:0;border-top:0;border-left:0;border-radius:0;background:var(--color-bg-surface);border-right:1px solid oklch(89% .01 260);border-top:1px solid oklch(89% .01 260);cursor:crosshair;transform:none;outline-offset:-3px;grid-column:span 2}.calendar-cell:after{content:"+";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:20px;font-weight:300;color:var(--color-primary);opacity:0;transition:opacity var(--duration-fast) var(--ease-out-quart);pointer-events:none}.calendar-cell:hover:after{opacity:.5}.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:#f6f9fd}@media(max-width:820px){.calendar-toolbar{grid-template-columns:1fr;padding:var(--space-sm);gap:var(--space-sm)}.calendar-period-controls{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.calendar-period-controls strong{font-size:var(--font-size-base);text-align:left}.calendar-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;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: 104px;--calendar-row-height: 118px}.onboarding-banner{padding:var(--space-sm)}.onboarding-icon{display:none}}.calendar-cell.today{box-shadow:inset 0 0 0 2px oklch(from var(--color-primary) l c h / .35)}.calendar-cell.occupied,.calendar-cell.blocked{cursor:default}.calendar-booking-block{align-self:center;z-index:5;min-height:58px;width:100%;padding:8px 18px;border:0;border-radius:0;display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-on-primary);overflow:hidden;text-align:left;transform:none;box-shadow:none;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-md);border-bottom-left-radius:var(--radius-md)}.calendar-booking-block.ends-in-view{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.calendar-booking-block.reservation{background:#2a9b4f}.calendar-booking-block.source-airbnb{background:#f33968}.calendar-booking-block.source-booking{background:#1b6ad4}.calendar-booking-block.source-direct{background:#2a9b4f}.calendar-booking-block.block{background:var(--color-blocked)}.calendar-source-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:var(--radius-full);color:inherit;font-size:1.35rem;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.2}.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:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.calendar-booking-block small{max-width:100%;margin:1px 0 0;overflow:hidden;color:#e7ebf2;font-size:.68rem;font-weight:700;line-height:1.1;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}.calendar-segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs);background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:4px}.calendar-segmented-control button{border:none;background:transparent;color:var(--color-text-muted);font-weight:600;font-size:var(--font-size-sm);min-height:36px;height:36px}.calendar-segmented-control button.active{background:var(--color-bg-surface);border-radius:var(--radius-sm);color:var(--color-primary);box-shadow:var(--shadow-card)}.modal-summary-card{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);background:var(--color-bg-muted);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border)}.summary-item label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-subtle);margin-bottom:2px}.summary-item strong{display:block;font-size:var(--font-size-sm);color:var(--color-text)}.form-section{display:grid;gap:var(--space-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.form-row label:only-child{grid-column:span 2}.date-pair{display:grid;grid-template-columns:1fr 1fr;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}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-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)}.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-hero{grid-column:1 / -1;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xxl);margin-bottom:var(--space-xl);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.metric-hero dt{font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase;letter-spacing:.25em;color:var(--color-text-subtle);margin-bottom:var(--space-md)}.metric-hero dd{font-family:var(--font-display);font-size:var(--font-size-display);font-weight:700;color:var(--color-text);line-height:1;margin:0;letter-spacing:-.04em}.metric-trend{margin-top:var(--space-md);display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--color-success)}.metric-trend svg{width:16px;height:16px}.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-size:var(--font-size-lg);line-height:1.2;letter-spacing:-.01em;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums;margin:0}.dashboard-page{display:grid;gap:var(--space-xl);--dashboard-chart-blue: oklch(57% .23 260)}.dashboard-page .page-header{margin-bottom:0}.dashboard-page .page-header h1{font-family:var(--font-family);font-size:clamp(2.25rem,4vw,3.5rem);font-weight:900;letter-spacing:-.03em}.dashboard-page .page-header-description{color:#5d646f;font-size:var(--font-size-md);font-weight:600}.dashboard-toolbar{justify-self:start;margin-bottom:0}.dashboard-page .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);margin-bottom:0}.dashboard-page .metric{min-height:164px;display:grid;grid-template-columns:1fr auto;align-content:start;gap:var(--space-sm) var(--space-md);border-color:var(--color-border-heavy);border-radius:var(--radius-md);padding:var(--space-xl);box-shadow:0 2px 8px oklch(from var(--color-text) l c h / .05)}.dashboard-page .metric:hover{transform:none}.dashboard-page .metric dt{font-size:var(--font-size-sm);letter-spacing:.06em}.dashboard-page .metric dd{grid-column:1 / -1;font-size:clamp(2rem,3vw,2.875rem);font-weight:900;letter-spacing:-.04em}.dashboard-metric-icon{width:32px;height:32px;color:#105fd9}.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-md);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:minmax(0,2.1fr) minmax(320px,1fr);gap:var(--space-xl)}.dashboard-panel{background:var(--color-bg-surface);border:1px solid var(--color-border-heavy);border-radius:var(--radius-md);box-shadow:0 2px 8px oklch(from var(--color-text) l c h / .05);overflow:hidden}.panel-header{min-height:96px;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-xl);line-height:1.1;font-weight:900;letter-spacing:-.03em}.segmented-control{display:inline-flex;gap:4px;padding:4px;border-radius:var(--radius-sm);background:#e5e8ed}.segmented-control button{min-height:44px;border:0;border-radius:4px;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)}.revenue-chart{height:430px;padding:var(--space-xl)}.task-panel{padding:var(--space-xl)}.task-panel h2{padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border-heavy)}.task-list{display:grid;gap:var(--space-lg);margin-top:var(--space-xl)}.task-item{min-height:98px;display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border-heavy);border-radius:var(--radius-sm);background:var(--color-bg-muted);color:var(--color-text);text-decoration:none}.task-item:hover{background:var(--color-bg-surface)}.task-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:18px}.task-icon svg{width:30px;height:30px}.task-cleaning{background:#fde89a;color:#825100;color:oklch(48% .12 70)}.task-message{background:#d1e2ff;background:oklch(91% .05 260);color:#0559d2}.task-key{background:#c8f6d0;color:#007131;color:oklch(48% .15 150)}.task-item strong{display:block;color:var(--color-text);font-size:var(--font-size-md);line-height:1.2;font-weight:900}.task-item small{margin:4px 0 0;color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.25;font-weight:600}.task-arrow{color:var(--color-text-subtle);font-size:2.75rem;line-height:1}.add-task-link{min-height:76px;display:grid;place-items:center;margin-top:var(--space-xl);border:2px dashed var(--color-border-heavy);border-radius:var(--radius-sm);color:var(--color-text-subtle);font-size:var(--font-size-md);font-weight:800;text-decoration:none}.add-task-link:hover{color:var(--color-text);border-color:var(--color-text-subtle)}.checkins-panel .panel-header a{color:#0053c9;color:oklch(48% .2 260);font-size:var(--font-size-md);font-weight:900;text-decoration:none}.checkins-table{border-radius:0;box-shadow:none;animation:none}.checkins-table th,.checkins-table td{padding:var(--space-lg) var(--space-xl)}.checkins-table th{border-bottom-color:var(--color-border-heavy);font-size:var(--font-size-sm);letter-spacing:.06em}.checkins-table td{color:#343b45;font-size:var(--font-size-md);font-weight:700}.checkins-table td:first-child{display:flex;align-items:center;gap:var(--space-md);color:var(--color-text)}.guest-avatar{width:44px;height:44px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:16px;color:#0559d2;background:#d1e2ff;background:oklch(91% .05 260);font-size:var(--font-size-base);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}.table-action{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-text-subtle);font-size:2rem;line-height:1;text-decoration:none}.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{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-lg);padding:var(--space-lg);box-shadow:var(--shadow-panel);position:relative;width:fit-content}.calendar-nav{position:absolute;top:var(--space-lg);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-muted);border-radius:var(--radius-full)}.calendar-container{display:flex;gap:var(--space-xxl)}@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)}}.calendar-month{width:100%;max-width:308px}.calendar-month-header{text-align:center;font-weight:700;font-family:var(--font-display);font-size:var(--font-size-base);margin-bottom:var(--space-lg);color:var(--color-text)}.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:700;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.05em}.calendar-grid{display:grid;gap:2px}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{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:500;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);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);padding:0;width:100%}.calendar-day:hover:not(.empty){background:var(--color-bg-muted)}.calendar-day.selected{background:var(--color-primary);color:var(--color-text-on-primary);font-weight:700}.calendar-day.today{color:var(--color-primary);font-weight:700;text-decoration:underline}.calendar-day.in-range{background:oklch(from var(--color-primary) l c h / .1);color:var(--color-text);border-radius:0}.calendar-day.empty{cursor:default}.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)}.range-input-wrapper:hover{border-color:var(--color-primary)}.range-field{display:flex;flex-direction:column;justify-content:center}.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:600;color:var(--color-text);line-height:1}.range-separator{color:var(--color-border-heavy);font-weight:700}.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)}.help-hint-container{position:relative;display:inline-flex;vertical-align:middle;margin-left:var(--space-xs)}.help-hint-trigger{width:var(--touch-target);height:var(--touch-target);min-height:var(--touch-target);padding:0;border-radius:var(--radius-full);background:var(--color-bg-muted);border:1px solid var(--color-border-heavy);color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:800;cursor:help;display:flex;align-items:center;justify-content:center}.help-hint-popup{position:absolute;bottom:calc(100% + var(--space-sm));left:50%;transform:translate(-50%);width:240px;background:var(--color-bg-surface);color:var(--color-text);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);font-size:var(--font-size-xs);font-weight:400;line-height:1.4;z-index:100;animation:fade-in-up var(--duration-fast) var(--ease-out-expo)}.help-hint-popup:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--color-bg-surface)}.help-hint-close{display:block;width:100%;margin-top:var(--space-sm);background:transparent;border:1px solid var(--color-sidebar-text-muted);color:inherit;font-size:var(--font-size-xs);min-height:var(--touch-target);padding:0;text-transform:uppercase;letter-spacing:.1em}.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:20;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;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-display);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)}@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){table,thead,tbody,th,td,tr{display:block}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)}td{border:none;border-bottom:1px solid var(--color-border-muted);position:relative;padding-left:50%!important;text-align:right;min-height:var(--touch-target)}td:last-child{border-bottom:0}td:before{content:attr(data-label);position:absolute;left:var(--space-lg);width:45%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:700;font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-text-muted)}.row-actions{justify-content:center;padding:var(--space-md)!important}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;padding:var(--space-sm)}.brand{margin-bottom:var(--space-sm)}.sidebar nav{grid-auto-flow:column;overflow-x:auto;gap:var(--space-xs);scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%);padding-right:var(--space-xl)}.sidebar nav::-webkit-scrollbar{display:none}.workspace{grid-template-rows:auto 1fr}.topbar{align-items:stretch;flex-direction:column;padding:var(--space-md)}.metric-grid{grid-template-columns:1fr}.content{padding:var(--space-md)}}@media(max-width:820px){.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-period-controls{justify-content:space-between}.calendar-period-controls strong{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}.date-pair,.calendar-detail-list div{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-page{gap:var(--space-lg)}.dashboard-page .page-header{align-items:flex-start}.dashboard-toolbar,.dashboard-toolbar .toolbar-container,.dashboard-toolbar .range-input-wrapper{width:100%}.dashboard-page .metric{min-height:148px;padding:var(--space-lg)}.panel-header{min-height:auto;align-items:flex-start;flex-direction:column}.segmented-control{width:100%}.segmented-control button{flex:1}.revenue-chart{height:300px;padding:var(--space-lg) var(--space-md)}.task-panel,.task-item{padding:var(--space-md)}.task-item{grid-template-columns:48px 1fr auto;min-height:84px}.task-icon{width:44px;height:44px;border-radius:14px}.task-icon svg{width:24px;height:24px}.checkins-table td:first-child{display:block}.checkins-table td:first-child strong{display:inline}.guest-avatar{margin-right:var(--space-sm);vertical-align:middle}}.financial-page{--report-blue: oklch(57% .23 260);--report-red: oklch(59% .22 27);--report-red-soft: oklch(93% .055 27);--report-yellow: oklch(78% .17 85)}.financial-page .page-header{margin-bottom:var(--space-xl)}.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{background:var(--report-blue)}.dot.expense{background:var(--report-red-soft);border:1px solid var(--report-red)}.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}.recent-expenses-section{animation:fade-in-up var(--duration-slow) var(--ease-out-expo) .15s both;background:var(--color-bg-surface);border:1px solid var(--color-border-heavy);border-radius:10px;box-shadow:var(--shadow-card);overflow:hidden}.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-table-actions{display:flex;align-items:center;gap:var(--space-sm)}.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)}.expense-filter-button{width:56px;height:56px;padding:0;border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-bg-surface)}.recent-expenses-section table{border-radius:0;border-top:1px solid var(--color-border-heavy);box-shadow:none;animation:none}.recent-expenses-section th,.recent-expenses-section td{padding:var(--space-md) var(--space-xl)}.recent-expenses-section th{border-bottom-color:var(--color-border-heavy);background:var(--color-table-header-bg)}.recent-expenses-section td{font-size:var(--font-size-base);border-bottom-color:var(--color-border-heavy)}.expense-category-cell{display:inline-flex;align-items:center;gap:var(--space-md)}.expense-category-cell strong{margin:0;font-size:var(--font-size-base);font-weight:700}.expense-category-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;color:var(--report-blue);font-size:1.5rem;line-height:1}.expense-table-amount{color:var(--color-text);font-weight:900}.status-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:800}.status-pill.paid{color:var(--color-success);background:var(--color-success-bg);border:1px solid oklch(from var(--color-success) l c h / .25)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.financial-charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-xl);margin-bottom:var(--space-xxl)}@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-xl);margin-bottom:var(--space-xl)}.metric-card{background:var(--color-bg-surface);border:1px solid var(--color-border-heavy);border-radius:10px;padding:var(--space-xl);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-md);min-height:210px;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-badge.neutral{background:var(--color-bg-muted);color:var(--color-text-muted)}.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:clamp(2rem,3.4vw,3rem);font-family:var(--font-family);font-weight:900;letter-spacing:-.055em;color:var(--color-text);line-height:1.2}.metric-body .income-val,.metric-body .expense-val,.metric-body .profit-val{color:var(--color-text)}
