:root,:root[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-0:#12151a;--bg-1:#161b18;--bg-2:#1a2320;--surface:#1b2019;--surface-2:#232a22;--border:#2f4034;--border-soft:#26332a;--border-strong:#5a7364;--text:#f3efe6;--text-dim:#b9c2b4;--text-faint:#8fa089;--accent:#c9793b;--accent-light:#e3a46b;--gold:#d4af6a;--free:#5fa777;--free-ink:#a9dcbb;--booked:#d8a441;--booked-ink:#f0cf8d;--occupied:#cf6a5a;--occupied-ink:#f2ab9c;--cleaning:#6ea8bd;--cleaning-ink:#a9d6e6;--tint-free:#5fa77729;--tint-booked:#d8a44129;--tint-occupied:#cf6a5a29;--tint-cleaning:#6ea8bd29;--shadow:0 8px 32px #0000006b;--shadow-lift:0 16px 44px #00000085;--glow-1:#c9793b29;--glow-2:#5fa7771f;--glow-3:#d4af6a14;--on-accent:#1a1206;--on-status:#12180f;--surface-opaque:#1b2019;--accent-rgb:201 121 59;--accent-light-rgb:227 164 107;--gold-rgb:212 175 106;--free-rgb:95 167 119;--booked-rgb:216 164 65;--occupied-rgb:207 106 90;--cleaning-rgb:110 168 189;--lift-rgb:255 255 255;--topbar-bg:#12151ab8;--scrim:#080a08a8;--panel-float:#1b2019fa}:root[data-theme=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-0:#f6f3ec;--bg-1:#f2eee5;--bg-2:#ece7db;--surface:#fff;--surface-2:#f4f1e8;--border:#e4dfd2;--border-soft:#ece8dd;--border-strong:#8d8672;--text:#23281f;--text-dim:#5b6355;--text-faint:#646b5e;--accent:#9e5520;--accent-light:#8c4a18;--gold:#7e6120;--free:#3f7d55;--free-ink:#2c5c3d;--booked:#a97a1c;--booked-ink:#7a5711;--occupied:#b04d3d;--occupied-ink:#8c3527;--cleaning:#3f7a92;--cleaning-ink:#2c5a6d;--tint-free:#3f7d551f;--tint-booked:#a97a1c24;--tint-occupied:#b04d3d1f;--tint-cleaning:#3f7a921f;--shadow:0 6px 20px #23281f14;--shadow-lift:0 14px 34px #23281f24;--glow-1:#c9793b1a;--glow-2:#5fa77717;--glow-3:#d4af6a12;--on-accent:#fdfaf3;--on-status:#fdfaf3;--surface-opaque:#fff;--accent-rgb:158 85 32;--accent-light-rgb:140 74 24;--gold-rgb:126 97 32;--free-rgb:63 125 85;--booked-rgb:169 122 28;--occupied-rgb:176 77 61;--cleaning-rgb:63 122 146;--lift-rgb:35 40 31;--topbar-bg:#f6f3ecd9;--scrim:#23281f57;--panel-float:#fffffffc}:root{--radius-lg:20px;--radius-md:16px;--radius-sm:10px;--card-pad:18px;--card-radius:18px;--card-gap:16px;--row-pad:13px 15px;--row-radius:12px;--action-height:32px;--ease:cubic-bezier(.22, 1, .36, 1);--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-ui:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--text-xl:32px;--text-lg:24px;--text-md:18px;--text-base:15px;--text-sm:13px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-half:4px;--control-h:40px;--control-h-sm:32px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-ui);color:var(--text);background:var(--bg-0);background-image:radial-gradient(1100px 700px at 12% -10%, var(--glow-1), transparent 60%), radial-gradient(900px 620px at 88% 4%, var(--glow-2), transparent 62%), radial-gradient(900px 700px at 50% 110%, var(--glow-3), transparent 65%), linear-gradient(165deg, var(--bg-0) 0%, var(--bg-1) 48%, var(--bg-2) 100%);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600}.login-wordmark{font-family:var(--font-display);font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 72;letter-spacing:-.02em;font-weight:600}h1{font-size:var(--text-xl);font-weight:600}h2{font-size:var(--text-lg);font-weight:600}h3,h4{font-size:var(--text-md);font-weight:600}.tile-value,.stat-value{font-size:var(--text-xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:600}.clock-time{font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:600}.tile-value,.stat-value{color:var(--gold)}.tile-of{color:var(--text-faint)}button{font:inherit;color:inherit}.glass{background:var(--surface);-webkit-backdrop-filter:blur(18px)saturate(140%);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow)}.panel,.unit-card,.stat,.tile{padding:var(--card-pad);border-radius:var(--card-radius)}.unit-grid,.stat-row,.tile-grid,.dash-grid{gap:var(--card-gap);align-items:stretch;display:grid}.glass-soft{background:rgb(var(--lift-rgb) / .04);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-soft);border-radius:var(--radius-md)}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;background:var(--topbar-bg);-webkit-backdrop-filter:blur(20px)saturate(140%);border-bottom:1px solid var(--border-soft);align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:.01em;white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), var(--accent-light));width:30px;height:30px;box-shadow:0 4px 16px rgb(var(--accent-rgb) / .45);border-radius:9px;place-items:center;font-size:15px;display:grid}.brand-sub{color:var(--text-faint);font-size:13px;font-weight:400}.shell-body{flex:1;align-items:flex-start;gap:0;min-height:0;display:flex}.sidebar{border-right:1px solid var(--border-soft);flex-direction:column;flex:0 0 208px;align-self:stretch;gap:16px;padding:24px 16px;display:flex;position:sticky;top:65px}.nav-group{flex-direction:column;gap:0;display:flex}.nav-group-label{text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint);padding:0 8px 4px;font-size:13px}.nav-link{color:var(--text-dim);transition:background .18s var(--ease), color .18s var(--ease);border:1px solid #0000;border-radius:11px;padding:8px;font-size:15px;text-decoration:none}.nav-link:hover{color:var(--text);background:var(--surface)}.nav-link.active{color:var(--text);background:var(--surface-2);border-color:var(--border)}.topbar-right{align-items:center;gap:16px;margin-left:auto;display:flex}.reviews{border-right:1px solid var(--border-soft);align-items:center;gap:8px;padding-right:16px;display:flex}.reviews-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:13px}.reviews-link{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);transition:transform .16s var(--ease), color .16s var(--ease), background .16s var(--ease);border-radius:999px;padding:4px 8px;font-size:13px;text-decoration:none}.reviews-link:hover{color:var(--text);background:var(--surface-2);transform:translateY(-1px)}@media (width<=900px){.reviews{display:none}}.clock{border-right:1px solid var(--border-soft);align-items:center;gap:8px;padding-right:16px;line-height:1.25;display:flex}.clock-stack{flex-direction:column;align-items:flex-start;display:flex}.clock-time{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:15px;font-weight:600}.clock-zone{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:13px}.who{text-align:right;line-height:1.3}.who-name{font-size:15px;font-weight:500}.who-role{color:var(--text-faint);font-size:13px}.content{flex:1;width:100%;min-width:0;max-width:1480px;padding:24px}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head h1{font-size:32px}.page-sub{color:var(--text-faint);margin-top:4px;font-size:15px}.page-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.page-head-actions .btn{height:var(--control-h-sm)}.btn{justify-content:center;align-items:center;gap:var(--space-1);height:var(--control-h);padding:0 var(--space-2);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:var(--text-base);white-space:nowrap;transition:background .16s var(--ease), border-color .16s var(--ease), opacity .16s var(--ease);border-radius:10px;font-weight:500;display:inline-flex}.btn-secondary{background:var(--surface);border-color:var(--border)}.btn svg{flex:none;width:16px;height:16px}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.9;cursor:not-allowed;background:var(--surface);border-color:var(--border-soft);color:var(--text-dim);box-shadow:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent-light)}.btn-danger{border-color:rgb(var(--occupied-rgb) / .55);color:var(--occupied-ink);background:0 0}.btn-danger:hover:not(:disabled){background:var(--tint-occupied);border-color:var(--occupied)}.btn-sm{height:var(--control-h-sm);padding:0 var(--space-2);font-size:var(--text-sm)}.btn-ghost{color:var(--text-dim);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-soft);color:var(--text)}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot-free{background:var(--free);box-shadow:0 0 10px rgb(var(--free-rgb) / .75)}.dot-booked{background:var(--booked);box-shadow:0 0 10px rgb(var(--booked-rgb) / .75)}.dot-occupied{background:var(--occupied);box-shadow:0 0 10px rgb(var(--occupied-rgb) / .75)}.dot-cleaning{background:var(--cleaning);box-shadow:0 0 10px rgb(var(--cleaning-rgb) / .75)}.pill{background:rgb(var(--lift-rgb) / .07);border:1px solid var(--border-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 8px;font-size:13px;display:inline-flex}.pill-cleaning{color:var(--cleaning-ink);border-color:rgb(var(--cleaning-rgb) / .34);background:rgb(var(--cleaning-rgb) / .12)}.legend{color:var(--text-dim);flex-wrap:wrap;gap:16px;margin-bottom:16px;font-size:13px;display:flex}.legend span{align-items:center;gap:8px;display:inline-flex}.unit-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr))}.unit-card{text-align:left;transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);flex-direction:column;gap:16px;display:flex;position:relative;overflow:hidden}.unit-card-hit{all:unset;cursor:pointer;flex-direction:column;flex:1;gap:16px;display:flex}.unit-card:hover,.unit-card:focus-within{border-color:rgb(var(--lift-rgb) / .28);box-shadow:var(--shadow-lift);transform:translateY(-4px)}.unit-card:hover:before{box-shadow:0 0 12px 1px var(--stripe)}.unit-card-hit:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.unit-card:before{content:"";background:var(--stripe,transparent);width:3px;position:absolute;inset:0 auto 0 0}.unit-card[data-status=free]{--stripe:var(--free)}.unit-card[data-status=booked]{--stripe:var(--booked)}.unit-card[data-status=occupied]{--stripe:var(--occupied)}.unit-card-top{align-items:flex-start;gap:8px;display:flex}.unit-name{font-size:18px;font-weight:600;line-height:1.1}.unit-meta{color:var(--text-faint);margin-top:4px;font-size:13px}.unit-status{color:var(--text-dim);align-items:center;gap:8px;margin-left:auto;font-size:13px;display:inline-flex}.unit-guest{font-size:15px;line-height:1.5}.unit-guest-name{font-weight:500}.unit-dates{color:var(--text-dim);font-size:13px}.unit-empty{color:var(--text-faint);font-size:15px;font-style:italic}.unit-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:4px;display:flex}.money{color:var(--text-dim);font-size:13px}.money strong{color:var(--text);font-weight:600}.money-due{color:var(--occupied-ink)}.cal-head{align-items:center;gap:8px;margin-bottom:16px;display:flex}.cal-month{text-align:center;text-transform:capitalize;min-width:168px;font-size:15px;font-weight:500}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-dow{text-align:center;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;padding-bottom:4px;font-size:13px}.cal-day{aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:rgb(var(--lift-rgb) / .03);color:var(--text-dim);transition:transform .16s var(--ease), border-color .16s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:15px;display:flex}.cal-day:hover{border-color:var(--border);transform:translateY(-2px)}.cal-day.is-empty{background:0 0;border-color:#0000}.cal-day.is-today{border-color:var(--accent);box-shadow:0 0 0 1px rgb(var(--accent-rgb) / .45)}.cal-day[data-status=booked]{background:rgb(var(--booked-rgb) / .16);border-color:rgb(var(--booked-rgb) / .34);color:var(--booked-ink)}.cal-day[data-status=occupied]{background:rgb(var(--occupied-rgb) / .16);border-color:rgb(var(--occupied-rgb) / .34);color:var(--occupied-ink)}.detail-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=980px){.detail-grid{grid-template-columns:1fr}}.panel+.panel{margin-top:var(--card-gap)}.panel-stack{gap:var(--card-gap);flex-direction:column;display:flex}.panel-title{align-items:center;gap:8px;margin-bottom:16px;font-size:15px;font-weight:600;display:flex}.panel-title .count{color:var(--text-faint);margin-left:auto;font-size:13px;font-weight:400}.pay-rows{flex-direction:column;gap:8px;display:flex}.pay-row{align-items:baseline;gap:8px;font-size:15px;display:flex}.pay-row span:first-child{color:var(--text-dim)}.pay-row span:last-child{font-variant-numeric:tabular-nums;margin-left:auto}.pay-row.total{border-top:1px solid var(--border-soft);padding-top:8px;font-weight:600}.pay-bar{background:rgb(var(--lift-rgb) / .08);border-radius:999px;height:7px;margin:16px 0 4px;overflow:hidden}.pay-bar-fill{background:linear-gradient(90deg, var(--free), var(--free-ink));height:100%;transition:width .4s var(--ease);border-radius:999px}.check-list{flex-direction:column;gap:8px;display:flex}.check-item{border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:rgb(var(--lift-rgb) / .03);cursor:pointer;text-align:left;width:100%;transition:transform .16s var(--ease), background .16s var(--ease), border-color .16s var(--ease);align-items:center;gap:8px;padding:8px 16px;display:flex}.check-item:hover:not(:disabled){background:rgb(var(--lift-rgb) / .06);border-color:var(--border);transform:translateY(-2px)}.check-item.done{border-color:rgb(var(--cleaning-rgb) / .3);background:rgb(var(--cleaning-rgb) / .09)}.check-box{border:1.5px solid var(--border);width:19px;height:19px;color:var(--bg-0);transition:background .16s var(--ease);border-radius:6px;flex:none;place-items:center;font-size:13px;display:grid}.check-item.done .check-box{background:var(--cleaning);border-color:var(--cleaning)}.check-label{flex:1;font-size:15px}.check-item.done .check-label{color:var(--text-dim);text-decoration:line-through}.check-by{color:var(--text-faint);white-space:nowrap;font-size:13px}.field{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.field label{color:var(--text-dim);font-size:13px}.field input,.field select{border:1px solid var(--border);background:rgb(var(--lift-rgb) / .05);width:100%;color:var(--text);font:inherit;transition:border-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:12px;outline:none;padding:8px 16px;font-size:15px}.field input::placeholder{color:var(--text-faint)}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .2)}.field select option{background:var(--bg-1)}.field-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.login-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:100%;max-width:396px;animation:rise .5s var(--ease);padding:32px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.login-logo{background:linear-gradient(135deg, var(--accent), var(--accent-light));width:52px;height:52px;box-shadow:0 8px 28px rgb(var(--accent-rgb) / .45);border-radius:15px;place-items:center;margin-bottom:16px;font-size:24px;display:grid}.login-card h1{font-size:24px}.login-card .page-sub{margin-bottom:24px}.login-card .btn{width:100%;margin-top:4px;padding:16px}.pin-input{letter-spacing:.42em;font-size:18px!important}.hint{border-top:1px solid var(--border-soft);color:var(--text-faint);margin-top:24px;padding-top:16px;font-size:13px;line-height:1.7}.alert{border:1px solid rgb(var(--occupied-rgb) / .36);background:rgb(var(--occupied-rgb) / .13);color:var(--occupied-ink);border-radius:12px;margin-bottom:16px;padding:8px 16px;font-size:15px}.empty-state{text-align:center;color:var(--text-faint);padding:48px 24px;font-size:15px}.empty-state .big{margin-bottom:8px;font-size:32px}.splash{place-items:center;min-height:60vh;display:grid}.spinner{border:2.5px solid rgb(var(--lift-rgb) / .14);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{z-index:60;background:var(--scrim);-webkit-backdrop-filter:blur(7px);animation:fade .2s var(--ease);place-items:center;padding:24px;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:448px;max-height:90vh;animation:rise .28s var(--ease);padding:24px;overflow-y:auto}.modal h2{margin-bottom:16px;font-size:18px}.modal-actions{gap:8px;margin-top:16px;display:flex}.modal-actions .btn{flex:1}.back-link{color:var(--text-dim);transition:color .16s var(--ease);align-items:center;gap:8px;margin-bottom:16px;font-size:15px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text)}.info-rows{flex-direction:column;gap:8px;font-size:15px;display:flex}.info-row{gap:8px;display:flex}.info-row span:first-child{color:var(--text-dim);min-width:108px}.info-row span:last-child{text-align:right;margin-left:auto}.tabs{flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tab{color:var(--text-dim);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:15px;display:inline-flex}.tab:hover{color:var(--text);background:var(--surface);transform:translateY(-1px)}.tab.active{color:var(--text);background:var(--surface-2);border-color:var(--border)}.tab-count{color:var(--text-faint);background:rgb(var(--lift-rgb) / .08);border-radius:999px;padding:0 8px;font-size:13px}.chip-row,.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-strip{scrollbar-width:thin;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%;padding:4px 0;display:flex;overflow-x:auto}.filter-strip .chip{flex:none}.table-scroll{scrollbar-width:thin;max-width:100%;overflow-x:auto}.filters{margin-bottom:16px}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;transition:transform .16s var(--ease), background .16s var(--ease), color .16s var(--ease);border-radius:999px;padding:8px 16px;font-size:15px}.chip:hover{color:var(--text);background:var(--surface-2);transform:translateY(-2px)}.chip.active{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:var(--text);box-shadow:0 6px 18px rgb(var(--accent-rgb) / .36);border-color:#0000}.filters-dates{color:var(--text-faint);align-items:center;gap:8px;margin-left:auto;font-size:15px;display:flex}.filters-dates input{border:1px solid var(--border);background:rgb(var(--lift-rgb) / .05);color:var(--text);font:inherit;border-radius:11px;outline:none;padding:8px;font-size:15px}.filters-dates input:focus{border-color:var(--accent)}.pill-paid{color:var(--free-ink);border-color:rgb(var(--free-rgb) / .34);background:rgb(var(--free-rgb) / .13)}.pill-due{color:var(--occupied-ink);border-color:rgb(var(--occupied-rgb) / .34);background:rgb(var(--occupied-rgb) / .13)}.card-action{margin-left:auto}.stat-row{margin-bottom:var(--card-gap);grid-template-columns:repeat(auto-fit,minmax(216px,1fr))}.stat{transition:transform .22s var(--ease), box-shadow .22s var(--ease)}.stat:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}.stat-label{color:var(--text-dim);margin-bottom:8px;font-size:13px}.stat-value{letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:1.15}.stat-foot{color:var(--text-faint);align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.meter{background:rgb(var(--lift-rgb) / .08);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.meter-fill{background:linear-gradient(90deg, var(--accent-light), var(--accent));height:100%;transition:width .4s var(--ease);border-radius:999px}.delta-up{color:var(--free)}.delta-down{color:var(--occupied)}:root,:root[data-theme=night]{--series-rooms:#4a90d9;--series-restaurant:#d97438;--chart-grid:#f3efe614;--chart-baseline:#f3efe62e}:root[data-theme=day]{--series-rooms:#2a6ba8;--series-restaurant:#b4551f;--chart-grid:#23281f17;--chart-baseline:#23281f33}.swatch{border-radius:3px;flex:none;width:9px;height:9px;display:inline-block}.swatch-rooms{background:var(--series-rooms)}.swatch-restaurant{background:var(--series-restaurant)}.chart{margin:0}.chart-legend{color:var(--text-dim);gap:16px;margin-bottom:16px;font-size:13px;display:flex}.chart-legend span{align-items:center;gap:8px;display:inline-flex}.chart-body{gap:8px;height:232px;display:flex}.chart-axis{color:var(--text-faint);font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;justify-content:space-between;min-width:46px;padding-bottom:0;font-size:13px;display:flex}.chart-plot{border-bottom:1px solid var(--chart-baseline);flex:1;align-items:flex-end;gap:8px;display:flex;position:relative}.chart-grid{background:var(--chart-grid);pointer-events:none;height:1px;position:absolute;left:0;right:0}.chart-col{cursor:default;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.chart-value{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;margin-bottom:4px;font-size:13px}.chart-stack{width:100%;max-width:46px;height:100%;transition:transform .16s var(--ease);border-radius:4px 4px 0 0;flex-direction:column;justify-content:flex-end;gap:0;display:flex;overflow:hidden}.chart-seg{flex:none;width:100%}.seg-rooms{background:var(--series-rooms)}.seg-restaurant{background:var(--series-restaurant)}.chart-col.is-hovered .chart-stack{transform:translateY(-2px)}.chart-tip{border-radius:var(--radius-sm);white-space:nowrap;z-index:5;pointer-events:none;min-width:172px;padding:8px 16px;font-size:13px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.chart-tip-title{text-transform:capitalize;margin-bottom:8px;font-weight:600}.chart-tip-row{color:var(--text-dim);align-items:center;gap:8px;padding:0;display:flex}.chart-tip-row b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto}.chart-tip-row.total{border-top:1px solid var(--border-soft);margin-top:4px;padding-top:8px}.chart-labels{gap:8px;margin-top:8px;padding-left:48px;display:flex}.chart-labels span{text-align:center;color:var(--text-faint);text-transform:capitalize;flex:1;font-size:13px}.chart-labels span.is-recent{color:var(--text-dim)}.chart-empty{text-align:center;color:var(--text-faint);padding:48px 16px;font-size:15px}.data-table{border-collapse:collapse;width:100%;font-size:15px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);border-bottom:1px solid var(--border-soft);padding:0 8px 8px 0;font-size:13px;font-weight:500}.data-table td{border-bottom:1px solid var(--border-soft);color:var(--text-dim);padding:8px 8px 8px 0}.data-table td:first-child{color:var(--text);align-items:center;gap:8px;display:flex}.data-table tr:last-child td{border-bottom:none}.data-table .num,.data-table th:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.data-table th:last-child,.data-table td:last-child{padding-right:0}.notice{border:1px solid rgb(var(--free-rgb) / .32);background:rgb(var(--free-rgb) / .11);color:var(--free-ink);border-radius:12px;margin-bottom:16px;padding:16px;font-size:15px;line-height:1.6}.notice-warn{border-color:rgb(var(--booked-rgb) / .34);background:rgb(var(--booked-rgb) / .11);color:var(--booked-ink)}.notice code{background:#00000047;border-radius:7px;margin:0 4px;padding:0 8px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px;display:inline-block}.setting-item{align-items:flex-start;padding:16px}.setting-icon{flex:none;font-size:18px;line-height:1.3}.setting-text{flex-direction:column;flex:1;gap:4px;display:flex}.check-item.setting-item .check-label{color:var(--text);text-decoration:none}.setting-hint{color:var(--text-faint);font-size:13px;line-height:1.5}.switch{background:rgb(var(--lift-rgb) / .13);border:1px solid var(--border-soft);width:38px;height:22px;transition:background .18s var(--ease);border-radius:999px;flex:none;padding:0;display:flex}.switch.on{background:linear-gradient(135deg, var(--accent), var(--accent-light));border-color:#0000}.switch-knob{background:var(--on-accent);width:16px;height:16px;transition:transform .18s var(--ease);border-radius:50%}.switch.on .switch-knob{transform:translate(16px)}.digest-preview{border-radius:var(--radius-sm);border:1px solid var(--border-soft);color:var(--text-dim);white-space:pre-wrap;word-break:break-word;background:#0000003d;max-height:460px;margin:0;padding:16px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.7;overflow-y:auto}.toolbar{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.search{align-items:center;width:100%;max-width:460px;display:flex;position:relative}.search-icon{color:var(--text-faint);pointer-events:none;font-size:18px;position:absolute;left:14px}.search input{border:1px solid var(--border);background:rgb(var(--lift-rgb) / .05);-webkit-backdrop-filter:blur(12px);width:100%;color:var(--text);font:inherit;transition:border-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:12px;outline:none;padding:8px 32px;font-size:15px}.search input::placeholder{color:var(--text-faint)}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .2)}.search input::-webkit-search-cancel-button{display:none}.search-clear{background:rgb(var(--lift-rgb) / .12);width:22px;height:22px;color:var(--text-dim);cursor:pointer;transition:background .16s var(--ease);border:none;border-radius:50%;place-items:center;font-size:15px;line-height:1;display:grid;position:absolute;right:10px}.search-clear:hover{background:rgb(var(--lift-rgb) / .2);color:var(--text)}.chip{align-items:center;gap:8px;display:inline-flex}.chip-count{color:inherit;opacity:.75;background:#00000038;border-radius:999px;padding:0 4px;font-size:13px}.chip-sm{padding:4px 8px;font-size:13px}.result-line{color:var(--text-faint);margin-bottom:8px;font-size:13px}.field-hint{color:var(--text-faint);font-size:13px;line-height:1.5}.charge-row{color:var(--text-dim);font-size:15px;position:relative}.charge-row span:first-child{color:var(--booked-ink)}.charge-remove{width:20px;height:20px;color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity .16s var(--ease), background .16s var(--ease);background:0 0;border:none;border-radius:50%;position:absolute;top:50%;right:-6px;transform:translateY(-50%)}.pay-rows:hover .charge-remove{opacity:1}.charge-remove:hover{background:rgb(var(--occupied-rgb) / .2);color:var(--occupied-ink)}.pay-row.subtotal{border-top:1px dashed var(--border-soft);padding-top:8px}.deposit-box{border-radius:var(--radius-sm);border:1px solid rgb(var(--cleaning-rgb) / .28);background:rgb(var(--cleaning-rgb) / .09);align-items:center;gap:8px;margin-top:16px;padding:16px;display:flex}.deposit-label{color:var(--cleaning-ink);font-size:15px}.deposit-hint{color:var(--text-faint);margin-top:0;font-size:13px}.deposit-value{font-variant-numeric:tabular-nums;margin-left:auto;font-size:15px;font-weight:600}.tag{background:rgb(var(--accent-rgb) / .2);border:1px solid rgb(var(--accent-rgb) / .35);color:var(--text-dim);border-radius:999px;margin-left:8px;padding:0 8px;font-size:13px}.group-units{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.pill-current{border-color:var(--accent);background:rgb(var(--accent-rgb) / .18);color:var(--text)}.picker{border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:#0000002e;flex-direction:column;gap:16px;max-height:232px;padding:8px;display:flex;overflow-y:auto}.picker-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:8px;font-size:13px}.picker-grid{flex-wrap:wrap;gap:4px;display:flex}.picker-item{border:1px solid var(--border-soft);background:rgb(var(--lift-rgb) / .04);color:var(--text-dim);cursor:pointer;transition:transform .16s var(--ease), background .16s var(--ease), border-color .16s var(--ease);border-radius:9px;padding:8px;font-size:15px}.picker-item:hover{color:var(--text);border-color:var(--border);transform:translateY(-2px)}.picker-item.active{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:var(--on-accent);border-color:#0000}.picker-item.busy:after{content:"•";color:var(--occupied);margin-left:4px}.guest-head{margin-bottom:16px}.guest-name{font-size:18px;font-weight:600}.guest-phone{color:var(--text-faint);margin-top:0;font-size:15px}.mini-stats{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.mini-stat{border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:rgb(var(--lift-rgb) / .04);padding:8px 16px}.mini-stat-value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.mini-stat-label{color:var(--text-faint);margin-top:4px;font-size:13px}.notes-area{border:1px solid var(--border);background:rgb(var(--lift-rgb) / .05);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:12px;outline:none;padding:8px 16px;font-size:15px;line-height:1.6}.notes-area:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .2)}.notes-foot{align-items:center;gap:8px;margin-top:8px;display:flex}.notes-saved{color:var(--free);font-size:13px}.stay-list{flex-direction:column;gap:8px;display:flex}.stay-row{border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:rgb(var(--lift-rgb) / .03);align-items:center;gap:8px;padding:8px 16px;display:flex}.stay-unit{font-size:15px;font-weight:500}.stay-dates{color:var(--text-faint);margin-top:0;font-size:13px}.stay-money{text-align:right;font-variant-numeric:tabular-nums;margin-left:auto;font-size:15px}.stay-status{color:var(--text-faint);font-size:13px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;margin-top:8px;display:grid}.photo{border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:rgb(var(--lift-rgb) / .03);margin:0;overflow:hidden}.photo img{object-fit:cover;width:100%;height:96px;display:block}.photo-placeholder{background:linear-gradient(100deg, rgb(var(--lift-rgb) / .04), rgb(var(--lift-rgb) / .09));height:96px}.photo figcaption{padding:8px;font-size:13px;line-height:1.4;position:relative}.photo-kind{font-weight:600;display:block}.kind-damage{color:var(--occupied-ink)}.kind-before{color:var(--booked-ink)}.kind-after{color:var(--free-ink)}.kind-other{color:var(--text-dim)}.photo-meta{color:var(--text-faint)}.photo-remove{width:20px;height:20px;color:var(--occupied-ink);cursor:pointer;background:#0000008c;border:none;border-radius:50%;line-height:1;position:absolute;top:5px;right:5px}.photo-remove:hover{background:rgb(var(--occupied-rgb) / .35)}.forecast{margin-bottom:16px}.forecast-grid{grid-template-columns:repeat(auto-fit,minmax(38px,1fr));gap:4px;display:grid}.forecast-day{text-align:center}.forecast-bar{border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:rgb(var(--lift-rgb) / .04);justify-content:center;align-items:flex-end;height:68px;display:flex;position:relative;overflow:hidden}.forecast-bar-fill{background:linear-gradient(180deg, rgb(var(--accent-rgb) / .55), rgb(var(--accent-light-rgb) / .75));transition:height .35s var(--ease);position:absolute;inset:auto 0 0}.forecast-free{z-index:1;font-variant-numeric:tabular-nums;width:100%;padding:4px 0;font-size:15px;font-weight:600;position:relative}.forecast-day.is-full .forecast-bar{border-color:rgb(var(--occupied-rgb) / .5)}.forecast-day.is-full .forecast-bar-fill{background:linear-gradient(180deg, rgb(var(--occupied-rgb) / .5), rgb(var(--occupied-rgb) / .8))}.forecast-day.is-today .forecast-bar{border-color:var(--accent);box-shadow:0 0 0 1px rgb(var(--accent-rgb) / .45)}.forecast-date{font-variant-numeric:tabular-nums;margin-top:4px;font-size:13px}.forecast-dow{color:var(--text-faint);font-size:13px}.weekday-table td:first-child{white-space:nowrap;display:table-cell}.weekday-name{margin-right:8px;font-weight:600}.weekday-count{color:var(--text-faint);font-size:13px}.weekday-table .bar{background:rgb(var(--lift-rgb) / .07);border-radius:999px;min-width:90px;height:8px;display:block;overflow:hidden}.bar-fill{height:100%;transition:width .35s var(--ease);border-radius:999px;display:block}.bar-revenue{background:var(--series-rooms)}.bar-occupancy{background:var(--series-restaurant)}.weekday-table tr.is-weakest td{background:rgb(var(--occupied-rgb) / .08)}.weekday-table tr.is-weakest td:first-child{box-shadow:inset 2px 0 0 var(--occupied)}.sheet-overlay{z-index:80;-webkit-backdrop-filter:blur(6px);background:#060412db;padding:22px;position:fixed;inset:0;overflow-y:auto}.sheet-toolbar{flex-wrap:wrap;align-items:center;gap:12px;max-width:820px;margin:0 auto 16px;display:flex}.print-sheet{border-radius:var(--radius-md);color:#111;background:#fff;max-width:820px;margin:0 auto;padding:28px 32px;font-size:13px;line-height:1.5}.sheet-head{border-bottom:2px solid #111;margin-bottom:18px;padding-bottom:10px}.sheet-head h1{color:#111;font-size:19px}.sheet-meta{color:#555;margin-top:4px;font-size:12px}.sheet-unit{break-inside:avoid;page-break-inside:avoid;border-bottom:1px solid #ccc;margin-bottom:22px;padding-bottom:14px}.sheet-unit-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.sheet-unit h2{color:#111;font-size:15px}.sheet-unit-type{color:#666;margin-left:8px;font-size:12px;font-weight:400}.sheet-since{color:#666;margin-left:auto;font-size:11.5px}.sheet-items{columns:2;column-gap:28px;margin:10px 0 12px;padding:0;list-style:none}.sheet-items li{break-inside:avoid;align-items:center;gap:9px;padding:3px 0;display:flex}.sheet-items li.is-done{color:#888;text-decoration:line-through}.sheet-box{border:1.5px solid #111;flex:none;place-items:center;width:14px;height:14px;font-size:11px;line-height:1;display:inline-grid}.sheet-sign{color:#444;margin-top:8px;font-size:11.5px}.receipt-title{color:#111;margin-top:8px;font-size:14px;font-weight:600}.receipt-void{color:#a33;font-weight:400}.receipt-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:18px 0;display:grid}.receipt-label{text-transform:uppercase;letter-spacing:.05em;color:#777;font-size:10.5px}.receipt-value{color:#111;margin-top:2px;font-size:13.5px;font-weight:600}.receipt-sub{color:#777;font-size:11px;display:block}.receipt-table{border-collapse:collapse;width:100%;margin:8px 0 14px}.receipt-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#777;border-bottom:1.5px solid #111;padding:0 0 6px;font-size:10.5px}.receipt-table td{color:#111;vertical-align:top;border-bottom:1px solid #e3e3e3;padding:7px 0}.receipt-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.receipt-table tr.receipt-total td{border-bottom:1.5px solid #111;font-weight:700}.receipt-deposit{color:#333;border:1px dashed #999;margin-bottom:16px;padding:10px 12px;font-size:12px}.receipt-payments{margin-bottom:18px}.receipt-sign{color:#444;border-top:1px solid #ccc;flex-wrap:wrap;gap:26px;margin-top:26px;padding-top:12px;font-size:11.5px;display:flex}@media print{body *{visibility:hidden}.print-sheet,.print-sheet *{visibility:visible}.no-print,.topbar,.sidebar{display:none!important}.shell-body{display:block}.content{max-width:none;padding:0}.sheet-overlay{-webkit-backdrop-filter:none;background:0 0;padding:0;position:static}.print-sheet{color:#000;background:#fff;border-radius:0;max-width:none;margin:0;padding:0;font-size:11.5pt}@page{margin:14mm}}.sla{color:var(--text-faint);font-size:13px}.sla-over{color:var(--occupied-ink);font-weight:500}.sla-warn{color:var(--occupied)}.unit-card.is-overdue{border-color:rgb(var(--occupied-rgb) / .55);box-shadow:0 0 0 1px rgb(var(--occupied-rgb) / .28), var(--shadow);--stripe:var(--occupied)}.unit-card.is-overdue:before{background:var(--occupied)}.cancel-block{border-radius:var(--radius-sm);border:1px solid rgb(var(--booked-rgb) / .32);background:rgb(var(--booked-rgb) / .09);margin-bottom:16px;padding:16px 16px 0}.cancel-note{color:var(--text-faint);margin-top:0;font-size:13px;display:block}.restore-preview{border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:#00000038;max-height:190px;margin-bottom:16px;padding:16px;font-size:13px;overflow-y:auto}.restore-preview .info-row{padding:0}.field input[type=file]{padding:8px;font-size:15px}.field input[type=file]::file-selector-button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:9px;margin-right:8px;padding:4px 16px;font-size:13px}.row-list{flex-direction:column;gap:8px;display:flex}.row-card{padding:var(--row-pad);border-radius:var(--row-radius);border:1px solid var(--border-soft);background:rgb(var(--lift-rgb) / .03);transition:transform .16s var(--ease), border-color .16s var(--ease);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.row-card:hover{border-color:var(--border);transform:translateY(-2px)}.row-card.is-disabled{opacity:.55}.row-main{min-width:0}.row-title{flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:500;display:flex}.row-sub{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-top:4px;font-size:13px}.row-when{color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:13px}.row-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.row-actions .btn{height:var(--control-h-sm)}.row-card.is-overdue{border-color:rgb(var(--occupied-rgb) / .45)}.tag-off{background:rgb(var(--occupied-rgb) / .18);border-color:rgb(var(--occupied-rgb) / .35);color:var(--occupied-ink)}@media (width<=640px){.row-actions{width:100%;margin-left:0}}.tile-grid{margin-bottom:var(--card-gap);grid-template-columns:repeat(auto-fit,minmax(214px,1fr))}.tile{color:inherit;transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);flex-direction:column;text-decoration:none;display:flex}.tile:hover{border-color:rgb(var(--lift-rgb) / .28);box-shadow:var(--shadow-lift);transform:translateY(-3px)}.tile-label{color:var(--text-dim);margin-bottom:8px;font-size:13px}.tile-value{letter-spacing:-.02em;align-items:baseline;gap:8px;font-size:32px;font-weight:600;line-height:1.15;display:flex}.tile-of{color:var(--text-faint);letter-spacing:0;font-size:15px;font-weight:400}.tile-foot{color:var(--text-faint);margin-top:auto;padding-top:8px;font-size:13px}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start}.dash-empty{color:var(--text-faint);padding:4px 0 0;font-size:15px}.panel-title .count a{color:var(--text-faint);text-decoration:none}.panel-title .count a:hover{color:var(--text)}.audit-table td:first-child{display:table-cell}.audit-table th:last-child{text-align:left}.audit-when{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:13px}.audit-role,.audit-guest{color:var(--text-faint);margin-top:0;font-size:13px;display:block}.pager{justify-content:center;align-items:center;gap:16px;margin-top:16px;display:flex}.pager-info{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:15px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.unit-card:hover,.unit-card:focus-within,.btn:hover:not(:disabled),.chip:hover,.picker-item:hover,.stat:hover,.tile:hover,.row-card:hover,.check-item:hover:not(:disabled),.nav-link:hover,.tab:hover,.cal-day:hover{transform:none}}@media (width<=760px){.topbar{flex-wrap:wrap;gap:8px;padding:8px 16px}.topbar-right{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%;margin-left:0}}@media (width<=860px){.shell-body{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border-soft);flex-flow:wrap;flex:none;gap:8px 16px;width:100%;padding:8px 16px;position:static}.nav-group{flex-flow:wrap;align-items:center;gap:4px}.nav-group-label{padding:0 4px 0 0}}@media (width<=640px){.content{padding:16px}.chart-body{height:190px}.filters-dates{width:100%;margin-left:0}}.timeline-panel{--tl-name-w:74px;--tl-day-w:minmax(46px, 1fr);--tl-row-h:38px}.timeline-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.timeline-nav{gap:4px;display:flex}.timeline-nav .btn{height:var(--action-height);min-width:38px;padding:0 8px}.timeline-jump{color:var(--text-faint);align-items:center;gap:8px;font-size:13px;display:flex}.timeline-jump input{height:var(--action-height);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:10px;padding:0 8px;font-size:15px}.timeline-jump input:focus{border-color:var(--accent);outline:none}.timeline-scale{gap:4px;margin-left:auto;display:flex}.timeline-scroll{scrollbar-width:thin;margin:0 -4px;padding:0 4px 4px;overflow-x:auto}.timeline{min-width:max-content;transition:opacity .15s var(--ease)}.timeline.is-stale{opacity:.55}.tl-row{min-height:var(--tl-row-h);align-items:center;column-gap:0;display:grid}.tl-row+.tl-row{margin-top:0}.tl-head{margin-bottom:4px}.tl-name{z-index:3;background:var(--surface-opaque);text-align:left;align-items:center;height:100%;padding:0 8px 0 0;font-size:15px;font-weight:600;display:flex;position:sticky;left:0}.tl-corner{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:13px;font-weight:500}.tl-room{cursor:pointer;color:var(--text);font:inherit;border-radius:var(--row-radius);border:none;font-weight:600}.tl-room:hover{color:var(--accent)}.tl-day{font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:0;padding-bottom:4px;display:flex}.tl-day-num{font-size:13px;font-weight:600}.tl-day-dow{color:var(--text-faint);font-size:13px}.tl-day.is-weekend .tl-day-num,.tl-day.is-weekend .tl-day-dow{color:var(--booked)}.tl-day.is-today .tl-day-num{color:var(--accent)}.tl-cell{height:calc(var(--tl-row-h) - 8px);border:1px solid var(--border-soft);background:rgb(var(--lift-rgb) / .02);cursor:pointer;transition:background .14s var(--ease), border-color .14s var(--ease);border-radius:7px;padding:0}.tl-cell:hover{background:rgb(var(--accent-rgb) / .22);border-color:var(--accent)}.tl-cell:focus-visible,.tl-bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tl-cell.is-weekend{background:rgb(var(--booked-rgb) / .05)}.tl-cell.is-today{border-color:rgb(var(--accent-rgb) / .5)}.tl-bar{height:calc(var(--tl-row-h) - 8px);z-index:2;cursor:pointer;font:inherit;color:var(--on-status);white-space:nowrap;transition:filter .16s var(--ease), box-shadow .16s var(--ease);border:1px solid #0000;border-radius:7px;align-items:center;padding:0 8px;font-size:15px;font-weight:500;display:flex;overflow:hidden}.tl-bar:hover{filter:brightness(1.12);box-shadow:var(--shadow-lift)}.tl-bar[data-status=booked]{background:var(--booked)}.tl-bar[data-status=occupied]{background:var(--occupied)}.tl-bar-label{text-overflow:ellipsis;overflow:hidden}.tl-bar.clip-start{border-left:2px dashed #00000073;border-top-left-radius:0;border-bottom-left-radius:0}.tl-bar.clip-end{border-right:2px dashed #00000073;border-top-right-radius:0;border-bottom-right-radius:0}.timeline-hint{margin-top:8px}.view-switch{height:var(--action-height);border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:4px;padding:4px;display:inline-flex}.view-btn{color:var(--text-dim);font:inherit;cursor:pointer;white-space:nowrap;transition:background .16s var(--ease), color .16s var(--ease);background:0 0;border:none;border-radius:8px;padding:0 8px;font-size:15px}.view-btn:hover{color:var(--text)}.view-btn.active{color:var(--text);background:var(--surface-2)}@media (width<=640px){.timeline-panel{--tl-name-w:56px;--tl-day-w:42px}.timeline-scale{margin-left:0}}.alert-center{align-items:center;display:flex;position:relative}.alert-bell{height:var(--action-height);border:1px solid rgb(var(--occupied-rgb) / .5);background:rgb(var(--occupied-rgb) / .16);color:var(--text);font:inherit;cursor:pointer;animation:alert-pulse 1.6s var(--ease) infinite;border-radius:999px;align-items:center;gap:8px;padding:0 8px;font-size:15px;display:inline-flex}.alert-bell:hover{background:rgb(var(--occupied-rgb) / .26)}.alert-bell-icon{font-size:15px;line-height:1}.alert-bell-count{font-variant-numeric:tabular-nums;font-weight:600}@keyframes alert-pulse{0%,to{box-shadow:0 0 0 0 rgb(var(--occupied-rgb) / .55);border-color:rgb(var(--occupied-rgb) / .5)}50%{box-shadow:0 0 0 7px rgb(var(--occupied-rgb) / 0);border-color:rgb(var(--occupied-rgb) / .95)}}.alert-panel{z-index:40;scrollbar-width:thin;background:var(--panel-float);-webkit-backdrop-filter:blur(24px)saturate(140%);width:min(400px,100vw - 32px);max-height:min(60vh,460px);padding:8px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}.alert-panel-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.alert-panel-head .btn{text-transform:none;letter-spacing:0;height:26px;margin-left:auto;padding:0 8px;font-size:13px}.alert-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.alert-item{border-radius:var(--row-radius);border:1px solid var(--border-soft);background:rgb(var(--lift-rgb) / .05);align-items:flex-start;gap:8px;padding:8px;line-height:1.35;display:flex}.alert-item[data-kind=sla]{border-left:3px solid var(--occupied)}.alert-item[data-kind=waitlist]{border-left:3px solid var(--booked)}.alert-item[data-kind=booking]{border-left:3px solid var(--cleaning)}.alert-icon{font-size:15px;line-height:1.3}.alert-body{flex:1;min-width:0}.alert-title{color:var(--text);font-size:15px;font-weight:500;text-decoration:none;display:block}.alert-title:hover{color:var(--accent);text-decoration:underline}.alert-detail{color:var(--text-faint);margin-top:4px;font-size:13px}.alert-kind{background:rgb(var(--lift-rgb) / .08);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;margin-right:8px;padding:0 8px;font-size:13px;display:inline-block}.alert-dismiss{border:1px solid var(--border-soft);width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;flex:none;font-size:15px;line-height:1}.alert-dismiss:hover{color:var(--free);border-color:var(--free)}@media (width<=640px){.alert-panel{width:auto;position:fixed;top:62px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.alert-bell{box-shadow:0 0 0 2px rgb(var(--occupied-rgb) / .5);border-color:rgb(var(--occupied-rgb) / .95);animation:none}}.sun-dial{flex:none;width:34px;height:34px;overflow:visible}.sun-track,.sun-progress{fill:none;stroke-linecap:round}.sun-track{stroke:var(--border);stroke-width:2px}.sun-progress{stroke:var(--gold);stroke-width:2.5px;transition:stroke-dasharray 1.2s var(--ease)}.sun-dot{fill:var(--gold);stroke:var(--bg-0);stroke-width:1.5px;transition:cx 1.2s var(--ease), cy 1.2s var(--ease);filter:drop-shadow(0 0 4px var(--gold))}.moon-dot{fill:var(--text-faint);opacity:.7}.sun-dial.is-night .sun-progress{stroke:var(--border)}.theme-toggle{width:var(--action-height);height:var(--action-height);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;transition:color .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{color:var(--gold);border-color:var(--gold);background:var(--surface-2)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:17px;height:17px}.theme-toggle svg path{fill:currentColor;stroke:none}@keyframes route-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.content{animation:route-in .15s var(--ease) both}@media (prefers-reduced-motion:reduce){.content{animation:none}.sun-progress,.sun-dot{transition:none}}.ridge{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;display:block}.ridge-far,.ridge-near{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round}.ridge-far{opacity:.28}.ridge-near{opacity:.55}.ridge-snow{fill:var(--gold);stroke:none;opacity:.6}.ridge-login{z-index:0;height:auto;position:fixed;bottom:0;left:0;right:0}.login-wrap{position:relative}.login-card{z-index:1;position:relative}.page-head.has-ridge{position:relative;overflow:hidden}.ridge-dashboard{opacity:.22;z-index:0;width:min(520px,55%);height:96px;position:absolute;bottom:-16px;right:0}.page-head.has-ridge>div,.page-head.has-ridge>.page-head-actions{z-index:1;position:relative}@media (width<=760px){.ridge-dashboard{display:none}}.login-wordmark{font-size:var(--text-xl);line-height:1.1}
