:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-inter,Inter), Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--midnight:#0a0a0a;--deep-space:#101827;--cyan:#2bd9fe;--purple:#7c3aed;--gold:#d4af37;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--background:#161618;--surface:#1d1d20;--surface-elevated:#26262a;--chrome:var(--deep-space);--text:#fff;--text-secondary:#b8b6b2;--text-muted:#8f8d89;--line:#ffffff14;--line-strong:#ffffff29;--accent:var(--cyan);--accent-rgb:43 217 254;--accent-ink:#062a3a;--accent-soft:rgb(var(--accent-rgb) / 11%);--accent-text:var(--cyan);--brand-gradient:linear-gradient(135deg, #1d4ed8 0%, #a21caf 100%);--brand-gradient-ink:#fff;--status-confirmed:var(--info);--status-checked-in:var(--success);--status-pending:var(--warning);--status-cancelled:var(--error);--status-checked-out:#64748b;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:2.5rem;--space-7:3rem;--space-8:4rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-pill:999px;--shadow-surface:inset 0 1px 0 #ffffff0d, 0 1px 2px #00000040;--shadow-elevated:inset 0 1px 0 #ffffff0f, 0 8px 24px #00000047;--shadow-floating:inset 0 1px 0 #ffffff12, 0 24px 64px #00000070;--dur-fast:.12s;--dur-base:.2s;--dur-slow:.3s;--ease-out:cubic-bezier(.16, 1, .3, 1);background:var(--background);color:var(--text)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f6f5f3;--surface:#fff;--surface-elevated:#edecea;--chrome:#fff;--text:#171614;--text-secondary:#4d4c48;--text-muted:#706f6a;--line:#1c1b191a;--line-strong:#1c1b1933;--accent:var(--purple);--accent-rgb:124 58 237;--accent-ink:#fff;--accent-soft:rgb(var(--accent-rgb) / 12%);--accent-text:#6d28d9;--shadow-surface:0 1px 2px #1c1b1914;--shadow-elevated:0 8px 24px #1c1b191a;--shadow-floating:0 24px 64px #1c1b192e;--brand-gradient:linear-gradient(135deg, #3b6fe0 0%, #b23ec0 100%)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#ffffff29 transparent}:root[data-theme=light] *{scrollbar-color:#1c1b1947 transparent}html{background:var(--background);min-height:100%}@media (min-width:1024px){html{font-size:clamp(.75rem,.179vw + .589rem,.875rem)}}body{background:var(--background);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light] select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}select option{background:var(--surface-elevated);color:var(--text)}.app-shell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.zen-bar{z-index:10;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);background:var(--chrome);min-height:3.5rem;padding:0 var(--space-3) 0 var(--space-2);flex:none;display:flex;position:relative}.zen-logo-link{border-radius:var(--radius-sm);flex:none;align-items:center;padding:.25rem .4rem;display:flex}.zen-logo{width:auto;height:2.25rem;display:block}.brand-menu{position:relative}.brand-button{border-radius:var(--radius-sm);min-height:2.5rem;color:var(--text);cursor:pointer;font:inherit;transition:background var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:.6rem;padding:0 .75rem;font-weight:600;display:flex}.brand-button:hover{background:#ffffff0f}:root[data-theme=light] .brand-button:hover{background:#1c1b190f}.brand-caret{color:var(--text-muted);font-size:.6rem}.brand-dropdown{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-elevated);width:16.5rem;box-shadow:var(--shadow-floating);padding:var(--space-2);transform-origin:0 0;animation:menu-in var(--dur-base) var(--ease-out);gap:.25rem;display:grid;position:absolute;top:calc(100% + .4rem);left:0}@keyframes menu-in{0%{opacity:0;transform:scale(.95)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.menu-user{gap:.15rem;margin:0;padding:.5rem .6rem;display:grid}.menu-user strong{font-size:.9rem}.menu-user span{color:var(--text-muted);font-size:.78rem}.menu-row{justify-content:space-between;align-items:center;padding:.25rem .6rem;display:flex}.menu-sep{background:var(--line);height:1px;margin:.25rem 0}.menu-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:.55rem;padding:.5rem .6rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.menu-item:hover{color:var(--text);background:#ffffff12}:root[data-theme=light] .menu-item:hover{background:#1c1b190f}.menu-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:.15rem 0 0;padding:0 .6rem;font-size:.7rem;font-weight:600}.menu-item-grow{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.menu-item-active{color:var(--text);font-weight:600}.zen-tabs{gap:.15rem;display:flex;position:relative}.zen-tabs .zen-tab{z-index:1;position:relative}.tab-glider{z-index:0;border-radius:var(--radius-sm);background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent);pointer-events:none;transition:transform var(--dur-base) var(--ease-out), width var(--dur-base) var(--ease-out), height var(--dur-base) var(--ease-out);position:absolute;top:0;left:0}.zen-tab{border-radius:var(--radius-sm);min-height:2.25rem;color:var(--text-muted);cursor:pointer;font:inherit;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:.45rem;padding:0 .85rem;font-size:.875rem;font-weight:500;display:inline-flex}.zen-tab:hover{color:var(--text);background:#ffffff0f}:root[data-theme=light] .zen-tab:hover{background:#1c1b190f}.zen-tab-active,.zen-tab-active:hover{color:var(--text);background:0 0;font-weight:600}.zen-month{align-items:center;gap:.25rem;display:flex}.zen-month .round-button{width:2.25rem;height:2.25rem}.zen-month .ghost-button{min-height:2.25rem;padding:0 .75rem}.zen-month-label{letter-spacing:-.01em;text-transform:capitalize;white-space:nowrap;margin:0 0 0 .5rem;font-size:1.05rem;font-weight:700;position:relative}.zen-month-trigger{border-radius:var(--radius-sm);color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;transition:background var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:.25rem .45rem}.zen-month-trigger:hover{background:#ffffff14}:root[data-theme=light] .zen-month-trigger:hover{background:#1c1b1912}.zen-month-label .date-popup{left:auto;right:0}.zen-help{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;place-items:center;display:grid}.zen-help:hover{color:var(--text);background:#ffffff0f}:root[data-theme=light] .zen-help:hover{background:#1c1b190f}.zen-spacer{flex:1}.zen-kpi{color:var(--text-muted);white-space:nowrap;font-size:.8125rem}.zen-kpi b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.zen-panel-toggle{border-radius:var(--radius-sm);min-height:2.25rem;color:var(--text-secondary);cursor:pointer;font:inherit;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:.45rem;padding:0 .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.zen-panel-toggle:hover{color:var(--text);background:#ffffff0f}:root[data-theme=light] .zen-panel-toggle:hover{background:#1c1b190f}.zen-panel-toggle-on,.zen-panel-toggle-on:hover{color:var(--text);background:#ffffff17}:root[data-theme=light] .zen-panel-toggle-on,:root[data-theme=light] .zen-panel-toggle-on:hover{background:#1c1b1914}.zen-cta{min-height:2.4rem}.banner{margin:var(--space-2) var(--space-3) 0;animation:banner-in var(--dur-base) var(--ease-out);flex:none}@keyframes banner-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.toast-layer{bottom:var(--space-4);z-index:30;width:min(30rem, calc(100vw - 2 * var(--space-3)));align-items:stretch;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.offline-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line-strong);background:color-mix(in srgb, var(--warning) 14%, var(--surface));color:var(--text);font-size:.875rem;display:flex}.offline-bar svg{color:var(--warning);flex:none}.offline-bar p{flex:1;min-width:0;margin:0}.offline-bar strong{font-weight:600}.offline-bar button{flex:none}@media (max-width:560px){.offline-bar{flex-wrap:wrap;align-items:flex-start}}.toast-layer .toast{box-shadow:var(--shadow-floating);pointer-events:auto;animation:toast-in var(--dur-base) var(--ease-out);margin:0}.toast{align-items:center;gap:.75rem;display:flex;position:relative;overflow:hidden}.toast-text{flex:1}.toast-close{border-radius:var(--radius-sm);width:1.6rem;height:1.6rem;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;flex:none;place-items:center;display:grid}.toast-close:hover{opacity:1;background:#ffffff1f}:root[data-theme=light] .toast-close:hover{background:#1c1b191a}.toast-progress{opacity:.45;pointer-events:none;background:currentColor;width:100%;height:3px;animation-name:toast-progress;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0}@keyframes toast-progress{0%{width:100%}to{width:0%}}.zen-main{flex:1;min-height:0;display:flex}.zen-view{min-width:0;min-height:0;padding:var(--space-3) var(--space-3) var(--space-4);animation:view-in var(--dur-base) var(--ease-out);flex-direction:column;flex:1;display:flex;overflow-y:auto}@keyframes view-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stat-success{color:var(--success)}.stat-warning{color:var(--warning)}.calendar-skeleton{padding:var(--space-4);gap:.9rem;display:grid}.skeleton-row{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17 45%,#ffffff0a 65%) 0 0/200% 100%;height:3rem;animation:1.4s linear infinite shimmer}:root[data-theme=light] .skeleton-row{background:linear-gradient(90deg,#1c1b190d 25%,#1c1b191a 45%,#1c1b190d 65%) 0 0/200% 100%}.skeleton-row-wide{height:3.5rem}.skeleton-row-short{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.today-dock{border-left:1px solid var(--line);background:var(--surface);width:17rem;padding:var(--space-3);animation:dock-in var(--dur-base) var(--ease-out);flex-direction:column;flex:none;gap:.4rem;display:flex;overflow-y:auto}@keyframes dock-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.today-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.today-title{margin:0;font-size:.95rem;font-weight:700}.today-close{border-radius:var(--radius-sm);width:1.9rem;height:1.9rem;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:-.3rem -.3rem -.3rem 0;display:inline-flex}.today-close:hover{color:var(--text);background:#ffffff0f}:root[data-theme=light] .today-close:hover{background:#1c1b190f}.today-date{color:var(--text-muted);margin:0 0 .4rem;font-size:.78rem}.today-stats{border-bottom:1px solid var(--line);color:var(--text-muted);flex-wrap:wrap;gap:.9rem;margin-bottom:.4rem;padding-bottom:.75rem;font-size:.75rem;display:flex}.today-stats b{color:var(--text);font-variant-numeric:tabular-nums;margin-right:.25rem;font-size:.95rem}.today-stats .stat-success{color:var(--success)}.today-stats .stat-warning{color:var(--warning)}.today-group{color:var(--text-secondary);align-items:center;gap:.45rem;margin:.4rem 0 .1rem;font-size:.78rem;font-weight:600;display:flex}.today-group svg{color:var(--text-muted)}.today-empty{color:var(--text-muted);margin:0;font-size:.78rem}.today-item{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.today-guest{border-radius:var(--radius-sm);min-width:0;color:var(--text);cursor:pointer;font:inherit;text-align:left;transition:background var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:1;gap:.1rem;padding:.35rem .5rem;display:grid}.today-guest:hover{background:#ffffff0f}:root[data-theme=light] .today-guest:hover{background:#1c1b190f}.today-guest strong{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.today-guest span{color:var(--text-muted);font-size:.72rem}.today-action{border-radius:var(--radius-sm);min-height:2rem;color:var(--text);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);background:#ffffff14;border:0;flex:none;padding:0 .6rem;font-size:.75rem;font-weight:600}:root[data-theme=light] .today-action{background:#1c1b1912}.today-action:hover{background:#ffffff24}:root[data-theme=light] .today-action:hover{background:#1c1b191f}.today-action-in,.today-action-in:hover{color:#b7ecc8;background:#22c55e29}.today-action-in:hover{background:#22c55e42}:root[data-theme=light] .today-action-in,:root[data-theme=light] .today-action-in:hover{color:#166534;background:#22c55e29}.today-action-out,.today-action-out:hover{color:#f3dcae;background:#f59e0b26}.today-action-out:hover{background:#f59e0b40}:root[data-theme=light] .today-action-out,:root[data-theme=light] .today-action-out:hover{color:#713f12;background:#f59e0b2e}.eyebrow,.panel-kicker{color:var(--text-muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .5rem;font-size:.72rem;font-weight:600}h1,h2,p{margin-top:0}h1{letter-spacing:-.01em;margin-bottom:0;font-size:1.5rem;font-weight:700;line-height:1.15}h2{margin-bottom:var(--space-3);letter-spacing:-.01em;font-size:1.375rem;font-weight:700;line-height:1.2}.lang-switch{gap:.1rem;display:inline-flex}.lang-btn{border-radius:var(--radius-sm);min-height:2.1rem;color:var(--text-muted);cursor:pointer;letter-spacing:.04em;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:0 .55rem;font-size:.72rem;font-weight:600}.lang-btn:hover{color:var(--text)}.lang-btn-active,.lang-btn-active:hover{background:var(--text);color:var(--background)}.lang-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.login-controls{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.theme-switch{min-height:2rem;color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;padding:.25rem;display:inline-flex}.theme-switch svg{color:var(--text-muted);flex:none}.switch-track{border-radius:var(--radius-pill);background:#ffffff24;align-items:center;width:2.5rem;height:1.25rem;padding:.125rem;display:inline-flex}:root[data-theme=light] .switch-track{background:#1c1b192e}.switch-thumb{border-radius:var(--radius-pill);width:1rem;height:1rem;box-shadow:var(--shadow-surface);transition:transform var(--dur-base) var(--ease-out);background:#fff;transform:translate(1.25rem)}:root[data-theme=light] .switch-thumb{transform:translate(0)}.calendar-panel{gap:var(--space-3);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.calendar-touch-hint{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);width:100%;color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;animation:banner-in var(--dur-base) var(--ease-out);align-items:center;gap:.5rem;padding:.6rem .8rem;font-size:.82rem;font-weight:500;display:flex}.calendar-touch-hint>span{flex:1}.calendar-touch-hint>svg:first-child{color:var(--accent-text);flex:none}.calendar-touch-hint>svg:last-child{color:var(--text-muted);flex:none}.calendar-filters{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.calendar-filters .zen-month{padding:0 var(--space-3);border-left:1px solid var(--line);border-right:1px solid var(--line);margin:0 auto}@media (min-width:561px){.calendar-filters{justify-content:flex-start}.calendar-filters .search-filters{flex:auto;justify-content:flex-end}.calendar-filters .zen-month{margin:0}}.guide-demo{--gd-label:3rem;--gd-row:2rem;--gd-col:calc((100% - var(--gd-label)) / 7);border-radius:var(--radius-sm);position:relative;overflow:hidden}.guide-demo-frame{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);padding:.7rem;overflow:hidden}.guide-row{height:var(--gd-row);display:flex}.guide-room,.guide-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.guide-room{width:var(--gd-label);background:#ffffff0a}:root[data-theme=light] .guide-room{background:#1c1b190a}.guide-cell{flex:1}.guide-overlay{position:absolute;inset:0}.guide-overlay>*{position:absolute}.guide-bar{--status:var(--status-confirmed);height:calc(var(--gd-row) - .45rem);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--status) 30%, var(--surface));border-left:3px solid var(--status)}.guide-pointer{border:2px solid var(--accent-text);background:color-mix(in srgb, var(--accent) 35%, transparent);border-radius:50%;width:.85rem;height:.85rem}.guide-bar-draw{--status:var(--accent);top:calc(var(--gd-row) + .22rem);left:calc(var(--gd-label) + var(--gd-col) * 1);width:0;animation:guide-draw 3.4s var(--ease-out) infinite}.guide-pointer-draw{top:calc(var(--gd-row) * 1.5 - .42rem);left:calc(var(--gd-label) + var(--gd-col) * 1 - .42rem);animation:guide-draw-pointer 3.4s var(--ease-out) infinite}@keyframes guide-draw{0%,12%{opacity:0;width:0}18%{opacity:1;width:0}55%,88%{width:calc(var(--gd-col) * 3);opacity:1}to{width:calc(var(--gd-col) * 3);opacity:0}}@keyframes guide-draw-pointer{0%,12%{opacity:0;transform:translate(0)}18%{opacity:1;transform:translate(0)}55%,88%{transform:translateX(calc(var(--gd-col) * 3));opacity:1}to{transform:translateX(calc(var(--gd-col) * 3));opacity:0}}.guide-bar-static{top:calc(var(--gd-row) + .22rem);left:calc(var(--gd-label) + var(--gd-col) * 1);width:calc(var(--gd-col) * 3)}.guide-bar-tapped{animation:guide-tap 3s var(--ease-out) infinite}.guide-pointer-tap{top:calc(var(--gd-row) * 1.5 - .42rem);left:calc(var(--gd-label) + var(--gd-col) * 2.5 - .42rem);animation:guide-tap-pointer 3s var(--ease-out) infinite}.guide-card{top:calc(var(--gd-row) * .6);left:calc(var(--gd-label) + var(--gd-col) * 3);width:calc(var(--gd-col) * 3.6);height:calc(var(--gd-row) * 2.2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transform-origin:20% 20%;animation:guide-card-in 3s var(--ease-out) infinite;box-shadow:0 8px 20px #00000038}@keyframes guide-tap{0%,25%,to{filter:brightness()}32%,90%{filter:brightness(1.25)}}@keyframes guide-tap-pointer{0%,10%{opacity:0;transform:scale(1)}20%{opacity:1;transform:scale(1)}30%{transform:scale(.65)}40%,85%{opacity:1;transform:scale(1)}to{opacity:0}}@keyframes guide-card-in{0%,32%{opacity:0;transform:scale(.9)}45%,88%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.guide-bar-ghost{top:calc(var(--gd-row) * 0 + .22rem);left:calc(var(--gd-label) + var(--gd-col) * 1);width:calc(var(--gd-col) * 2);opacity:.28;border:1px dashed var(--line-strong,var(--line));background:0 0}.guide-bar-moving{--status:var(--status-checked-in);top:.22rem;left:calc(var(--gd-label) + var(--gd-col) * 1);width:calc(var(--gd-col) * 2);animation:guide-move 3.4s var(--ease-out) infinite}.guide-pointer-move{top:calc(var(--gd-row) * .5 - .42rem);left:calc(var(--gd-label) + var(--gd-col) * 2 - .42rem);animation:guide-move 3.4s var(--ease-out) infinite}@keyframes guide-move{0%,15%{transform:translate(0)}55%,85%{transform:translate(var(--gd-col), calc(var(--gd-row) * 2))}to{transform:translate(var(--gd-col), calc(var(--gd-row) * 2));opacity:.6}}.guide-demo-month .guide-row:first-child .guide-cell,.guide-demo-month .guide-row:first-child .guide-room{border-color:#0000}.guide-topkey{border:1px solid var(--line);background:var(--surface);border-radius:50%;width:1.15rem;height:1.15rem;top:.1rem}.guide-topkey-prev{left:.1rem}.guide-topkey-next{animation:guide-nav-pulse 3.6s var(--ease-out) infinite;left:4.9rem}.guide-monthlabel{border-radius:var(--radius-pill);background:var(--text-muted);opacity:.5;width:3rem;height:.55rem;animation:guide-month-label 3.6s var(--ease-out) infinite;top:.4rem;left:1.6rem}.guide-todaychip{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text-muted);padding:.22rem .45rem;font-size:.6rem;font-weight:600;line-height:1;top:.15rem;left:6.5rem}.guide-demo-month .guide-board{animation:guide-month-shift 3.6s var(--ease-out) infinite}.guide-bar-monthly{top:calc(var(--gd-row) * 1.5 + .22rem);animation:guide-month-shift 3.6s var(--ease-out) infinite}@keyframes guide-month-shift{0%,22%{opacity:1;transform:translate(0)}38%{transform:translateX(calc(var(--gd-col) * -2));opacity:0}46%{transform:translateX(calc(var(--gd-col) * 2));opacity:0}62%,to{opacity:1;transform:translate(0)}}@keyframes guide-month-label{0%,25%{opacity:.5}38%,46%{opacity:0}60%,to{opacity:.5}}.guide-key{border:1px solid var(--line);background:var(--surface);color:var(--text-secondary);animation:guide-key-press 3.6s var(--ease-out) infinite;border-bottom-width:2px;border-radius:.3rem;padding:.25rem .4rem;font-size:.62rem;font-weight:700;line-height:1;bottom:.2rem;left:.2rem}.guide-pointer-pan{top:calc(var(--gd-row) * 2.5 - .42rem);left:calc(var(--gd-label) + var(--gd-col) * 4);animation:guide-pan 3.6s var(--ease-out) infinite}@keyframes guide-key-press{0%,8%{border-color:var(--line);color:var(--text-secondary);transform:translateY(0)}14%,70%{border-color:var(--accent);color:var(--accent-text);transform:translateY(1px)}85%,to{border-color:var(--line);color:var(--text-secondary);transform:translateY(0)}}.guide-demo-scroll .guide-board,.guide-demo-pan .guide-board,.guide-bar-panning{animation:guide-pan 3.6s var(--ease-in-out,var(--ease-out)) infinite}.guide-nav{background:var(--accent-soft);width:1.2rem;height:1.2rem;animation:guide-nav-pulse 3.6s var(--ease-out) infinite;border-radius:50%;top:calc(50% - .6rem)}.guide-nav-left{left:.15rem}.guide-nav-right{animation-delay:1.8s;right:.15rem}@keyframes guide-pan{0%,10%{transform:translate(0)}45%,60%{transform:translateX(calc(var(--gd-col) * -2))}95%,to{transform:translate(0)}}@keyframes guide-nav-pulse{0%,55%,to{opacity:.5;transform:scale(1)}15%,25%{opacity:1;transform:scale(1.25)}}.guide-demo-filters .guide-row:first-child .guide-cell,.guide-demo-filters .guide-row:first-child .guide-room{border-color:#0000}.guide-chip{border-radius:var(--radius-pill);height:.85rem;animation:guide-chip-on 3.6s var(--ease-out) infinite;background:#ffffff1a;top:.05rem}:root[data-theme=light] .guide-chip{background:#1c1b1914}.guide-chip-1{width:2.2rem;left:.1rem}.guide-chip-2{width:2.8rem;animation-delay:1.2s;left:2.6rem}.guide-chip-3{width:2.4rem;animation-delay:2.4s;left:5.9rem}.guide-bar-filtered{top:calc(var(--gd-row) * 1.5 + .22rem);animation:guide-chip-on 3.6s var(--ease-out) infinite;animation-delay:1.2s}@keyframes guide-chip-on{0%,8%{background:var(--accent);opacity:1}33%,to{opacity:.55}}.guide-step-title{margin:var(--space-3) 0 .35rem;font-size:1rem;font-weight:650}.guide-footer{margin-top:var(--space-3)}.guide-progress,.guide-buttons{align-items:center;gap:.6rem;display:flex}.guide-dots{gap:.35rem;display:flex}.guide-dot{background:var(--line);cursor:pointer;width:.45rem;height:.45rem;transition:background var(--dur-fast) var(--ease-out), width var(--dur-fast) var(--ease-out);border:0;border-radius:50%;padding:0}.guide-dot.is-current{border-radius:var(--radius-pill);background:var(--accent);width:1.1rem}.guide-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.78rem}@media (max-width:560px){.guide-footer>.guide-buttons>button{flex:none}.guide-count{display:none}}@media (prefers-reduced-motion:reduce){.guide-overlay *,.guide-demo-scroll .guide-board,.guide-demo-pan .guide-board,.guide-demo-month .guide-board{animation:none!important}.guide-bar-draw{width:calc(var(--gd-col) * 3);opacity:1}}.calendar-actions,.type-filters,.search-filters{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.type-filters{position:relative}.type-filters .filter-pill{z-index:1;position:relative}.pill-glider{z-index:0;border-radius:var(--radius-pill);pointer-events:none;transition:transform var(--dur-base) var(--ease-out), width var(--dur-base) var(--ease-out), height var(--dur-base) var(--ease-out);background:#ffffff1a;position:absolute;top:0;left:0}:root[data-theme=light] .pill-glider{background:#1c1b1914}.type-filters .filter-pill-active,.type-filters .filter-pill-active:hover,:root[data-theme=light] .type-filters .filter-pill-active,:root[data-theme=light] .type-filters .filter-pill-active:hover{background:0 0}.search-launch,.type-launch{position:relative}.availability-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-pill);min-height:2.25rem;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:.45rem;padding:0 .8rem 0 .5rem;font-size:.8125rem;font-weight:500;display:inline-flex}.availability-toggle:hover{border-color:var(--accent);color:var(--text)}.availability-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.availability-toggle.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text);font-weight:600}.toggle-track{border-radius:var(--radius-pill);width:1.9rem;height:1.05rem;transition:background var(--dur-fast) var(--ease-out);background:#ffffff29;flex:none;align-items:center;padding:.125rem;display:inline-flex}:root[data-theme=light] .toggle-track{background:#1c1b1933}.availability-toggle.is-on .toggle-track{background:var(--accent)}.toggle-thumb{border-radius:var(--radius-pill);width:.8rem;height:.8rem;box-shadow:var(--shadow-surface);transition:transform var(--dur-base) var(--ease-out);background:#fff;transform:translate(0)}.availability-toggle.is-on .toggle-thumb{transform:translate(.85rem)}.type-popover{z-index:30;width:max-content;min-width:12rem;max-width:calc(100vw - 2 * var(--space-3));border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-floating);padding:var(--space-2);animation:menu-in var(--dur-base) var(--ease-out);transform-origin:0 0;position:absolute;top:calc(100% + .4rem);left:0}.type-popover .type-filters{flex-flow:column;align-items:stretch;gap:.15rem}.type-popover .filter-pill{border-radius:var(--radius-sm);text-align:left;justify-content:flex-start}.search-toggle,.type-toggle{border-radius:var(--radius-md);width:2.75rem;min-height:2.75rem;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:#ffffff0f;border:1px solid #0000;place-items:center;display:grid;position:relative}:root[data-theme=light] .search-toggle,:root[data-theme=light] .type-toggle{background:#1c1b190d}.search-toggle:hover,.type-toggle:hover{color:var(--text);background:#ffffff17}:root[data-theme=light] .search-toggle:hover,:root[data-theme=light] .type-toggle:hover{background:#1c1b1914}.search-toggle:focus-visible,.type-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search-toggle-active,.search-toggle-active:hover,.type-toggle-active,.type-toggle-active:hover{background:var(--accent-soft);color:var(--accent-text)}.search-toggle-dot,.type-toggle-dot{background:var(--accent);width:.4rem;height:.4rem;animation:pop-in var(--dur-fast) var(--ease-out);border-radius:50%;position:absolute;top:.5rem;right:.5rem}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}}@keyframes fade-in{0%{opacity:0}}.is-leaving{pointer-events:none}.select-popup.is-leaving,.date-popup.is-leaving,.search-popover.is-leaving,.type-popover.is-leaving,.brand-dropdown.is-leaving{animation:menu-out var(--dur-base) var(--ease-out) forwards}.modal-backdrop.is-leaving .reservation-modal{animation:dialog-out var(--dur-base) var(--ease-out) forwards}.today-dock.is-leaving{animation:dock-out var(--dur-base) var(--ease-out) forwards}.availability-cell.is-leaving,.availability-label.is-leaving{animation:row-collapse var(--dur-base) var(--ease-out) forwards}.availability-strip.is-leaving{animation:strip-collapse var(--dur-base) var(--ease-out) forwards}.toast.is-leaving{animation:toast-out var(--dur-base) var(--ease-out) forwards}@keyframes menu-out{to{opacity:0;transform:scale(.95)translateY(-8px)}}@keyframes fade-out{to{opacity:0}}@keyframes dialog-out{to{opacity:0;transform:scale(.95)translateY(12px)}}@keyframes dock-out{to{opacity:0;transform:translate(20px)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-out{to{opacity:0;transform:translateY(12px)scale(.98)}}.filter-pill,.ghost-button,.view-button,.round-button,.table-action,.select-option,.search-hit,.date-day,.date-popup-nav,.today-action,.today-guest,.modal-close,.toast-close,.lang-btn{transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out)}.search-hit,.today-item{animation:fade-in var(--dur-base) var(--ease-out) backwards}.search-hit:nth-of-type(2),.today-item:nth-of-type(2){animation-delay:40ms}.search-hit:nth-of-type(3),.today-item:nth-of-type(3){animation-delay:80ms}.search-hit:nth-of-type(4),.today-item:nth-of-type(4){animation-delay:.12s}.search-hit:nth-of-type(n+5),.today-item:nth-of-type(n+5){animation-delay:.16s}.search-popover{z-index:30;width:min(56rem, calc(100vw - 2 * var(--space-3)));border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-floating);padding:var(--space-2);animation:menu-in var(--dur-base) var(--ease-out);transform-origin:0 0;flex-wrap:wrap;align-items:center;gap:.5rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0}.search-bar{border-radius:var(--radius-md);width:100%;transition:border-color var(--dur-fast) var(--ease-out);background:#ffffff0f;border:1px solid #0000;align-items:stretch;display:flex}:root[data-theme=light] .search-bar{background:#1c1b190d}.search-bar:focus-within{border-color:rgb(var(--accent-rgb) / 45%)}.search-bar>*+*{border-left:1px solid var(--line)}.search-bar .reservation-search{flex:1;min-width:12rem}.search-bar .reservation-search input,.search-bar .select-trigger,.search-bar input.date-field-text,.search-bar .view-button{background:0 0;border:0;border-radius:0}.search-bar>.search-refresh{border-left:1px solid var(--line)}.search-bar input.date-field-text{width:8.5rem}.search-bar :focus-visible{outline-offset:-2px}.search-bar .reservation-search input:focus,.search-bar input.date-field-text:focus-visible{outline:0}.search-bar .search-refresh{width:3rem;color:var(--text-secondary);padding:0}.search-bar .search-refresh:hover{color:var(--text)}.search-hits{max-height:19rem;animation:fade-in var(--dur-base) var(--ease-out);flex:100%;gap:2px;display:grid;overflow-y:auto}.search-hits-header{align-items:center;gap:.85rem;margin-top:.35rem;display:flex}.search-hits-header strong{font-size:.9rem}.search-hits-header span{color:var(--text-muted);flex:1;font-size:.85rem;font-weight:500}.search-hit{border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:.88rem;display:flex}.search-hit:hover,.search-hit:focus-visible{background:#ffffff14;outline:0}:root[data-theme=light] .search-hit:hover,:root[data-theme=light] .search-hit:focus-visible{background:#1c1b1912}.search-hit-guest{white-space:nowrap;font-weight:600}.search-hit-dates{color:var(--text-muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.reservation-search{display:block;position:relative}.reservation-search .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}label.reservation-search input{padding-left:2.5rem}.date-field{align-items:center;display:inline-flex;position:relative}input.date-field-text{border-radius:var(--radius-md);width:8.75rem;min-height:2.75rem;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) var(--ease-out);background:#ffffff0f;border:1px solid #0000;outline:0;padding:0 2.35rem 0 .9rem;font-weight:500}:root[data-theme=light] input.date-field-text{background:#1c1b190d}input.date-field-text:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.date-field-picker{border-radius:var(--radius-sm);width:2.1rem;height:2.1rem;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;place-items:center;display:grid;position:absolute;right:.35rem}.date-field-picker:hover{color:var(--text);background:#ffffff14}:root[data-theme=light] .date-field-picker:hover{background:#1c1b1912}.select-field{display:inline-flex;position:relative}.select-trigger{border-radius:var(--radius-md);min-height:2.75rem;color:var(--text);cursor:pointer;font:inherit;transition:background var(--dur-fast) var(--ease-out);background:#ffffff0f;border:1px solid #0000;align-items:center;gap:.5rem;padding:0 .9rem;font-weight:500;display:inline-flex}:root[data-theme=light] .select-trigger{background:#1c1b190d}.select-trigger:hover{background:#ffffff17}:root[data-theme=light] .select-trigger:hover{background:#1c1b1914}.select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.select-trigger svg{color:var(--text-muted);flex:none}.select-value{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-popup{z-index:30;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-elevated);min-width:100%;max-height:18rem;box-shadow:var(--shadow-floating);color:var(--text);letter-spacing:normal;padding:var(--space-1);text-transform:none;animation:menu-in var(--dur-base) var(--ease-out);transform-origin:0 0;flex-direction:column;gap:2px;display:flex;position:absolute;top:calc(100% + .35rem);left:0;overflow-y:auto}.field-bar .select-popup{max-width:100%}.select-option{border-radius:var(--radius-sm);min-width:0;color:var(--text);cursor:pointer;font:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;align-items:center;gap:.45rem;padding:.5rem .6rem;font-size:.88rem;font-weight:500;display:flex}.select-option-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.select-option:hover,.select-option:focus-visible{background:#ffffff14;outline:0}:root[data-theme=light] .select-option:hover,:root[data-theme=light] .select-option:focus-visible{background:#1c1b1912}.select-option[aria-selected=true]{color:var(--accent-text);font-weight:600}.select-check{flex:none;place-items:center;width:1rem;display:grid}.date-popup{z-index:30;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-elevated);width:17.5rem;box-shadow:var(--shadow-floating);color:var(--text);letter-spacing:normal;padding:var(--space-2);text-transform:none;animation:menu-in var(--dur-base) var(--ease-out);transform-origin:0 0;font-weight:400;position:absolute;top:calc(100% + .35rem);left:0}.date-popup-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.date-popup-title{text-transform:capitalize;font-size:.88rem;font-weight:600}.date-popup-nav{border-radius:var(--radius-sm);width:1.9rem;height:1.9rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.date-popup-nav:hover{color:var(--text);background:#ffffff14}:root[data-theme=light] .date-popup-nav:hover{background:#1c1b1912}.date-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-dow{color:var(--text-muted);text-align:center;text-transform:uppercase;padding:.2rem 0;font-size:.68rem;font-weight:600}.date-day{border-radius:var(--radius-sm);min-height:2rem;color:var(--text);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;place-items:center;font-size:.84rem;display:grid}.date-day:hover:not(:disabled){background:#ffffff17}:root[data-theme=light] .date-day:hover:not(:disabled){background:#1c1b1912}.date-day:disabled{color:var(--text-muted);cursor:default;opacity:.38}.date-day-today{box-shadow:inset 0 0 0 1px var(--accent)}.date-day-selected,.date-day-selected:hover:not(:disabled){background:var(--accent);color:var(--accent-ink);font-weight:700}.ghost-button,.view-button,.filter-pill,.new-reservation-button,.room-search input{border-radius:var(--radius-md);min-height:2.75rem;padding:0 1rem;font-weight:600}.ghost-button,.round-button,.view-button,.filter-pill{color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.round-button{border-radius:var(--radius-pill);width:2.75rem;height:2.75rem}.new-reservation-button{cursor:pointer}.ghost-button:hover,.round-button:hover,.view-button:hover,.filter-pill:hover{color:var(--text);background:#ffffff12}:root[data-theme=light] .ghost-button:hover,:root[data-theme=light] .round-button:hover,:root[data-theme=light] .view-button:hover,:root[data-theme=light] .filter-pill:hover{background:#1c1b190f}.filter-pill{border-radius:var(--radius-pill);min-height:2.25rem;font-size:.8125rem;font-weight:500}.filter-pill-active,.filter-pill-active:hover{color:var(--text);background:#ffffff1a;font-weight:600}:root[data-theme=light] .filter-pill-active,:root[data-theme=light] .filter-pill-active:hover{background:#1c1b1914}.new-reservation-button{background:var(--brand-gradient);color:var(--brand-gradient-ink);transition:filter var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:0;justify-content:center;align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.new-reservation-button:hover{box-shadow:0 6px 20px rgb(var(--accent-rgb) / 30%);filter:brightness(1.06);transform:translateY(-1px)}:root[data-theme=light] .new-reservation-button:hover{box-shadow:0 4px 14px rgb(var(--accent-rgb) / 18%);filter:brightness(1.03)}.new-reservation-button:active{filter:brightness(.96);transform:translateY(0)}.date-chip{color:var(--text-muted);align-items:center;font-weight:500;display:inline-flex}.room-search input{outline:0;width:9rem}.reservation-search input,.status-filter select,.date-filter input,.room-search input{border-radius:var(--radius-md);min-height:2.75rem;color:var(--text);font:inherit;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:#ffffff0f;border:1px solid #0000;outline:0;padding:0 .9rem;font-weight:500}:root[data-theme=light] .reservation-search input,:root[data-theme=light] .status-filter select,:root[data-theme=light] .date-filter input,:root[data-theme=light] .room-search input{background:#1c1b190d}input::placeholder,textarea::placeholder{color:var(--text-muted);font-weight:400}.reservation-search input{width:100%}.date-filter input{color-scheme:normal;width:9.5rem}.reservation-search input:focus,.status-filter select:focus-visible,.date-filter input:focus,.room-search input:focus,.ghost-button:focus-visible,.round-button:focus-visible,.view-button:focus-visible,.filter-pill:focus-visible,.new-reservation-button:focus-visible,.theme-switch:focus-visible,.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.screen-reader-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.calendar-legend{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:.45rem;font-size:.78rem;font-weight:500;display:inline-flex}.legend-swatch{background:var(--status,var(--text-muted));border:0;border-radius:.2rem;width:1.05rem;height:.6rem}.search-results{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-elevated);padding:var(--space-3);animation:banner-in var(--dur-base) var(--ease-out);gap:.75rem;display:grid}.search-results-header{align-items:center;gap:.85rem;display:flex}.search-results-header span{color:var(--text-muted);flex:1;font-size:.86rem;font-weight:500}.search-results-empty{color:var(--text-muted);margin:0;font-size:.9rem}.search-results .data-table{min-width:46rem}.calendar-scroll-wrap{flex:1;min-height:0;display:flex;position:relative}.calendar-scroll{border-top:1px solid var(--line);flex:1;min-height:14rem;overflow:auto}.calendar-day{cursor:grab}.calendar-scroll.is-panning,.calendar-scroll.is-panning *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.cal-nav{z-index:9;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:2.25rem;height:2.25rem;box-shadow:var(--shadow-surface);color:var(--text-secondary);cursor:pointer;opacity:.85;transition:opacity var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.cal-nav:hover{background:var(--surface-elevated);color:var(--text);opacity:1}.cal-nav-left{left:calc(var(--cal-label-w,9rem) + .5rem)}.cal-nav-right{right:.5rem}@media (pointer:coarse){.cal-nav{display:none}}.calendar-board{--calendar-days:31;--cal-label-w:9rem;--cal-day-w:5rem;--cal-month-h:1.75rem;min-width:calc(var(--cal-label-w) + (var(--calendar-days) * var(--cal-day-w)));grid-template-columns:var(--cal-label-w) repeat(var(--calendar-days), var(--cal-day-w));display:grid}.calendar-corner,.calendar-day,.room-label,.calendar-cell{border-right:1px solid #ffffff08;border-bottom:1px solid var(--line);min-height:3.75rem}:root[data-theme=light] .calendar-corner,:root[data-theme=light] .calendar-day,:root[data-theme=light] .room-label,:root[data-theme=light] .calendar-cell{border-right-color:#1c1b190a}.calendar-corner,.room-label{border-right-color:var(--line-strong);z-index:4;background:var(--surface);position:sticky;left:0}.calendar-day{top:var(--cal-month-h);z-index:4;position:sticky}.calendar-corner{top:var(--cal-month-h);z-index:5}.calendar-month-corner,.calendar-month-band{z-index:6;min-height:var(--cal-month-h);border-bottom:1px solid var(--line);position:sticky;top:0}.calendar-month-corner{z-index:7;border-right:1px solid var(--line-strong);background:var(--surface);left:0}.calendar-month-band{border-left:1px solid var(--line-strong);background:linear-gradient(var(--accent-soft), var(--accent-soft)), var(--surface);box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent-text);letter-spacing:.09em;text-transform:uppercase;align-items:center;font-size:.65rem;font-weight:700;display:flex}.calendar-month-band span{left:calc(var(--cal-label-w) + .9rem);position:sticky}.calendar-corner{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;padding:0 .9rem;font-size:.72rem;font-weight:600;display:flex}.calendar-day{background:var(--surface);place-items:center;display:grid}.calendar-day span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:600}.calendar-day strong{font-size:.95rem;font-weight:600}.weekend-column{background:#ffffff0a}:root[data-theme=light] .weekend-column{background:#1c1b190d}.today-column{background:rgb(var(--accent-rgb) / 7%)}.month-start{border-left:1px solid var(--line-strong)}.calendar-day.weekend-column{background:linear-gradient(#ffffff0a, #ffffff0a), var(--surface)}:root[data-theme=light] .calendar-day.weekend-column{background:linear-gradient(#1c1b190d, #1c1b190d), var(--surface)}.calendar-day.today-column{background:linear-gradient(rgb(var(--accent-rgb) / 7%), rgb(var(--accent-rgb) / 7%)), var(--surface);box-shadow:inset 0 2px 0 var(--accent)}.calendar-day.today-column strong{color:var(--accent-text)}.calendar-section-label{border-bottom:1px solid var(--line);background:var(--surface-elevated);min-height:1.75rem;color:var(--text-secondary);letter-spacing:.09em;text-transform:uppercase;grid-column:1/-1;align-items:center;font-size:.7rem;font-weight:600;display:flex}.calendar-section-label span{position:sticky;left:.9rem}.room-label{align-content:center;gap:.1rem;padding:0 .9rem;display:grid}.room-label strong{font-size:.95rem;font-weight:600}.room-label span{color:var(--text-muted);font-size:.72rem;font-weight:400}.calendar-cell{cursor:crosshair;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;background:0 0;position:relative}.calendar-cell:hover{background:#ffffff0d}:root[data-theme=light] .calendar-cell:hover{background:#1c1b190a}.occupied-cell,.occupied-cell:hover{cursor:not-allowed;background:0 0}.past-cell,.past-cell:hover{cursor:default;background:#00000042}:root[data-theme=light] .past-cell,:root[data-theme=light] .past-cell:hover{background:#1c1b190d}.selection-ghost{--sel:var(--accent);z-index:1;border:0 solid var(--sel);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--sel) 30%, var(--surface));pointer-events:none;min-height:2.25rem;transition:left var(--dur-fast) var(--ease-out), width var(--dur-fast) var(--ease-out);border-left-width:3px;position:absolute;top:.75rem}.selection-ghost.is-invalid{--sel:var(--error)}.bar-moving{opacity:.45;cursor:grabbing;pointer-events:none}.availability-cell{min-height:2.5rem;color:var(--text-muted);animation:row-expand var(--dur-base) var(--ease-out);place-items:center;font-size:.78rem;font-weight:500;display:grid;overflow:hidden}.availability-zero{color:var(--warning);font-weight:700}.availability-full{opacity:.45}.availability-label{min-height:2.5rem;animation:row-expand var(--dur-base) var(--ease-out);overflow:hidden}.availability-strip{animation:strip-expand var(--dur-base) var(--ease-out);overflow:hidden}@keyframes row-expand{0%{opacity:0;height:0;min-height:0}to{opacity:1;height:2.5rem;min-height:2.5rem}}@keyframes row-collapse{to{opacity:0;height:0;min-height:0}}@keyframes strip-expand{0%{opacity:0;height:0;min-height:0}to{opacity:1;height:1.75rem;min-height:1.75rem}}@keyframes strip-collapse{to{opacity:0;height:0;min-height:0}}.availability-label strong{font-size:.8rem;font-weight:600}.cell-price{color:var(--text-muted);font-variant-numeric:tabular-nums;opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none;place-items:center;font-size:.68rem;display:grid;position:absolute;inset:0}.cell-price-duo{opacity:.75;flex-direction:column;justify-content:center;align-items:center;font-size:.62rem;line-height:1.2;display:flex}.cell-price-alt{color:var(--accent)}.price-view-panel{gap:.45rem;min-width:14rem;display:grid}.price-view-panel .price-compare-note{max-width:18rem}.price-view-dot{background:var(--text-muted);border-radius:50%;width:.45rem;height:.45rem;margin-right:.35rem;display:inline-block}.price-view-dot-alt{background:var(--accent)}.cell-price-popover{z-index:60;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-elevated);width:max-content;max-width:min(20rem,100vw - 1rem);box-shadow:var(--shadow-floating);pointer-events:none;animation:menu-in var(--dur-base) var(--ease-out);padding:.55rem .75rem .6rem;position:fixed;transform:translate(-50%)}.cell-price-popover.is-above{transform:translate(-50%,-100%)}.cell-price-popover-head{color:var(--text-secondary);margin:0 0 .3rem;font-size:.7rem}.price-compare table{border-collapse:collapse}.price-compare th,.price-compare td{text-align:right;padding:.22rem 0;font-weight:400}.price-compare th[scope=row]{text-align:left;color:var(--text-secondary);padding-right:1.1rem;font-size:.78rem}.price-compare td{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:1.1rem;font-size:.78rem}.price-compare thead th{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;padding-left:1.1rem;font-size:.66rem}.price-compare tbody tr+tr th,.price-compare tbody tr+tr td{border-top:1px solid var(--line)}.price-compare td.is-current{color:var(--text);font-weight:600}.price-compare-note{color:var(--text-muted);margin:.35rem 0 0;font-size:.7rem}.price-compare-panel .price-compare table{width:100%}.price-compare-portals{border-top:1px solid var(--line);padding-top:var(--space-2);gap:.45rem;display:grid}.price-compare-portal-pills{flex-wrap:wrap;gap:.35rem;display:flex}@media (max-width:70rem){.modal-shell-aside .guest-preview-panel.price-compare-panel{order:1}}.rate-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.rate-form select,.rate-form input.rate-price{border-radius:var(--radius-md);min-height:2.75rem;color:var(--text);font:inherit;background:#ffffff0f;border:1px solid #0000;outline:0;padding:0 .9rem;font-weight:500}:root[data-theme=light] .rate-form select,:root[data-theme=light] .rate-form input.rate-price{background:#1c1b190d}.rate-form input.rate-price{font-variant-numeric:tabular-nums;width:6.5rem}.rate-form select:focus-visible,.rate-form input.rate-price:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reservation-block{--status:var(--status-confirmed);z-index:2;border:1px solid color-mix(in srgb, var(--status) 55%, transparent);border-left:3px solid var(--status);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--status) 13%, transparent);min-height:2.25rem;color:var(--text);cursor:pointer;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;transition:filter var(--dur-fast) var(--ease-out), opacity var(--dur-base) var(--ease-out);align-items:center;padding:0 .7rem 0 .4rem;font-size:.8125rem;font-weight:600;display:flex;position:absolute;top:.75rem;overflow:hidden}.reservation-block:hover{filter:brightness(1.12)}:root[data-theme=light] .reservation-block:hover{filter:brightness(.97)}.reservation-block:focus-visible{outline:2px solid var(--text);outline-offset:2px}.bar-confirmed{--status:var(--status-confirmed)}.bar-checked-in{--status:var(--status-checked-in)}.bar-pending{--status:var(--status-pending)}.bar-checked-out{--status:var(--status-checked-out);z-index:1;opacity:.6;border-left-style:dashed;font-weight:500}.bar-checked-out:hover{opacity:.9}.bar-clip-start{border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left-style:dashed}.bar-clip-end{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right-style:dashed}.bar-clip-start.bar-clip-end{border-radius:0}.bar-initials{border-radius:var(--radius-pill);background:var(--status);color:#08131f;letter-spacing:.02em;flex:none;justify-content:center;align-items:center;width:1.45rem;height:1.45rem;margin-right:.45rem;font-size:.62rem;font-weight:700;display:inline-flex}.bar-ota{border-radius:var(--radius-sm);color:#fff;letter-spacing:.03em;text-transform:uppercase;background:#475569;flex:none;justify-content:center;align-items:center;min-width:1.45rem;height:1.45rem;margin-right:.4rem;padding:0 .3rem;font-size:.78rem;font-weight:800;display:inline-flex}.bar-ota-booking{background:#003580}.bar-ota-airbnb{background:#ff5a5f}.bar-ota-expedia{color:#1c1917;background:#fbbf24}.bar-ota-agoda{background:#7c3aed}.bar-ota-hrs{background:#d1112b}.channel-tabs{flex-wrap:wrap;gap:.35rem;margin-right:auto;display:flex}.booking-guest{gap:.1rem;display:grid}.booking-code{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.78rem}.booking-contact{flex-wrap:wrap;gap:.15rem .7rem;font-size:.8rem;display:flex}.booking-contact a{color:var(--accent-text);text-decoration:none}.booking-contact a:hover{text-decoration:underline}.row-link{cursor:pointer}.row-link:hover td{background:var(--surface-elevated)}.bar-hit{z-index:3;box-shadow:0 0 0 2px var(--text)}.bar-dim{opacity:.3}.calendar-empty,.calendar-message{padding:var(--space-3) .25rem}.calendar-empty{color:var(--text-muted)}.calendar-message{font-size:.9rem;font-weight:600}.fiscal-de-signed{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.fiscal-de-qr{border-radius:var(--radius-sm);background:#fff;width:96px;height:96px;padding:4px}.error-message,.success-message{border-radius:var(--radius-md);padding:var(--space-3)}.error-message{color:#fecaca;background:#ef44441f}:root[data-theme=light] .error-message{color:#991b1b}.success-message{color:#bbf7d0;background:#22c55e1f;border-color:#22c55e66}:root[data-theme=light] .success-message{color:#166534}.modal-scrim{z-index:19;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);pointer-events:none;background:#0a0a0aa8;position:fixed;inset:0}body.has-modal .modal-scrim{opacity:1;visibility:visible;transition:opacity var(--dur-base) var(--ease-out)}.modal-backdrop{z-index:20;padding:var(--space-4);grid-template-columns:minmax(0,1fr);place-items:center;display:grid;position:fixed;inset:0}.modal-shell{display:contents}.modal-shell-aside{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;justify-content:center;width:100%;max-width:72rem;max-height:100%;margin-inline:auto;display:flex;overflow:auto}.modal-shell-aside .reservation-modal{flex:30rem;width:auto;max-width:48rem}.modal-shell-aside .guest-preview-panel{flex:0 20rem}@media (max-width:70rem){.modal-shell-aside .guest-preview-panel{order:-1}}.reservation-modal{gap:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);width:min(48rem,100%);max-height:min(56rem,92vh);box-shadow:var(--shadow-floating);padding:var(--space-4);animation:dialog-in var(--dur-base) var(--ease-out);display:grid;overflow:auto}.reservation-modal .modal-actions{z-index:2;bottom:calc(-1 * var(--space-4));margin:0 calc(-1 * var(--space-4)) calc(-1 * var(--space-4));border-top:1px solid var(--line);background:var(--surface);padding:var(--space-3) var(--space-4);position:sticky}.reservation-modal h3{margin:var(--space-2) 0 0;font-size:.95rem;font-weight:600}@keyframes dialog-in{0%{opacity:0;transform:scale(.95)translateY(12px)}to{opacity:1;transform:scale(1)}}.settings-modal{width:min(40rem,100%)}.settings-table{min-width:0}.settings-type{color:var(--text-muted);font-size:.875rem}.price-field{align-items:center;gap:.5rem;display:inline-flex}.price-field input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--background);width:6.5rem;min-height:2.5rem;color:var(--text);font:inherit;text-align:right;padding:0 .5rem}.price-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.price-unit{color:var(--text-muted);font-size:.875rem}.edited-dot{border-radius:var(--radius-pill);background:var(--warning);width:.5rem;height:.5rem}.settings-page{gap:var(--space-4)}.settings-section{gap:.75rem;min-width:0;padding:.5rem 0 1.5rem;display:grid}.settings-section+.settings-section{border-top:1px solid var(--line);padding-top:1.5rem}.settings-head{border-bottom:1px solid var(--line);gap:.25rem;margin-bottom:.15rem;padding-bottom:.7rem;display:grid}.settings-head h3 svg{color:var(--accent)}.settings-head h3{color:var(--text);align-items:center;gap:.5rem;margin:0;font-size:.9375rem;font-weight:600;display:flex}.settings-note{max-width:62ch;color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.45}.settings-tabs{scrollbar-width:none;min-width:0;margin-top:-.25rem;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs .zen-tab{white-space:nowrap}.settings-section[hidden]{display:none}.room-bar-grid{grid-template-columns:repeat(auto-fill,minmax(24rem,1fr));gap:.6rem;display:grid}.field-bar.room-bar{grid-template-columns:6.4rem minmax(0,1fr) 2.4rem}.room-bar-delete{border:0;border-left:1px solid var(--line);color:var(--text-muted);cursor:pointer;background:0 0;place-items:center;height:100%;padding:0;transition:color .15s,background .15s;display:grid}.room-bar-delete:hover:not(:disabled){background:var(--danger-soft,#dc262614);color:var(--danger,#dc2626)}.room-bar-delete:disabled{opacity:.4;cursor:not-allowed}.field-bar.room-bar .segment-control,.field-bar.type-bar .segment-control,.field-bar.type-add-bar .segment-control,.field-bar.rate-bar .segment-control{gap:.4rem}.room-bar-grid .field-bar.room-bar:hover,.type-list .field-bar.type-bar:hover{border-color:var(--line-strong)}.field-bar.room-bar .form-segment:first-child input{font-variant-numeric:tabular-nums;font-weight:600}.field-bar.room-bar .form-segment:last-child input,.field-bar.type-bar .form-segment:last-child input,.field-bar.rate-bar .form-segment:last-child input{font-variant-numeric:tabular-nums}.settings-head-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.settings-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}.settings-note.settings-note-warn{color:var(--warning)}.room-add{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.room-add .field-bar{flex:24rem}.room-add,.type-add-row,.rate-add{opacity:.55;margin-top:.3rem;transition:opacity .18s ease-out}.room-add:hover,.room-add:focus-within,.type-add-row:hover,.type-add-row:focus-within,.rate-add:hover,.rate-add:focus-within{opacity:1}.type-list{gap:.6rem;display:grid}.type-row{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;display:flex}.field-bar.type-bar{flex:18rem;grid-template-columns:minmax(0,1fr)}.type-row-actions{align-items:center;gap:.6rem;margin-left:auto;display:flex}.type-editor-count{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.type-add-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.type-add-bar{flex:0 22rem}.field-bar.product-bar{flex:30rem;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.7fr)}.field-bar.product-bar .segment-control{gap:.4rem}.type-list .field-bar.product-bar:hover{border-color:var(--line-strong)}.field-bar.product-bar .form-segment:nth-child(3) input{font-variant-numeric:tabular-nums}.rate-add{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.field-bar.rate-bar{flex:32rem;grid-template-columns:repeat(4,minmax(0,1fr))}.message-threads{gap:.85rem;display:grid}.message-thread{border-top:1px solid var(--line);padding:.85rem 0}.message-thread-title{margin-bottom:.5rem;font-weight:600}.message-list{gap:.45rem;margin:0 0 .65rem;padding:0;list-style:none;display:grid}.message-row{border-left:3px solid var(--line-strong);gap:.15rem;padding-left:.6rem;display:grid}.message-row.message-guest{border-left-color:var(--accent,#3aa4c8)}.message-meta{color:var(--text-muted);font-size:.78rem}.message-reply{gap:.5rem;display:flex}.message-reply input{flex:1}.rate-flags{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:1rem;font-size:.85rem;display:flex}input[type=checkbox]{accent-color:var(--accent)}.rate-flags label{border:1px solid var(--line-strong);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .8rem;transition:color .15s ease-out,border-color .15s ease-out,background-color .15s ease-out;display:inline-flex}.rate-flags label:hover{border-color:var(--accent)}.rate-flags label:has(input:checked){border-color:var(--accent);background:var(--accent-soft,#2bd9fe1f);color:var(--accent)}.rate-flags input[type=checkbox]{clip-path:inset(50%);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.rate-weekdays{flex-basis:100%;gap:.75rem}.rate-weekdays-label{color:var(--text-muted)}.rate-row-days{color:var(--text-muted);font-size:.8125rem}.rate-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.rate-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.7rem .25rem;font-size:.875rem;display:flex}.rate-row:hover{background:var(--surface-elevated)}.rate-row-type{min-width:8rem;color:var(--text);font-weight:600}.rate-row-dates{color:var(--text-secondary);font-variant-numeric:tabular-nums}.rate-row-price{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.pricing-master{grid-template-columns:15rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.pricing-rail{gap:.4rem;display:grid;position:sticky;top:1rem}.pricing-rail-item{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;gap:.15rem;padding:.6rem .75rem;transition:border-color .18s ease-out;display:grid}.pricing-rail-item:hover{border-color:var(--line-strong)}.pricing-rail-active{border-color:var(--accent)}.pricing-rail-name{font-weight:600}.pricing-rail-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.pricing-detail{border-left:1px solid var(--line);min-width:0;padding-left:1.25rem}@media (max-width:900px){.pricing-detail{border-left:0;border-top:1px solid var(--line);padding-top:1rem;padding-left:0}}.pricing-detail-h{border-top:1px solid var(--line);color:var(--text);align-items:center;gap:.5rem;margin:2rem 0 .75rem;padding-top:1.25rem;font-size:.9375rem;display:flex}.pricing-detail-h:first-of-type{border-top:0;margin-top:1rem;padding-top:0}.pricing-detail-h svg{color:var(--accent)}.pricing-preview-from{margin-left:auto;font-weight:400}.pricing-preview-from input{max-width:10rem}.rate-all-types{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.pricing-preview-occ{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem;display:flex}.pricing-preview-occ .panel-kicker{margin:0}.composer-toggle{margin-top:.5rem}.occupancy-list{border-top:1px solid var(--line);max-width:30rem;display:grid}.occupancy-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 9.5rem 2.6rem;align-items:center;gap:.75rem;padding:.45rem .25rem;display:grid}.occupancy-base-guests{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);width:3.4rem;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:.25rem .4rem}.occupancy-guests{font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;display:inline-flex}.occupancy-base-badge{background:var(--accent-soft,#2bd9fe1f);color:var(--accent);border-radius:999px;padding:.05rem .5rem;font-size:.75rem;font-weight:600}.occupancy-base-set{border:1px dashed var(--line-strong);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.05rem .5rem;font-size:.75rem;transition:color .15s ease-out,border-color .15s ease-out}.occupancy-base-set:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.occupancy-base-set:disabled{opacity:.5;cursor:default}.occupancy-tools{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.6rem;display:flex}.occupancy-fee{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.occupancy-fee input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);width:6rem;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:.4rem .55rem}.field-bar.rate-bar-detail{grid-template-columns:repeat(3,minmax(0,1fr))}.occupancy-row.room-row{grid-template-columns:6.4rem minmax(0,1fr) 1.2rem 2.6rem}.room-number-input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);width:6rem;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:.4rem .55rem}.type-rename-row{align-items:center;gap:.6rem;max-width:30rem;display:flex}.type-rename-row input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);min-width:0;color:var(--text);font:inherit;flex:1;padding:.4rem .55rem}.category-vat-row{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.category-vat-row .field-bar{flex:none}.category-vat-row .settings-note{flex:16rem;margin:0}.room-add{align-items:center;gap:.6rem;display:flex}.rail-add{gap:.4rem;margin-top:.5rem;display:grid}.rail-add input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);color:var(--text);font:inherit;padding:.45rem .6rem}.pricing-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(14,minmax(0,1fr));display:grid}.pricing-preview-day{font-variant-numeric:tabular-nums;justify-items:center;gap:.1rem;padding:.45rem .1rem;font-size:.75rem;display:grid}.pricing-preview-day+.pricing-preview-day{border-left:1px solid var(--line)}.pricing-preview-w{color:var(--text-muted)}.pricing-preview-override,.pricing-preview-override .pricing-preview-w{color:var(--accent)}.pricing-preview-lock{color:var(--text-muted)}.pricing-preview-weekend .pricing-preview-w{color:var(--text-secondary);font-weight:600}@media (max-width:900px){.pricing-master{grid-template-columns:minmax(0,1fr)}.pricing-rail{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));position:static}.pricing-preview{grid-template-columns:repeat(7,minmax(0,1fr))}}.settings-section>.detail-text{max-width:68ch;color:var(--text-muted);margin:0}.modal-header,.modal-actions{justify-content:space-between;align-items:center;gap:1rem;row-gap:var(--space-2);flex-wrap:wrap;display:flex}.modal-header-side{align-items:center;gap:.75rem;display:flex}.modal-header h2{margin-bottom:0}.modal-close{border-radius:var(--radius-md);width:2.5rem;min-height:2.5rem;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;place-items:center;padding:0;display:grid}.modal-close:hover{color:var(--text);background:#ffffff12}:root[data-theme=light] .modal-close:hover{background:#1c1b190f}.reservation-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.summary-cell{align-content:start;gap:.35rem;padding:.7rem .9rem;display:grid}.summary-cell+.summary-cell{border-left:1px solid var(--line)}.summary-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.35rem;font-size:.66rem;font-weight:600;display:flex;overflow:hidden}.summary-label>svg{flex:none}.summary-value{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.summary-value-wrap{text-overflow:clip;white-space:normal;line-height:1.35;overflow:visible}.summary-price{color:var(--accent-text)}.stay-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:stretch;display:flex}.stay-block{padding:var(--space-3);align-content:center;gap:.25rem;display:grid}.stay-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.66rem;font-weight:600}.stay-room{border-right:1px solid var(--line);min-width:7.5rem}.stay-room-number{letter-spacing:-.02em;font-size:1.6rem;font-weight:700;line-height:1.1}.stay-room-type{color:var(--text-muted);font-size:.8rem}.stay-route{justify-content:center;align-items:center;gap:var(--space-2);flex:1;display:flex}.stay-date-value{white-space:nowrap;font-size:1rem;font-weight:600}.stay-weekday{color:var(--text-muted);text-transform:capitalize;font-size:.75rem}.stay-nights{color:var(--text-muted);padding:0 var(--space-2);white-space:nowrap;justify-items:center;gap:.1rem;font-size:.72rem;font-weight:600;display:grid}.stay-price{border-left:1px solid var(--line);text-align:right;justify-items:end;min-width:7.5rem}.stay-price-value{color:var(--accent-text);letter-spacing:-.01em;font-size:1.35rem;font-weight:700}.detail-facts{gap:var(--space-2) var(--space-4);padding:0 var(--space-1);grid-template-columns:minmax(0,1fr) auto;display:grid}.fact{align-items:flex-start;gap:.65rem;display:flex}.fact>svg{color:var(--text-muted);flex:none;margin-top:.2rem}.fact-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:600;display:block}.fact-value{overflow-wrap:anywhere;color:var(--text-secondary)}.fact-notes{grid-column:1/-1}.fact-sub{color:var(--text-muted);margin-top:.15rem;font-size:.78rem;display:block}.fact-code{font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;color:var(--text-secondary)}.detail-actions,.folio-actions{justify-content:flex-start;column-gap:var(--space-5);row-gap:var(--space-3)}.action-zone{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.action-cluster-right{justify-content:flex-end;align-items:center;column-gap:var(--space-4);row-gap:var(--space-2);flex-wrap:wrap;min-width:0;margin-inline-start:auto;display:flex}.action-zone-primary:before{content:"";background:var(--line);align-self:stretch;width:1px;min-height:1.75rem}.action-zone-open>.view-button,.action-zone-primary>.view-button{border:1px solid var(--line);background:color-mix(in srgb, var(--text) 4%, transparent);min-height:2.75rem}.action-zone-open>.view-button:hover,.action-zone-open>.view-button.is-open,.action-zone-primary>.view-button:hover{border-color:var(--line-strong);background:color-mix(in srgb, var(--text) 9%, transparent)}.action-zone-state>.ghost-button:not(.danger-button){color:var(--text-muted)}.action-zone-state>.ghost-button:not(.danger-button):hover{color:var(--text)}.modal-compact{gap:var(--space-3);width:min(24rem,100%)}.modal-wide{width:min(60rem,100%)}.modal-compact .modal-header h2{font-size:1.05rem}.modal-compact.modal-confirm-alt{width:min(38rem,100%)}.modal-compact .modal-actions.modal-actions-alt{justify-content:flex-end;row-gap:var(--space-2);flex-wrap:wrap}.modal-actions-alt>.ghost-button{margin-inline-end:auto}.modal-actions-side{align-items:center;gap:var(--space-2);display:inline-flex}.modal-actions button{white-space:nowrap}.modal-compact .modal-actions{justify-content:flex-end;gap:var(--space-2);background:0 0;border-top:0;margin:0;padding:0;position:static}.new-reservation-button.danger-button{background:var(--error);color:#fff;border-color:#0000}.new-reservation-button.danger-button:hover{box-shadow:0 4px 16px #ef444447}.form-bars{gap:.8rem;display:grid}.field-bar{border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-out);background:#ffffff0f;border:1px solid #0000;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}:root[data-theme=light] .field-bar{background:#1c1b190d}.field-bar:focus-within{border-color:rgb(var(--accent-rgb) / 45%)}.field-bar-single{grid-template-columns:minmax(0,1fr)}.form-segment{gap:.1rem;min-width:0;padding:.55rem .85rem .5rem;display:grid}.reservation-form-bars .form-segment{padding-inline:1.1rem}.reservation-form-bars .segment-control .select-trigger,.reservation-form-bars .segment-control input.date-field-text{padding-left:.75rem}.form-segment+.form-segment{border-left:1px solid var(--line)}.segment-label{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:600}.segment-control{align-items:center;gap:.55rem;min-width:0;display:flex}.segment-control>svg{color:var(--text-muted);flex:none}.segment-control input,.segment-control textarea{width:100%;min-height:1.9rem;color:var(--text);font:inherit;background:0 0;border:0;outline:0;padding:0;font-weight:500}.segment-control textarea{resize:vertical;min-height:4.2rem;padding:.2rem 0}.form-segment-notes .segment-control{align-items:flex-start}.form-segment-notes .segment-control>svg{margin-top:.4rem}.reservation-guest-match{color:var(--warning);align-items:center;gap:.5rem;margin:-.15rem 0 0;padding:0 .2rem;font-size:.82rem;display:flex}.reservation-guest-match-info{color:var(--text-secondary)}.reservation-guest-match>svg{flex:none}.reservation-guest-match>span{min-width:0}.reservation-guest-match button{border-radius:var(--radius-sm);color:inherit;cursor:pointer;font:inherit;background:0 0;border:1px solid;flex:none;margin-left:auto;padding:.15rem .5rem;font-weight:600}.reservation-guest-match button:hover{background:color-mix(in srgb, currentcolor 14%, transparent)}.reservation-guest-match button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.guest-preview-panel{align-content:start;gap:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);width:min(20rem,100%);max-height:min(56rem,92vh);box-shadow:var(--shadow-floating);padding:var(--space-4);animation:dialog-in var(--dur-base) var(--ease-out);display:grid;overflow:auto}.guest-preview-panel>header{align-items:flex-start;gap:var(--space-2);justify-content:space-between;display:flex}.guest-preview-panel h2{margin:0;font-size:1.05rem;font-weight:600}.guest-preview-list{gap:.6rem;margin:0;display:grid}.guest-preview-list dt{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:600}.guest-preview-list dd{overflow-wrap:anywhere;margin:.1rem 0 0;font-size:.9rem}.guest-preview-consents{color:var(--text-secondary);margin:0;font-size:.82rem}.guest-picker{flex:1;min-width:0;position:relative}.guest-picker-spinner{color:var(--text-muted);animation:.9s linear infinite guest-picker-spin;position:absolute;top:50%;right:0;transform:translateY(-50%)}@keyframes guest-picker-spin{to{transform:translateY(-50%)rotate(360deg)}}@media (prefers-reduced-motion:reduce){.guest-picker-spinner{animation:none}}.guest-picker-list{z-index:5;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elevated);box-shadow:var(--shadow-elevated);max-height:15rem;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .4rem);left:-.35rem;right:-.35rem;overflow-y:auto}.guest-picker-hint{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;padding:.3rem .5rem .35rem;font-size:.66rem;font-weight:600}.guest-picker-option{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.88rem;display:flex}.guest-picker-option>svg{color:var(--text-muted);flex:none}.guest-picker-option-active{background:var(--accent-soft)}.guest-picker-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.guest-picker-contact{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.8rem;overflow:hidden}.guest-picker-count{color:var(--text-muted);flex:none;font-size:.75rem}.segment-control input[type=number]{appearance:textfield}.segment-control input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.segment-control input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.segment-suffix{color:var(--text-muted);flex:none;font-size:.85rem}.segment-control .select-field,.segment-control .date-field{width:100%}.segment-control .select-trigger,.segment-control input.date-field-text{background:0 0;border:0;width:calc(100% + .9rem);min-height:1.9rem;margin-inline:-.45rem;padding-inline:.45rem}.segment-control input.date-field-text{padding-right:2.35rem}.reservation-form-bars .segment-control .select-trigger,.reservation-form-bars .segment-control input.date-field-text{width:100%;margin-inline:0;padding-right:.9rem}.reservation-form-bars .segment-control input.date-field-text{padding-right:1.9rem}.segment-control .date-field-picker{width:1.7rem;height:1.7rem;right:0}.field-bar :focus-visible{outline-offset:-2px}.field-bar input:focus-visible,.field-bar textarea:focus-visible{outline:0}.new-reservation-button:disabled{cursor:wait;opacity:.62}.data-page{grid-column:1/-1;gap:1rem;min-width:0;display:grid}.page-header,.table-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.page-header h2{margin-bottom:0}.data-page h3{margin:var(--space-2) 0 0;font-size:.95rem;font-weight:600}.table-tools{justify-content:flex-end}.table-tools input{border-radius:var(--radius-md);min-width:11rem;min-height:2.75rem;color:var(--text);font:inherit;transition:border-color var(--dur-fast) var(--ease-out);background:#ffffff0f;border:1px solid #0000;padding:0 .85rem;font-weight:500}:root[data-theme=light] .table-tools input{background:#1c1b190d}.table-tools input:first-child{min-width:min(24rem,100%)}.single-search{justify-content:stretch}.single-search input{width:100%}.data-table tbody tr:hover td,.rate-row:hover,.occupancy-row:hover{background:var(--surface-elevated)}.data-table-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:68rem}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.data-table th{color:var(--text-muted);letter-spacing:.08em;padding:var(--space-2) var(--space-3);text-transform:uppercase;font-size:.7rem;font-weight:600}.data-table thead th{border-bottom-color:var(--text-muted)}.data-table td{color:var(--text-secondary);padding:var(--space-3);font-variant-numeric:tabular-nums;font-size:.875rem}.data-table tbody tr:last-child td{border-bottom:0}.data-table td strong{color:var(--text);font-weight:600}.table-cell-sub{color:var(--text-muted);margin-top:.15rem;font-size:.75rem}.data-table tbody tr{cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.data-table tbody tr:hover{background:#ffffff0a}:root[data-theme=light] .data-table tbody tr:hover{background:#1c1b1908}.room-badge{border-radius:var(--radius-sm);background:var(--surface-elevated);color:var(--text);align-items:center;padding:.3rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.status-badge{--status:var(--text-muted);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--status) 15%, var(--surface));color:var(--text);align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge:before{border-radius:var(--radius-pill);background:var(--status);content:"";width:.45rem;height:.45rem}.status-confirmed{--status:var(--status-confirmed)}.status-checked_in{--status:var(--status-checked-in)}.status-pending{--status:var(--status-pending)}.status-cancelled{--status:var(--status-cancelled)}.status-checked_out{--status:var(--status-checked-out)}.table-action{border-radius:var(--radius-sm);min-height:2.25rem;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:#ffffff12;border:0;padding:0 .75rem;font-weight:600}:root[data-theme=light] .table-action{background:#1c1b190f}.table-action:hover{color:var(--text);background:#ffffff1f}:root[data-theme=light] .table-action:hover{background:#1c1b191a}.danger-button,.danger-button:hover{color:#fca5a5;border-color:#ef444473}.danger-button:hover{background:#ef44441a}:root[data-theme=light] .danger-button,:root[data-theme=light] .danger-button:hover{color:#b91c1c}.detail-text{color:var(--text-muted);margin:0;line-height:1.65}.detail-list{color:var(--text-muted);gap:.45rem;margin:0;padding-left:1.2rem;display:grid}.modal-note{border-radius:var(--radius-md);margin:0;padding:.7rem .9rem;font-size:.875rem;line-height:1.55}.modal-note-warn{color:var(--text);background:#f59e0b1a;border:1px solid #f59e0b73}.detail-link{color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:.5rem;padding:.1rem 0;display:inline-flex}.detail-link:hover{color:var(--accent-text)}.duplicate-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.consent-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);flex-wrap:wrap;align-items:center;gap:.4rem 1.25rem;padding:.7rem .9rem;display:flex}.consent-option{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.consent-option input{width:1rem;height:1rem;accent-color:var(--accent)}.table-pager{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.table-pager button:disabled{cursor:default;opacity:.4}@media (max-width:1180px){.zen-kpi{display:none}.today-dock{z-index:15;box-shadow:var(--shadow-floating);position:fixed;top:3.5rem;bottom:0;right:0}}@media (max-width:560px){.today-dock{width:100%;padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) var(--space-4);gap:.55rem;top:0}.today-title{font-size:1.05rem}.today-date{font-size:.85rem}.today-stats{justify-content:space-between;gap:.75rem;font-size:.82rem}.today-close{width:2.4rem;height:2.4rem}.zen-bar{gap:.35rem}.zen-logo{height:1.85rem}.zen-tab,.zen-panel-toggle,.zen-cta{gap:0;padding:0 .7rem;font-size:0}.settings-tabs .zen-tab{gap:.35rem;padding:0 .6rem;font-size:.8rem}.brand-button{max-width:42vw;padding:0 .5rem}.brand-button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-filters{justify-content:flex-start;gap:.5rem}.calendar-legend{display:none}.calendar-filters .zen-month{border-left:0;border-right:0;margin:0;padding:0}.search-filters{flex:1 0 100%;gap:.5rem}.calendar-board{--cal-label-w:6rem;--cal-day-w:3rem;--cal-month-h:1.5rem}.calendar-month-band{letter-spacing:.04em;font-size:.55rem}.calendar-month-band span{left:calc(var(--cal-label-w) + .5rem)}.calendar-corner,.calendar-day,.room-label,.calendar-cell{min-height:3.25rem}.calendar-corner{padding:0 .5rem;font-size:.62rem}.room-label{padding:0 .5rem}.room-label strong{font-size:.85rem}.room-label span{display:none}.calendar-day strong{font-size:.82rem}.calendar-day span{letter-spacing:.04em;font-size:.55rem}.calendar-section-label span{left:.5rem}.cell-price{font-size:.6rem}.reservation-block{font-size:.72rem}}@media (max-width:820px){.zen-bar{min-height:0;padding:.4rem var(--space-2);flex-wrap:wrap;row-gap:.25rem}.reservation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-cell+.summary-cell{border-left:0}.summary-cell:nth-child(2n){border-left:1px solid var(--line)}.summary-cell:nth-child(n+3){border-top:1px solid var(--line)}.field-bar,.field-bar.room-bar,.field-bar.type-bar,.field-bar.product-bar,.field-bar.rate-bar{grid-template-columns:minmax(0,1fr)}.form-segment+.form-segment{border-top:1px solid var(--line);border-left:0}.zen-month-label{font-size:.95rem}.zen-view{padding:var(--space-2)}}.login-shell{min-height:100vh;padding:var(--space-4);background-color:#0000;background-image:linear-gradient(45deg,#0000 47.75%,#ffffff08 47.75% 52.25%,#0000 52.25%),linear-gradient(-45deg,#0000 47.75%,#ffffff08 47.75% 52.25%,#0000 52.25%);background-position:50%;background-repeat:no-repeat;background-size:46rem 46rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;place-items:center;display:grid}:root[data-theme=light] .login-shell{background-image:linear-gradient(45deg,#0000 47.75%,#1c1b190a 47.75% 52.25%,#0000 52.25%),linear-gradient(-45deg,#0000 47.75%,#1c1b190a 47.75% 52.25%,#0000 52.25%)}.login-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);width:min(26rem,100%);box-shadow:var(--shadow-floating);padding:var(--space-6) var(--space-5);gap:1.25rem;display:grid}.login-logo{justify-self:center;width:11.5rem;max-width:100%;height:auto}.login-title{margin:0 0 .35rem;font-size:1.35rem}.login-subtitle{color:var(--text-muted);margin:0;font-size:.92rem}.login-field{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;gap:.45rem;font-size:.72rem;font-weight:600;display:grid}.login-field input{border-radius:var(--radius-md);min-height:2.75rem;color:var(--text);font:inherit;transition:border-color var(--dur-fast) var(--ease-out);background:#ffffff0f;border:1px solid #0000;padding:0 .8rem}:root[data-theme=light] .login-field input{background:#1c1b190d}.login-submit{border-radius:var(--radius-md);background:var(--brand-gradient);min-height:2.85rem;color:var(--brand-gradient-ink);cursor:pointer;transition:filter var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:none;font-weight:700}.login-submit:hover{box-shadow:0 6px 20px rgb(var(--accent-rgb) / 30%);filter:brightness(1.06);transform:translateY(-1px)}.login-submit:disabled{cursor:wait;opacity:.62}.login-submit:focus-visible,.logout-button:focus-visible,.login-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-error-slot{align-items:center;min-height:2.9rem;margin:-.625rem 0;display:grid}.login-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444473;border-radius:.75rem;margin:0;padding:.75rem .9rem;font-size:.9rem}:root[data-theme=light] .login-error{color:#b91c1c}.login-footnote{color:var(--text-muted);text-align:center;margin:0;font-size:.8rem}.logout-button{border-radius:var(--radius-sm);min-height:2.25rem;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:0 .6rem;font-size:.8125rem;font-weight:600}.logout-button:hover{color:var(--text);background:#ffffff12}:root[data-theme=light] .logout-button:hover{background:#1c1b190f}.folio-status{border-radius:var(--radius-pill);letter-spacing:.02em;padding:.15rem .6rem;font-size:.72rem;font-weight:600}.folio-status-draft{background:var(--accent-soft);color:var(--accent-text)}.folio-status-final{color:#16a34a;background:#22c55e26}.folio-status-warn{color:#facc15;background:#eab30824}.folio-status-bad{color:#f87171;background:#f8717124}:root[data-theme=light] .folio-status-warn{color:#a16207}:root[data-theme=light] .folio-status-bad{color:#dc2626}.folio-caption{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;display:flex}.folio-summary-strip{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.folio-block{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.folio-block-head{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line);padding:.6rem .9rem;display:flex}.folio-block-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-right:auto;font-size:.78rem}.folio-lines{background:var(--line);gap:1px;display:grid}.folio-row{align-items:center;gap:var(--space-2);padding:.55rem var(--space-3);background:var(--surface);text-align:left;font:inherit;color:inherit;grid-template-columns:minmax(0,1fr) 7rem 3rem 6.5rem 4rem;display:grid}.folio-lines:has(.folio-pick) .folio-row{grid-template-columns:1.25rem minmax(0,1fr) 7rem 3rem 6.5rem 4rem}.folio-row[role=button]{cursor:pointer}.folio-row[role=button]:hover,.folio-row[role=button]:focus-visible{background:var(--surface-elevated);outline:0}.folio-row[role=button]:focus-visible{box-shadow:inset 2px 0 0 var(--accent)}.folio-row-head{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-elevated);font-size:.7rem;font-weight:600}.folio-row-selected{background:var(--accent-soft)}.folio-row-payment{background:var(--surface-elevated);grid-template-columns:minmax(0,1fr) 6.5rem 4rem}.folio-row-desc{align-items:center;gap:var(--space-2);min-width:0;display:flex}.folio-row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folio-row-calc,.folio-row-vat,.folio-row-amount{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.85rem}.folio-row-amount{color:var(--text);font-size:.95rem;font-weight:600}.folio-amount-pay{color:var(--accent-text)}.folio-row-tools{justify-content:flex-end;align-items:center;gap:.15rem;display:flex}.folio-row-pencil{color:var(--text-muted);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);display:inline-flex}.folio-row:hover .folio-row-pencil,.folio-row:focus-within .folio-row-pencil{opacity:1}@media (hover:none){.folio-row-pencil{opacity:1}.action-zone-state>.ghost-button{border:1px solid var(--line);background:0 0}}.folio-pick{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer;margin:0}.folio-pick-spacer{width:1rem}.folio-chip{border-radius:var(--radius-sm);background:var(--surface-elevated);color:var(--text-muted);flex:none;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.folio-row-payment .folio-chip,.folio-chip-payment{background:var(--accent-soft);color:var(--accent-text)}.folio-merged-badge{border-radius:var(--radius-pill);border:1px solid var(--line-strong);color:var(--text-muted);white-space:nowrap;flex:none;padding:.05rem .4rem;font-size:.68rem}.folio-icon-button{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.folio-icon-button:hover{color:var(--text);background:#ffffff14}.folio-icon-danger:hover{color:var(--error);background:#ef44441f}.folio-empty{padding:var(--space-3);text-align:center;color:var(--text-muted);background:var(--surface)}.folio-paylist{border-top:1px solid var(--line);background:var(--line);gap:1px;display:grid}.folio-row-edit{align-items:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);flex-wrap:wrap;display:flex}.folio-edit-bar{flex:26rem;grid-template-columns:auto minmax(6rem,1fr) 9rem 4.5rem 7rem}.folio-edit-bar-pay{grid-template-columns:auto minmax(6rem,1fr) 7rem}.folio-bare-select{width:100%;min-height:1.9rem;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;outline:0;padding:0;font-weight:500}.folio-calc{gap:.3rem}.folio-calc input{text-align:right}.folio-calc input:first-of-type{max-width:2.75rem}.folio-calc>span{color:var(--text-muted)}.folio-edit-amount input{text-align:right;font-weight:600}.folio-row-actions{align-items:center;gap:var(--space-2);display:flex}.folio-merge{align-items:center;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--line);background:var(--accent-soft);flex-wrap:wrap;display:flex}.folio-merge-count{color:var(--accent-text);white-space:nowrap;font-size:.85rem;font-weight:600}.folio-merge-field{align-items:center;gap:var(--space-2);color:var(--text-muted);white-space:nowrap;font-size:.8rem;display:flex}.folio-merge-total-input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elevated);width:7rem;min-height:2.25rem;color:var(--text);font:inherit;text-align:right;padding:.25rem .45rem}.folio-merge-hint{color:var(--text-muted);flex:100%;margin:0;font-size:.8rem}.folio-compose{gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--line);display:grid}.folio-compose-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.folio-compose-pay{padding-top:var(--space-2);border-top:1px solid var(--line)}.folio-compose-amount{text-align:right;width:8rem}.folio-select,.folio-compose-amount{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elevated);min-height:2.25rem;color:var(--text);font:inherit;padding:.25rem .45rem}.folio-select{cursor:pointer;max-width:100%}.folio-catalog-select{flex:14rem;min-width:0}.folio-select:focus-visible,.folio-compose-amount:focus-visible,.folio-merge-total-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.folio-ghost-button,.folio-mode-button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:2.25rem;color:var(--text-secondary);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.85rem;display:inline-flex}.folio-ghost-button:hover,.folio-mode-button:hover{background:var(--surface);color:var(--text)}.folio-mode-button{flex:none;min-height:2rem;font-size:.8rem}.folio-sums{padding:var(--space-3);border-top:1px solid var(--line);background:var(--surface);justify-items:end;gap:.15rem;display:grid}.folio-sum-row{gap:var(--space-3);color:var(--text-muted);font-variant-numeric:tabular-nums;grid-template-columns:auto 6.5rem;font-size:.85rem;display:grid}.folio-sum-row span:last-child{text-align:right}.folio-actions .folio-due{align-items:baseline;gap:var(--space-2);padding-right:var(--space-2);font-variant-numeric:tabular-nums;white-space:nowrap;display:flex}.folio-due-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.folio-due strong{color:var(--accent-text);font-size:1.05rem}.folio-billto{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);display:grid}.folio-billto-off{padding:0 var(--space-1);background:0 0;border:0}.folio-billto-toggle{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text);font-size:.9rem;display:flex}.folio-billto-toggle input{width:1rem;height:1rem;accent-color:var(--accent)}.folio-billto-fields{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.folio-billto-fields input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:2.25rem;color:var(--text);font:inherit;padding:.25rem .5rem}.folio-country-select{min-height:2.25rem}.folio-due-field{color:var(--text-muted);gap:.15rem;font-size:.75rem;display:grid}.folio-billto-subtoggle{color:var(--text-muted);font-size:.85rem}.folio-billto-fields input:disabled{opacity:.55;cursor:not-allowed}.folio-billto-fields input[aria-invalid=true]{border-color:var(--error)}.folio-billto-fields input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.folio-billto-hint{color:var(--text-muted);margin:0;font-size:.8rem}.company-lookup{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.company-lookup-status{flex-direction:column;flex:14rem;gap:2px;min-width:0;display:flex}.company-lookup-status p{margin:0;font-size:.8rem}.company-lookup-ok{color:var(--success)}.company-lookup-warning{color:var(--warning)}.company-lookup-error{color:var(--danger,#dc2626)}.folio-billto-readonly{gap:var(--space-2);color:var(--text);flex-wrap:wrap;align-items:baseline;font-size:.9rem;display:flex}.folio-billto-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;display:flex}.folio-add{gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--line);display:grid}.folio-add-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.folio-add-row .folio-select{flex:none}.folio-add-desc{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elevated);min-width:8rem;min-height:2.25rem;color:var(--text);font:inherit;flex:12rem;padding:.25rem .45rem}.folio-add-row .new-reservation-button,.folio-add-row .view-button{flex:none}@media (max-width:560px){.brand-dropdown{overscroll-behavior:contain;width:min(16.5rem,100vw - 1.25rem);max-height:75vh;left:auto;right:0;overflow-y:auto}.menu-item{min-height:2.75rem}.menu-row{padding-top:.4rem;padding-bottom:.4rem}.theme-switch{min-height:2.75rem;padding:.25rem .4rem}.lang-btn{min-height:2.75rem;padding:0 .9rem;font-size:.8rem}.app-shell .zen-bar{row-gap:.15rem;padding-top:.3rem;padding-bottom:.3rem}.brand-button,.zen-cta{min-height:2.25rem}.zen-month .round-button{width:2.1rem;height:2.1rem}.zen-month .ghost-button{min-height:2.1rem;padding:0 .6rem}.toast-layer{bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.login-field input{letter-spacing:normal;text-transform:none;font-size:16px}.segment-control input,.segment-control textarea,input.date-field-text,.select-trigger,.select-value,.reservation-search input,.status-filter select,.date-filter input,.room-search input,.table-tools input{font-size:16px}.select-popup{max-width:calc(100vw - 1.5rem)}.select-option{white-space:normal;min-height:44px;font-size:16px}.date-popup{width:18.5rem;max-width:calc(100vw - 1.5rem)}.date-day{min-height:40px;font-size:.95rem}.date-popup-nav{width:44px;height:44px}.date-field-picker,.segment-control .date-field-picker{width:2.4rem;height:2.4rem}.login-shell{padding:var(--space-3)}.login-card{padding:var(--space-5) var(--space-4);gap:1rem}.page-header{flex-direction:column;align-items:stretch;gap:.6rem}.page-header .calendar-actions{justify-content:flex-end;width:100%}.page-header .calendar-actions>button{flex:auto}.table-action{min-height:2.75rem}.table-tools{flex-direction:column;align-items:stretch;gap:.5rem}.table-tools input{width:100%;min-width:0}.table-tools .select-field{width:100%;display:flex}.table-tools .select-trigger{width:100%}.table-pager{flex-wrap:wrap;justify-content:center;row-gap:.5rem}.table-pager span{text-align:center;flex:1 0 100%}.data-page .guest-table{min-width:0}.data-page .guest-table:not(.settings-table) th:nth-child(4),.data-page .guest-table:not(.settings-table) td:nth-child(4),.data-page .guest-table:not(.settings-table) th:nth-child(5),.data-page .guest-table:not(.settings-table) td:nth-child(5),.data-page .guest-table.settings-table th:nth-child(4),.data-page .guest-table.settings-table td:nth-child(4){display:none}.data-page .guest-table.company-table th:nth-child(5),.data-page .guest-table.company-table td:nth-child(5){display:table-cell}.data-page .guest-table th,.data-page .guest-table td{white-space:normal;padding:.85rem .65rem}.data-page .guest-table td{overflow-wrap:anywhere}.room-bar-grid{grid-template-columns:1fr}.settings-section{padding:.9rem .85rem 1rem}.type-row-actions .table-action,.rate-row .table-action{padding-inline:.9rem}.room-add>.view-button,.type-add-row>.view-button,.rate-add>.view-button{flex:1 0 100%}.modal-backdrop{padding:0}.reservation-modal{gap:var(--space-3);width:100%;max-width:100%;max-height:100dvh;padding-top:max(var(--space-4), env(safe-area-inset-top));border:0;border-radius:0}.modal-close{width:2.75rem;min-height:2.75rem}.modal-header{flex-wrap:wrap}.modal-header-side{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.modal-actions{gap:var(--space-2);flex-wrap:wrap}.modal-actions>button{flex:auto}.modal-compact .modal-actions.modal-actions-alt{flex-direction:column-reverse;align-items:stretch}.modal-actions-alt>.ghost-button{margin-inline-end:0}.modal-actions-side{flex-direction:column-reverse;align-items:stretch;display:flex}.stay-card{flex-wrap:wrap}.stay-room,.stay-price{border-right:0;flex:40%}.stay-price{border-left:1px solid var(--line)}.stay-route{border-top:1px solid var(--line);flex:100%;justify-content:space-between}.detail-actions,.folio-actions{column-gap:var(--space-3)}.action-cluster-right{justify-content:flex-start;row-gap:var(--space-3);flex:100%;margin-inline-start:0}.action-zone{flex:100%}.action-zone-open>button{flex:auto}.action-zone-state>.ghost-button{flex:0 auto}.action-zone-primary{flex-direction:column;align-items:stretch}.action-zone-primary:before{width:auto;height:1px;min-height:0;margin-bottom:var(--space-2)}.action-zone-primary>button{width:100%}.detail-actions button,.folio-actions button{white-space:normal}.reservation-modal .modal-actions{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}.summary-value{white-space:normal;text-overflow:clip;overflow:visible}.segment-control input,.segment-control input.date-field-text,.segment-control .select-trigger{min-height:2.75rem}.folio-lines{grid-template-columns:minmax(0,1fr)}.folio-lines .folio-row-head{display:none}.folio-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-height:2.75rem;display:flex}.folio-lines:has(.folio-pick) .folio-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-height:2.75rem;display:flex}.folio-row-desc{flex:100%;order:-1}.folio-row-calc,.folio-row-vat{text-align:left;flex:none}.folio-row-amount{flex:auto}.folio-row-tools{flex:none;margin-left:auto}.folio-pick{width:1.35rem;height:1.35rem}.folio-edit-bar,.folio-edit-bar-pay{flex:100%;grid-template-columns:minmax(0,1fr)}.form-segment+.form-segment{border-left:0}.folio-edit-bar .form-segment+.form-segment{border-top:1px solid var(--line)}.folio-row-actions{flex:100%;justify-content:flex-end}.folio-merge-field,.folio-merge-total-input,.folio-compose-amount,.folio-catalog-select{flex:100%;width:100%}.folio-select,.folio-compose-amount,.folio-merge-total-input,.folio-add-desc,.folio-ghost-button,.folio-billto-fields input{min-height:2.75rem;font-size:1rem}.folio-icon-button{width:2.75rem;height:2.75rem}.folio-actions .folio-due{flex:100%;justify-content:space-between;padding-right:0}.detail-link{flex-wrap:wrap}}.ksef-status{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.ksef-chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.78rem;line-height:1.6;display:inline-flex}.ksef-chip-ok{color:#4ade80;background:#22c55e1f;border-color:#22c55e59}.ksef-chip-idle{color:#94a3b8;background:#94a3b81f;border-color:#94a3b84d}.ksef-chip-warn{color:#facc15;background:#eab30824;border-color:#eab30859}.ksef-chip-bad{color:#f87171;background:#f8717124;border-color:#f8717166}.ksef-status-detail{color:#94a3b8;font-size:.78rem}.channels-list{flex-wrap:wrap;gap:.4rem .75rem;margin:0 0 .75rem;padding:0;font-size:.85rem;list-style:none;display:flex}.channel-price-table td{vertical-align:top}.channel-price-list{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.channel-price-custom{border-color:var(--accent);color:var(--accent);font-weight:600}.channel-price-invalid{border-color:var(--danger,#dc2626)}.channel-price-actions{justify-content:flex-end;margin:.75rem 0 1rem;display:flex}.channels-page h3 svg{color:var(--accent);vertical-align:-2px;margin-right:.4rem}.channels-page h3{margin:2rem 0 .5rem;font-size:1rem}.data-page{width:100%;max-width:100rem;margin-inline:auto}.page-section{gap:var(--space-3);padding-top:var(--space-4);display:grid}.page-section:first-of-type{padding-top:0}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--space-2) var(--space-4);border-bottom:1px solid var(--line);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.section-head-text{gap:var(--space-1);min-width:0;display:grid}.section-head-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-head h3,.data-page .section-head h3{align-items:center;gap:var(--space-2);color:var(--text);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600;display:flex}.settings-head h3 svg,.data-page .section-head h3 svg{color:var(--accent);margin-right:0}.section-head-sub{max-width:62ch;color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.45}.empty-state{justify-items:start;gap:var(--space-3);padding:var(--space-5) 0;color:var(--text-muted);display:grid}.empty-state p{margin:0;font-size:.9rem}.section-help{max-width:52rem;color:var(--text-secondary);font-size:.8rem}.section-help>summary{width:fit-content;color:var(--accent);cursor:pointer;list-style:none}.section-help>summary::-webkit-details-marker{display:none}.section-help>summary:before{content:"＋ ";font-size:.9em}.section-help[open]>summary:before{content:"－ "}.section-help>p,.section-help>ul{margin:.5rem 0 0}.channels-page h3:first-of-type{margin-top:1.5rem}.channels-page .ksef-status-detail{max-width:68ch;line-height:1.55}.channels-page .ksef-status{margin-bottom:.5rem}.channel-diagnostics{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.channel-diagnostics-toggle{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.9rem;display:inline-flex}.channel-diagnostics-toggle:hover{color:var(--text)}.channel-diagnostics-toggle svg{transition:transform .18s ease-out}.channel-diagnostics-toggle svg.is-open{transform:rotate(90deg)}.channel-diagnostics-badge{background:var(--danger-soft,#dc26261f);min-width:1.35rem;color:var(--danger,#dc2626);text-align:center;border-radius:999px;padding:.05rem .4rem;font-size:.78rem;font-weight:600}.channel-diagnostics-body{margin-top:.5rem}@media (prefers-reduced-motion:reduce){.channel-diagnostics-toggle svg{transition:none}}.channel-price-edit{align-items:center;gap:.5rem;display:flex}.channel-price-edit input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);width:6rem;min-width:0;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;flex:0 6rem;padding:.4rem .55rem}.channel-price-head{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.channel-price-name{font-weight:600}.channel-price-modes{flex-direction:column;gap:.5rem;margin:.75rem 0 1.25rem;padding:0;list-style:none;display:flex}.channel-price-mode-item{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.channel-price-mode-portal{min-width:8rem;color:var(--text);font-size:.875rem;font-weight:600}.channel-price-mode-row{align-items:center;gap:.4rem;font-weight:400;display:inline-flex}.channel-price-mode-row,.channel-price-mode-note,.channel-price-head .channel-price-warn,.channel-price-mode .select-trigger,.channel-price-mode .select-popup{text-transform:none;letter-spacing:normal}.channel-price-mode .select-trigger{min-height:2rem;padding:0 .6rem;font-size:.8rem}.channel-price-mode .select-popup{font-size:.8rem}.channel-price-mode-label{color:var(--text-secondary);white-space:nowrap;font-size:.78rem}.channel-price-mode{min-width:7.5rem}.channel-price-mode-busy{pointer-events:none;opacity:.6}.channel-price-mode-note{max-width:16rem;color:var(--text-secondary);white-space:normal;font-size:.75rem;font-weight:400}.channel-price-held{opacity:.55}.channel-price-warn{max-width:22rem;color:var(--text-secondary);white-space:normal;font-size:.75rem;font-weight:400}.channel-price-table td .channel-price-warn{color:var(--warning);margin-top:.25rem}.channel-price-actual{color:var(--text-secondary);font-variant-numeric:tabular-nums;align-items:baseline;gap:.4rem;margin-top:.3rem;font-size:.78rem;display:flex}.channel-price-adopt{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;text-decoration:underline}.channel-price-cell-mode{margin-top:var(--space-1);color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:.72rem}.channel-price-cell-mode:hover:not(:disabled),.channel-price-cell-mode:focus-visible{color:var(--accent);text-decoration:underline}.channel-price-cell-mode:disabled{cursor:default}.channel-price-pull{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0;display:flex}.channel-price-pull-date{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.channel-price-pull-date input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elevated);color:var(--text);font:inherit;padding:.35rem .5rem}.notif-menu{position:relative}.notif-button{border:1px solid var(--line-strong);width:2.25rem;height:2.25rem;color:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:relative}.notif-button:hover{background:var(--surface-elevated)}.notif-badge{background:var(--accent,#06b6d4);color:#04121a;text-align:center;border-radius:999px;min-width:1.05rem;height:1.05rem;padding:0 .25rem;font-size:.66rem;font-weight:700;line-height:1.05rem;position:absolute;top:-.25rem;right:0}.notif-dropdown{transform-origin:100% 0;width:min(26rem,100vw - 1.5rem);max-height:70vh;left:auto;right:0;overflow:hidden auto}.notif-empty{color:var(--text-muted,#8a8f98);margin:0;padding:.5rem .6rem .7rem;font-size:.85rem}.notif-list{gap:.15rem;min-width:0;display:grid}.notif-item{border-radius:var(--radius-sm,6px);width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:.55rem;padding:.5rem .6rem;display:flex}.notif-item:hover{background:var(--surface-elevated)}.notif-item-unread{background:color-mix(in srgb, var(--accent,#06b6d4) 8%, transparent)}.notif-dot{border-radius:999px;flex:none;width:.55rem;height:.55rem;margin-top:.35rem}.notif-dot-info{background:#22c55e}.notif-dot-warning{background:#f59e0b}.notif-dot-error{background:#ef4444}.notif-body{gap:.15rem;min-width:0;display:grid}.notif-message{overflow-wrap:anywhere;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;font-size:.83rem;line-height:1.35;display:-webkit-box;overflow:hidden}.notif-time{color:var(--text-muted,#8a8f98);font-size:.72rem}.menu-ksef .ksef-status{flex-wrap:wrap;gap:.3rem;margin:.15rem .3rem;display:flex}.menu-ksef .ksef-chip{white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:100%;padding:.25rem .55rem;font-size:.7rem;line-height:1.35}.menu-ksef .ksef-status-detail{overflow-wrap:anywhere;max-width:100%}
