:root{--ph-surface:#f7f9fb;--ph-surface-container-lowest:#ffffff;--ph-surface-container-low:#f2f4f6;--ph-surface-container:#eceef0;--ph-surface-variant:#e0e3e5;--ph-surface-card:#ffffff;--ph-on-surface:#191c1e;--ph-on-surface-variant:#45474c;--ph-text-main:#0f172a;--ph-text-muted:#475569;--ph-inverse-surface:#2d3133;--ph-inverse-on-surface:#eff1f3;--ph-outline:#75777d;--ph-outline-variant:#c5c6cd;--ph-border-subtle:#e2e8f0;--ph-primary:#091426;--ph-primary-container:#1e293b;--ph-on-primary:#ffffff;--ph-on-primary-container:#8590a6;--ph-primary-fixed:#d8e3fb;--ph-secondary:#006a61;--ph-secondary-container:#86f2e4;--ph-on-secondary:#ffffff;--ph-on-secondary-container:#006f66;--ph-secondary-fixed:#89f5e7;--ph-tertiary:#d97705;--ph-tertiary-container:#422000;--ph-tertiary-fixed:#ffdcc3;--ph-error:#ba1a1a;--ph-error-container:#ffdad6;--ph-on-error-container:#93000a;--ph-status-available:#10b981;--ph-status-occupied:#ef4444;--ph-status-cleaning:#f59e0b;--ph-status-maintenance:#64748b;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--container-max:1440px;--radius-sm:0.25rem;--radius:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--font:var(--font-inter,"Inter",system-ui,sans-serif);--mono:ui-monospace,"SF Mono","Cascadia Code",monospace;--bg:var(--ph-surface);--bg-subtle:var(--ph-surface-container);--bg-elevated:var(--ph-surface-container-lowest);--input-disabled-bg:var(--ph-surface-container-low);--surface:var(--ph-surface-card);--surface-hover:var(--ph-surface-container-low);--border:var(--ph-border-subtle);--border-strong:var(--ph-outline-variant);--border-focus:var(--ph-secondary);--form-control-transition:border-color 0.2s ease,box-shadow 0.2s ease,background-color 0.2s ease;--form-control-border-hover:color-mix(in srgb,var(--ph-secondary) 28%,var(--border));--form-control-focus-ring:0 0 0 3px color-mix(in srgb,var(--ph-secondary) 12%,transparent);--form-control-focus-ring-invalid:0 0 0 3px color-mix(in srgb,var(--danger) 12%,transparent);--form-select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--form-select-padding-right:2.25rem;--text:var(--ph-text-main);--text-secondary:var(--ph-on-surface-variant);--muted:var(--ph-text-muted);--accent:var(--ph-secondary);--accent-hover:#005a53;--accent-soft:rgba(0,106,97,0.1);--accent-muted:var(--ph-secondary-fixed);--success:var(--ph-status-available);--success-bg:rgba(16,185,129,0.1);--success-border:rgba(16,185,129,0.35);--warning:#92400e;--warning-bg:rgba(245,158,11,0.12);--warning-border:rgba(245,158,11,0.35);--danger:var(--ph-status-occupied);--danger-bg:rgba(239,68,68,0.1);--danger-border:rgba(239,68,68,0.35);--info-bg:rgba(0,106,97,0.1);--info-border:rgba(0,106,97,0.35);--info-text:var(--ph-secondary);--sidebar-w:240px;--sidebar-bg:var(--ph-primary);--sidebar-border:var(--ph-primary-container);--sidebar-text:#94a3b8;--sidebar-text-hover:var(--ph-inverse-on-surface);--sidebar-active-bg:rgba(0,106,97,0.14);--sidebar-active-text:#ffffff;--sidebar-accent:var(--ph-secondary);--header-h:56px;--shadow-sm:0 1px 4px rgba(15,23,42,0.04);--shadow:0 2px 8px rgba(15,23,42,0.06);--shadow-lg:0 12px 40px rgba(15,23,42,0.12)}.brand-logo{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:inherit;min-width:0}.brand-logo__mark{flex-shrink:0;display:block}.brand-logo__text{display:flex;flex-direction:column;min-width:0;gap:.12rem}.brand-logo__name-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:.28rem .35rem;line-height:1.15}.brand-wordmark{display:inline-flex;align-items:baseline;gap:0;line-height:1.15}.brand-wordmark__primary,.brand-wordmark__secondary{font-weight:700;letter-spacing:-.03em}.brand-logo__suite,.brand-wordmark__secondary{letter-spacing:-.02em}.brand-logo__suite{font-weight:600}.brand-logo__subtitle{font-size:.68rem;font-weight:600;letter-spacing:.06em;line-height:1.25;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-logo--sm .brand-logo__suite,.brand-logo--sm .brand-wordmark__primary,.brand-logo--sm .brand-wordmark__secondary{font-size:.9375rem}.brand-logo--md .brand-logo__suite,.brand-logo--md .brand-wordmark__primary,.brand-logo--md .brand-wordmark__secondary{font-size:1rem}.brand-logo--lg .brand-logo__suite,.brand-logo--lg .brand-wordmark__primary,.brand-logo--lg .brand-wordmark__secondary{font-size:1.35rem}.brand-logo--lg .brand-logo__subtitle{font-size:.72rem;letter-spacing:.08em}.brand-logo--light .brand-wordmark__primary{color:var(--ph-text-main)}.brand-logo--light .brand-logo__suite,.brand-logo--light .brand-wordmark__secondary{color:var(--ph-secondary)}.brand-logo--light .brand-logo__subtitle{color:var(--ph-text-muted)}.brand-logo--dark .brand-wordmark__primary{color:#fff}.brand-logo--dark .brand-logo__suite,.brand-logo--dark .brand-wordmark__secondary{color:var(--ph-secondary-fixed)}.brand-logo--dark .brand-logo__subtitle{color:var(--sidebar-text);letter-spacing:.06em;font-size:.62rem}.brand-logo--hero .brand-wordmark__primary{color:#fff}.brand-logo--hero .brand-logo__suite,.brand-logo--hero .brand-wordmark__secondary{color:var(--ph-secondary-fixed)}.brand-logo--hero .brand-logo__subtitle{color:rgba(255,255,255,.78);letter-spacing:.12em;font-size:.62rem}.brand-logo--hero.brand-logo--lg{margin-bottom:1.75rem}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;font-size:16px}.app-topbar-title,.card-title,.confirm-dialog-title,.login-brand h1,.login-hero h2,.page-header h1,h1,h2,h3{font-family:var(--font);font-weight:600;letter-spacing:-.01em}.admin-subnav-link,.badge,.data-table th,.filter-chip,.login-hints-title,.metric-label,.sidebar-group-label,.stat-label,label{font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.05em}.data-table,.metric-value,.mono-code,.stat-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{color:var(--ph-secondary);text-decoration:none}a:hover{color:var(--accent-hover)}code{font-family:var(--mono);font-size:.85em;background:var(--bg-subtle);padding:.1em .35em;border-radius:4px}@keyframes skeleton-pulse{0%,to{opacity:.35}50%{opacity:.7}}.skeleton{display:inline-block;background:var(--ph-surface-variant);border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton--kpi-value{width:6ch;height:1.85rem;vertical-align:middle}.skeleton--kpi-meta{width:14ch;height:.85rem}.skeleton--table-row{display:block;width:100%;height:3rem;margin-bottom:.25rem}.skeleton--text{width:100%;height:1em}.skeleton--text-short{width:8ch;height:1em}.app-layout{min-height:100vh;display:flex}.route-change-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .25s ease}.route-change-progress--active{opacity:1}.route-change-progress-bar{height:100%;width:100%;background:linear-gradient(90deg,var(--ph-secondary),color-mix(in srgb,var(--ph-secondary-container) 85%,var(--ph-secondary)));transform-origin:left center;transition:transform .22s ease;box-shadow:0 0 10px color-mix(in srgb,var(--ph-secondary) 40%,transparent)}@media (prefers-reduced-motion:reduce){.route-change-progress,.route-change-progress-bar{transition:none}}.sidebar-backdrop{display:none}.app-sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:200;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.15rem 1rem;border-bottom:1px solid var(--sidebar-border)}.sidebar-brand-text{min-width:0}.sidebar-brand-title{display:block;font-weight:700;font-size:1rem;letter-spacing:-.02em;line-height:1.2}.sidebar-brand-title,.sidebar-brand-title:hover{color:#fff;text-decoration:none}.sidebar-brand-sub{display:block;font-size:.68rem;color:var(--sidebar-text);margin-top:.1rem;letter-spacing:.02em;text-transform:uppercase}.sidebar-nav{flex:1 1;padding:.75rem .65rem 1rem}.sidebar-group{margin-bottom:1rem}.sidebar-group-label{display:block;padding:.35rem .75rem;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#475569}.sidebar-group-list{list-style:none;margin:0;padding:0}.sidebar-link{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;margin-bottom:.1rem;border-radius:var(--radius-sm);border-left:3px solid transparent;font-size:.8125rem;font-weight:500;color:var(--sidebar-text);text-decoration:none;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.sidebar-link:hover{background:var(--ph-primary-container);color:var(--sidebar-text-hover);text-decoration:none}.sidebar-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);border-left-color:var(--sidebar-accent);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);font-weight:600}.nav-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.85}.sidebar-link.active .nav-icon{opacity:1;color:var(--ph-secondary-container)}.sidebar-flyout{position:relative;list-style:none}.sidebar-flyout-trigger{width:100%;border:none;background:none;font-family:inherit;cursor:pointer;text-align:left}.sidebar-flyout-label{min-width:0}.sidebar-flyout-text{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.sidebar-flyout-chevron-wrap{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;flex-shrink:0;border-radius:3px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}.sidebar-flyout-chevron{opacity:.75;transition:transform .15s ease,opacity .15s ease}.sidebar-flyout-chevron .nav-icon{width:.65rem;height:.65rem}.sidebar-flyout-trigger.active .sidebar-flyout-chevron,.sidebar-flyout-trigger.open .sidebar-flyout-chevron,.sidebar-flyout-trigger:hover .sidebar-flyout-chevron{opacity:.95}.sidebar-flyout-trigger.open .sidebar-flyout-chevron{transform:rotate(90deg)}.sidebar-flyout-backdrop{position:fixed;inset:0;z-index:205;border:none;padding:0;background:transparent;cursor:default}.sidebar-flyout-panel{z-index:210;background:var(--sidebar-bg);border:1px solid var(--sidebar-border);box-shadow:8px 0 24px rgba(15,23,42,.28);overflow-y:auto}.sidebar-flyout-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1rem .65rem;border-bottom:1px solid var(--sidebar-border)}.sidebar-flyout-close{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);background:rgba(255,255,255,.06);color:var(--sidebar-text);font-size:1.1rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}.sidebar-flyout-close:hover{background:rgba(255,255,255,.12);color:var(--sidebar-text-hover)}.sidebar-flyout-panel-title{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.sidebar-flyout-section{padding:.65rem 0 .25rem}.sidebar-flyout-section-label{display:block;padding:.35rem 1rem .25rem;font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.sidebar-flyout-list{list-style:none;margin:0;padding:.25rem .5rem .5rem}.sidebar-flyout-link{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border-radius:var(--radius-sm);border-left:3px solid transparent;font-size:.8125rem;font-weight:500;color:var(--sidebar-text);text-decoration:none;transition:background .15s,color .15s,border-color .15s}.sidebar-flyout-link:hover{background:var(--ph-primary-container);color:var(--sidebar-text-hover);text-decoration:none}.sidebar-flyout-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);border-left-color:var(--sidebar-accent);font-weight:600}.sidebar-flyout-link.active .nav-icon{opacity:1;color:var(--ph-secondary-container)}@media (min-width:961px){.sidebar-flyout-panel{position:fixed;top:var(--header-h);bottom:0;left:var(--sidebar-w);width:15.5rem;z-index:215}}@media (max-width:960px){.sidebar-flyout-backdrop{display:none}.sidebar-flyout-panel{position:static;width:auto;margin:.15rem 0 .35rem .35rem;border:none;border-left:2px solid var(--sidebar-border);box-shadow:none;background:transparent}.sidebar-flyout-panel-head{display:none}}.sidebar-admin-nav{margin-top:0}.sidebar-admin-section{margin-top:.15rem}.sidebar-admin-section-label{display:block;padding:.55rem .75rem .2rem 1.1rem;font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.sidebar-admin-section-list{list-style:none;margin:0;padding:0}.sidebar-link--nested{padding-left:1.35rem;font-size:.78rem;font-weight:500}.sidebar-link--nested .nav-icon{display:none}.sidebar-property{padding:1rem 1.15rem;border-top:1px solid var(--sidebar-border);font-size:.78rem;color:var(--sidebar-text);line-height:1.4}.sidebar-property-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem;color:#64748b}.sidebar-property strong{display:block;color:#e2e8f0;font-size:.8125rem}.sidebar-property-code{display:block;font-family:var(--mono);font-size:.72rem;margin-top:.15rem;color:#64748b}.property-switcher-select{width:100%;margin-top:.15rem;padding:.4rem .5rem;border-radius:6px;border:1px solid var(--sidebar-border);background:#1e293b;color:#e2e8f0;font-size:.8125rem;line-height:1.3}.property-switcher-select:disabled{opacity:.6;cursor:wait}.app-content{flex:1 1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-width:0;min-height:100vh}.app-topbar{justify-content:space-between;gap:1rem;padding:0 1.5rem;height:var(--header-h);background:var(--ph-surface-card);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:210}.app-topbar,.app-topbar-left{display:flex;align-items:center}.app-topbar-left{gap:.75rem;min-width:0}.app-topbar-title{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.02em;color:var(--text);line-height:1.2}.app-topbar-sub{margin:.1rem 0 0;font-size:.75rem;color:var(--muted)}.app-topbar-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.activity-bell-wrap{position:relative}.activity-bell-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--ph-surface-card);color:var(--ph-on-surface);cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.activity-bell-btn--open,.activity-bell-btn:hover{border-color:var(--ph-secondary);background:rgba(0,106,97,.08);color:var(--ph-secondary);box-shadow:0 0 0 2px rgba(0,106,97,.12)}.activity-bell-badge{position:absolute;top:-.35rem;right:-.35rem;min-width:1.125rem;height:1.125rem;padding:0 .3rem;border-radius:999px;background:var(--ph-error);color:#fff;font-size:.6875rem;font-weight:700;line-height:1.125rem;text-align:center;letter-spacing:-.02em;box-shadow:0 0 0 2px var(--ph-surface-card)}.activity-bell-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:120;width:min(22rem,calc(100vw - 2rem));max-height:min(28rem,calc(100vh - var(--header-h) - 2rem));display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--ph-surface-card);box-shadow:var(--shadow-lg)}.activity-bell-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.activity-bell-panel-title{margin:0;font-size:.9rem;font-weight:600;color:var(--text)}.activity-bell-panel-body{overflow-y:auto;padding:0 1rem}.activity-bell-panel-body .dash-activity-item{padding:.75rem 0}.activity-bell-panel-body .dash-activity-icon{width:32px;height:32px}.activity-bell-panel-empty,.activity-bell-panel-error{margin:0;padding:1rem;font-size:.8125rem;color:var(--muted)}.activity-bell-panel-error{color:var(--ph-error)}.activity-bell-panel-footer{padding:.65rem 1rem .85rem;border-top:1px solid var(--border)}.activity-bell-panel-link{font-size:.8125rem;font-weight:600;color:var(--ph-secondary);text-decoration:none}.activity-bell-panel-link:hover{text-decoration:underline}.locale-switcher{display:inline-flex;align-items:center;gap:.35rem}.locale-switcher-label{font-size:.75rem;color:var(--muted)}.locale-switcher-select{font:inherit;font-size:.8125rem;padding:.25rem .5rem;color:inherit}.locale-switcher--compact,.locale-switcher-select{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.locale-switcher--compact{gap:.15rem;padding:.15rem}.locale-switcher-btn{font:inherit;font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:.25rem .45rem;border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--muted);cursor:pointer}.locale-switcher-btn.active{background:var(--ph-secondary);color:#fff}.sidebar-locale{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--sidebar-border)}.sidebar-locale-label{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sidebar-text)}.sidebar-locale-switcher.locale-switcher--compact{border-color:var(--sidebar-border);background:rgba(0,0,0,.15)}.sidebar-locale-switcher .locale-switcher-btn{color:var(--sidebar-text)}.sidebar-locale-switcher .locale-switcher-btn:hover{color:var(--sidebar-text-hover)}.sidebar-locale-switcher .locale-switcher-btn.active{background:var(--ph-secondary);color:#fff}.app-topbar-locale.locale-switcher--compact{border-color:var(--border)}.sidebar-toggle{display:none}.app-main{flex:1 1;max-width:var(--container-max);width:100%;margin:0 auto;padding:var(--space-lg) var(--space-md)}.staff-logo{width:36px;height:36px;border-radius:var(--radius);background:var(--ph-secondary);justify-content:center;font-weight:600;font-size:.72rem;letter-spacing:.04em;color:var(--ph-on-secondary);flex-shrink:0}.staff-logo,.staff-user{display:flex;align-items:center}.staff-user{gap:.65rem;padding:.35rem .5rem .35rem .75rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-hover)}.staff-user-avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.staff-user-info{line-height:1.25;display:none}.staff-user-name{font-size:.8125rem;font-weight:600;color:var(--text)}.staff-user-role{font-size:.68rem;color:var(--muted)}.staff-logout{padding:.35rem .65rem!important;font-size:.75rem!important;border-radius:999px!important}.staff-meta{text-align:right;font-size:.8rem;color:var(--muted)}@media (min-width:900px){.staff-user-info{display:block}}@media (max-width:960px){.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:150;opacity:0;pointer-events:none;transition:opacity .2s}.app-layout.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.app-sidebar{transform:translateX(-100%);transition:transform .22s ease}.app-layout.sidebar-open .app-sidebar{transform:translateX(0)}.app-content{margin-left:0}.sidebar-toggle{display:inline-flex}}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1.25rem;background:#422006;color:#fef3c7;border-bottom:1px solid #78350f;font-size:.8125rem}.staff-shell{min-height:100vh}.staff-main{flex:1 1;max-width:1440px;width:100%;margin:0 auto;padding:1.5rem 1.75rem 2rem}.page-header{margin-bottom:1.35rem}.page-header h1{margin:0 0 .4rem;font-size:1.5rem;font-weight:600;letter-spacing:-.01em;color:var(--text);line-height:1.25}.page-header-desc{margin:0;color:var(--muted);font-size:.9rem;max-width:56ch;line-height:1.55}.page-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.back-link:before{content:"←";margin-right:.25rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--muted);margin-bottom:.85rem;text-decoration:none}.back-link:hover{color:var(--accent);text-decoration:none}.page-grid{display:grid;grid-template-columns:1fr 320px;grid-gap:1.5rem;gap:1.5rem;align-items:start}@media (max-width:900px){.page-grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg) var(--space-md);box-shadow:var(--shadow-sm)}.card--table{padding-bottom:0;overflow:hidden}.card-title{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text);letter-spacing:-.01em}.card-desc{margin:0 0 1.25rem;color:var(--muted);font-size:.875rem;line-height:1.5}.card-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem 1.25rem;margin-bottom:1rem}.card-section-header-text{flex:1 1;min-width:0}.card-section-header-text .card-title{margin-bottom:.25rem}.card-section-header-text .card-desc{margin-bottom:0;max-width:52ch}.card-section-header-actions{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:.5rem;margin-left:auto}@media (max-width:640px){.card-section-header{flex-direction:column;align-items:stretch}.card-section-header-actions{width:100%;margin-left:0;justify-content:flex-end}}.card-muted{background:var(--surface-hover);border-style:dashed}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.module-card{display:flex;flex-direction:column;gap:.5rem;padding:var(--space-md) var(--space-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,background .15s;color:inherit;text-decoration:none}.module-card:hover{border-color:var(--ph-secondary);background:var(--ph-surface-container-low);text-decoration:none}.module-card-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);background:var(--accent-soft);color:var(--ph-secondary);font-weight:600;font-size:.95rem;margin-bottom:.15rem}.module-card-title{font-weight:600;font-size:.95rem;color:var(--text)}.module-card-desc{font-size:.8125rem;color:var(--muted);line-height:1.45;flex:1 1}.module-card-badge{align-self:flex-start}.stepper{display:flex;gap:0;margin-bottom:1.5rem;overflow-x:auto;padding-bottom:.25rem}.stepper-item{flex:1 1;min-width:100px;display:flex;flex-direction:column;align-items:center;position:relative;padding:0 .5rem}.stepper-item:not(:last-child):after{content:"";position:absolute;top:14px;left:calc(50% + 18px);width:calc(100% - 36px);height:2px;background:var(--border)}.stepper-item.active:not(:last-child):after,.stepper-item.done:not(:last-child):after{background:var(--accent)}.stepper-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;background:var(--bg-elevated);border:2px solid var(--border-strong);color:var(--muted);z-index:1}.stepper-item.active .stepper-dot{border-color:var(--accent);background:var(--accent);color:#fff}.stepper-item.done .stepper-dot{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}.stepper-label{margin-top:.4rem;font-size:.7rem;text-align:center;color:var(--muted);line-height:1.2}.stepper-item.active .stepper-label{color:var(--text);font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem 1.25rem;gap:1rem 1.25rem}.form-grid .span-2{grid-column:span 2}@media (max-width:600px){.form-grid{grid-template-columns:1fr}.form-grid .span-2,.privacy-consent-field{grid-column:span 1}}.privacy-consent-field{grid-column:span 2;padding:.85rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.privacy-consent-field--invalid{border-color:var(--danger)}.privacy-consent-label{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;line-height:1.5;color:var(--text);cursor:pointer;margin:0;text-transform:none;letter-spacing:normal;font-weight:400}.privacy-consent-label input[type=checkbox]{width:1rem;height:1rem;margin:.15rem 0 0;flex-shrink:0;accent-color:var(--ph-secondary);cursor:pointer}.privacy-consent-field .field-error{margin-top:.5rem;margin-left:1.75rem}.privacy-consent-label strong{font-weight:600;color:var(--text)}.field>label.checkbox-label,label.checkbox-label{display:inline-flex;align-items:center;gap:.65rem;font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-transform:none;letter-spacing:normal;margin-bottom:0}.checkbox-label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:2.25rem;height:1.25rem;background-color:var(--border-strong);border-radius:999px;position:relative;cursor:pointer;outline:none;border:2px solid transparent;transition:background-color .2s ease,box-shadow .2s ease;flex-shrink:0;margin:0}.checkbox-label input[type=checkbox]:after{content:"";position:absolute;top:1px;left:1px;width:calc(1.25rem - 6px);height:calc(1.25rem - 6px);background-color:white;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .2s cubic-bezier(.4,0,.2,1)}.checkbox-label input[type=checkbox]:checked{background-color:var(--accent)}.checkbox-label input[type=checkbox]:checked:after{transform:translateX(1rem)}.checkbox-label input[type=checkbox]:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.checkbox-label input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.pii-badge{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;border-radius:999px;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:rgba(245,158,11,.15);color:#92400e;vertical-align:middle}.pii-badge--anon{background:rgba(100,116,139,.15);color:#475569}.field>label{display:block;font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.35rem}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;padding:.55rem .75rem;background-color:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:inherit;transition:var(--form-control-transition)}.field textarea{min-height:72px;resize:vertical}.field-hint{font-size:.75rem;color:var(--muted);margin-top:.25rem}.field-error{font-size:.75rem;color:var(--danger);margin-top:.35rem;line-height:1.35}.field--invalid input:not([type=checkbox]):not([type=radio]),.field--invalid select,.field--invalid textarea{border-color:var(--danger)}.activity-log-filter-field--time input[type=time],.billing-input,.billing-org-select,.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.fo-filter-select,.platform-filter-select,.platform-form-field input,.platform-form-field select,.platform-form-field textarea,.platform-form-grid input,.platform-form-grid select,.platform-form-grid textarea,.platform-inline-form input,.platform-search-input,.rates-search input,.rates-tier-table .rates-tier-input,.rbac-search input,.room-availability-filter select{transition:var(--form-control-transition)}.activity-log-filter-field--time input[type=time]:hover:not(:disabled),.billing-input:hover:not(:disabled):not([readonly]),.billing-org-select:hover:not(:disabled),.field input:not([type=checkbox]):not([type=radio]):hover:not(:disabled):not([readonly]),.field select:hover:not(:disabled),.field textarea:hover:not(:disabled):not([readonly]),.fo-filter-select:hover:not(:disabled),.platform-filter-select:hover:not(:disabled),.platform-form-field input:hover:not(:disabled):not([readonly]),.platform-form-field select:hover:not(:disabled),.platform-form-field textarea:hover:not(:disabled):not([readonly]),.platform-form-grid input:hover:not(:disabled):not([readonly]),.platform-form-grid select:hover:not(:disabled),.platform-form-grid textarea:hover:not(:disabled):not([readonly]),.platform-inline-form input:hover:not(:disabled):not([readonly]),.platform-search-input:hover:not(:disabled),.rates-search input:hover:not(:disabled),.rates-tier-table .rates-tier-input:hover:not(:disabled),.rbac-search input:hover:not(:disabled),.room-availability-filter select:hover:not(:disabled){border-color:var(--form-control-border-hover)}.activity-log-filter-field--time input[type=time]:focus,.billing-input:focus,.billing-org-select:focus,.field input:not([type=checkbox]):not([type=radio]):focus,.field select:focus,.field textarea:focus,.fo-filter-select:focus,.platform-filter-select:focus,.platform-form-field input:focus,.platform-form-field select:focus,.platform-form-field textarea:focus,.platform-form-grid input:focus,.platform-form-grid select:focus,.platform-form-grid textarea:focus,.platform-inline-form input:focus,.platform-search-input:focus,.rates-search input:focus,.rates-tier-table .rates-tier-input:focus,.rbac-search input:focus,.room-availability-filter select:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--form-control-focus-ring)}.field--invalid input:not([type=checkbox]):not([type=radio]):focus,.field--invalid select:focus,.field--invalid textarea:focus{border-color:var(--danger);box-shadow:var(--form-control-focus-ring-invalid)}.billing-org-select,.field select,.fo-filter-select,.platform-filter-select,.platform-form-field select,.platform-form-grid select,.room-availability-filter select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--form-select-padding-right);background-image:var(--form-select-chevron);background-repeat:no-repeat;background-position:right .65rem center;background-size:.75rem;cursor:pointer}.billing-org-select:disabled,.field select:disabled,.fo-filter-select:disabled,.platform-filter-select:disabled,.platform-form-field select:disabled,.platform-form-grid select:disabled,.room-availability-filter select:disabled{cursor:not-allowed;background-image:var(--form-select-chevron)}.billing-input:disabled,.billing-input[readonly],.field input:not([type=checkbox]):not([type=radio]):disabled,.field input:not([type=checkbox]):not([type=radio])[readonly],.field select:disabled,.field textarea:disabled,.field textarea[readonly],.login-input--readonly,.login-input:disabled,.login-input[readonly],.platform-form-field input:disabled,.platform-form-field input[readonly],.platform-form-field select:disabled,.platform-form-field textarea:disabled,.platform-form-field textarea[readonly],.platform-form-grid input:disabled,.platform-form-grid input[readonly],.platform-form-grid select:disabled,.platform-form-grid textarea:disabled,.platform-form-grid textarea[readonly]{background-color:var(--input-disabled-bg);color:var(--text-secondary);border-color:var(--border);box-shadow:none}.billing-input:disabled,.field input:not([type=checkbox]):not([type=radio]):disabled,.field select:disabled,.field textarea:disabled,.login-input:disabled,.platform-form-field input:disabled,.platform-form-field select:disabled,.platform-form-field textarea:disabled,.platform-form-grid input:disabled,.platform-form-grid select:disabled,.platform-form-grid textarea:disabled{cursor:not-allowed;opacity:1}.billing-input[readonly]:not(:disabled),.field input:not([type=checkbox]):not([type=radio])[readonly]:not(:disabled),.field textarea[readonly]:not(:disabled),.login-input--readonly,.login-input[readonly]:not(:disabled),.platform-form-field input[readonly]:not(:disabled),.platform-form-field textarea[readonly]:not(:disabled),.platform-form-grid input[readonly]:not(:disabled),.platform-form-grid textarea[readonly]:not(:disabled){cursor:default}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s;line-height:1.25}.btn,.btn:hover{text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--ph-secondary);color:var(--ph-on-secondary);border-color:var(--ph-secondary)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--ph-on-secondary)}.btn-secondary{background:var(--ph-surface-container-lowest)}.btn-secondary,.btn-secondary:hover:not(:disabled){color:var(--ph-primary);border-color:var(--ph-primary)}.btn-secondary:hover:not(:disabled){background:var(--ph-surface-container-low)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent;padding:.45rem}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-sm{padding:.35rem .65rem;font-size:.8rem}.btn-block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.badge{display:inline-block;padding:.2rem .55rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;border:1px solid transparent}.badge-hold{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.badge-confirmed{background:var(--info-bg);color:var(--info-text);border-color:var(--info-border)}.badge-checked-in{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.badge-checked-out{background:color-mix(in srgb,var(--ph-secondary) 8%,var(--surface));color:var(--ph-on-surface-variant);border-color:color-mix(in srgb,var(--ph-secondary) 22%,var(--border))}.badge-no-show{background:rgba(148,163,184,.14);color:#475569;border-color:rgba(148,163,184,.35)}.badge-cancelled{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.summary-card{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + 1rem)}.summary-card-title{margin:0 0 .85rem;font-size:1rem;font-weight:600;color:var(--text)}.summary-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.summary-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.summary-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.25rem;font-weight:600}.summary-value{font-size:.9rem;color:var(--text-secondary)}.summary-value strong{font-family:var(--mono);font-size:.95rem;color:var(--text)}.summary-value-muted{font-size:.8125rem;color:var(--muted);margin-top:.25rem;line-height:1.4}.summary-value-spaced{margin-top:.5rem}.room-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.room-card{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.85rem 1rem;text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-family:inherit;font-size:.9rem;transition:border-color .15s,background .15s,box-shadow .15s}.room-card:hover{border-color:var(--border-focus);background:var(--accent-soft);box-shadow:var(--shadow-sm)}.room-card-selected,.room-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.room-card-meta{font-size:.8rem;color:var(--muted)}.room-move-context{margin-bottom:1rem;padding:.85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--ph-surface-container-low)}.room-move-context-grid{display:grid;grid-template-columns:minmax(6rem,.85fr) minmax(10rem,1.15fr);grid-gap:.65rem;gap:.65rem}.room-move-context-item{display:flex;flex-direction:column;gap:.25rem;min-width:0;padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated)}.room-move-context-item--room{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.room-move-context-item--type{border-color:var(--ph-secondary);box-shadow:inset 3px 0 0 var(--ph-secondary)}.room-move-context-label{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.room-move-context-value{font-size:1.35rem;font-weight:700;line-height:1.15;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.room-move-context-item--type .room-move-context-value{font-size:1rem;font-weight:600}.room-move-context-code{display:inline-flex;align-self:flex-start;padding:.15rem .5rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;border-radius:999px;background:var(--accent-soft);color:var(--ph-secondary);border:1px solid var(--ph-outline-variant)}.room-move-context-meta{font-size:.75rem;color:var(--muted)}.room-move-context-ref{margin:.65rem 0 0;font-size:.78rem;color:var(--muted)}.room-move-context-ref code{font-family:var(--font-mono,ui-monospace,monospace);font-size:.82rem;font-weight:600;color:var(--text-secondary);background:var(--bg-subtle);padding:.1rem .35rem;border-radius:.25rem}.room-move-context-hint{margin:.55rem 0 0;font-size:.8rem;color:var(--muted);line-height:1.45}.room-move-selected-grid{display:grid;grid-template-columns:minmax(6rem,.85fr) minmax(10rem,1.15fr);grid-gap:.5rem;gap:.5rem;margin-top:.35rem}.room-move-selected-item{padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated)}.room-move-selected-item--room{border-color:var(--success);box-shadow:inset 3px 0 0 var(--success)}.room-move-selected-item--type{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.room-move-selected-value{font-size:1.1rem;font-weight:700;color:var(--text)}.room-move-selected-item--type .room-move-selected-value{font-size:.95rem;font-weight:600}.room-move-selected-meta{display:block;margin-top:.45rem;font-size:.78rem;color:var(--text-secondary)}.room-move-filters{display:grid;grid-template-columns:minmax(10rem,1.4fr) minmax(8rem,1fr) minmax(8rem,1fr);grid-gap:.65rem;gap:.65rem;margin-bottom:.75rem}.room-move-filters .field{margin:0}.room-move-filters .field label{font-size:.68rem}.room-move-chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.65rem}.room-move-results-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;font-size:.8rem;color:var(--muted)}.room-move-scroll{max-height:min(50vh,22rem);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:1rem}.room-move-group+.room-move-group{border-top:1px solid var(--border)}.room-move-group-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.55rem .75rem;border:none;background:var(--surface-hover);color:var(--text);font-family:inherit;font-size:.8rem;font-weight:600;text-align:left;cursor:pointer}.room-move-group-header:hover{background:var(--accent-soft)}.room-move-group-header[aria-expanded=false]+.room-move-table-wrap{display:none}.room-move-group-title{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0}.room-move-group-meta{font-weight:400;color:var(--muted);font-size:.75rem}.room-move-group-chevron{flex-shrink:0;color:var(--muted);font-size:.7rem}.room-move-table-wrap{overflow-x:auto}.room-move-table{margin:0;font-size:.8rem}.room-move-table td,.room-move-table th{padding:.45rem .65rem}.room-move-table tbody tr{cursor:pointer}.room-move-table tbody tr.room-move-row-selected td{background:var(--accent-soft)}.room-move-table tbody tr.room-move-row-disabled{cursor:not-allowed;opacity:.65}.room-move-table tbody tr.room-move-row-disabled:hover td{background:var(--surface)}.room-move-badge{display:inline-block;padding:.1rem .45rem;font-size:.65rem;font-weight:600;letter-spacing:.03em;border-radius:999px;white-space:nowrap}.room-move-badge-upgrade{color:var(--warning);background:var(--warning-bg)}.room-move-badge-downgrade{color:var(--accent);background:var(--accent-soft)}.room-move-badge-same{color:var(--muted);background:var(--bg-subtle)}.room-move-badge-cross{color:var(--accent);background:var(--accent-soft)}.room-move-badge-blocked{color:var(--muted);background:var(--bg-subtle)}.room-move-selected{padding:.65rem .85rem;margin-bottom:1rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);font-size:.85rem}.room-move-selected strong{display:block;margin-bottom:.2rem}@media (max-width:720px){.room-move-context-grid,.room-move-filters,.room-move-selected-grid{grid-template-columns:1fr}}.folio-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:1rem 0}.folio-table td,.folio-table th{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.folio-table th{color:var(--muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-hover)}.folio-table td.amount{text-align:right;font-family:var(--mono)}.folio-totals{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.folio-totals-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--text-secondary)}.folio-totals-row.due{font-weight:700;font-size:1rem;color:var(--warning)}.status-alert{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.875rem;line-height:1.45;animation:status-alert-in .22s ease}.status-alert--auth{border-radius:var(--radius)}.status-alert__icon{display:flex;flex-shrink:0;margin-top:.05rem}.status-alert__content{flex:1 1;min-width:0}.status-alert__content :first-child{margin-top:0}.status-alert__content :last-child{margin-bottom:0}.status-alert__dismiss{flex-shrink:0;align-self:flex-start;margin:-.15rem -.25rem 0 0;padding:.15rem .45rem;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;font-size:1.15rem;line-height:1;cursor:pointer;opacity:.72;transition:opacity .15s,background .15s}.status-alert__dismiss:hover{opacity:1;background:rgba(0,0,0,.06)}.status-alert--error{background:var(--danger-bg);border:1px solid var(--danger-border);color:#991b1b}.status-alert--success{background:var(--success-bg);border:1px solid var(--success-border);color:#065f46}.status-alert--warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning)}.status-alert--info{background:var(--info-bg);border:1px solid var(--info-border);color:var(--info-text)}.status-alert--info strong,.status-alert--warning strong{color:inherit}@keyframes status-alert-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.alert{padding:.85rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.875rem;line-height:1.45}.alert-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:#991b1b}.alert-success{background:var(--success-bg);border:1px solid var(--success-border);color:#065f46}.alert-info{background:var(--info-bg);border:1px solid var(--info-border);color:var(--info-text)}.alert-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning)}.alert-warning strong{color:inherit}.alert-list{margin:.5rem 0 0;padding-left:1.25rem}.night-audit-ack{margin:0 0 1.25rem;padding:.85rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.fo-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.fo-header,.fo-toolbar{display:flex;gap:1rem;flex-wrap:wrap}.fo-toolbar{align-items:flex-end;margin-bottom:1rem}.fo-toolbar--split{align-items:center;justify-content:space-between;margin-bottom:.85rem}.fo-toolbar-title{margin:0;font-size:1rem}.fo-toolbar-field{margin:0;width:auto;min-width:0;flex-shrink:0}.fo-toolbar-field label{font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--muted);margin-bottom:.3rem}.fo-filter-select{min-width:9.5rem;padding:.45rem 2rem .45rem .65rem;font-family:inherit;font-size:.8125rem;color:var(--text);background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.fo-rack-card{margin-bottom:1.25rem}.fo-rack-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem 1.25rem;flex-wrap:wrap;margin-bottom:.85rem}.fo-rack-heading{min-width:0}.fo-rack-meta{margin:.35rem 0 0;font-size:.8125rem;color:var(--muted)}.fo-rack-hint{margin:.35rem 0 0;font-size:.75rem;color:var(--ph-secondary)}.fo-rack-filters{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:.65rem .75rem}.fo-rack-density{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg)}.fo-density-btn{border:none;background:transparent;padding:.45rem .65rem;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.fo-density-btn+.fo-density-btn{border-left:1px solid var(--border)}.fo-density-btn:hover{color:var(--text);background:var(--ph-surface-container-low)}.fo-density-btn.active{background:var(--accent-soft);color:var(--ph-secondary);font-weight:600}.room-rack-scroll{max-height:min(28rem,55vh);overflow:auto;overscroll-behavior:contain;padding-right:.15rem;margin-right:-.15rem}.room-rack-empty{color:var(--muted);text-align:center;margin:1rem 0}.room-rack-grid--compact{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.4rem}.room-rack-grid--compact .room-rack-tile{min-height:4.75rem;padding:.45rem .5rem;gap:.25rem}.room-rack-grid--compact .room-rack-status-badge{font-size:.58rem;padding:.1rem .35rem}.room-rack-status-badge{font-size:.65rem}.room-rack-departure{font-size:.7rem;color:var(--muted)}.room-rack-action-btn{padding:.25rem .5rem;font-size:.7rem;margin:0}@media (max-width:720px){.fo-rack-header{flex-direction:column;align-items:stretch}.fo-rack-filters{justify-content:stretch}.fo-rack-density{width:100%}.fo-density-btn{flex:1 1}}@media (max-width:520px){.fo-toolbar--split{flex-direction:column;align-items:stretch}.fo-filter-select,.fo-toolbar-field{width:100%}}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.75rem;gap:.75rem;margin-bottom:1.25rem}.ops-page-lead{margin:.35rem 0 0;font-size:.8125rem;color:var(--muted);max-width:52ch;line-height:1.45}.reservations-list-card{overflow:hidden}.reservations-list-card.is-fetching{opacity:.92}.reservations-list-card.is-fetching .table-scroll{pointer-events:none}.data-table-skeleton{padding:1rem 1.25rem 1.25rem}.data-table-skeleton .skeleton--table-row:last-child{margin-bottom:0}.metric-row{grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem}.admin-stat-row,.metric-row{display:grid;gap:.75rem;margin-bottom:1.25rem}.admin-stat-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem}.metric-row .metric-card{padding:.85rem 1rem;box-shadow:var(--shadow-sm)}.metric-row .metric-value{font-size:1.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-row .metric-label{font-size:.6875rem;line-height:1.35}@media (max-width:900px){.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.metric-row,.stat-row{grid-template-columns:1fr}}.filter-chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.filter-chip{padding:.35rem .75rem;font-size:.75rem;font-weight:600;letter-spacing:.03em;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--ph-surface-container);color:var(--ph-on-secondary-container);cursor:pointer;font-family:var(--font);transition:background .15s,border-color .15s,color .15s}.filter-chip:hover{border-color:var(--ph-outline);color:var(--text)}.filter-chip.active{background:var(--accent-soft);border-color:var(--ph-secondary);color:var(--ph-secondary)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;text-align:left;cursor:pointer;font-family:inherit;color:var(--text);transition:border-color .15s,background .15s}.stat-card:hover{border-color:var(--ph-secondary);background:var(--ph-surface-container-low)}.stat-card-active{border-color:var(--ph-secondary);background:var(--accent-soft)}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.15rem}.metric-label{display:block;font-size:.72rem;color:var(--muted);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.04em}.metric-value{display:block;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.1}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:3rem 1.5rem;color:var(--muted)}.loading-spinner{width:28px;height:28px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{text-align:center;padding:2.5rem 1.5rem}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--bg-subtle);color:var(--muted);margin-bottom:.85rem}.empty-state-title{margin:0 0 .35rem;font-weight:600;color:var(--text)}.empty-state-desc{margin:0 auto;max-width:40ch;font-size:.875rem;color:var(--muted);line-height:1.5}.inv-override-panel{margin-top:1.25rem;padding:1rem 1.1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius)}.inv-override-panel-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600}.stat-value{display:block;font-size:1.65rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text)}.stat-label{display:block;font-size:.78rem;color:var(--muted);margin-top:.25rem;font-weight:500}.data-table-shell,.table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}.data-table-shell--flush{border:none;border-radius:0;box-shadow:none;border-top:1px solid var(--border);margin-top:.85rem}.data-table-toolbar{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1rem 0}.data-table-toolbar .filter-chip-row,.data-table-toolbar .search-row{margin-bottom:0}.data-table-toolbar--reservations{padding:.85rem 1.25rem;border-bottom:1px solid var(--border);background:var(--ph-surface-container-low)}.reservations-toolbar-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem}.reservations-toolbar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;flex:1 1 420px;min-width:0}.reservations-toolbar-filters .filter-chip{display:inline-flex;align-items:center;min-height:2rem;padding-inline:.7rem;white-space:nowrap}.reservations-toolbar-search{display:flex;align-items:center;gap:.5rem;flex:0 1 320px;min-width:min(100%,240px)}.reservations-toolbar-search input{flex:1 1;min-width:0;height:2rem;padding:0 .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-family:inherit;color:var(--text);transition:var(--form-control-transition)}.reservations-toolbar-search input:hover:not(:disabled){border-color:var(--form-control-border-hover)}.reservations-toolbar-search input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--form-control-focus-ring)}.reservations-search-clear{flex-shrink:0;padding:.35rem .55rem;font-size:.75rem;font-weight:600;font-family:inherit;color:var(--muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background .15s}.reservations-search-clear:hover{color:var(--text);background:var(--ph-surface-container)}.reservations-list-card .data-table-shell--flush{margin-top:0;border-top:none}.data-table--reservations td,.data-table--reservations th{padding:.72rem .9rem}.data-table--reservations td.col-booked,.data-table--reservations th.col-booked{min-width:6.25rem;white-space:nowrap}.data-table--reservations td.col-total,.data-table--reservations th.col-total{min-width:7.5rem;text-align:right}.data-table--reservations td:first-child,.data-table--reservations th:first-child{min-width:8.5rem}.data-table--reservations td:nth-child(4),.data-table--reservations th:nth-child(4){min-width:10.5rem}.data-table-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-secondary)}.data-table-amount,.data-table-date{font-size:.8125rem;white-space:nowrap}.data-table-amount{display:inline-block;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}@media (max-width:768px){.reservations-toolbar-main{flex-direction:column;align-items:stretch}.reservations-toolbar-search{flex:1 1 auto;max-width:none;width:100%}}.table-wrap{overflow-x:auto}.data-table-shell .table-scroll{overflow-x:auto;max-height:min(70vh,720px)}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.data-table th{position:-webkit-sticky;position:sticky;top:0;z-index:2;text-align:left;padding:.6rem .85rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--ph-surface-container-low);font-weight:600}.data-table td{padding:.65rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);vertical-align:middle;background:var(--surface)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background-color .12s ease}.data-table tbody tr:hover td,.data-table-code{background:var(--ph-surface-container-low)}.data-table-code{display:inline-block;padding:.18rem .45rem;font-family:var(--mono);font-size:.8125rem;font-weight:600;line-height:1.35;letter-spacing:.02em;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)}.data-table-guest{display:flex;align-items:center;gap:.6rem;min-width:0}.data-table-guest-avatar{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--ph-secondary);font-size:.6875rem;font-weight:700;letter-spacing:.02em}.data-table-guest-name{font-weight:600;color:var(--text);line-height:1.35}.data-table-room-type{font-weight:500;color:var(--text);line-height:1.35}.data-table-room-code{display:inline-block;margin-top:.12rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.data-table-room-number{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.data-table-unassigned{display:inline-block;padding:.12rem .4rem;font-size:.75rem;font-style:italic;color:var(--muted);background:var(--ph-surface-container-low);border-radius:var(--radius-sm)}.data-table-stay{display:flex;flex-direction:column;gap:.15rem}.data-table-stay-dates{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.data-table-stay-arrow{color:var(--muted);font-size:.7rem;line-height:1}.data-table-action-link{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.3rem .75rem;font-size:.8125rem;font-weight:600;font-family:inherit;line-height:1.25;color:var(--ph-secondary);background:transparent;border:1px solid color-mix(in srgb,var(--ph-secondary) 35%,var(--border));border-radius:var(--radius-sm);text-decoration:none;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.data-table-action-link:hover{background:var(--accent-soft);border-color:var(--ph-secondary);color:var(--ph-secondary)}.data-table-action-link:focus-visible{outline:2px solid var(--ph-primary);outline-offset:2px}.table-pagination{margin:0;padding:.7rem .85rem;border-top:1px solid var(--border);background:var(--surface-hover)}.table-pagination-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;flex-wrap:wrap}.table-pagination-info{margin:0;font-size:.8125rem;color:var(--muted);line-height:1.4}.table-pagination-controls{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto}.table-pagination-page{font-size:.8125rem;font-weight:500;color:var(--text-secondary);padding:0 .35rem;white-space:nowrap}.table-pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.35rem .75rem;font-size:.8rem;font-weight:500;font-family:inherit;line-height:1.25;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.table-pagination-btn:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--text-secondary)}.table-pagination-btn:focus-visible{outline:2px solid var(--ph-primary);outline-offset:2px}.table-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.data-table--actions .data-table td:last-child,.data-table--actions .data-table th:last-child,.data-table--reservations .data-table td:last-child,.data-table--reservations .data-table th:last-child{width:1%;white-space:nowrap;text-align:right}.data-table--actions .data-table td,.data-table--reservations .data-table td{vertical-align:middle}.data-table-shell--list>:not(.table-pagination){min-width:0}.data-table-action-group{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.data-table-primary-line{display:block;white-space:nowrap}.cell-muted{font-size:.78rem;color:var(--muted);margin-top:.15rem}.cell-muted-sm{font-size:.72rem;margin-top:.25rem}.mono-code{font-family:var(--mono);font-size:.85rem;color:var(--text-secondary)}.success-panel{text-align:center;padding:2rem 1.5rem}.success-panel h2{color:var(--success);margin-top:0}.room-rack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:.6rem;gap:.6rem}.room-rack-tile{padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);display:flex;flex-direction:column;gap:.35rem;min-height:88px;box-shadow:var(--shadow-sm)}.room-rack-tile-header{display:flex;justify-content:space-between;align-items:baseline}.room-rack-guest{font-size:.72rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-rack-actions{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:auto}.rack-vacant-clean{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.1)}.rack-vacant-dirty{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.12)}.rack-occupied{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.1)}.rack-out-of-order{border-color:rgba(100,116,139,.35);background:rgba(100,116,139,.1);opacity:.95}.rack-vacant-inspected{border-color:rgba(16,185,129,.45);background:rgba(16,185,129,.14)}.search-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:1rem}.search-row .field{flex:1 1;min-width:200px;margin:0}.confirm-dialog-root{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.25rem}.confirm-dialog-backdrop{position:absolute;inset:0;border:none;background:rgba(27,28,29,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;animation:confirm-fade-in .18s ease-out}.confirm-dialog-panel{position:relative;z-index:1;width:min(100%,28rem);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:confirm-slide-in .22s ease-out}.confirm-dialog-body{display:flex;gap:.85rem;padding:1.25rem 1.25rem .5rem}.confirm-dialog-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px}.confirm-dialog-icon--default{background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border)}.confirm-dialog-icon--warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.confirm-dialog-icon--danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.confirm-dialog-content{min-width:0}.confirm-dialog-title{margin:0 0 .35rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--text)}.confirm-dialog-description{margin:0;font-size:.9rem;color:var(--muted);line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:.85rem 1.25rem 1.25rem}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 1px 2px rgba(185,28,28,.2)}.btn-danger:hover:not(:disabled){background:#991b1b;color:#fff}.btn-warning{background:var(--warning);color:#fff;box-shadow:0 1px 2px rgba(180,83,9,.2)}.btn-warning:hover:not(:disabled){background:#92400e;color:#fff}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-slide-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.sidebar-footer{padding:.85rem 1rem;border-top:1px solid var(--sidebar-border)}.sidebar-cta{width:100%;justify-content:center;font-weight:600;border-radius:var(--radius)}.dash-page{display:flex;flex-direction:column;gap:var(--space-md)}.dash-search-form{display:flex;align-items:center;gap:.5rem;min-width:0}.dash-search-form .dash-search-wrap{flex:1 1;min-width:0}.dash-search-clear{flex-shrink:0;padding:.45rem .65rem;font-size:.75rem;font-weight:600;font-family:inherit;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.dash-search-clear:hover{color:var(--text);border-color:var(--ph-outline);background:var(--ph-surface-container-low)}.dash-search-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.65rem 1rem;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--ph-secondary) 25%,var(--border));border-radius:var(--radius-md);font-size:.8125rem;color:var(--ph-secondary)}.dash-search-banner strong{color:var(--text);font-weight:600}.dash-skeleton-table{padding:1rem 1.25rem 1.5rem}.dash-toolbar{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:var(--space-md);gap:var(--space-md);padding:var(--space-md);background:var(--ph-surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.dash-search-wrap{position:relative;min-width:0}.dash-search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;display:inline-flex}.dash-search-input{width:100%;padding:.65rem .85rem .65rem 2.5rem;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--ph-surface-container-low);font-size:.9rem;font-family:inherit;color:var(--text);transition:var(--form-control-transition)}.dash-search-input:hover:not(:disabled){border-color:var(--form-control-border-hover)}.dash-search-input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--form-control-focus-ring)}.dash-tabs{display:flex;align-items:center;gap:.15rem;padding:.2rem;background:var(--ph-surface-container-low);border-radius:var(--radius);border:1px solid var(--border)}.dash-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--muted);font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.dash-tab:hover{color:var(--text)}.dash-tab.active{background:var(--ph-primary);color:#fff}.dash-tab-count{font-size:.72rem;font-weight:600;opacity:.85}.dash-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.dash-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-md);gap:var(--space-md)}.dash-kpi-card{padding:1.1rem 1.25rem;background:var(--ph-surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.dash-kpi-card--accent .dash-kpi-value{color:var(--ph-status-available)}.dash-kpi-label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}.dash-kpi-value{display:block;font-size:1.85rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.dash-kpi-meta{display:block;margin-top:.35rem;font-size:.75rem;color:var(--muted)}.dash-kpi-progress{margin-top:.65rem;height:6px;border-radius:var(--radius-full);background:var(--ph-surface-container);overflow:hidden}.dash-kpi-progress span{display:block;height:100%;border-radius:inherit;background:var(--ph-secondary);transition:width .3s ease}.dash-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:var(--space-md);gap:var(--space-md);align-items:start}.dash-main{padding:0;overflow:hidden}.dash-main .empty-state,.dash-main .loading-state{padding:2.5rem 1.5rem}.dash-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.1rem 1.25rem;border-bottom:1px solid var(--border)}.dash-panel-title{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.dash-filter-chips{display:flex;flex-wrap:wrap;gap:.35rem}.dash-filter-chips .filter-chip{min-height:1.85rem}.dash-table-wrap{overflow-x:auto}.dash-table{width:100%;border-collapse:collapse;font-size:.875rem}.dash-table th{text-align:left;padding:.75rem 1.25rem;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--ph-surface-container-low);white-space:nowrap}.dash-table td,.dash-table th{border-bottom:1px solid var(--border)}.dash-table td{padding:.85rem 1.25rem;vertical-align:middle}.dash-table tbody tr:last-child td{border-bottom:none}.dash-table tbody tr:hover td{background:var(--ph-surface-container-low)}.dash-guest-cell{display:flex;align-items:center;gap:.75rem}.dash-guest-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--ph-secondary);font-size:.72rem;justify-content:center;flex-shrink:0}.dash-guest-avatar,.dash-readiness{font-weight:700;display:inline-flex;align-items:center}.dash-readiness{gap:.35rem;padding:.22rem .55rem;border-radius:var(--radius-full);font-size:.65rem;letter-spacing:.04em}.dash-readiness-dot{width:6px;height:6px;border-radius:50%}.dash-readiness--ready{background:rgba(16,185,129,.12);color:#047857}.dash-readiness--ready .dash-readiness-dot{background:var(--ph-status-available)}.dash-readiness--not-ready{background:rgba(245,158,11,.14);color:#92400e}.dash-readiness--not-ready .dash-readiness-dot{background:var(--ph-status-cleaning)}.dash-readiness--pending{background:var(--ph-surface-container);color:var(--muted)}.dash-readiness--pending .dash-readiness-dot{background:var(--ph-status-maintenance)}.dash-view-all{padding:.85rem 1.25rem;text-align:center;border-top:1px solid var(--border)}.dash-view-all a{font-size:.875rem;font-weight:600;color:var(--ph-secondary)}.dash-aside{display:flex;flex-direction:column;gap:var(--space-md)}.dash-quick-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.dash-action-card{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--ph-surface-card);color:var(--text);text-decoration:none;box-shadow:var(--shadow-sm);transition:border-color .15s,background .15s}.dash-action-card:hover{border-color:var(--ph-secondary);text-decoration:none;color:var(--text)}.dash-action-card--primary{background:var(--ph-primary);border-color:var(--ph-primary);color:#fff}.dash-action-card--primary:hover{background:var(--ph-primary-container);border-color:var(--ph-primary-container);color:#fff}.dash-action-label{font-size:.8125rem;font-weight:600;line-height:1.3}.dash-action-icon{font-size:1.1rem;opacity:.85}.dash-action-icon--plus{font-size:1.35rem;font-weight:300}.dash-widget{padding:1rem 1.1rem}.dash-widget-title{margin:0 0 .85rem;font-size:.9rem;font-weight:600;color:var(--text)}.dash-widget-link{display:inline-block;margin-top:.75rem;font-size:.8125rem;font-weight:600}.dash-activity-card{padding:1rem 1.1rem .85rem}.dash-activity-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem}.dash-activity-header .dash-widget-title{margin:0}.dash-activity-live{display:inline-flex;align-items:center;gap:.35rem}.dash-activity-live-dot{width:8px;height:8px;border-radius:50%;background:var(--ph-status-available);box-shadow:0 0 0 3px rgba(16,185,129,.2)}.dash-activity-list{margin:0;padding:0;list-style:none}.dash-activity-item{display:flex;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.dash-activity-item:last-child{border-bottom:none;padding-bottom:0}.dash-activity-icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);color:var(--muted)}.dash-activity-icon--success{background:rgba(16,185,129,.12);color:#047857}.dash-activity-icon--payment{background:rgba(239,68,68,.1);color:#b91c1c}.dash-activity-icon--reservation{background:rgba(59,130,246,.1);color:#1d4ed8}.dash-activity-icon--warning{background:rgba(245,158,11,.12);color:#92400e}.dash-activity-icon--audit{background:rgba(0,106,97,.1);color:var(--ph-secondary)}.dash-activity-body{min-width:0;flex:1 1}.dash-activity-text{margin:0;font-size:.8125rem;line-height:1.45;color:var(--text-secondary)}.dash-activity-text strong{color:var(--text);font-weight:600}.dash-activity-meta{margin:.25rem 0 0;font-size:.72rem;color:var(--muted)}.dash-activity-empty,.dash-activity-error{margin:0;font-size:.8125rem;color:var(--muted);line-height:1.5}.dash-activity-error{color:var(--danger);margin-bottom:.5rem}.dash-activity-see-all{display:inline-block;margin-top:.85rem;font-size:.8125rem;font-weight:600;color:var(--ph-secondary)}.dash-activity-see-all:hover{text-decoration:underline}.activity-log-page{padding:1rem 1.1rem 1.1rem}.activity-log-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem 1.25rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.activity-log-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;flex:1 1 280px}.activity-log-filter-field{min-width:10.5rem;margin:0}.activity-log-filter-field--time{min-width:7rem}.activity-log-filter-field--time input[type=time]{width:100%;padding:.55rem .75rem;background-color:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:inherit}.activity-log-filter-field--time input[type=time]:disabled{background:var(--input-disabled-bg);color:var(--text-secondary);cursor:not-allowed;opacity:1}.activity-log-filter-actions{display:flex;flex-wrap:wrap;gap:.5rem}.activity-log-count{margin:0 0 .75rem;font-size:.75rem;color:var(--muted)}.dash-room-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.45rem;gap:.45rem}.dash-room-tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.78rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-room-num{line-height:1}.dash-room--available{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.35);color:#047857}.dash-room--occupied{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.35);color:#b91c1c}.dash-room--dirty{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.35);color:#92400e}.dash-room--maintenance{background:rgba(100,116,139,.12);border-color:rgba(100,116,139,.35);color:#475569}.dash-room-legend{display:flex;flex-wrap:wrap;gap:.5rem .85rem;margin:.85rem 0 0;padding:0;list-style:none;font-size:.68rem;color:var(--muted)}.dash-room-legend li{display:inline-flex;align-items:center;gap:.3rem}.dash-legend-dot{width:8px;height:8px;border-radius:50%}.dash-legend-dot--available{background:var(--ph-status-available)}.dash-legend-dot--occupied{background:var(--ph-status-occupied)}.dash-legend-dot--dirty{background:var(--ph-status-cleaning)}.dash-legend-dot--maintenance{background:var(--ph-status-maintenance)}.dash-room-empty{margin:0;font-size:.8125rem;color:var(--muted);text-align:center}.dash-quick-search{padding:1rem 1.1rem;background:var(--ph-primary);border-color:var(--ph-primary);color:#fff}.dash-quick-search-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:#fff}.dash-quick-search-label{display:block;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:.35rem}.dash-quick-search-row{display:flex;gap:.4rem}.dash-quick-search-row input{flex:1 1;min-width:0;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);background:rgba(255,255,255,.08);color:#fff;font-size:.875rem;font-family:inherit}.dash-quick-search-row input::placeholder{color:rgba(255,255,255,.45)}.dash-quick-search-row input:focus{outline:none;border-color:var(--ph-secondary-container)}.dash-quick-search-actions{display:flex;gap:.5rem;margin-top:.75rem}.dash-quick-search-actions .btn-secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}.dash-quick-search-actions .btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35);color:#fff}@media (max-width:1100px){.dash-toolbar{grid-template-columns:1fr}.dash-tabs{overflow-x:auto}.dash-kpi-row{grid-template-columns:repeat(2,1fr)}.dash-body{grid-template-columns:1fr}}@media (max-width:640px){.dash-kpi-row,.dash-quick-actions{grid-template-columns:1fr}.dash-room-grid{grid-template-columns:repeat(3,1fr)}}.dash-allotment-mini{padding:.85rem 1rem}.dash-allotment-mini-header{margin-bottom:0}.dash-allotment-mini-nav{display:flex;align-items:center;gap:.3rem;width:100%;margin:.5rem 0 .35rem}.dash-allotment-mini-nav-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--ph-surface-card);color:var(--text-secondary);font-size:.8rem;line-height:1;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.dash-allotment-mini-nav-btn:hover:not(:disabled){border-color:var(--ph-secondary);color:var(--ph-secondary);background:rgba(0,106,97,.06)}.dash-allotment-mini-nav-btn:disabled{opacity:.45;cursor:not-allowed}.dash-allotment-mini-range{flex:1 1;min-width:0;font-size:.6875rem;font-weight:600;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-allotment-mini-today{flex-shrink:0;padding:.15rem .45rem;border:none;border-radius:var(--radius-sm);background:rgba(0,106,97,.08);color:var(--ph-secondary);font-size:.625rem;font-weight:600;font-family:inherit;line-height:1.3;cursor:pointer;white-space:nowrap}.dash-allotment-mini-today:hover:not(:disabled){background:rgba(0,106,97,.14)}.dash-allotment-mini-today:disabled{opacity:.45;cursor:not-allowed}.dash-allotment-mini-desc{margin:0 0 .65rem;font-size:.72rem;color:var(--muted);line-height:1.35}.dash-allotment-mini-scroll{overflow-x:auto;margin-bottom:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--ph-surface-container-low)}.dash-allotment-mini-scroll.is-loading{opacity:.65}.dash-allotment-mini-table{width:100%;border-collapse:collapse;font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-allotment-mini-table td,.dash-allotment-mini-table th{border:1px solid var(--border);padding:.25rem .2rem;text-align:center;vertical-align:middle}.dash-allotment-mini-room-col{position:-webkit-sticky;position:sticky;left:0;z-index:1;min-width:2.5rem;max-width:3rem;text-align:left!important;padding-left:.4rem!important;font-weight:700;font-size:.68rem;background:var(--ph-surface);box-shadow:1px 0 0 var(--border)}.dash-allotment-mini-date-col{min-width:1.65rem;font-weight:600;background:var(--ph-surface-container)}.dash-allotment-mini-cell.is-business-date,.dash-allotment-mini-date-col.is-business-date{box-shadow:inset 0 0 0 2px rgba(59,130,246,.4)}.dash-allotment-mini-date-day{display:block;line-height:1.1}.dash-allotment-mini-cell span{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;min-height:1.25rem;border-radius:2px;font-weight:600}.dash-allotment-mini-cell.avail-high span{background:rgba(34,197,94,.18);color:rgb(21,128,61)}.dash-allotment-mini-cell.avail-low span{background:rgba(245,158,11,.18);color:rgb(180,83,9)}.dash-allotment-mini-cell.avail-none span{background:rgba(239,68,68,.14);color:var(--danger)}.dash-allotment-mini-cell.stop-sales span{text-decoration:line-through;opacity:.75}.dash-allotment-mini-links{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.25rem}.dash-allotment-mini-footnote{margin:0}