:root{--navy-950:#10243d;--navy-900:#18314f;--navy-800:#1f3a5f;--navy-700:#2d4d73;--gold-500:#c8a96b;--gold-400:#d7bd88;--background:#f4f6f8;--surface:#fff;--border:#dfe5eb;--text:#1d2935;--muted:#6b7785;--success:#2e7d5b;--success-background:#e9f6ef;--danger:#b93838;--danger-background:#fff0f0;--shadow:0 18px 50px #10243d17}*{box-sizing:border-box}html{min-height:100%}body{background:var(--background);min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.login-page{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:linear-gradient(145deg,#10243df5,#1f3a5fe8),radial-gradient(circle at 80% 15%,#c8a96b52,#0000 45%);flex-direction:column;justify-content:space-between;min-height:100vh;padding:72px clamp(48px,7vw,110px);display:flex}.brand-mark{background:var(--gold-500);width:66px;height:66px;color:var(--navy-950);border:1px solid #ffffff59;border-radius:18px;place-items:center;margin-bottom:42px;font-size:30px;font-weight:800;display:grid;box-shadow:0 12px 28px #0000002e}.brand-mark-small{border-radius:12px;width:42px;height:42px;margin:0;font-size:20px}.brand-eyebrow,.section-label{color:var(--gold-500);letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:800}.login-brand-panel h1{letter-spacing:-.045em;max-width:720px;margin-bottom:24px;font-size:clamp(42px,5vw,72px);line-height:1.05}.brand-description{color:#ffffffb8;max-width:620px;font-size:18px;line-height:1.75}.project-motto{color:#ffffffb3;margin-bottom:0;font-size:14px}.login-form-panel{background:var(--surface);place-items:center;padding:48px;display:grid}.login-card{width:min(100%,450px)}.mobile-brand{display:none}.login-card h2{color:var(--navy-950);letter-spacing:-.035em;margin-bottom:10px;font-size:38px}.login-introduction{color:var(--muted);margin-bottom:34px;line-height:1.6}.login-form{gap:22px;display:grid}.field-group{gap:8px;display:grid}.field-group label{color:var(--navy-950);font-size:14px;font-weight:700}.field-group input{border:1px solid var(--border);width:100%;height:52px;color:var(--text);background:#fff;border-radius:12px;outline:none;padding:0 16px;transition:border-color .16s,box-shadow .16s}.field-group input:focus{border-color:var(--navy-700);box-shadow:0 0 0 4px #1f3a5f17}.form-error{background:var(--danger-background);color:var(--danger);border:1px solid #f3cccc;border-radius:10px;padding:13px 15px;font-size:14px}.primary-button,.secondary-button,.logout-button,.text-button{border:0;border-radius:10px;font-weight:750}.primary-button{background:var(--navy-800);color:#fff;min-height:50px;padding:0 22px}.primary-button:hover{background:var(--navy-950)}.secondary-button{border:1px solid var(--border);min-height:42px;color:var(--navy-900);background:#fff;padding:0 16px}.compact-button{min-height:42px}.login-support{color:var(--muted);text-align:center;margin:24px 0 0;font-size:13px;line-height:1.6}.application-shell{grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy-950);color:#fff;flex-direction:column;height:100vh;padding:26px 18px 20px;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:13px;padding:0 10px 26px;display:flex}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{letter-spacing:.04em;margin-bottom:3px;font-size:19px}.sidebar-brand span{color:#ffffff85;font-size:11px}.sidebar-navigation{gap:5px;padding:24px 0;display:grid;overflow-y:auto}.navigation-link{color:#ffffffb8;border-radius:10px;align-items:center;gap:12px;min-height:46px;padding:0 12px;font-size:14px;font-weight:650;display:flex}.navigation-link:first-child,.navigation-link:hover{color:#fff;background:#ffffff17}.navigation-icon{width:32px;height:28px;color:var(--gold-400);background:#ffffff0d;border:1px solid #ffffff1c;border-radius:8px;place-items:center;font-size:9px;font-weight:850;display:grid}.sidebar-footer{border-top:1px solid #ffffff1a;margin-top:auto;padding:17px 8px 0}.user-summary{align-items:center;gap:11px;display:flex}.user-avatar{background:var(--gold-500);width:39px;height:39px;color:var(--navy-950);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:850;display:grid}.user-summary strong,.user-summary span{display:block}.user-summary strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;margin-bottom:3px;font-size:13px;overflow:hidden}.user-summary span{color:#ffffff80;text-transform:capitalize;font-size:11px}.logout-button{color:#ffffffb8;background:0 0;border:1px solid #ffffff21;width:100%;min-height:38px;margin-top:14px;font-size:12px}.logout-button:hover{color:#fff;background:#ffffff12}.application-content{min-width:0}.topbar{border-bottom:1px solid var(--border);background:#fffffff0;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:0 32px;display:flex}.topbar p{margin-bottom:0}.topbar-property{color:var(--navy-950);font-size:15px;font-weight:800}.topbar-date{color:var(--muted);margin-top:3px;font-size:12px}.topbar-actions{align-items:center;gap:10px;display:flex}.main-content{padding:34px}.page-heading{justify-content:space-between;margin-bottom:28px;display:flex}.page-heading h1{color:var(--navy-950);letter-spacing:-.035em;margin-bottom:10px;font-size:34px}.page-heading p:last-child{color:var(--muted);margin-bottom:0}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px;display:grid}.summary-card,.dashboard-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px}.summary-card{padding:22px}.summary-card p{color:var(--muted);margin-bottom:14px;font-size:13px;font-weight:700}.summary-card strong{color:var(--navy-950);margin-bottom:8px;font-size:34px;display:block}.summary-card span{color:var(--muted);font-size:12px}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:20px;display:grid}.dashboard-panel{padding:24px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.panel-heading h2{color:var(--navy-950);margin-bottom:0;font-size:21px}.text-button{color:var(--navy-800);background:0 0;padding:7px 0;font-size:12px}.empty-state{text-align:center;align-content:center;place-items:center;min-height:280px;padding:32px;display:grid}.empty-state-icon{width:56px;height:56px;color:var(--navy-800);background:#edf1f5;border-radius:16px;place-items:center;margin-bottom:18px;font-size:12px;font-weight:850;display:grid}.empty-state h3{margin-bottom:8px}.empty-state p{max-width:420px;color:var(--muted);margin-bottom:0;line-height:1.65}.accommodation-list{display:grid}.accommodation-row{border-bottom:1px solid #edf0f3;justify-content:space-between;align-items:center;min-height:52px;font-size:14px;display:flex}.accommodation-row:last-child{border-bottom:0}.status-ready{background:var(--success-background);color:var(--success);border-radius:999px;padding:5px 9px;font-size:11px}.full-page-loader{background:var(--navy-950);color:#fff;align-content:center;place-items:center;gap:14px;min-height:100vh;display:grid}.loader-mark{background:var(--gold-500);width:52px;height:52px;color:var(--navy-950);border-radius:14px;place-items:center;font-size:24px;font-weight:850;display:grid}.full-page-loader p{color:#ffffffad;margin:0}@media (max-width:1120px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:900px){.login-page{grid-template-columns:1fr}.login-brand-panel{display:none}.mobile-brand{color:var(--navy-950);align-items:center;gap:12px;margin-bottom:44px;display:flex}.application-shell{grid-template-columns:88px minmax(0,1fr)}.sidebar{padding-inline:12px}.sidebar-brand{justify-content:center;padding-inline:0}.sidebar-brand>div:last-child,.navigation-link>span:last-child,.user-summary>div:last-child,.logout-button{display:none}.navigation-link{justify-content:center;padding:0}.sidebar-footer{place-items:center;display:grid}}@media (max-width:680px){.login-form-panel{padding:28px 22px}.topbar{flex-direction:column;align-items:flex-start;padding:15px 20px}.topbar-actions{width:100%}.topbar-actions button{flex:1}.main-content{padding:24px 18px}.summary-grid{grid-template-columns:1fr}}.module-loading-state{border:1px solid var(--border);background:var(--surface);border-radius:16px;align-content:center;place-items:center;gap:14px;min-height:420px;display:grid}.module-loading-state p{color:var(--muted);margin:0}.accommodation-page-heading{align-items:flex-start;gap:24px}.accommodation-panel{padding:0;overflow:hidden}.accommodation-panel-heading{border-bottom:1px solid var(--border);margin:0;padding:24px 24px 20px}.accommodation-filters{border-bottom:1px solid var(--border);background:#fafbfc;grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(145px,.7fr));gap:14px;padding:18px 24px;display:grid}.filter-field{gap:7px;display:grid}.filter-field span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:800}.filter-field input,.filter-field select,.accommodation-edit-form select,.accommodation-edit-form textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:42px;color:var(--text);border-radius:9px;outline:none;padding:0 12px}.accommodation-edit-form textarea{resize:vertical;min-height:120px;padding:12px}.filter-field input:focus,.filter-field select:focus,.accommodation-edit-form select:focus,.accommodation-edit-form textarea:focus{border-color:var(--navy-700);box-shadow:0 0 0 4px #1f3a5f14}.accommodation-table-wrapper{width:100%;overflow-x:auto}.accommodation-table{border-collapse:collapse;width:100%;font-size:13px}.accommodation-table th,.accommodation-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #edf0f3;padding:15px 16px}.accommodation-table th{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;background:#f7f9fb;font-size:10px;font-weight:850}.accommodation-table tbody tr:hover{background:#fafbfd}.accommodation-name-button{color:var(--navy-950);text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.accommodation-name-button strong{font-size:14px}.accommodation-name-button span{color:var(--muted);font-size:11px}.table-action-button{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--navy-800);border-radius:8px;padding:0 11px;font-size:11px;font-weight:800}.table-action-button:hover{border-color:var(--navy-700)}.status-pill,.boolean-indicator{border-radius:999px;justify-content:center;align-items:center;min-height:25px;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.status-active,.status-ready,.status-inspected,.boolean-yes{background:var(--success-background);color:var(--success)}.status-maintenance,.status-cleaning{color:#9a6700;background:#fff5df}.status-blocked,.status-out_of_service,.status-dirty,.boolean-no{background:var(--danger-background);color:var(--danger)}.accommodation-empty-state{text-align:center;padding:54px 24px}.accommodation-empty-state h3{margin-bottom:8px}.accommodation-empty-state p{color:var(--muted);margin:0}.accommodation-drawer-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a162575;justify-content:flex-end;display:flex;position:fixed;inset:0}.accommodation-drawer{background:var(--surface);width:min(620px,100%);height:100vh;overflow-y:auto;box-shadow:-24px 0 60px #10243d38}.drawer-header{z-index:2;border-bottom:1px solid var(--border);background:#fffffff7;justify-content:space-between;align-items:flex-start;gap:18px;padding:25px 28px;display:flex;position:sticky;top:0}.drawer-header h2{color:var(--navy-950);margin-bottom:5px;font-size:28px}.drawer-header p:last-child{color:var(--muted);margin-bottom:0}.drawer-close-button{border:1px solid var(--border);width:38px;height:38px;color:var(--navy-950);background:#fff;border-radius:10px;place-items:center;font-size:24px;line-height:1;display:grid}.drawer-section{border-bottom:1px solid var(--border);padding:25px 28px}.drawer-section h3{color:var(--navy-950);margin-bottom:18px;font-size:16px}.occupancy-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.occupancy-summary-grid div,.schedule-grid div{border:1px solid var(--border);background:#f8fafb;border-radius:11px;padding:14px}.occupancy-summary-grid span,.schedule-grid span{color:var(--muted);text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.occupancy-summary-grid strong,.schedule-grid strong{color:var(--navy-950);font-size:18px}.inheritance-note{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.65}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.accommodation-edit-form{display:block}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.accommodation-edit-form .field-group{margin-bottom:16px}.accommodation-edit-form .field-group>span{color:var(--navy-950);font-size:12px;font-weight:750}.checkbox-field{min-height:38px;color:var(--text);align-items:center;gap:10px;font-size:13px;display:flex}.checkbox-field input{width:17px;height:17px}.drawer-actions{border-top:1px solid var(--border);background:#fffffff7;justify-content:flex-end;gap:10px;padding:18px 28px;display:flex;position:sticky;bottom:0}.module-message{border-radius:10px;margin:16px 28px 0;padding:13px 15px;font-size:13px}.module-message-error{background:var(--danger-background);color:var(--danger);border:1px solid #f3cccc}.module-message-success{background:var(--success-background);color:var(--success);border:1px solid #cde8d8}.dashboard-module-card{text-align:center;align-content:center;place-items:center;gap:16px;min-height:280px;padding:28px;display:grid}.dashboard-module-icon{width:58px;height:58px;color:var(--navy-800);background:#edf1f5;border-radius:16px;place-items:center;font-size:12px;font-weight:850;display:grid}.dashboard-module-card h3{margin-bottom:8px}.dashboard-module-card p{max-width:390px;color:var(--muted);margin:0;line-height:1.65}.dashboard-module-link{justify-content:center;align-items:center;min-height:42px;display:inline-flex}@media (max-width:1280px){.accommodation-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.accommodation-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.accommodation-summary-grid,.accommodation-filters{grid-template-columns:1fr}.occupancy-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-two{grid-template-columns:1fr}.drawer-header,.drawer-section,.drawer-actions{padding-left:20px;padding-right:20px}}.page-heading-actions{align-items:center;gap:10px;display:flex}.accommodation-type-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.accommodation-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.accommodation-type-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;padding:24px}.accommodation-type-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.accommodation-type-card-header h2{color:var(--navy-950);margin:5px 0 0;font-size:24px}.type-code{color:var(--gold-500);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:850}.type-description{min-height:52px;color:var(--muted);margin-bottom:20px;font-size:13px;line-height:1.65}.type-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.type-rule-grid div{border:1px solid var(--border);background:#f8fafb;border-radius:11px;padding:14px}.type-rule-grid span{color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.type-rule-grid strong{color:var(--navy-950);font-size:13px}.type-feature-list{color:var(--muted);gap:8px;margin-bottom:20px;font-size:12px;display:grid}.type-feature-list strong{color:var(--text)}.accommodation-type-edit-button{width:100%}.form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (max-width:1100px){.accommodation-type-grid{grid-template-columns:1fr}}@media (max-width:760px){.page-heading-actions{flex-direction:column;align-items:stretch;width:100%}.accommodation-type-summary-grid,.type-rule-grid,.form-grid-three{grid-template-columns:1fr}}.rate-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rate-tabs{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:8px;width:fit-content;padding:6px;display:flex}.rate-tab{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:0 18px;font-weight:750}.rate-tab-active{background:var(--navy-950);color:#fff}.rate-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.rate-plan-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;padding:24px}.rate-card-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.rate-card-header h2{color:var(--navy-950);margin:5px 0 0;font-size:22px}.rate-plan-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px;display:grid}.rate-plan-meta>span{border:1px solid var(--border);color:var(--muted);background:#f8fafb;border-radius:9px;padding:11px 12px;font-size:11px}.rate-plan-meta>span strong{color:var(--navy-950)}.rate-tier-preview div{border:1px solid var(--border);border-radius:9px;justify-content:space-between;align-items:center;gap:14px;min-height:40px;padding:0 12px;display:flex}.rate-tier-preview span{color:var(--muted);font-size:12px}.rate-tier-preview strong{color:var(--navy-950);font-size:13px}.rate-empty-state{border:1px dashed var(--border);background:var(--surface);text-align:center;border-radius:16px;grid-column:1/-1;padding:70px 28px}.rate-empty-state h3{margin-bottom:8px}.rate-empty-state p{max-width:520px;color:var(--muted);margin:0 auto}.rate-drawer{width:min(760px,100%)}.weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.weekday-option{border:1px solid var(--border);background:#f8fafb;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:0 11px;font-size:12px;display:flex}.rate-tier-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px;display:flex}.rate-tier-heading h3{margin-bottom:0}.tier-editor-list{gap:14px;display:grid}.tier-editor-row{border:1px solid var(--border);background:#fafbfc;border-radius:12px;padding:16px}.tier-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tier-fields .field-group{margin-bottom:0}.tier-row-actions{justify-content:flex-end;gap:9px;margin-top:14px;display:flex}.danger-outline-button{min-height:38px;color:var(--danger);background:#fff;border:1px solid #e5b9b9;border-radius:9px;padding:0 14px;font-weight:750}@media (max-width:1100px){.rate-card-grid{grid-template-columns:1fr}}@media (max-width:760px){.rate-summary-grid,.rate-plan-meta,.tier-fields,.weekday-grid{grid-template-columns:1fr}.rate-tabs{width:100%}.rate-tab{flex:1}}.tier-editor-label{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.tier-editor-label>div{gap:4px;display:grid}.tier-editor-label strong{color:var(--navy-950);font-size:15px}.tier-editor-label>span{color:var(--muted);background:#edf2f6;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:750}.danger-outline-button:disabled{cursor:not-allowed;opacity:.45}.tier-editor-row:focus-within{border-color:#b2c5d8;box-shadow:0 0 0 3px #1332520f}.rate-tier-preview{gap:12px;margin-bottom:20px;display:grid}.rate-tier-preview-card{border:1px solid var(--border);background:#f8fafb;border-radius:11px;padding:14px}.rate-tier-preview-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.rate-tier-preview-heading span{color:var(--navy-950);font-size:13px;font-weight:800}.rate-tier-price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.rate-tier-price-grid>div{border:1px solid var(--border);background:#fff;border-radius:9px;align-content:center;gap:5px;min-height:58px;padding:10px;display:grid}.rate-tier-price-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.rate-tier-price-grid strong{color:var(--navy-950);font-size:13px}@media (max-width:760px){.rate-tier-price-grid{grid-template-columns:1fr}}.rate-scope-display{border:1px solid var(--border);background:#f8fafb;border-radius:9px;align-content:center;gap:3px;min-height:66px;padding:10px 12px;display:grid}.rate-scope-display>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.rate-scope-display>strong{color:var(--navy-950);font-size:12px}.rate-scope-display>em{color:var(--muted);font-size:12px;font-style:normal}.reservation-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reservation-list-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.reservation-list-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.reservation-list-header h2{color:var(--navy-950);margin:4px 0 0;font-size:20px}.reservation-filter-grid{border-bottom:1px solid var(--border);background:#f8fafb;grid-template-columns:2fr repeat(5,minmax(145px,1fr));gap:12px;padding:18px 22px;display:grid}.reservation-filter-grid .field-group{margin-bottom:0}.reservation-table-scroll{overflow-x:auto}.reservation-table{border-collapse:collapse;width:100%;min-width:1300px}.reservation-table th{border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;background:#f5f7f9;padding:13px 14px;font-size:10px;font-weight:800}.reservation-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:15px 14px}.reservation-table tbody tr:last-child td{border-bottom:0}.reservation-table tbody tr:hover{background:#fafcfd}.reservation-table td>strong{color:var(--navy-950);font-size:12px;display:block}.reservation-table td>span:not(.reservation-status){color:var(--muted);margin-top:4px;font-size:10px;display:block}.reservation-status{border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.reservation-status-draft,.reservation-status-pending{color:#805d00;background:#fff4d6}.reservation-status-confirmed,.reservation-status-checked_in{color:#1e7047;background:#e8f6ee}.reservation-status-checked_out{color:#315675;background:#eaf0f6}.reservation-status-cancelled,.reservation-status-no_show{color:#9d3535;background:#fbeaea}.reservation-open-button{min-height:34px;padding:0 12px;text-decoration:none}.reservation-empty-state{text-align:center;justify-items:center;gap:12px;padding:70px 24px;display:grid}.reservation-empty-state h3{color:var(--navy-950);margin:4px 0 0}.reservation-empty-state p{max-width:520px;color:var(--muted);margin:0 0 6px}@media (max-width:1250px){.reservation-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.reservation-summary-grid,.reservation-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.reservation-summary-grid,.reservation-filter-grid{grid-template-columns:1fr}.reservation-list-header{flex-direction:column;align-items:stretch}}.availability-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.availability-unit-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:0;position:relative;overflow:hidden;box-shadow:0 14px 34px #12325212}.availability-unit-card:before{content:"";background:#c8a96b;height:4px;position:absolute;top:0;left:0;right:0}.availability-unit-card-unavailable{background:snow;border-color:#e9caca}.availability-unit-card-unavailable:before{background:#b64d4d}.availability-card-topline{justify-content:space-between;align-items:center;gap:14px;padding:20px 20px 0;display:flex}.availability-type-label{color:#b38d43;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:850}.availability-status-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;min-height:27px;padding:0 10px;font-size:10px;font-weight:850;display:inline-flex}.availability-status-badge>span{border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;display:grid}.availability-status-badge-available{color:#1e7047;background:#e8f6ee}.availability-status-badge-available>span{background:#ccebd9}.availability-status-badge-unavailable{color:#9d3535;background:#fbeaea}.availability-status-badge-unavailable>span{background:#f1caca}.availability-card-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:12px 20px 18px;display:flex}.availability-card-title h3{color:var(--navy-950);margin:0;font-size:23px;line-height:1.2}.availability-card-title p{color:var(--muted);margin:6px 0 0;font-size:11px}.availability-card-title p strong{color:var(--navy-950)}.availability-card-guest-total{text-align:center;background:#fffaf0;border:1px solid #e4d6b6;border-radius:12px;align-content:center;place-items:center;min-width:74px;min-height:66px;padding:8px;display:grid}.availability-card-guest-total strong{color:var(--navy-950);font-size:22px;line-height:1}.availability-card-guest-total span{color:var(--muted);text-transform:uppercase;margin-top:5px;font-size:9px;font-weight:750}.availability-card-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 20px 10px;display:grid}.availability-card-stat-grid>div{border:1px solid var(--border);background:#f8fafb;border-radius:10px;align-content:center;gap:6px;min-height:70px;padding:12px;display:grid}.availability-card-stat-grid span,.availability-card-capacity-row span{color:var(--muted);letter-spacing:.045em;text-transform:uppercase;font-size:9px;font-weight:800}.availability-card-stat-grid strong,.availability-card-capacity-row strong{color:var(--navy-950);font-size:12px}.availability-card-capacity-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 20px 18px;display:grid}.availability-card-capacity-row>div{background:#eef3f6;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:10px 12px;display:flex}.availability-card-footer{border-top:1px solid var(--border);background:#fafcfd;justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;display:flex}.availability-card-footer>div{gap:3px;display:grid}.availability-card-footer>div strong{color:var(--navy-950);font-size:12px}.availability-card-footer>div span{color:var(--muted);font-size:10px}.availability-card-footer button:disabled{cursor:not-allowed;opacity:.58}.availability-card-issues{border-top:1px solid #efd4d4;gap:9px;padding:16px 20px 20px;display:grid}.availability-card-issues-heading{color:#8f3131;margin-bottom:2px;font-size:12px}.availability-card-issue{background:#fff;border:1px solid #edcece;border-radius:9px;gap:4px;padding:10px 12px;display:grid}.availability-card-issue strong{color:#9d3535;font-size:11px}.availability-card-issue span{color:var(--muted);font-size:11px}@media (max-width:1050px){.availability-card-grid{grid-template-columns:1fr}}@media (max-width:620px){.availability-card-title,.availability-card-footer{flex-direction:column;align-items:stretch}.availability-card-guest-total{width:100%}.availability-card-stat-grid,.availability-card-capacity-row{grid-template-columns:1fr}.availability-card-footer button{width:100%}}.reservation-step-complete{color:#1e7047;background:#e8f6ee}.reservation-step-complete>span{color:#1e7047;background:#ccebd9}.reservation-selection-layout{grid-template-columns:minmax(0,1fr) minmax(300px,355px);align-items:start;gap:20px;display:grid}.reservation-selection-main{gap:20px;min-width:0;display:grid}.availability-unit-card-selected{background:#fffdf8;border-color:#c8a96b;box-shadow:0 0 0 3px #c8a96b24,0 16px 38px #12325217}.availability-card-allocation-editor{background:#fff;border:1px solid #dfcfaa;border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 20px 18px;padding:14px;display:grid}.availability-card-allocation-editor .field-group{margin-bottom:0}.reservation-builder-panel{box-shadow:var(--shadow);background:#fffdf8;border:1px solid #dfcfaa;border-radius:16px;padding:22px}.reservation-builder-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.reservation-builder-header h2{color:var(--navy-950);margin:4px 0 0;font-size:21px}.reservation-builder-allocation-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.reservation-builder-allocation-summary>div{border:1px solid var(--border);background:#fff;border-radius:10px;align-content:center;gap:5px;min-height:66px;padding:12px;display:grid}.reservation-builder-allocation-summary span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.reservation-builder-allocation-summary strong{color:var(--navy-950);font-size:14px}.allocation-status-complete{color:#1e7047!important}.allocation-status-incomplete{color:#9d3535!important}.allocation-guidance{background:#fff8f8;border:1px solid #efcccc;border-radius:9px;gap:4px;margin-bottom:14px;padding:11px 13px;display:grid}.allocation-guidance strong{color:#9d3535;font-size:12px}.allocation-guidance span{color:var(--muted);font-size:11px}.reservation-builder-units{gap:10px;display:grid}.reservation-builder-unit{border:1px solid var(--border);background:#fff;border-radius:11px;justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.reservation-builder-unit h3{color:var(--navy-950);margin:4px 0 0;font-size:17px}.reservation-builder-unit-fields{grid-template-columns:minmax(105px,130px) minmax(105px,130px) auto;align-items:end;gap:10px;display:grid}.reservation-builder-unit-fields .field-group{margin-bottom:0}.reservation-sticky-summary{border:1px solid var(--border);background:#fff;border-radius:16px;position:sticky;top:92px;overflow:hidden;box-shadow:0 16px 38px #12325217}.reservation-sticky-summary-header{border-bottom:1px solid var(--border);padding:19px}.reservation-sticky-summary-header h2{color:var(--navy-950);margin:4px 0 0;font-size:20px}.reservation-sticky-stay{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:15px 19px;display:grid}.reservation-sticky-stay>div{background:#f6f8fa;border-radius:8px;gap:4px;padding:9px;display:grid}.reservation-sticky-stay span,.reservation-sticky-selected>span,.reservation-sticky-allocation>span,.reservation-sticky-totals span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.reservation-sticky-stay strong{color:var(--navy-950);font-size:11px}.reservation-sticky-selected{border-bottom:1px solid var(--border);gap:9px;padding:15px 19px;display:grid}.reservation-sticky-selected>p{color:var(--muted);margin:0;font-size:11px}.reservation-sticky-selected>div{border:1px solid var(--border);border-radius:8px;gap:3px;padding:9px 10px;display:grid}.reservation-sticky-selected>div strong{color:var(--navy-950);font-size:12px}.reservation-sticky-selected>div span{color:var(--muted);font-size:10px}.reservation-deposit-field{border-bottom:1px solid var(--border);margin:0;padding:15px 19px}.percentage-input{position:relative}.percentage-input input{width:100%;padding-right:44px}.percentage-input strong{color:var(--muted);position:absolute;top:50%;right:15px;transform:translateY(-50%)}.reservation-sticky-allocation{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:13px 19px;display:flex}.reservation-sticky-allocation strong{font-size:11px}.reservation-quote-loading{border-bottom:1px solid var(--border);color:#805d00;background:#fffaf0;padding:13px 19px;font-size:11px;font-weight:700}.reservation-sticky-totals{border-bottom:1px solid var(--border);gap:8px;padding:15px 19px;display:grid}.reservation-sticky-totals>div{justify-content:space-between;align-items:center;gap:14px;display:flex}.reservation-sticky-totals strong{color:var(--navy-950);font-size:12px}.reservation-sticky-grand-total{background:var(--navy-950);border-radius:9px;margin-top:4px;padding:11px}.reservation-sticky-grand-total span,.reservation-sticky-grand-total strong{color:#fff}.reservation-sticky-actions{gap:9px;padding:15px 19px;display:grid}.reservation-sticky-actions button{width:100%}.reservation-success-message{color:#1e7047;background:#f1fbf5;border:1px solid #bcdcc9}.reservation-quote-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;padding:22px}.reservation-quote-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.reservation-quote-header h2{color:var(--navy-950);margin:4px 0 0;font-size:22px}.quote-valid-badge{color:#1e7047;text-transform:uppercase;background:#e8f6ee;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:800}.quote-assignment-list{gap:14px;display:grid}.quote-assignment-card{border:1px solid var(--border);background:#fafcfd;border-radius:12px;padding:17px}.quote-assignment-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px;display:flex}.quote-assignment-heading h3{color:var(--navy-950);margin:4px 0 0}.quote-assignment-heading p{color:var(--muted);margin:6px 0 0;font-size:10px}.quote-assignment-heading>strong{color:var(--navy-950);font-size:17px}.quote-charge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.quote-charge-grid>div{border:1px solid var(--border);background:#fff;border-radius:9px;gap:4px;padding:11px 12px;display:grid}.quote-charge-grid span,.reservation-quote-totals span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:750}.quote-charge-grid strong{color:var(--navy-950);font-size:13px}.quote-night-details{border-top:1px solid var(--border);margin-top:13px}.quote-night-details summary{cursor:pointer;color:var(--navy-950);padding:13px 0 0;font-size:11px;font-weight:750}.quote-night-details>div{gap:7px;margin-top:11px;display:grid}.quote-night-details>div>div{color:var(--muted);background:#fff;border-radius:7px;justify-content:space-between;gap:14px;padding:8px 10px;font-size:11px;display:flex}.reservation-quote-totals{gap:8px;width:min(520px,100%);margin-top:18px;margin-left:auto;display:grid}.reservation-quote-totals>div{border:1px solid var(--border);border-radius:9px;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;display:flex}.reservation-quote-totals strong{color:var(--navy-950)}.reservation-quote-totals .quote-total-primary{border-color:var(--navy-950);background:var(--navy-950)}.quote-total-primary span,.quote-total-primary strong{color:#fff}@media (max-width:1300px){.reservation-selection-layout{grid-template-columns:1fr}.reservation-sticky-summary{position:static}}@media (max-width:850px){.reservation-builder-allocation-summary,.quote-charge-grid{grid-template-columns:1fr}.reservation-builder-unit{flex-direction:column;align-items:stretch}.reservation-builder-unit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-builder-unit-fields button{grid-column:1/-1}}@media (max-width:620px){.availability-card-allocation-editor,.reservation-sticky-stay,.reservation-builder-unit-fields{grid-template-columns:1fr}.reservation-builder-header,.reservation-quote-header,.quote-assignment-heading{flex-direction:column;align-items:stretch}}.reservation-deposit-field{gap:8px;display:grid}.reservation-deposit-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.reservation-deposit-heading>span{color:var(--navy-950);font-size:13px;font-weight:750}.reservation-deposit-heading>strong{color:#805d00;background:#fffaf0;border:1px solid #dfcfaa;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850;line-height:1}.reservation-deposit-help{color:var(--muted);font-size:10px;font-weight:500;line-height:1.45}.reservation-deposit-field .percentage-input input{min-height:46px;font-weight:700}@media (max-width:420px){.reservation-deposit-heading{flex-direction:column;align-items:flex-start}}.reservation-selected-accommodation{border:1px solid var(--border);background:#fbfcfd;border-radius:10px;gap:11px;padding:12px;display:grid}.reservation-selected-accommodation-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reservation-selected-accommodation-heading>div{gap:3px;display:grid}.reservation-selected-accommodation-heading strong{color:var(--navy-950);font-size:13px}.reservation-selected-accommodation-heading>div>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.reservation-selected-accommodation-badge{color:#1e7047;text-transform:uppercase;background:#e8f6ee;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:850}.reservation-selected-accommodation-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.reservation-selected-accommodation-details>div{border:1px solid var(--border);background:#fff;border-radius:8px;align-content:center;gap:4px;min-height:48px;padding:8px;display:grid}.reservation-selected-accommodation-details span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:800}.reservation-selected-accommodation-details strong{color:var(--navy-950);font-size:12px}@media (max-width:420px){.reservation-selected-accommodation-details{grid-template-columns:1fr}}.reservation-sticky-totals,.reservation-quote-totals{gap:9px}.reservation-financial-row{border:1px solid var(--border);background:#fbfcfd;border-radius:9px;min-height:48px;padding:11px 12px}.reservation-financial-row>span{line-height:1.35}.reservation-financial-row>strong{font-variant-numeric:tabular-nums;white-space:nowrap}.reservation-financial-row-charges{background:#f8fafb}.reservation-financial-row-charges>strong{color:var(--navy-950);font-size:13px}.reservation-financial-row-deposit{background:#fffaf0;border-color:#dfcfaa}.reservation-financial-row-deposit>span{color:#806525}.reservation-financial-row-deposit>strong{color:#805d00;font-size:13px}.reservation-financial-row-balance{background:#f2f7fa;border-color:#cad8e3}.reservation-financial-row-balance>span{color:#46667d}.reservation-financial-row-balance>strong{color:var(--navy-950);font-size:14px;font-weight:850}.reservation-sticky-grand-total,.reservation-quote-totals .quote-total-primary{border:1px solid var(--navy-950);background:var(--navy-950);border-radius:10px;min-height:58px;margin-top:5px;padding:14px;box-shadow:0 9px 20px #12325226}.reservation-sticky-grand-total>span,.reservation-quote-totals .quote-total-primary>span{color:#ffffffbf;letter-spacing:.055em;text-transform:uppercase;font-size:10px;font-weight:850}.reservation-sticky-grand-total>strong,.reservation-quote-totals .quote-total-primary>strong{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:17px;font-weight:900}.reservation-quote-totals .reservation-financial-row{justify-content:space-between;align-items:center;gap:18px;display:flex}@media (max-width:480px){.reservation-quote-totals .reservation-financial-row,.reservation-quote-totals .quote-total-primary{flex-direction:column;align-items:flex-start;gap:5px}}.reservation-sticky-allocation{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:13px 19px;display:flex}.reservation-sticky-allocation>div{gap:4px;display:grid}.reservation-sticky-allocation>div>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.reservation-sticky-allocation>div>strong{font-size:12px;line-height:1.35}.reservation-allocation-status-icon{border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:15px;font-weight:900;display:grid}.reservation-sticky-allocation-complete{background:#f1fbf5}.reservation-sticky-allocation-complete>div>strong{color:#1e7047}.reservation-sticky-allocation-complete .reservation-allocation-status-icon{color:#1e7047;background:#ccebd9}.reservation-sticky-allocation-incomplete{background:#fff8f8}.reservation-sticky-allocation-incomplete>div>strong{color:#9d3535}.reservation-sticky-allocation-incomplete .reservation-allocation-status-icon{color:#9d3535;background:#f1caca}.reservation-selection-layout{align-items:start}.reservation-sticky-summary{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#12325247 transparent;align-self:start;max-height:calc(100vh - 48px);position:sticky;top:24px;overflow-y:auto}.reservation-sticky-summary::-webkit-scrollbar{width:7px}.reservation-sticky-summary::-webkit-scrollbar-track{background:0 0}.reservation-sticky-summary::-webkit-scrollbar-thumb{background:#1232523d;border-radius:999px}.reservation-sticky-summary::-webkit-scrollbar-thumb:hover{background:#12325261}.reservation-sticky-summary-header{z-index:2;background:#fff;position:sticky;top:0}.reservation-sticky-actions{z-index:2;border-top:1px solid var(--border);background:#fff;position:sticky;bottom:0;box-shadow:0 -10px 18px #1232520d}@media (max-width:1300px){.reservation-sticky-summary{max-height:none;position:static;overflow-y:visible}.reservation-sticky-summary-header,.reservation-sticky-actions{position:static}}.reservation-continue-button{min-height:46px;transition:opacity .16s,transform .16s,box-shadow .16s}.reservation-continue-button-ready{box-shadow:0 10px 22px #12325229}.reservation-continue-button-ready:hover{transform:translateY(-1px);box-shadow:0 13px 26px #12325233}.reservation-continue-button-blocked:disabled{cursor:not-allowed;opacity:.62;box-shadow:none}.reservation-continue-button-blocked:disabled:hover{transform:none}.guest-details-page{gap:20px;display:grid}.guest-details-layout{grid-template-columns:minmax(0,1fr) minmax(310px,365px);align-items:start;gap:20px;display:grid}.guest-details-main{min-width:0}.guest-details-form{gap:20px;display:grid}.guest-details-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.guest-details-card-heading{border-bottom:1px solid var(--border);background:#fbfcfd;padding:20px 22px}.guest-details-card-heading h2{color:var(--navy-950);margin:4px 0 0;font-size:20px}.guest-details-card-heading p:last-child{color:var(--muted);margin:6px 0 0;font-size:11px}.guest-details-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px;display:grid}.guest-details-form-grid .field-group{margin:0}.guest-details-form-grid textarea{resize:vertical;width:100%}.guest-details-full-width{grid-column:1/-1}.guest-details-actions{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:14px;justify-content:flex-end;align-items:center;gap:12px;padding:18px 20px;display:flex}.guest-reservation-summary{border:1px solid var(--border);background:#fff;border-radius:16px;position:sticky;top:24px;overflow:hidden;box-shadow:0 16px 38px #12325217}.guest-reservation-summary-heading{border-bottom:1px solid var(--border);padding:19px}.guest-reservation-summary-heading h2{color:var(--navy-950);margin:4px 0 0;font-size:20px}.guest-reservation-stay-grid{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:15px 19px;display:grid}.guest-reservation-stay-grid>div{background:#f6f8fa;border-radius:8px;gap:4px;padding:9px;display:grid}.guest-reservation-stay-grid span,.guest-reservation-units>span,.guest-reservation-financials span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.guest-reservation-stay-grid strong{color:var(--navy-950);font-size:11px}.guest-reservation-units{border-bottom:1px solid var(--border);gap:9px;padding:15px 19px;display:grid}.guest-reservation-units article{border:1px solid var(--border);background:#fbfcfd;border-radius:9px;gap:7px;padding:10px;display:grid}.guest-reservation-units article>div{gap:3px;display:grid}.guest-reservation-units article strong{color:var(--navy-950);font-size:12px}.guest-reservation-units article span{color:var(--muted);font-size:10px}.guest-reservation-financials{gap:8px;padding:15px 19px;display:grid}.guest-reservation-financials>div{border:1px solid var(--border);background:#fbfcfd;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;min-height:46px;padding:10px 11px;display:flex}.guest-reservation-financials strong{color:var(--navy-950);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.guest-reservation-financials .guest-reservation-deposit{background:#fffaf0;border-color:#dfcfaa}.guest-reservation-deposit strong{color:#805d00}.guest-reservation-financials .guest-reservation-total{border-color:var(--navy-950);background:var(--navy-950);min-height:56px;margin-top:4px}.guest-reservation-total span,.guest-reservation-total strong{color:#fff}.guest-reservation-total strong{font-size:16px;font-weight:900}.guest-details-loading{text-align:center;place-content:center;justify-items:center;gap:10px;min-height:420px;display:grid}.guest-details-loading h1{color:var(--navy-950);margin:0}.guest-details-loading p{color:var(--muted);margin:0}@media (max-width:1200px){.guest-details-layout{grid-template-columns:1fr}.guest-reservation-summary{position:static}}@media (max-width:650px){.guest-details-form-grid,.guest-reservation-stay-grid{grid-template-columns:1fr}.guest-details-full-width{grid-column:auto}.guest-details-actions{flex-direction:column-reverse;align-items:stretch}.guest-details-actions a,.guest-details-actions button{width:100%}}.reservation-information-card .guest-details-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.reservation-status-display{color:#1e7047;letter-spacing:.04em;text-transform:uppercase;background:#e8f6ee;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:850}.reservation-status-field{background:#f1fbf5;border:1px solid #c8dfd1;border-radius:10px;grid-column:1/-1;align-content:center;gap:5px;min-height:76px;padding:14px;display:grid}.reservation-status-field>span{color:var(--muted);letter-spacing:.045em;text-transform:uppercase;font-size:9px;font-weight:800}.reservation-status-field>strong{color:#1e7047;font-size:14px}.reservation-status-field>p{color:var(--muted);margin:0;font-size:10px;line-height:1.4}.guest-reservation-classification{border-bottom:1px solid var(--border);gap:8px;padding:15px 19px;display:grid}.guest-reservation-classification>div{border:1px solid var(--border);background:#fbfcfd;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:43px;padding:9px 10px;display:flex}.guest-reservation-classification span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.guest-reservation-classification strong{color:var(--navy-950);text-align:right;font-size:11px}.guest-reservation-classification .reservation-confirmed-status{color:#1e7047}@media (max-width:650px){.reservation-information-card .guest-details-card-heading{flex-direction:column;align-items:stretch}.reservation-status-display{width:fit-content}.reservation-status-field{grid-column:auto}}.group-reservation-card .guest-details-card-heading,.restaurant-request-card .guest-details-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.group-reservation-badge,.restaurant-eligibility-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:850}.group-reservation-badge{color:#805d00;background:#fff0d6}.restaurant-eligibility-badge{color:#1e7047;background:#e8f6ee}.restaurant-request-content{gap:16px;padding:22px;display:grid}.restaurant-request-toggle{cursor:pointer;background:#fffaf0;border:1px solid #dfcfaa;border-radius:11px;align-items:flex-start;gap:12px;padding:16px;display:flex}.restaurant-request-toggle input{flex:0 0 18px;width:18px;height:18px;margin-top:2px}.restaurant-request-toggle>span{gap:4px;display:grid}.restaurant-request-toggle strong{color:var(--navy-950);font-size:13px}.restaurant-request-toggle small{color:var(--muted);font-size:10px;line-height:1.45}.restaurant-request-fields{padding:0}.restaurant-request-fields .field-group small{color:var(--muted);font-size:9px}.restaurant-ineligible-notice{background:#f7fafc;border:1px dashed #cad8e3;border-radius:12px;padding:15px 17px}.restaurant-ineligible-notice>div{gap:4px;display:grid}.restaurant-ineligible-notice strong{color:var(--navy-950);font-size:12px}.restaurant-ineligible-notice span{color:var(--muted);font-size:10px;line-height:1.45}.guest-reservation-group-summary,.guest-reservation-restaurant-summary{border-bottom:1px solid var(--border);gap:8px;padding:15px 19px;display:grid}.guest-reservation-group-summary>span,.guest-reservation-restaurant-summary>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.guest-reservation-group-summary>div,.guest-reservation-restaurant-summary>div{border:1px solid var(--border);background:#fbfcfd;border-radius:8px;align-content:center;gap:4px;min-height:48px;padding:10px;display:grid}.guest-reservation-group-summary strong,.guest-reservation-restaurant-summary strong{color:var(--navy-950);font-size:12px}.guest-reservation-group-summary>div>span,.guest-reservation-restaurant-summary>div>span{color:var(--muted);font-size:10px}.guest-reservation-restaurant-summary>div{background:#fffaf0;border-color:#dfcfaa}@media (max-width:650px){.group-reservation-card .guest-details-card-heading,.restaurant-request-card .guest-details-card-heading{flex-direction:column;align-items:stretch}.group-reservation-badge,.restaurant-eligibility-badge{width:fit-content}}.reservation-notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px;display:grid}.reservation-note-panel{border:1px solid var(--border);background:#fbfcfd;border-radius:11px;align-content:start;gap:10px;margin:0;padding:16px;display:grid}.reservation-note-panel-guest{background:#f5f9fb;border-color:#cad8e3}.reservation-note-panel-internal{background:#fffaf0;border-color:#dfcfaa}.reservation-note-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.reservation-note-heading>span{color:var(--navy-950);font-size:12px;font-weight:800}.reservation-note-heading>strong{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:850}.reservation-note-panel-guest .reservation-note-heading>strong{color:#3d647d;background:#e5f0f6}.reservation-note-panel-internal .reservation-note-heading>strong{color:#805d00;background:#f5e8c9}.reservation-note-panel textarea{resize:vertical;background:#fff;width:100%;min-height:150px}.reservation-note-panel>small{color:var(--muted);font-size:9px;line-height:1.5}.reservation-draft-status{background:#f1fbf5;border:1px solid #c8dfd1;border-radius:10px;align-items:center;gap:11px;margin:0 22px 22px;padding:12px 14px;display:flex}.reservation-draft-status>span{color:#1e7047;background:#ccebd9;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:900;display:grid}.reservation-draft-status>div{gap:3px;display:grid}.reservation-draft-status strong{color:#1e7047;font-size:11px}.reservation-draft-status small{color:var(--muted);font-size:9px}.guest-reservation-notes-summary{border-bottom:1px solid var(--border);gap:8px;padding:15px 19px;display:grid}.guest-reservation-notes-summary>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.guest-reservation-notes-summary>div{gap:7px;display:grid}.guest-reservation-notes-summary>div>div{border:1px solid var(--border);background:#fbfcfd;border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:8px 9px;display:grid}.guest-reservation-notes-summary>div>div>span:not(.guest-note-status){color:var(--muted);font-size:10px}.guest-reservation-notes-summary>div>div>strong{color:var(--navy-950);font-size:10px}.guest-note-status{width:22px;height:22px;color:var(--muted);background:#edf1f4;border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid}.guest-note-status-added{color:#1e7047;background:#ccebd9}.guest-note-status-internal{color:#805d00;background:#f5e8c9}@media (max-width:760px){.reservation-notes-grid{grid-template-columns:1fr}}@media (max-width:420px){.reservation-note-heading{flex-direction:column;align-items:flex-start}}.reservation-review-button{min-width:210px;min-height:46px;transition:transform .16s,box-shadow .16s;box-shadow:0 10px 22px #12325229}.reservation-review-button:hover{transform:translateY(-1px);box-shadow:0 13px 27px #12325236}.reservation-review-button:focus-visible{outline-offset:3px;outline:3px solid #c8a96b52}@media (max-width:650px){.reservation-review-button{width:100%;min-width:0}}.reservation-review-page{gap:20px;display:grid}.reservation-review-layout{grid-template-columns:minmax(0,1fr) minmax(310px,370px);align-items:start;gap:20px;display:grid}.reservation-review-main{gap:20px;min-width:0;display:grid}.reservation-review-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.reservation-review-card-heading{border-bottom:1px solid var(--border);background:#fbfcfd;justify-content:space-between;align-items:flex-start;gap:18px;min-height:86px;padding:19px 21px;display:flex}.reservation-review-card-heading h2{color:var(--navy-950);margin:4px 0 0;font-size:20px}.review-ready-badge,.review-count-badge,.review-service-badge{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#edf1f4;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:850}.review-ready-badge,.review-service-badge-requested{color:#1e7047;background:#e8f6ee}.review-information-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 21px;display:grid}.review-information-grid>div{border:1px solid var(--border);background:#fbfcfd;border-radius:10px;align-content:center;gap:5px;min-height:68px;padding:12px;display:grid}.review-information-grid span,.review-accommodation-details span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.review-information-grid strong{color:var(--navy-950);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.review-information-wide{grid-column:1/-1}.review-accommodation-list{gap:13px;padding:20px 21px;display:grid}.review-accommodation-list article{border:1px solid var(--border);background:#fbfcfd;border-radius:12px;overflow:hidden}.review-accommodation-heading{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:flex-start;gap:18px;padding:14px;display:flex}.review-accommodation-heading>div{gap:4px;display:grid}.review-accommodation-heading strong{color:var(--navy-950);font-size:13px}.review-accommodation-heading span{color:var(--muted);font-size:10px}.review-accommodation-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px 14px;display:grid}.review-accommodation-details>div{background:#fff;border-radius:8px;align-content:center;gap:4px;min-height:52px;padding:9px;display:grid}.review-accommodation-details strong{color:var(--navy-950);font-size:12px}.review-empty-section{color:var(--muted);padding:21px;font-size:11px}.review-notes-grid{gap:12px;padding:20px 21px;display:grid}.review-note{border:1px solid var(--border);background:#fbfcfd;border-radius:11px;padding:14px}.review-note>span{color:var(--navy-950);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:850}.review-note p{color:#3d5367;white-space:pre-wrap;margin:8px 0 0;font-size:11px;line-height:1.6}.review-note-profile{background:#f8fafb}.review-note-guest{background:#f5f9fb;border-color:#cad8e3}.review-note-internal{background:#fffaf0;border-color:#dfcfaa}.reservation-review-actions{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:14px;justify-content:flex-end;align-items:center;gap:12px;padding:18px 20px;display:flex}.review-confirm-button:disabled{cursor:not-allowed;opacity:.58}.reservation-review-summary{border:1px solid var(--border);background:#fff;border-radius:16px;position:sticky;top:24px;overflow:hidden;box-shadow:0 16px 38px #12325217}.reservation-review-summary-heading{border-bottom:1px solid var(--border);padding:19px}.reservation-review-summary-heading h2{color:var(--navy-950);margin:4px 0 0;font-size:20px}.review-summary-guest{border-bottom:1px solid var(--border);gap:4px;padding:15px 19px;display:grid}.review-summary-guest>span,.review-summary-stay span,.review-summary-financials span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.review-summary-guest strong{color:var(--navy-950);font-size:13px}.review-summary-guest small{color:var(--muted);font-size:10px}.review-summary-stay{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:15px 19px;display:grid}.review-summary-stay>div{background:#f6f8fa;border-radius:8px;gap:4px;padding:9px;display:grid}.review-summary-stay strong{color:var(--navy-950);font-size:11px}.review-summary-financials{gap:8px;padding:15px 19px;display:grid}.review-summary-financials>div{border:1px solid var(--border);background:#fbfcfd;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;min-height:46px;padding:10px 11px;display:flex}.review-summary-financials strong{color:var(--navy-950);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.review-summary-financials .review-summary-deposit{background:#fffaf0;border-color:#dfcfaa}.review-summary-deposit strong{color:#805d00}.review-summary-financials .review-summary-total{border-color:var(--navy-950);background:var(--navy-950);min-height:58px;margin-top:4px}.review-summary-total span,.review-summary-total strong{color:#fff}.review-summary-total strong{font-size:16px;font-weight:900}.review-confirmation-notice{background:#f5f9fb;border:1px solid #cad8e3;border-radius:9px;align-items:flex-start;gap:9px;margin:0 19px 19px;padding:12px;display:flex}.review-confirmation-notice>span{color:#3d647d;background:#dceaf2;border-radius:50%;flex:0 0 23px;place-items:center;width:23px;height:23px;font-size:11px;font-weight:900;display:grid}.review-confirmation-notice p{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.reservation-review-loading{text-align:center;place-content:center;justify-items:center;gap:10px;min-height:420px;display:grid}.reservation-review-loading h1{color:var(--navy-950);margin:0}.reservation-review-loading p{color:var(--muted);margin:0}@media (max-width:1200px){.reservation-review-layout{grid-template-columns:1fr}.reservation-review-summary{position:static}}@media (max-width:680px){.review-information-grid,.review-summary-stay{grid-template-columns:1fr}.review-information-wide{grid-column:auto}.review-accommodation-details{grid-template-columns:1fr}.reservation-review-card-heading,.review-accommodation-heading,.reservation-review-actions{flex-direction:column;align-items:stretch}.reservation-review-actions a,.reservation-review-actions button{width:100%}.review-ready-badge,.review-count-badge,.review-service-badge{width:fit-content}}.reservation-payload-success{color:#1e7047;background:#effaf3;border:1px solid #b8dcc8;align-items:center;gap:12px;padding:14px 16px;display:flex}.reservation-payload-success>span{color:#1e7047;background:#ccebd9;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:14px;font-weight:900;display:grid}.reservation-payload-success>div{gap:3px;display:grid}.reservation-payload-success strong{font-size:12px}.reservation-payload-success small{color:#537765;font-size:9px}.review-confirm-button{min-width:245px;min-height:46px;transition:transform .16s,box-shadow .16s,opacity .16s}.review-confirm-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 13px 27px #12325236}.review-confirm-button-complete:disabled{color:#fff;cursor:default;opacity:1;background:#1e7047;border-color:#1e7047}.review-confirmation-notice{align-items:center}.review-confirmation-notice>div{gap:4px;display:grid}.review-confirmation-notice strong{color:#3d647d;font-size:10px}.review-confirmation-notice-ready{background:#effaf3;border-color:#b8dcc8}.review-confirmation-notice-ready>span{color:#1e7047;background:#ccebd9}.review-confirmation-notice-ready strong{color:#1e7047}.review-confirmation-notice-ready p{color:#537765}@media (max-width:680px){.review-confirm-button{min-width:0}.reservation-payload-success{align-items:flex-start}}.review-create-button{background:#1e7047;border-color:#1e7047;min-width:220px;box-shadow:0 11px 24px #1e70472e}.review-create-button:not(:disabled):hover{background:#185e3c;box-shadow:0 14px 28px #1e70473d}.review-create-button:disabled{cursor:wait;opacity:.72}.reservation-created-success{background:linear-gradient(135deg,#effaf3,#f8fffb);border:1px solid #a9d6bd;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;display:grid;box-shadow:0 16px 38px #1e70471a}.reservation-created-icon{color:#fff;background:#1e7047;border-radius:50%;place-items:center;width:52px;height:52px;font-size:24px;font-weight:900;display:grid}.reservation-created-content{min-width:0}.reservation-created-content h2{color:#145132;margin:4px 0 0;font-size:23px}.reservation-created-content>p:last-of-type{color:#537765;margin:6px 0 0;font-size:11px;line-height:1.5}.reservation-created-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.reservation-created-details>div{background:#fff;border:1px solid #c8dfd1;border-radius:8px;align-content:center;gap:4px;min-height:52px;padding:9px 10px;display:grid}.reservation-created-details span{color:#537765;letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:800}.reservation-created-details strong{color:#145132;overflow-wrap:anywhere;font-size:11px}@media (max-width:900px){.reservation-created-success{grid-template-columns:auto minmax(0,1fr)}.reservation-created-success>a{grid-column:1/-1;width:100%}.reservation-created-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.reservation-created-success{grid-template-columns:1fr}.reservation-created-icon{width:44px;height:44px}.reservation-created-details{grid-template-columns:1fr}.review-create-button{min-width:0}}.reservation-detail-page{gap:20px;display:grid}.reservation-detail-hero{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.reservation-detail-hero>div{border:1px solid var(--border);min-height:112px;box-shadow:var(--shadow);background:#fff;border-radius:14px;align-content:center;gap:7px;padding:18px 19px;display:grid}.reservation-detail-hero span,.reservation-detail-grid span,.reservation-detail-assignment-grid span,.reservation-detail-financials span,.reservation-detail-metadata span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.reservation-detail-hero strong{color:var(--navy-950);font-size:15px}.reservation-detail-hero small{color:var(--muted);font-size:10px}.reservation-detail-layout{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start;gap:20px;display:grid}.reservation-detail-main{gap:20px;min-width:0;display:grid}.reservation-detail-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.reservation-detail-card-heading{border-bottom:1px solid var(--border);background:#fbfcfd;justify-content:space-between;align-items:flex-start;gap:18px;min-height:84px;padding:19px 21px;display:flex}.reservation-detail-card-heading h2{color:var(--navy-950);margin:4px 0 0;font-size:20px}.reservation-detail-count{color:var(--muted);text-transform:uppercase;background:#edf1f4;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:850}.reservation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 21px;display:grid}.reservation-detail-grid>div{border:1px solid var(--border);background:#fbfcfd;border-radius:10px;align-content:center;gap:5px;min-height:68px;padding:12px;display:grid}.reservation-detail-grid strong{color:var(--navy-950);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.reservation-detail-wide{grid-column:1/-1}.reservation-detail-assignment-list{gap:13px;padding:20px 21px;display:grid}.reservation-detail-assignment-list article{border:1px solid var(--border);background:#fbfcfd;border-radius:12px;overflow:hidden}.reservation-detail-assignment-heading{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:flex-start;gap:18px;padding:14px;display:flex}.reservation-detail-assignment-heading>div{gap:4px;display:grid}.reservation-detail-assignment-heading strong{color:var(--navy-950);font-size:13px}.reservation-detail-assignment-heading span{color:var(--muted);font-size:10px}.reservation-detail-assignment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px 14px;display:grid}.reservation-detail-assignment-grid>div{background:#fff;border-radius:8px;align-content:center;gap:4px;min-height:52px;padding:9px;display:grid}.reservation-detail-assignment-grid strong{color:var(--navy-950);font-size:12px}.reservation-detail-notes{gap:12px;padding:20px 21px;display:grid}.reservation-detail-note{border:1px solid var(--border);border-radius:11px;padding:14px}.reservation-detail-note>span{color:var(--navy-950);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:850}.reservation-detail-note p{color:#3d5367;white-space:pre-wrap;margin:8px 0 0;font-size:11px;line-height:1.6}.reservation-detail-note-guest{background:#f5f9fb;border-color:#cad8e3}.reservation-detail-note-internal{background:#fffaf0;border-color:#dfcfaa}.reservation-status-history{gap:13px;padding:20px 21px;display:grid}.reservation-status-history article{grid-template-columns:auto minmax(0,1fr);gap:12px;display:grid}.reservation-status-history-marker{background:var(--navy-950);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;font-weight:900;display:grid}.reservation-status-history article>div{border-bottom:1px solid var(--border);gap:4px;padding:9px 12px 13px;display:grid}.reservation-status-history strong{color:var(--navy-950);font-size:12px}.reservation-status-history article>div>span{color:var(--muted);font-size:9px}.reservation-status-history p{color:#3d5367;margin:4px 0 0;font-size:10px;line-height:1.5}.reservation-detail-empty{color:var(--muted);padding:22px;font-size:11px}.reservation-detail-summary{border:1px solid var(--border);background:#fff;border-radius:16px;position:sticky;top:24px;overflow:hidden;box-shadow:0 16px 38px #12325217}.reservation-detail-summary-heading{border-bottom:1px solid var(--border);padding:19px}.reservation-detail-summary-heading h2{color:var(--navy-950);margin:4px 0 0;font-size:20px}.reservation-detail-financials{gap:8px;padding:15px 19px;display:grid}.reservation-detail-financials>div{border:1px solid var(--border);background:#fbfcfd;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;min-height:46px;padding:10px 11px;display:flex}.reservation-detail-financials strong{color:var(--navy-950);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.reservation-detail-financials .reservation-detail-deposit{background:#fffaf0;border-color:#dfcfaa}.reservation-detail-deposit strong{color:#805d00}.reservation-detail-financials .reservation-detail-total{border-color:var(--navy-950);background:var(--navy-950);min-height:58px;margin-top:4px}.reservation-detail-total span,.reservation-detail-total strong{color:#fff}.reservation-detail-total strong{font-size:16px;font-weight:900}.reservation-detail-metadata{border-top:1px solid var(--border);gap:8px;padding:15px 19px 19px;display:grid}.reservation-detail-metadata>div{justify-content:space-between;gap:14px;display:flex}.reservation-detail-metadata strong{color:var(--navy-950);text-align:right;font-size:10px}.reservation-detail-loading{text-align:center;place-content:center;justify-items:center;gap:10px;min-height:420px;display:grid}.reservation-detail-loading h1{color:var(--navy-950);margin:0}.reservation-detail-loading p{color:var(--muted);margin:0}.reservation-detail-error{place-content:center;gap:16px;min-height:360px;display:grid}.reservation-detail-error-actions{justify-content:center;gap:10px;display:flex}@media (max-width:1200px){.reservation-detail-layout{grid-template-columns:1fr}.reservation-detail-summary{position:static}.reservation-detail-hero{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.reservation-detail-hero,.reservation-detail-grid,.reservation-detail-assignment-grid{grid-template-columns:1fr}.reservation-detail-wide{grid-column:auto}.reservation-detail-card-heading,.reservation-detail-assignment-heading{flex-direction:column;align-items:stretch}.reservation-detail-count{width:fit-content}.reservation-detail-error-actions{flex-direction:column;align-items:stretch}}.reservation-confirm-action{background:#1e7047;border-color:#1e7047;min-width:180px;min-height:42px;transition:transform .16s,box-shadow .16s,opacity .16s;box-shadow:0 10px 22px #1e70472b}.reservation-confirm-action:not(:disabled):hover{background:#185e3c;transform:translateY(-1px);box-shadow:0 13px 26px #1e70473b}.reservation-confirm-action:disabled{cursor:wait;opacity:.7}.reservation-action-message{margin:0}.reservation-action-success{color:#1e7047;background:#effaf3;border:1px solid #b8dcc8;align-items:center;gap:12px;padding:14px 16px;display:flex}.reservation-action-success>span{color:#1e7047;background:#ccebd9;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:14px;font-weight:900;display:grid}.reservation-action-success>div{gap:3px;display:grid}.reservation-action-success strong{font-size:12px}.reservation-action-success small{color:#537765;font-size:9px}.reservation-status-confirmed{color:#1e7047;background:#e8f6ee}@media (max-width:720px){.reservation-confirm-action{width:100%;min-width:0}.reservation-action-success{align-items:flex-start}}.reservation-management-actions{border:1px solid var(--border);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #12325214}.reservation-management-actions-heading{border-bottom:1px solid var(--border);background:#fbfcfd;justify-content:space-between;align-items:flex-start;gap:18px;padding:17px 19px;display:flex}.reservation-management-actions-heading h2{color:var(--navy-950);margin:4px 0 0;font-size:18px}.reservation-management-actions-heading p:last-child{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.45}.reservation-action-status{color:var(--muted);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;background:#edf1f4;border-radius:999px;padding:7px 11px;font-size:9px;font-weight:850}.reservation-action-status-draft{color:#805d00;background:#fff0c7}.reservation-action-status-confirmed{color:#1e7047;background:#e8f6ee}.reservation-action-status-cancelled{color:#a1322d;background:#fbe9e8}.reservation-management-actions-body{justify-content:space-between;align-items:center;gap:20px;padding:16px 19px;display:flex}.reservation-management-action-context{gap:4px;min-width:0;display:grid}.reservation-management-action-context strong{color:var(--navy-950);font-size:12px}.reservation-management-action-context span{color:var(--muted);font-size:10px;line-height:1.45}.reservation-management-action-buttons{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.reservation-management-action-buttons button{min-height:42px}.reservation-edit-placeholder:disabled,.reservation-cancel-placeholder:disabled,.reservation-checkin-placeholder:disabled{cursor:not-allowed;opacity:.58}.reservation-cancel-placeholder{color:#a1322d;border-color:#dfaaa7}.reservation-cancel-placeholder:disabled{color:#a85d58;background:snow;border-color:#e4c4c1}.reservation-checkin-placeholder{background:#1e7047;border-color:#1e7047}.reservation-view-only-badge{color:#a1322d;letter-spacing:.04em;text-transform:uppercase;background:#fff5f4;border:1px solid #dfaaa7;border-radius:9px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-size:10px;font-weight:850;display:inline-flex}@media (max-width:900px){.reservation-management-actions-body{flex-direction:column;align-items:stretch}.reservation-management-action-buttons{justify-content:flex-start}}@media (max-width:680px){.reservation-management-actions-heading{flex-direction:column;align-items:stretch}.reservation-action-status{width:fit-content}.reservation-management-action-buttons{grid-template-columns:1fr;display:grid}.reservation-management-action-buttons button,.reservation-view-only-badge{width:100%}}.reservation-cancel-action{color:#a1322d;background:snow;border-color:#dfaaa7;min-height:42px}.reservation-cancel-action:not(:disabled):hover{color:#8d2924;background:#fff1f0;border-color:#b9443e}.reservation-cancel-action:disabled{cursor:wait;opacity:.65}.reservation-cancel-dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#091a2bad;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.reservation-cancel-dialog{background:#fff;border:1px solid #dfaaa7;border-radius:16px;width:min(100%,610px);overflow:hidden;box-shadow:0 28px 70px #05121f52}.reservation-cancel-dialog-heading{border-bottom:1px solid var(--border);background:#fff8f7;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.reservation-cancel-dialog-heading h2{color:#8d2924;margin:4px 0 0;font-size:21px}.reservation-cancel-dialog-heading p:last-child{color:#685452;margin:7px 0 0;font-size:10px;line-height:1.55}.reservation-cancel-dialog-close{color:#8d2924;cursor:pointer;background:#fff;border:1px solid #e3cbc9;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:21px;line-height:1;display:grid}.reservation-cancel-dialog-close:disabled{cursor:not-allowed;opacity:.55}.reservation-cancel-dialog-body{gap:15px;padding:21px 22px;display:grid}.reservation-cancel-dialog textarea{resize:vertical;width:100%;min-height:145px}.reservation-cancel-dialog .field-group small{color:var(--muted);text-align:right;font-size:9px}.reservation-cancel-validation{margin:0}.reservation-cancel-warning{background:#fff8f7;border:1px solid #ead1ce;border-radius:10px;padding:13px 14px}.reservation-cancel-warning strong{color:#8d2924;font-size:11px}.reservation-cancel-warning p{color:#685452;margin:5px 0 0;font-size:9px;line-height:1.55}.reservation-cancel-dialog-actions{border-top:1px solid var(--border);background:#fbfcfd;justify-content:flex-end;align-items:center;gap:10px;padding:16px 22px 20px;display:flex}.reservation-cancel-submit{color:#fff;cursor:pointer;min-height:42px;font:inherit;background:#a1322d;border:1px solid #a1322d;border-radius:9px;padding:0 18px;font-size:11px;font-weight:850}.reservation-cancel-submit:not(:disabled):hover{background:#842722}.reservation-cancel-submit:disabled{cursor:not-allowed;opacity:.55}.reservation-cancellation-summary{background:linear-gradient(135deg,#fff3f2,snow);border:1px solid #dfaaa7;border-radius:15px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:15px;padding:18px 20px;display:grid}.reservation-cancellation-summary-icon{color:#fff;background:#a1322d;border-radius:50%;place-items:center;width:42px;height:42px;font-size:19px;font-weight:900;display:grid}.reservation-cancellation-summary h2{color:#8d2924;margin:4px 0 0;font-size:19px}.reservation-cancellation-summary>div>p:not(.section-label){color:#685452;white-space:pre-wrap;margin:7px 0 0;font-size:11px;line-height:1.55}.reservation-cancellation-summary-meta{align-items:center;gap:8px;margin-top:11px;display:flex}.reservation-cancellation-summary-meta span{color:#8d2924;letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:850}.reservation-cancellation-summary-meta strong{color:#685452;font-size:10px}.reservation-status-cancelled{color:#a1322d;background:#fbe9e8}@media (max-width:620px){.reservation-cancel-dialog-backdrop{place-items:end center;padding:12px}.reservation-cancel-dialog{width:100%;max-height:calc(100vh - 24px);overflow-y:auto}.reservation-cancel-dialog-actions{flex-direction:column-reverse;align-items:stretch}.reservation-cancel-dialog-actions button{width:100%}.reservation-cancellation-summary{grid-template-columns:1fr}}.reservation-edit-action{min-height:42px}.reservation-edit-dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#091a2bad;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.reservation-edit-dialog{border:1px solid var(--border);background:#fff;border-radius:16px;width:min(100%,760px);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 28px 70px #05121f52}.reservation-edit-dialog-heading{border-bottom:1px solid var(--border);background:#f8fafb;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.reservation-edit-dialog-heading h2{color:var(--navy-950);margin:4px 0 0;font-size:21px}.reservation-edit-dialog-heading p:last-child{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.5}.reservation-edit-dialog-close{border:1px solid var(--border);width:34px;height:34px;color:var(--navy-950);cursor:pointer;background:#fff;border-radius:50%;flex:0 0 34px;place-items:center;font-size:21px;display:grid}.reservation-edit-dialog-body{gap:16px;padding:21px 22px;display:grid}.reservation-edit-notes-grid,.reservation-edit-group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.reservation-edit-dialog textarea{resize:vertical;width:100%}.reservation-edit-service-options{border:1px solid var(--border);background:#fbfcfd;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.reservation-edit-service-options label{color:var(--navy-950);align-items:center;gap:9px;font-size:11px;font-weight:700;display:flex}.reservation-edit-dialog-actions{border-top:1px solid var(--border);background:#fbfcfd;justify-content:flex-end;gap:10px;padding:16px 22px 20px;display:flex}.reservation-edit-save{min-width:205px}@media (max-width:680px){.reservation-edit-dialog-backdrop{place-items:end center;padding:12px}.reservation-edit-dialog{max-height:calc(100vh - 24px)}.reservation-edit-notes-grid,.reservation-edit-group-grid,.reservation-edit-service-options{grid-template-columns:1fr}.reservation-edit-dialog-actions{flex-direction:column-reverse;align-items:stretch}.reservation-edit-dialog-actions button{width:100%}}.reservation-management-view-only{background:#f7f9fa;border:1px solid #d8dfe5;border-radius:11px;align-items:flex-start;gap:11px;padding:13px 15px;display:flex}.reservation-management-view-only>span{color:#506476;background:#e5ebef;border-radius:50%;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:11px;font-weight:900;display:grid}.reservation-management-view-only>div{gap:3px;display:grid}.reservation-management-view-only strong{color:var(--navy-950);font-size:11px}.reservation-management-view-only p{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.reservation-management-action-buttons button:disabled{pointer-events:none}.reservation-action-status-checked_in{color:#245d8b;background:#e7f1fb}.reservation-action-status-checked_out{color:#536778;background:#edf1f4}.status-vacant{color:#176b3a;background:#e8f7ee;border-color:#b9e4c8}.status-reserved{color:#805d00;background:#fff6dc;border-color:#ead18a}.status-occupied{color:#9d2929;background:#fdeaea;border-color:#efb8b8}.accommodation-summary-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.accommodation-filters{grid-template-columns:minmax(240px,2fr) repeat(4,minmax(150px,1fr))}.accommodation-table-wrapper{overscroll-behavior-inline:contain;overflow-x:auto}.accommodation-table th,.accommodation-table td{white-space:nowrap}.accommodation-table th:first-child,.accommodation-table td:first-child{white-space:normal}@media (max-width:1180px){.accommodation-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.accommodation-filters .filter-search{grid-column:1/-1}}@media (max-width:680px){.accommodation-summary-grid,.accommodation-filters{grid-template-columns:minmax(0,1fr)}.accommodation-filters .filter-search{grid-column:auto}.accommodation-table{min-width:1080px}}.accommodation-table td:last-child{white-space:nowrap}.accommodation-table td:last-child .table-action-button{vertical-align:middle}.accommodation-table td:last-child .table-action-button+.table-action-button{margin-left:.5rem}.accommodation-table td:last-child .table-action-button:disabled{cursor:wait;opacity:.65}.accommodation-drawer .field-group>.table-action-button{align-self:flex-start;margin-top:.35rem}.accommodation-drawer .field-group>.table-action-button:disabled{cursor:wait;opacity:.65}.accommodation-table{min-width:1120px}.accommodation-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:1100px){.accommodation-table{min-width:1080px}}@media (max-width:720px){.accommodation-table{min-width:1040px}.accommodation-table td:last-child .table-action-button{display:inline-block}.accommodation-table td:last-child .table-action-button+.table-action-button{margin-left:.35rem}.accommodation-drawer .field-group>.table-action-button{width:100%}}.reservation-payment-controls{gap:.85rem;margin-top:1rem;display:grid}.reservation-payment-controls .module-message{margin:0}.reservation-payment-fully-paid,.reservation-payment-unavailable{border:1px solid var(--border-color);background:var(--surface-muted);border-radius:.8rem;gap:.3rem;padding:.9rem 1rem;display:grid}.reservation-payment-fully-paid strong{font-size:.95rem;line-height:1.3}.reservation-payment-fully-paid span,.reservation-payment-unavailable{color:var(--text-muted);font-size:.82rem;line-height:1.5}.reservation-record-payment-action{justify-self:stretch;width:100%}.reservation-record-payment-form{border:1px solid var(--border-color);background:var(--surface-muted);border-radius:.9rem;gap:1rem;padding:1rem;display:grid}.reservation-record-payment-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.reservation-record-payment-heading>div{gap:.25rem;display:grid}.reservation-record-payment-heading strong{font-size:1rem;line-height:1.3}.reservation-record-payment-heading span{color:var(--text-muted);font-size:.8rem;line-height:1.45}.reservation-record-payment-form .field-group{gap:.45rem;min-width:0;display:grid}.reservation-record-payment-form .field-group>span{font-size:.8rem;font-weight:600}.reservation-record-payment-form input,.reservation-record-payment-form select,.reservation-record-payment-form textarea{width:100%;min-width:0}.reservation-record-payment-form select,.reservation-record-payment-form textarea{border:1px solid var(--border-color);background:var(--surface);color:inherit;font:inherit;border-radius:.65rem}.reservation-record-payment-form select{min-height:2.75rem;padding:.65rem .75rem}.reservation-record-payment-form textarea{resize:vertical;min-height:5.5rem;padding:.75rem;line-height:1.45;display:block}.reservation-record-payment-form select:focus,.reservation-record-payment-form textarea:focus{border-color:var(--primary-color);outline:none}.reservation-record-payment-form input:disabled,.reservation-record-payment-form select:disabled,.reservation-record-payment-form textarea:disabled{cursor:not-allowed;opacity:.65}.reservation-record-payment-actions{margin-top:0}.reservation-record-payment-actions button{min-width:8rem}.reservation-record-payment-submit:disabled,.reservation-record-payment-action:disabled{cursor:not-allowed;opacity:.65}@media (max-width:900px){.reservation-record-payment-form{padding:.9rem}.reservation-record-payment-actions{width:100%}}@media (max-width:680px){.reservation-payment-controls{gap:.75rem}.reservation-payment-fully-paid,.reservation-payment-unavailable,.reservation-record-payment-form{border-radius:.75rem}.reservation-record-payment-form{gap:.85rem;padding:.85rem}.reservation-record-payment-form .form-grid-two{grid-template-columns:minmax(0,1fr)}.reservation-record-payment-heading{display:grid}.reservation-record-payment-actions{grid-template-columns:minmax(0,1fr);gap:.65rem;display:grid}.reservation-record-payment-actions button{width:100%;min-width:0}}.dashboard-page{gap:24px;display:grid}.dashboard-page .page-heading{align-items:flex-start;gap:20px}.dashboard-page .summary-grid{gap:16px}.dashboard-page .summary-card{min-width:0}.dashboard-page .summary-card>p{margin-bottom:8px}.dashboard-page .summary-card>strong{margin-bottom:6px;display:block}.dashboard-page .summary-card>span{line-height:1.45;display:block}.dashboard-page .dashboard-grid{align-items:stretch;gap:18px}.dashboard-page .dashboard-panel{min-width:0}.dashboard-page .panel-heading{gap:18px}.dashboard-page .dashboard-module-card{text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:0;padding:18px;display:grid}.dashboard-page .dashboard-module-card+.dashboard-module-card{margin-top:12px}.dashboard-page .dashboard-module-icon{flex:none}.dashboard-page .dashboard-module-card>div:nth-child(2){min-width:0}.dashboard-page .dashboard-module-card h3{margin-top:0;margin-bottom:7px}.dashboard-page .dashboard-module-card p{overflow-wrap:anywhere;margin-top:5px;margin-bottom:5px}.dashboard-page .dashboard-module-card .status-pill{margin-top:6px;display:inline-flex}.dashboard-page .dashboard-module-card>div:last-child{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dashboard-page .dashboard-module-link{width:auto;min-width:max-content;margin:0}.dashboard-page .dashboard-panel>.dashboard-grid{margin-top:18px}.dashboard-page .dashboard-panel>.dashboard-grid .dashboard-module-card{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-page .dashboard-module-card .section-label{margin-top:0;margin-bottom:4px}.dashboard-page button:disabled,.dashboard-page a[aria-disabled=true]{cursor:not-allowed;opacity:.65}@media (max-width:1024px){.dashboard-page{gap:20px}.dashboard-page .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-page .dashboard-module-card{grid-template-columns:auto minmax(0,1fr)}.dashboard-page .dashboard-module-card>div:last-child{grid-column:1/-1;justify-content:flex-start}}@media (max-width:700px){.dashboard-page{gap:16px}.dashboard-page .page-heading,.dashboard-page .panel-heading{align-items:stretch}.dashboard-page .summary-grid{grid-template-columns:minmax(0,1fr)}.dashboard-page .dashboard-panel{overflow:hidden}.dashboard-page .dashboard-module-card{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.dashboard-page .dashboard-module-icon{justify-self:start}.dashboard-page .dashboard-module-card>div:last-child{grid-column:auto;grid-template-columns:minmax(0,1fr);width:100%;display:grid}.dashboard-page .dashboard-module-link,.dashboard-page .primary-button,.dashboard-page .secondary-button{justify-content:center;width:100%}.dashboard-page .panel-heading>.secondary-button,.dashboard-page .page-heading>.secondary-button{width:100%}}@media (max-width:420px){.dashboard-page .dashboard-module-card{padding:14px}.dashboard-page .status-pill{max-width:100%}}.reservation-management{gap:24px;min-width:0;display:grid}.reservation-management .page-heading{gap:20px}.reservation-management .page-heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reservation-management .reservation-summary-grid{gap:16px}.reservation-management .summary-card{min-width:0}.reservation-management .summary-card p,.reservation-management .summary-card span{overflow-wrap:anywhere}.reservation-management .reservation-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:16px;display:grid}.reservation-management .reservation-filter-grid .field-group{min-width:0}.reservation-management .reservation-filter-grid input,.reservation-management .reservation-filter-grid select{width:100%;min-width:0}.reservation-management .reservation-filter-grid .primary-button,.reservation-management .reservation-filter-grid .secondary-button{min-width:0}.reservation-management .section-label+div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reservation-management .section-label+div .primary-button,.reservation-management .section-label+div .secondary-button{width:auto;min-width:max-content}.reservation-management .section-label+div>span{white-space:nowrap;align-items:center;min-height:40px;padding-inline:8px;display:inline-flex}.reservation-management .table-wrapper,.reservation-management .reservation-table-wrapper{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.reservation-management table{width:100%}.reservation-management th,.reservation-management td{vertical-align:middle}.reservation-management td{overflow-wrap:anywhere}.reservation-management .status-pill{white-space:nowrap}.reservation-management button:disabled,.reservation-management button[aria-disabled=true]{cursor:not-allowed;opacity:.6}@media (max-width:1100px){.reservation-management{gap:20px}.reservation-management .reservation-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:850px){.reservation-management .reservation-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-management .page-heading-actions{justify-content:flex-start}}@media (max-width:640px){.reservation-management{gap:16px}.reservation-management .page-heading{align-items:stretch}.reservation-management .page-heading-actions{grid-template-columns:minmax(0,1fr);width:100%;display:grid}.reservation-management .page-heading-actions .primary-button,.reservation-management .page-heading-actions .secondary-button{justify-content:center;width:100%}.reservation-management .reservation-filter-grid{grid-template-columns:minmax(0,1fr);gap:14px}.reservation-management .section-label+div{grid-template-columns:minmax(0,1fr);width:100%;display:grid}.reservation-management .section-label+div .primary-button,.reservation-management .section-label+div .secondary-button{justify-content:center;width:100%;min-width:0}.reservation-management .section-label+div>span{text-align:center;white-space:normal;justify-content:center;width:100%;padding-inline:0}.reservation-management table{min-width:760px}}@media (max-width:420px){.reservation-management{gap:14px}.reservation-management .reservation-filter-grid{gap:12px}.reservation-management .summary-card{padding:16px}}.guest-register{gap:24px;display:grid}.guest-register-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.guest-register-header h1{margin:4px 0 8px}.guest-register-intro{max-width:720px;color:var(--muted-foreground,#64748b);margin:0}.guest-register-readonly{color:#475569;letter-spacing:.04em;text-transform:uppercase;background:#f8fafc;border:1px solid #d7dee8;border-radius:999px;flex:none;padding:7px 12px;font-size:.78rem;font-weight:700}.guest-register-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.guest-register-summary-grid article{background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:8px;padding:18px;display:grid}.guest-register-summary-grid span{color:#64748b;font-size:.84rem;font-weight:600}.guest-register-summary-grid strong{color:#0f172a;font-size:1.55rem}.guest-register-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.guest-register-card-heading{justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 0;display:flex}.guest-register-card-heading h2{margin:0 0 6px}.guest-register-card-heading p{color:#64748b;margin:0}.guest-register-filters{grid-template-columns:minmax(280px,2fr) minmax(180px,.8fr) auto;align-items:end;gap:16px;padding:22px 24px;display:grid}.guest-register-filters label{gap:7px;display:grid}.guest-register-filters label>span{color:#334155;font-size:.82rem;font-weight:700}.guest-register-filters input,.guest-register-filters select{color:#0f172a;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:9px 11px}.guest-register-filters input:focus,.guest-register-filters select:focus{outline-offset:1px;border-color:#64748b;outline:2px solid #2563eb2e}.guest-register-filter-actions{gap:8px;display:flex}.guest-register-applied-filter{color:#475569;margin:0 24px 18px;font-size:.88rem}.guest-register-message{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:6px;margin:0 24px 24px;padding:20px;display:grid}.guest-register-message strong{color:#0f172a}.guest-register-message .secondary-button{width:fit-content;margin-top:8px}.guest-register-error{background:#fff7f7;border-color:#fecaca}.guest-register-table-wrapper{border-top:1px solid #e2e8f0;width:100%;overflow-x:auto}.guest-register-table{border-collapse:collapse;width:100%;min-width:980px}.guest-register-table th{color:#475569;letter-spacing:.035em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f8fafc;padding:12px 16px;font-size:.75rem;font-weight:800}.guest-register-table td{vertical-align:middle;border-top:1px solid #eef2f7;padding:15px 16px}.guest-register-table tbody tr:hover{background:#fbfdff}.guest-register-table td strong,.guest-register-table td>span{display:block}.guest-register-table td strong{color:#0f172a;font-size:.9rem}.guest-register-table td>span:not(.status-pill){color:#64748b;margin-top:3px;font-size:.82rem}.guest-register .status-inactive{color:#64748b;background:#f1f5f9}.guest-register-pagination{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex}.guest-register-pagination p{color:#64748b;margin:0;font-size:.86rem}.guest-register-pagination>div{align-items:center;gap:10px;display:flex}.guest-register-pagination>div>span{color:#475569;text-align:center;min-width:70px;font-size:.84rem;font-weight:600}@media (max-width:900px){.guest-register-summary-grid,.guest-register-filters{grid-template-columns:1fr}.guest-register-filter-actions{justify-content:flex-start}}@media (max-width:640px){.guest-register-header,.guest-register-pagination{flex-direction:column;align-items:stretch}.guest-register-readonly{width:fit-content}.guest-register-card-heading,.guest-register-filters,.guest-register-pagination{padding-left:16px;padding-right:16px}.guest-register-filter-actions{flex-wrap:wrap}.guest-register-pagination>div{justify-content:space-between}}.guest-profile{gap:24px;display:grid}.guest-profile-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.guest-profile-header h1{margin:6px 0 8px}.guest-profile-back-link{color:#475569;margin-bottom:14px;font-size:.86rem;font-weight:700;text-decoration:none;display:inline-flex}.guest-profile-back-link:hover{color:#0f172a;text-decoration:underline}.guest-profile-intro{color:#64748b;max-width:720px;margin:0}.guest-profile-readonly{color:#475569;letter-spacing:.04em;text-transform:uppercase;background:#f8fafc;border:1px solid #d7dee8;border-radius:999px;flex:none;padding:7px 12px;font-size:.78rem;font-weight:700}.guest-profile-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.guest-profile-summary article{background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:8px;padding:18px;display:grid}.guest-profile-summary article>span{color:#64748b;font-size:.84rem;font-weight:600}.guest-profile-summary article>strong{color:#0f172a;font-size:1rem}.guest-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.guest-profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px}.guest-profile-card-wide{grid-column:1/-1}.guest-profile-card header{margin-bottom:20px}.guest-profile-card header h2{color:#0f172a;margin:0 0 6px;font-size:1.05rem}.guest-profile-card header p{color:#64748b;margin:0;font-size:.88rem}.guest-profile-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;display:grid}.guest-profile-details>div{border-top:1px solid #eef2f7;min-width:0;padding:14px 0}.guest-profile-details>div:nth-child(odd){padding-right:20px}.guest-profile-details>div:nth-child(2n){border-left:1px solid #eef2f7;padding-left:20px}.guest-profile-details .guest-profile-detail-wide{border-left:0;grid-column:1/-1;padding-left:0;padding-right:0}.guest-profile-details dt{color:#64748b;letter-spacing:.025em;text-transform:uppercase;margin-bottom:5px;font-size:.76rem;font-weight:700}.guest-profile-details dd{overflow-wrap:anywhere;color:#0f172a;margin:0;font-size:.92rem;font-weight:600}.guest-profile-notes{color:#334155;white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-height:92px;padding:14px;line-height:1.55}.guest-profile-message{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:8px;padding:22px;display:grid}.guest-profile-message strong{color:#0f172a}.guest-profile-message .secondary-button{width:fit-content;margin-top:8px}.guest-profile-error{background:#fff7f7;border-color:#fecaca}.guest-profile .status-inactive{color:#64748b;background:#f1f5f9}.guest-register-profile-link{width:fit-content;min-width:max-content;text-decoration:none}@media (max-width:900px){.guest-profile-summary,.guest-profile-grid{grid-template-columns:1fr}.guest-profile-card-wide{grid-column:auto}}@media (max-width:640px){.guest-profile-header{flex-direction:column;align-items:stretch}.guest-profile-readonly{width:fit-content}.guest-profile-details{grid-template-columns:1fr}.guest-profile-details>div,.guest-profile-details>div:nth-child(odd),.guest-profile-details>div:nth-child(2n),.guest-profile-details .guest-profile-detail-wide{border-left:0;grid-column:auto;padding-left:0;padding-right:0}}.guest-stay-history{margin-top:1.5rem}.guest-stay-history-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.guest-stay-history-heading>div{min-width:0}.guest-stay-history-count{color:#52525b;background:#f4f4f5;border-radius:999px;flex:none;padding:.4rem .7rem;font-size:.8rem;font-weight:700}.guest-stay-history-message,.guest-stay-history-empty{background:#fafafa;border:1px solid #e4e4e7;border-radius:.75rem;flex-direction:column;align-items:flex-start;gap:.65rem;margin-top:1rem;padding:1rem;display:flex}.guest-stay-history-message span,.guest-stay-history-empty span{color:#71717a}.guest-stay-history-error{background:#fef2f2;border-color:#fecaca}.guest-stay-history-list{gap:1rem;margin-top:1rem;display:grid}.guest-stay-history-item{background:#fff;border:1px solid #e4e4e7;border-radius:.75rem;overflow:hidden}.guest-stay-history-item-heading{border-bottom:1px solid #e4e4e7;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.guest-stay-history-item-heading>div{flex-direction:column;gap:.2rem;display:flex}.guest-stay-history-item-heading>div>span{color:#71717a;letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:700}.guest-stay-history-item-heading strong{overflow-wrap:anywhere}.guest-stay-history-details{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.guest-stay-history-details>div{border-bottom:1px solid #eeeeef;min-width:0;padding:.9rem 1rem}.guest-stay-history-details>div:not(:nth-child(4n)){border-right:1px solid #eeeeef}.guest-stay-history-details dt{color:#71717a;letter-spacing:.03em;text-transform:uppercase;margin-bottom:.3rem;font-size:.75rem;font-weight:700}.guest-stay-history-details dd{overflow-wrap:anywhere;color:#18181b;margin:0;font-weight:600}.guest-stay-history-actions{justify-content:flex-end;padding:.8rem 1rem;display:flex}.guest-stay-history-link{color:inherit;border:1px solid #d4d4d8;border-radius:.6rem;justify-content:center;align-items:center;padding:.55rem .8rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.guest-stay-history-link:hover{background:#f4f4f5}.guest-stay-history-limit{color:#71717a;margin:.9rem 0 0;font-size:.85rem}@media (max-width:900px){.guest-stay-history-details{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-stay-history-details>div:not(:nth-child(4n)){border-right:0}.guest-stay-history-details>div:nth-child(odd){border-right:1px solid #eeeeef}}@media (max-width:640px){.guest-stay-history-heading,.guest-stay-history-item-heading{flex-direction:column;align-items:flex-start}.guest-stay-history-details{grid-template-columns:1fr}.guest-stay-history-details>div:nth-child(odd){border-right:0}.guest-stay-history-actions{justify-content:stretch}.guest-stay-history-link{width:100%}}.reservation-guest-profile-link{width:fit-content;color:inherit;border:1px solid #d4d4d8;border-radius:.55rem;justify-content:center;align-items:center;margin-top:.55rem;padding:.42rem .7rem;font-size:.78rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.reservation-guest-profile-link:hover{background:#f4f4f5}@media (max-width:640px){.reservation-guest-profile-link{width:100%}}.family-register{gap:1.5rem;display:grid}.family-register-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.family-register-header h1{margin:.25rem 0 .4rem}.family-register-header p{max-width:48rem;margin:0}.family-register-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800;display:inline-block}.family-register-intro,.family-register-card{background:#fff;border:1px solid #e4e4e7;border-radius:.85rem}.family-register-intro{gap:.3rem;padding:1rem 1.15rem;display:grid}.family-register-card{overflow:hidden}.family-register-card-heading{border-bottom:1px solid #e4e4e7;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.15rem;display:flex}.family-register-card-heading h2,.family-register-card-heading p{margin:0}.family-register-card-heading p{margin-top:.25rem}.family-register-filters label,.family-register-field{gap:.4rem;display:grid}.family-register-filters span,.family-register-field>span{font-size:.78rem;font-weight:700}.family-register-filters select,.family-register-field input,.family-register-field textarea{min-width:12rem;color:inherit;font:inherit;background:#fff;border:1px solid #d4d4d8;border-radius:.55rem;padding:.65rem .75rem}.family-register-field textarea{resize:vertical;min-width:100%}.family-register-table-scroll{overflow-x:auto}.family-register-table{border-collapse:collapse;width:100%}.family-register-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e4e4e7;padding:.8rem 1rem;font-size:.76rem}.family-register-table td{vertical-align:middle;border-bottom:1px solid #f4f4f5;padding:.9rem 1rem}.family-register-table td:first-child{gap:.2rem;display:grid}.family-register-table td:first-child>span{opacity:.7;font-size:.78rem}.family-register-empty{text-align:center;padding:2.5rem 1rem}.family-register-pagination{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex}.family-register-pagination>div:last-child{gap:.6rem;display:flex}.family-register-message{border-radius:.65rem;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.family-register-success{background:#f0fdf4;border:1px solid #bbf7d0}.family-register-error{background:#fef2f2;border:1px solid #fecaca}.family-register-dialog-backdrop{z-index:1000;background:#0006;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.family-register-dialog{background:#fff;border-radius:.9rem;width:min(34rem,100%);max-height:calc(100vh - 2rem);padding:1.2rem;overflow-y:auto;box-shadow:0 1.5rem 4rem #0003}.family-register-dialog>header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.family-register-dialog h2{margin:.25rem 0 0}.family-register-dialog form{gap:1rem;display:grid}.family-register-dialog-actions{justify-content:flex-end;gap:.7rem;margin-top:.25rem;display:flex}@media (max-width:760px){.family-register-header,.family-register-card-heading,.family-register-pagination{flex-direction:column;align-items:stretch}.family-register-header .primary-button,.family-register-filters select,.family-register-pagination>div:last-child{width:100%}.family-register-pagination>div:last-child button{flex:1}}.family-profile{gap:1.5rem;display:grid}.family-profile-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.family-profile-header h1{margin:.3rem 0 .5rem}.family-profile-back{margin-bottom:.75rem;font-weight:700;text-decoration:none;display:inline-block}.family-profile-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800;display:block}.family-profile-header-status,.family-profile-header-actions,.family-profile-row-actions,.family-profile-dialog-actions,.family-profile-search-line{align-items:center;gap:.7rem;display:flex}.family-profile-header-actions,.family-profile-row-actions{flex-wrap:wrap}.family-profile-card{background:#fff;border:1px solid #e4e4e7;border-radius:.85rem;overflow:hidden}.family-profile-card>header{border-bottom:1px solid #e4e4e7;padding:1.1rem 1.2rem}.family-profile-card-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.family-profile-card h2,.family-profile-card p{margin:0}.family-profile-card header p{margin-top:.3rem}.family-profile-details-grid{background:#e4e4e7;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.family-profile-details-grid>div{background:#fff;gap:.3rem;padding:1rem 1.2rem;display:grid}.family-profile-details-grid span,.family-profile-notes>span,.family-profile-field>span{font-size:.78rem;font-weight:700}.family-profile-notes{border-top:1px solid #e4e4e7;padding:1rem 1.2rem}.family-profile-notes p{white-space:pre-wrap;margin-top:.4rem}.family-profile-table-scroll{overflow-x:auto}.family-profile-table{border-collapse:collapse;width:100%}.family-profile-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #e4e4e7;padding:.8rem 1rem;font-size:.76rem}.family-profile-table td{vertical-align:middle;border-bottom:1px solid #f4f4f5;padding:.9rem 1rem}.family-profile-table td:first-child{gap:.2rem;display:grid}.family-profile-table td:first-child span{opacity:.7;font-size:.78rem}.family-profile-empty,.family-profile-state{padding:2rem 1.2rem}.family-profile-state{gap:1rem;display:grid}.family-profile-state-error>div{gap:.75rem;display:flex}.family-profile-message{border-radius:.65rem;padding:.85rem 1rem}.family-profile-success{background:#f0fdf4;border:1px solid #bbf7d0}.family-profile-error,.family-profile-state-error{background:#fef2f2;border:1px solid #fecaca}.family-profile-dialog-backdrop{z-index:1100;background:#0006;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.family-profile-dialog{background:#fff;border-radius:.9rem;width:min(36rem,100%);max-height:calc(100vh - 2rem);padding:1.2rem;overflow-y:auto;box-shadow:0 1.5rem 4rem #0003}.family-profile-add-dialog{width:min(42rem,100%)}.family-profile-dialog>header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.family-profile-dialog h2{margin:0}.family-profile-dialog form{gap:1rem;display:grid}.family-profile-field{gap:.4rem;display:grid}.family-profile-field input,.family-profile-field textarea,.family-profile-field select{width:100%;color:inherit;font:inherit;background:#fff;border:1px solid #d4d4d8;border-radius:.55rem;padding:.65rem .75rem}.family-profile-field textarea{resize:vertical}.family-profile-checkbox{align-items:center;gap:.6rem;display:flex}.family-profile-dialog-actions{justify-content:flex-end}.family-profile-search-line input{flex:1}.family-profile-guest-results{gap:.5rem;max-height:18rem;display:grid;overflow-y:auto}.family-profile-guest-choice{cursor:pointer;border:1px solid #e4e4e7;border-radius:.65rem;align-items:flex-start;gap:.7rem;padding:.75rem;display:flex}.family-profile-guest-choice-selected{background:#fafafa;border-color:#a1a1aa}.family-profile-guest-choice>span{gap:.2rem;display:grid}.family-profile-guest-choice small{opacity:.75}@media (max-width:900px){.family-profile-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.family-profile-header,.family-profile-card-header,.family-profile-header-actions,.family-profile-search-line{flex-direction:column;align-items:stretch}.family-profile-details-grid{grid-template-columns:1fr}.family-profile-row-actions{min-width:12rem}}.guest-family-summary{border:1px solid var(--border);background:var(--card);border-radius:1rem;margin-top:1.5rem;padding:1.5rem}.guest-family-summary-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.guest-family-summary-header h2{margin:.25rem 0 .35rem}.guest-family-summary-header p{margin-bottom:0}.guest-family-summary-readonly{border:1px solid var(--border);border-radius:999px;flex:none;padding:.4rem .65rem;font-size:.8rem;font-weight:600}.guest-family-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.guest-family-summary-grid>div{border:1px solid var(--border);border-radius:.75rem;flex-direction:column;gap:.35rem;padding:.9rem;display:flex}.guest-family-summary-grid span:first-child{opacity:.72;font-size:.8rem}.guest-family-summary-message,.guest-family-summary-empty{border:1px solid var(--border);border-radius:.75rem;flex-direction:column;gap:.7rem;padding:1rem;display:flex}.guest-family-summary-error{align-items:flex-start}.guest-family-summary-actions{justify-content:flex-end;margin-top:1rem;display:flex}@media (max-width:900px){.guest-family-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.guest-family-summary-header{flex-direction:column}.guest-family-summary-grid{grid-template-columns:1fr}.guest-family-summary-actions{justify-content:stretch}.guest-family-summary-actions a{text-align:center;width:100%}}
