:root{--hotel-primary: #696cff;--hotel-primary-dark: #5b5ee8;--hotel-primary-soft: #eeedff;--hotel-bg: #f6f7fb;--hotel-surface: #fff;--hotel-border: #e7e8f1;--hotel-text: #2f3349;--hotel-muted: #7b8197;--hotel-sidebar: 260px;--hotel-navbar-height: 66px;--hotel-radius: 16px;--hotel-shadow: 0 8px 24px rgba(67, 89, 113, .07);--calendar-label-width: 190px;--calendar-day-width: 56px}.flatpickr-calendar{font-family:Public Sans,sans-serif;z-index:1400}dialog .flatpickr-calendar{position:fixed!important}.flatpickr-input[readonly]{cursor:pointer}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover{background:var(--hotel-primary);border-color:var(--hotel-primary)}.flatpickr-day.today{border-color:var(--hotel-primary)}.hotel-identity-documents{background:var(--hotel-bg);border:1px solid var(--hotel-border);border-radius:10px;margin-top:10px;padding:9px}.hotel-identity-documents-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:7px}.hotel-identity-documents-head>span{align-items:center;color:var(--hotel-text);display:inline-flex;font-size:10px;font-weight:800;gap:5px}.hotel-identity-documents-head>span i{color:var(--hotel-primary);font-size:15px}.hotel-identity-documents-head>small{color:var(--hotel-muted);font-size:8px;text-align:right}.hotel-idcard-grid{display:grid;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-idcard-uploader{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:9px;min-width:0;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.hotel-idcard-uploader:focus-within,.hotel-idcard-uploader:hover{border-color:color-mix(in srgb,var(--hotel-primary) 60%,var(--hotel-border));box-shadow:0 0 0 3px #696cff12}.hotel-idcard-canvas{align-items:center;color:var(--hotel-text)!important;cursor:pointer;display:grid!important;gap:7px!important;grid-template-columns:auto 38px minmax(0,1fr);min-height:58px;padding:7px}.hotel-idcard-badge{align-items:center;background:var(--hotel-primary-soft);border-radius:999px;color:var(--hotel-primary);display:inline-flex;font-size:8px;font-weight:800;height:22px;padding:0 7px}.hotel-idcard-preview{align-items:center;background:var(--hotel-bg);border-radius:7px;color:var(--hotel-primary);display:flex;font-size:20px;height:38px;justify-content:center;overflow:hidden;width:38px}.hotel-idcard-preview img{height:100%;object-fit:cover;width:100%}.hotel-idcard-preview .bxs-file-pdf{color:#d95757}.hotel-idcard-canvas>span:last-child{display:flex;flex-direction:column;min-width:0}.hotel-idcard-canvas strong{font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-idcard-canvas small{color:var(--hotel-muted);font-size:7px;margin-top:2px}.hotel-idcard-actions{border-top:1px solid var(--hotel-border);display:grid;grid-template-columns:1.2fr .8fr .8fr}.hotel-idcard-actions button{align-items:center;background:transparent;border:0;border-right:1px solid var(--hotel-border);color:var(--hotel-primary);cursor:pointer;display:inline-flex;font-size:7px;font-weight:800;gap:3px;justify-content:center;min-height:28px;padding:0 4px}.hotel-idcard-actions button:last-child{border-right:0;color:#c94f55}.hotel-idcard-actions button:disabled{color:var(--hotel-muted);cursor:default;opacity:.45}.hotel-idcard-uploader.has-file{border-color:color-mix(in srgb,#278456 45%,var(--hotel-border))}.hotel-guest-documents{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.hotel-guest-documents a{align-items:center;background:var(--hotel-primary-soft);border-radius:999px;color:var(--hotel-primary);display:inline-flex;font-size:8px;font-weight:800;gap:3px;padding:4px 6px;text-decoration:none}@media (max-width: 767px){.hotel-identity-documents{padding:7px}.hotel-identity-documents-head{align-items:flex-start;flex-direction:column;gap:2px}.hotel-identity-documents-head>small{text-align:left}.hotel-idcard-canvas{grid-template-columns:auto 32px minmax(0,1fr);min-height:52px;padding:5px}.hotel-idcard-preview{font-size:17px;height:32px;width:32px}.hotel-idcard-canvas small{display:none}.hotel-idcard-actions button{font-size:0;min-height:26px}.hotel-idcard-actions button i{font-size:14px}}html[data-admin-theme=dark]{--hotel-bg: #101827;--hotel-surface: #172033;--hotel-border: rgba(148, 163, 184, .2);--hotel-text: #f2f4f8;--hotel-muted: #aab2c5;--hotel-primary-soft: rgba(105, 108, 255, .18);--hotel-shadow: 0 8px 24px rgba(0, 0, 0, .25)}*{box-sizing:border-box}body.hotel-app,body.hotel-login-page{margin:0;background:var(--hotel-bg);color:var(--hotel-text);font-family:Public Sans,system-ui,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.hotel-sidebar{background:var(--hotel-surface);border-right:1px solid var(--hotel-border);bottom:0;left:0;overflow-y:auto;position:fixed;top:0;width:var(--hotel-sidebar);z-index:1040}.hotel-brand{align-items:center;border-bottom:1px solid var(--hotel-border);color:#d5a92c;display:flex;font-size:17px;font-weight:800;gap:10px;height:72px;padding:0 24px;text-decoration:none}.hotel-brand img{object-fit:contain}.hotel-nav{padding:14px 12px 28px}.hotel-nav-link{align-items:center;border-radius:9px;color:var(--hotel-muted);display:flex;font-weight:600;gap:12px;min-height:44px;padding:10px 13px;text-decoration:none;transition:background .18s ease,color .18s ease}.hotel-nav-link:hover,.hotel-nav-link.active{background:var(--hotel-primary-soft);color:var(--hotel-primary)}.hotel-nav-link i{font-size:19px;width:20px}.hotel-nav-link span:nth-child(2){flex:1}.hotel-nav-label{color:#a0a5b7;font-size:11px;font-weight:700;letter-spacing:.06em;margin:24px 12px 8px;text-transform:uppercase}.hotel-nav-pill{background:#eef7f1;border-radius:999px;color:#37a86f;font-size:10px;padding:3px 7px}.hotel-page{margin-left:var(--hotel-sidebar);min-height:100vh}.hotel-navbar{align-items:center;background:color-mix(in srgb,var(--hotel-surface) 92%,transparent);border:1px solid var(--hotel-border);border-radius:15px;box-shadow:var(--hotel-shadow);display:flex;gap:10px;height:var(--hotel-navbar-height);margin:14px 24px 0;padding:0 14px;position:sticky;top:12px;z-index:1020}.hotel-navbar-spacer{flex:1}.hotel-menu-toggle{display:none!important}.hotel-icon-button{align-items:center;background:transparent;border:0;border-radius:10px;color:var(--hotel-muted);cursor:pointer;display:inline-flex;height:40px;justify-content:center;position:relative;width:40px}.hotel-icon-button:hover{background:var(--hotel-primary-soft);color:var(--hotel-primary)}.hotel-icon-button i{font-size:21px}.hotel-notification-dot{background:#ff5b5b;border:2px solid var(--hotel-surface);border-radius:50%;height:8px;position:absolute;right:8px;top:7px;width:8px}.hotel-property-switch{align-items:center;background:var(--hotel-primary);border-radius:9px;color:#fff;display:flex;height:40px;padding:0 11px}.hotel-property-switch select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#fff;cursor:pointer;font-weight:700;max-width:220px;outline:0;padding:0 28px 0 8px}.hotel-property-switch option{color:#222}.hotel-property-switch i:last-child{margin-left:-20px;pointer-events:none}.hotel-user{align-items:center;border-left:1px solid var(--hotel-border);display:flex;gap:9px;margin-left:4px;padding-left:12px}.hotel-avatar{align-items:center;background:#fff0d7;border:2px solid #fff;border-radius:50%;color:#c67817;display:inline-flex;font-weight:800;height:38px;justify-content:center;width:38px}.hotel-user-copy{display:flex;flex-direction:column;line-height:1.2;max-width:155px}.hotel-user-copy strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-user-copy small{color:var(--hotel-muted);font-size:10px;text-transform:capitalize}.hotel-security-warning{align-items:center;background:#fff8e4;border:1px solid #f4dea4;border-radius:10px;color:#8a6512;display:flex;gap:9px;margin:12px 24px 0;padding:9px 14px}.hotel-security-warning i{font-size:19px}.hotel-security-compact{align-items:center;background:#fff8e4;border:1px solid #f4dea4;border-radius:9px;color:#8a6512;display:inline-flex;flex:0 0 38px;font-size:18px;height:38px;justify-content:center}.hotel-content{margin:0 auto;max-width:1540px;padding:26px 24px 22px}.hotel-footer{color:var(--hotel-muted);display:flex;font-size:12px;justify-content:space-between;margin:0 auto;max-width:1540px;padding:18px 24px 34px}.hotel-footer a{color:var(--hotel-primary);margin-left:22px;text-decoration:none}.hotel-page-heading{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.hotel-eyebrow{color:var(--hotel-primary);display:block;font-size:11px;font-weight:800;letter-spacing:.05em;margin-bottom:5px;text-transform:uppercase}.hotel-page-heading h1{color:var(--hotel-text);font-size:clamp(24px,2vw,31px);font-weight:800;letter-spacing:-.03em;margin:0}.hotel-page-heading p{color:var(--hotel-muted);margin:6px 0 0}.hotel-primary-button,.hotel-secondary-button{align-items:center;border:0;border-radius:9px;cursor:pointer;display:inline-flex;font-weight:700;gap:7px;justify-content:center;min-height:42px;padding:0 16px;text-decoration:none;white-space:nowrap}.hotel-primary-button{background:var(--hotel-primary);color:#fff;box-shadow:0 8px 18px #696cff38}.hotel-primary-button:hover{background:var(--hotel-primary-dark);color:#fff}html[data-admin-theme] a.hotel-primary-button{color:#fff!important}.hotel-primary-button:disabled{cursor:not-allowed;opacity:.55}.hotel-secondary-button{background:var(--hotel-surface);border:1px solid var(--hotel-border);color:var(--hotel-text)}.hotel-secondary-button:hover{border-color:var(--hotel-primary);color:var(--hotel-primary)}.hotel-operation-booking{background:var(--hotel-surface);border:1px solid color-mix(in srgb,var(--hotel-primary) 22%,var(--hotel-border));border-radius:var(--hotel-radius);box-shadow:var(--hotel-shadow);margin-bottom:14px;overflow:hidden;padding:14px;scroll-margin-top:92px}.hotel-operation-booking>header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:11px}.hotel-operation-booking-title{align-items:center;display:flex;gap:10px;min-width:0}.hotel-operation-booking-title>div{display:flex;flex-direction:column;min-width:0}.hotel-operation-booking-title strong{font-size:14px}.hotel-operation-booking-title span:not(.hotel-operation-booking-icon){color:var(--hotel-muted);font-size:10px;margin-top:2px}.hotel-operation-booking-icon{align-items:center;background:var(--hotel-primary-soft);border-radius:10px;color:var(--hotel-primary);display:inline-flex;flex:0 0 38px;font-size:20px;height:38px;justify-content:center}.hotel-operation-presets{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.hotel-operation-presets button,.hotel-operation-presets a{align-items:center;background:var(--hotel-bg);border:1px solid var(--hotel-border);border-radius:8px;color:var(--hotel-muted);cursor:pointer;display:inline-flex;font-size:10px;font-weight:700;gap:5px;min-height:32px;padding:0 9px;text-decoration:none}.hotel-operation-presets button:hover,.hotel-operation-presets a:hover{border-color:var(--hotel-primary);color:var(--hotel-primary)}.operation-stay-tabs{margin-bottom:9px!important}.hotel-operation-booking-grid{display:grid;gap:8px;grid-template-columns:1.05fr 1.05fr .65fr .65fr .9fr auto}.hotel-operation-booking-grid label{color:var(--hotel-muted);display:flex;flex-direction:column;font-size:9px;font-weight:700;gap:4px}.hotel-operation-booking-grid input,.hotel-operation-booking-grid select{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:8px;color:var(--hotel-text);height:40px;outline:0;padding:0 9px;width:100%}.hotel-operation-booking-grid input:focus,.hotel-operation-booking-grid select:focus{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff1a}.hotel-operation-booking-grid .hotel-primary-button{align-self:end;height:40px}.hotel-operation-booking-result{align-items:center;background:#eef9f2;border:1px solid #cdebd9;border-radius:10px;display:flex;gap:10px;margin-top:10px;min-height:52px;padding:8px 10px}.hotel-operation-booking-result[hidden]{display:none}.hotel-operation-booking-result.is-error{background:#fff3f2;border-color:#f3cfcc}.hotel-operation-booking-result .result-icon{align-items:center;background:#d9f1e3;border-radius:50%;color:#32a569;display:inline-flex;flex:0 0 32px;font-size:19px;height:32px;justify-content:center}.hotel-operation-booking-result.is-error .result-icon{background:#ffe1de;color:#d65757}.hotel-operation-booking-result>div{display:flex;flex:1;flex-direction:column;min-width:180px}.hotel-operation-booking-result strong{font-size:12px}.hotel-operation-booking-result div span{color:var(--hotel-muted);font-size:9px}.hotel-operation-booking-result .hotel-primary-button,.hotel-operation-booking-result .hotel-secondary-button{min-height:36px;padding-inline:11px}.hotel-metrics{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.hotel-metric-card{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:13px;box-shadow:var(--hotel-shadow);display:flex;gap:11px;min-height:88px;padding:13px}.hotel-metric-icon{align-items:center;border-radius:12px;display:inline-flex;flex:0 0 44px;font-size:23px;height:44px;justify-content:center}.hotel-metric-icon.violet{background:#efefff;color:#696cff}.hotel-metric-icon.blue{background:#eaf3ff;color:#4a8df6}.hotel-metric-icon.green{background:#eaf8f0;color:#38ad72}.hotel-metric-icon.orange{background:#fff4e4;color:#f59e32}.hotel-metric-icon.red{background:#fff0ef;color:#e95d56}.hotel-metric-card div{display:flex;flex-direction:column;min-width:0}.hotel-metric-card small{color:var(--hotel-muted);font-size:11px;font-weight:600}.hotel-metric-card strong{color:var(--hotel-text);font-size:21px;line-height:1.2;margin:2px 0}.hotel-metric-card strong em{color:var(--hotel-muted);font-size:14px;font-style:normal}.hotel-metric-card div>span{color:var(--hotel-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-operation-toolbar{align-items:center;display:flex;gap:18px;justify-content:space-between;margin:8px 0 14px}.hotel-operation-title h2{font-size:19px;margin:0 0 3px}.hotel-operation-title span{color:var(--hotel-muted);font-size:12px}.hotel-state-legend,.calendar-legend{align-items:center;display:flex;flex-wrap:wrap;gap:13px}.hotel-state-legend span,.calendar-legend span{align-items:center;color:var(--hotel-muted);display:flex;font-size:11px;gap:5px}.state-dot,.source-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.state-dot.available{background:#54c98a}.state-dot.reserved{background:#886ef1}.state-dot.occupied{background:#4e8ff8}.state-dot.due{background:#f4a33d}.state-dot.dirty{background:#9ca3af}.state-dot.maintenance{background:#e75b62}.hotel-operation-filters{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.hotel-operation-filters button{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:999px;color:var(--hotel-muted);cursor:pointer;display:inline-flex;font-size:10px;font-weight:700;gap:5px;min-height:32px;padding:0 10px}.hotel-operation-filters button:hover{border-color:var(--hotel-primary);color:var(--hotel-primary)}.hotel-operation-filters button.active{background:var(--hotel-primary);border-color:var(--hotel-primary);color:#fff;box-shadow:0 5px 12px #696cff33}.hotel-operation-filters b{background:color-mix(in srgb,currentColor 11%,transparent);border-radius:999px;font-size:9px;padding:2px 5px}.hotel-room-group{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:var(--hotel-radius);box-shadow:var(--hotel-shadow);margin-bottom:16px;overflow:hidden}.hotel-room-group>header{align-items:center;background:color-mix(in srgb,var(--hotel-surface) 92%,var(--hotel-bg));border-bottom:1px solid var(--hotel-border);display:flex;justify-content:space-between;padding:13px 16px}.hotel-room-group>header div{align-items:center;display:flex;gap:8px}.hotel-room-group>header i{color:var(--hotel-primary);font-size:18px}.hotel-room-group>header span{color:var(--hotel-muted);font-size:11px}.hotel-room-grid{display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr));padding:13px}.hotel-room-card{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;color:var(--hotel-text);cursor:pointer;display:flex;flex-direction:column;min-height:184px;overflow:hidden;padding:0 12px 10px;position:relative;text-align:left;transition:box-shadow .18s ease,opacity .18s ease,transform .18s ease}.hotel-room-card:hover{box-shadow:0 12px 28px #43597121;transform:translateY(-2px)}.hotel-room-card-top{align-items:center;color:#fff;display:flex;justify-content:space-between;margin:0 -12px 9px;min-height:40px;padding:0 11px}.hotel-room-card-top strong{font-size:17px}.hotel-room-card-top em{background:#fff3;border-radius:999px;font-size:9px;font-style:normal;font-weight:700;padding:4px 7px}.state-available .hotel-room-card-top{background:#42b979}.state-reserved .hotel-room-card-top{background:#8065eb}.state-occupied .hotel-room-card-top{background:#4c88ed}.state-due .hotel-room-card-top{background:#ee9b35}.state-dirty .hotel-room-card-top{background:#9399a5}.state-maintenance .hotel-room-card-top{background:#dc5960}.hotel-room-type{color:var(--hotel-muted);font-size:10px;margin-bottom:9px}.hotel-room-guest,.hotel-room-time{align-items:center;display:flex;font-size:11px;font-weight:600;gap:5px;margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-room-time{color:var(--hotel-muted);font-size:9px;font-weight:500}.hotel-room-meta{display:flex;gap:5px;margin-top:auto}.hotel-room-meta b{background:var(--hotel-primary-soft);border-radius:999px;color:var(--hotel-primary);font-size:8px;padding:4px 6px}.hotel-room-money{border-top:1px solid var(--hotel-border);display:flex;font-size:9px;justify-content:space-between;margin-top:8px;padding-top:8px}.hotel-room-money b{color:#e26755}.hotel-room-money b.paid{color:#38a86d}.hotel-room-empty-icon{align-items:center;background:#edf8f1;border-radius:50%;color:#42b979;display:inline-flex;font-size:26px;height:50px;justify-content:center;margin:11px auto 7px;width:50px}.hotel-room-empty-copy{color:#42a970;font-size:10px;font-weight:700;text-align:center}.hotel-room-booking-cue{align-items:center;background:var(--hotel-primary-soft);border-radius:7px;color:var(--hotel-primary);display:flex;font-size:9px;font-weight:800;gap:5px;justify-content:center;margin-top:7px;min-height:26px;width:100%}.hotel-room-booking-cue[hidden]{display:none}.hotel-room-card.is-search-available{border-color:#66c994;box-shadow:0 0 0 2px #42b97929}.hotel-room-card.is-search-unavailable{filter:saturate(.45);opacity:.42}.hotel-room-card.is-search-selected{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff3b,0 12px 28px #4359711f;opacity:1;transform:translateY(-2px)}.hotel-room-card.is-search-selected .hotel-room-booking-cue{background:var(--hotel-primary);color:#fff}.hotel-dialog{background:var(--hotel-surface);border:0;border-radius:18px;box-shadow:0 24px 70px #14182840;color:var(--hotel-text);max-width:520px;padding:0;width:calc(100% - 32px)}.hotel-dialog::backdrop{background:#14182873}.hotel-dialog.is-fallback-open{inset:50% auto auto 50%;margin:0;max-height:calc(100dvh - 28px);position:fixed;transform:translate(-50%,-50%);z-index:1100;box-shadow:0 0 0 100vmax #14182873,0 24px 70px #14182840}body.hotel-dialog-open{overflow:hidden}.hotel-dialog-close{background:var(--hotel-bg);border:0;border-radius:50%;cursor:pointer;font-size:22px;height:36px;position:absolute;right:14px;top:14px;width:36px}.hotel-room-dialog-head{border-bottom:1px solid var(--hotel-border);padding:22px 24px 17px}.hotel-room-dialog-head span{color:var(--hotel-muted);display:block;font-size:11px}.hotel-room-dialog-head h2{font-size:25px;margin:5px 0 0}.hotel-room-dialog-body{padding:18px 24px 24px}.hotel-room-dialog-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-room-dialog-grid div{background:var(--hotel-bg);border-radius:10px;padding:10px}.hotel-room-dialog-grid small{color:var(--hotel-muted);display:block;font-size:9px}.hotel-room-dialog-grid strong{display:block;font-size:12px;margin-top:3px}.hotel-dialog-actions{display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-top:16px}.hotel-view-only-note{align-items:center;background:var(--hotel-bg);border:1px solid var(--hotel-border);border-radius:9px;color:var(--hotel-muted);display:inline-flex;font-size:12px;font-weight:600;gap:7px;min-height:42px;padding:0 14px}.hotel-inline-action-panel{background:var(--hotel-bg);border:1px solid var(--hotel-border);border-radius:12px;margin-top:14px;padding:14px}.hotel-inline-action-panel[hidden]{display:none}.hotel-inline-action-panel h3{font-size:14px;margin:0 0 11px}.hotel-inline-action-panel form{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-inline-action-panel label{color:var(--hotel-muted);display:flex;flex-direction:column;font-size:10px;font-weight:700;gap:5px}.hotel-inline-action-panel input,.hotel-inline-action-panel select{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:8px;color:var(--hotel-text);min-height:40px;padding:0 10px;width:100%}.hotel-inline-action-panel .hotel-primary-button{align-self:end}#room-action-dialog{max-height:calc(100dvh - 32px);max-width:760px;overflow-y:auto}#room-action-dialog:not(.hotel-direct-dialog){overflow:hidden}#room-action-dialog:not(.hotel-direct-dialog) .hotel-room-dialog-body{max-height:calc(100dvh - 120px);overflow-y:auto}.hotel-service-panel>header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.hotel-service-panel>header h3{font-size:17px;margin:0 0 3px}.hotel-service-panel>header p{color:var(--hotel-muted);font-size:11px;margin:0}.hotel-service-panel>header>span{align-items:center;background:var(--hotel-primary-soft);border-radius:9px;color:var(--hotel-primary);display:inline-flex;font-size:12px;font-weight:800;gap:6px;min-height:36px;padding:0 10px;white-space:nowrap}.hotel-service-category-tabs{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.hotel-service-category-tabs button{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:9px;color:var(--hotel-muted);cursor:pointer;display:flex;font-size:12px;font-weight:750;gap:7px;justify-content:center;min-height:40px}.hotel-service-category-tabs button:hover,.hotel-service-category-tabs button.active{background:var(--hotel-primary-soft);border-color:color-mix(in srgb,var(--hotel-primary) 38%,var(--hotel-border));color:var(--hotel-primary)}.hotel-service-category-tabs button:focus-visible,.hotel-service-item:focus-visible,.hotel-service-quantity button:focus-visible{box-shadow:0 0 0 3px #696cff38;outline:none}.hotel-service-catalog{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.hotel-service-item{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:10px;color:var(--hotel-text);cursor:pointer;display:grid;gap:2px 8px;grid-template-columns:minmax(0,1fr) auto;min-height:58px;padding:9px 10px;text-align:left}.hotel-service-item[hidden]{display:none}.hotel-service-item:hover,.hotel-service-item.active{border-color:var(--hotel-primary);box-shadow:0 5px 14px #696cff1f}.hotel-service-item span{font-size:12px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-service-item small{color:var(--hotel-muted);font-size:10px}.hotel-service-item i{color:var(--hotel-primary);font-size:19px;grid-column:2;grid-row:1 / span 2}.hotel-service-order-form{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:11px;display:block!important;margin-top:10px;padding:10px}.hotel-service-selection{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:9px}.hotel-service-selection span{display:flex;flex-direction:column;min-width:0}.hotel-service-selection small{color:var(--hotel-muted);font-size:9px}.hotel-service-selection strong{font-size:12px;margin-top:2px}.hotel-service-selection>b{color:var(--hotel-primary);font-size:16px;white-space:nowrap}.hotel-service-order-fields{align-items:end;display:grid;gap:8px;grid-template-columns:145px minmax(180px,1fr) auto}.hotel-service-quantity{display:grid;grid-template-columns:38px minmax(0,1fr) 38px}.hotel-service-quantity button{background:var(--hotel-primary-soft);border:0;color:var(--hotel-primary);cursor:pointer;font-size:18px;min-height:40px}.hotel-service-quantity button:first-child{border-radius:8px 0 0 8px}.hotel-service-quantity button:last-child{border-radius:0 8px 8px 0}.hotel-service-quantity input{border-radius:0!important;padding:0!important;text-align:center}.hotel-service-order-fields .hotel-primary-button{min-height:40px;white-space:nowrap}.hotel-service-history{border-top:1px solid var(--hotel-border);margin-top:12px;padding-top:11px}.hotel-service-history-title{align-items:center;display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px}.hotel-service-history-title span{color:var(--hotel-primary);font-weight:800}.hotel-service-history-item{align-items:center;border-top:1px solid color-mix(in srgb,var(--hotel-border) 72%,transparent);display:grid;gap:9px;grid-template-columns:34px minmax(0,1fr) auto;padding:8px 0}.hotel-service-history-item:first-of-type{border-top:0}.hotel-service-history-icon{align-items:center;background:var(--hotel-primary-soft);border-radius:8px;color:var(--hotel-primary);display:flex;font-size:17px;height:34px;justify-content:center}.hotel-service-history-item>div{display:flex;flex-direction:column;min-width:0}.hotel-service-history-item strong{font-size:12px}.hotel-service-history-item small{color:var(--hotel-muted);font-size:10px;margin-top:2px}.hotel-service-history-item>b{font-size:12px;white-space:nowrap}.hotel-service-history-item.is-voided{opacity:.55}.hotel-service-history-item.is-voided strong,.hotel-service-history-item.is-voided>b{text-decoration:line-through}.hotel-service-void-toggle{align-self:flex-start;background:transparent;border:0;color:#d65757;cursor:pointer;font-size:10px;margin-top:4px;padding:0;text-decoration:underline}.hotel-service-void-form{align-items:end;display:grid!important;gap:7px!important;grid-template-columns:minmax(180px,1fr) auto!important;margin-top:7px}.hotel-service-void-form[hidden]{display:none!important}.hotel-service-void-form .hotel-secondary-button{min-height:40px;white-space:nowrap}.hotel-service-empty{align-items:center;color:var(--hotel-muted);display:flex;font-size:11px;gap:8px;justify-content:center;min-height:58px;text-align:center}.hotel-service-empty i{color:var(--hotel-primary);font-size:22px}.hotel-direct-dialog{max-height:calc(100dvh - 32px);max-width:900px;overflow:hidden;width:min(900px,calc(100vw - 32px))}.hotel-direct-booking-head{padding-right:62px}.hotel-direct-booking-head p{color:var(--hotel-muted);font-size:11px;margin:6px 0 0}.hotel-direct-booking-form{max-height:calc(100dvh - 124px);overflow-x:hidden;overflow-y:auto;padding:14px 18px 18px}.hotel-direct-room-summary{align-items:center;background:color-mix(in srgb,var(--hotel-primary-soft) 70%,var(--hotel-surface));border:1px solid color-mix(in srgb,var(--hotel-primary) 18%,var(--hotel-border));border-radius:13px;display:grid;gap:11px;grid-template-columns:42px minmax(0,1fr) auto;margin-bottom:12px;padding:12px}.hotel-direct-room-summary>span{align-items:center;background:var(--hotel-primary);border-radius:10px;color:#fff;display:flex;font-size:21px;height:42px;justify-content:center}.hotel-direct-room-summary>div{display:flex;flex-direction:column;gap:2px;min-width:0}.hotel-direct-room-summary small,.hotel-direct-room-summary em{color:var(--hotel-muted);font-size:9px;font-style:normal}.hotel-direct-room-summary strong{font-size:14px}.hotel-direct-room-summary>b{color:var(--hotel-primary);font-size:18px}.hotel-direct-section{border-top:1px solid var(--hotel-border);padding:12px 0}.hotel-direct-section-title{align-items:center;display:flex;gap:9px;margin-bottom:9px}.hotel-direct-section-title>span{align-items:center;background:var(--hotel-primary-soft);border-radius:50%;color:var(--hotel-primary);display:flex;flex:0 0 26px;font-size:11px;font-weight:800;height:26px;justify-content:center}.hotel-direct-section-title>div{display:flex;flex-direction:column}.hotel-direct-section-title strong{font-size:12px}.hotel-direct-section-title small{color:var(--hotel-muted);font-size:9px;margin-top:1px}.hotel-direct-stay-tabs{display:grid;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:9px}.hotel-direct-stay-tabs button{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:8px;color:var(--hotel-muted);cursor:pointer;display:flex;font-size:11px;font-weight:700;gap:6px;justify-content:center;min-height:38px}.hotel-direct-stay-tabs button i{font-size:17px}.hotel-direct-stay-tabs button.active{background:var(--hotel-primary-soft);border-color:var(--hotel-primary);color:var(--hotel-primary)}.hotel-direct-grid{display:grid;gap:8px}.hotel-direct-grid.stay-fields{grid-template-columns:1fr 1fr .65fr}.hotel-direct-grid.guest-fields{grid-template-columns:1.25fr 1fr 1fr}.hotel-direct-grid.payment-fields{grid-template-columns:1fr 1.35fr 1fr}.hotel-direct-grid label{color:var(--hotel-muted);display:flex;flex-direction:column;font-size:9px;font-weight:700;gap:4px;min-width:0}.hotel-direct-grid label>span b{color:#db555c}.hotel-direct-grid input,.hotel-direct-grid select{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:8px;color:var(--hotel-text);height:40px;outline:0;padding:0 9px;width:100%}.hotel-direct-grid input:focus,.hotel-direct-grid select:focus{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff1a}.hotel-direct-grid .identity-field{grid-column:1 / 2}.hotel-identity-input{align-items:stretch;display:flex;gap:5px}.hotel-identity-input input{flex:1;min-width:0}.hotel-identity-input button{align-items:center;background:var(--hotel-primary-soft);border:0;border-radius:8px;color:var(--hotel-primary);cursor:pointer;display:inline-flex;font-size:9px;font-weight:800;gap:4px;justify-content:center;min-width:82px;padding:0 9px}.hotel-identity-input button:disabled{cursor:wait;opacity:.6}[data-guest-lookup-status]{color:var(--hotel-muted);font-size:8px;font-weight:600;line-height:1.35}[data-guest-lookup-status].is-found{color:#278456}[data-guest-lookup-status].is-new{color:#a46d1d}[data-guest-lookup-status].is-error{color:#c94f55}.hotel-direct-availability{align-items:center;background:var(--hotel-bg);border-radius:8px;color:var(--hotel-muted);display:flex;font-size:9px;gap:6px;margin-top:8px;min-height:32px;padding:6px 9px}.hotel-direct-availability strong{font-size:10px}.hotel-direct-availability span{margin-left:auto}.hotel-direct-availability.is-available{background:#eaf8f0;color:#278456}.hotel-direct-availability.is-unavailable{background:#fff0ef;color:#c94f55}.hotel-direct-more{border-top:1px solid var(--hotel-border);padding:10px 0}.hotel-direct-more summary{align-items:center;color:var(--hotel-primary);cursor:pointer;display:flex;font-size:10px;font-weight:800;justify-content:space-between;list-style:none;min-height:32px}.hotel-direct-more summary::-webkit-details-marker{display:none}.hotel-direct-more summary span{align-items:center;display:flex;gap:6px}.hotel-direct-more summary i{font-size:17px}.hotel-direct-more summary small{background:var(--hotel-bg);border-radius:999px;color:var(--hotel-muted);font-size:8px;padding:4px 7px}.hotel-direct-more[open] summary{margin-bottom:4px}.hotel-direct-more .hotel-direct-section{border-top:0;padding-bottom:2px}.hotel-direct-booking-footer{align-items:center;border-top:1px solid var(--hotel-border);display:flex;justify-content:space-between;padding-top:13px}.hotel-direct-booking-footer>div{align-items:flex-end;display:flex;gap:10px}.hotel-direct-booking-footer>div>span{color:var(--hotel-muted);font-size:9px;max-width:170px;text-align:right}.hotel-direct-success{align-items:center;display:flex;flex-direction:column;padding:56px 24px;text-align:center}.hotel-direct-success>span{align-items:center;background:#eaf8f0;border-radius:50%;color:#278456;display:flex;font-size:34px;height:72px;justify-content:center;width:72px}.hotel-direct-success h2{margin:16px 0 6px}.hotel-direct-success p{color:var(--hotel-muted);margin:0}.hotel-guests-heading{align-items:center}.hotel-guests-toolbar{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;box-shadow:var(--hotel-shadow);display:flex;gap:16px;justify-content:space-between;margin-bottom:12px;padding:10px}.hotel-guests-toolbar form{align-items:center;display:flex;flex:1;gap:8px}.hotel-guests-toolbar form>label{align-items:center;background:var(--hotel-bg);border:1px solid transparent;border-radius:8px;color:var(--hotel-muted);display:flex;flex:1;max-width:520px;min-height:40px;padding:0 10px}.hotel-guests-toolbar form>label:focus-within{background:var(--hotel-surface);border-color:var(--hotel-primary)}.hotel-guests-toolbar input{background:transparent;border:0;color:var(--hotel-text);min-width:0;outline:0;padding:0 8px;width:100%}.hotel-guests-toolbar form>a{color:var(--hotel-primary);font-size:10px;font-weight:700;text-decoration:none}.hotel-guests-toolbar>span{color:var(--hotel-muted);font-size:10px;white-space:nowrap}.hotel-guests-toolbar>span strong{color:var(--hotel-text);font-size:14px}.hotel-guests-card{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:13px;box-shadow:var(--hotel-shadow);overflow:hidden}.hotel-guests-table-wrap{overflow-x:auto}.hotel-guests-table{border-collapse:collapse;min-width:920px;width:100%}.hotel-guests-table th,.hotel-guests-table td{border-bottom:1px solid var(--hotel-border);padding:13px 15px;text-align:left;vertical-align:middle}.hotel-guests-table th{background:color-mix(in srgb,var(--hotel-surface) 88%,var(--hotel-bg));color:var(--hotel-muted);font-size:9px;letter-spacing:.04em;text-transform:uppercase}.hotel-guests-table tbody tr:hover{background:color-mix(in srgb,var(--hotel-primary-soft) 38%,var(--hotel-surface))}.hotel-guests-table td{color:var(--hotel-muted);font-size:10px}.hotel-guests-table td:first-child{align-items:center;display:flex;gap:9px;min-width:210px}.hotel-guests-table td:first-child>div{display:flex;flex-direction:column}.hotel-guests-table td strong,.hotel-guests-table td small{display:block}.hotel-guests-table td strong{color:var(--hotel-text);font-size:11px}.hotel-guests-table td small{color:var(--hotel-muted);font-size:8px;margin-top:3px;max-width:240px}.hotel-guest-avatar{align-items:center;background:var(--hotel-primary-soft);border-radius:10px;color:var(--hotel-primary);display:flex;flex:0 0 36px;font-size:13px;font-weight:800;height:36px;justify-content:center}.hotel-guest-stays{background:var(--hotel-primary-soft);border-radius:999px;color:var(--hotel-primary);display:inline-flex;font-size:9px;font-weight:800;padding:5px 8px}.hotel-guest-warning{align-items:center;background:#fff0ef;border-radius:999px;color:#c94f55;display:inline-flex;font-size:9px;font-weight:800;gap:4px;padding:5px 8px}.hotel-guests-empty{align-items:center;display:flex;flex-direction:column;gap:4px;padding:42px;text-align:center}.hotel-guests-empty i{color:var(--hotel-primary);font-size:30px}.hotel-guests-empty strong{font-size:13px!important}.hotel-guests-pagination{align-items:center;display:flex;justify-content:space-between;padding:10px 14px}.hotel-guests-pagination a,.hotel-guests-pagination span{align-items:center;color:var(--hotel-muted);display:inline-flex;font-size:10px;font-weight:700;gap:3px;text-decoration:none}.hotel-guests-pagination a:hover{color:var(--hotel-primary)}.hotel-guests-pagination strong{font-size:10px}.hotel-calendar-search{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:var(--hotel-radius);box-shadow:var(--hotel-shadow);margin-bottom:12px;padding:14px}.stay-mode-tabs{display:grid;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.stay-mode-tabs button{align-items:center;background:transparent;border:1px solid var(--hotel-border);border-radius:9px;color:var(--hotel-muted);cursor:pointer;display:inline-flex;font-size:11px;font-weight:700;gap:8px;justify-content:flex-start;min-height:48px;padding:6px 11px;text-align:left}.stay-mode-tabs button>i{font-size:18px}.stay-mode-tabs button>span{display:flex;flex-direction:column;line-height:1.25}.stay-mode-tabs button small{color:var(--hotel-muted);font-size:8px;font-weight:600;margin-top:3px;white-space:nowrap}.stay-mode-tabs button.active{background:var(--hotel-primary-soft);border-color:transparent;color:var(--hotel-primary)}.stay-mode-tabs button.active small{color:color-mix(in srgb,var(--hotel-primary) 78%,var(--hotel-muted))}.hotel-rate-notice{align-items:center;border-radius:10px;display:flex;font-size:12px;font-weight:700;gap:8px;margin-bottom:12px;padding:11px 14px}.hotel-rate-notice.success{background:#eaf8f0;color:#298759}.hotel-rate-notice.error{background:#fff0ef;color:#c94f55}.hotel-rate-rules{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.hotel-rate-rules article{align-items:flex-start;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;display:flex;gap:10px;padding:13px}.hotel-rate-rules article>i{align-items:center;background:var(--hotel-primary-soft);border-radius:9px;color:var(--hotel-primary);display:inline-flex;flex:0 0 34px;font-size:18px;height:34px;justify-content:center}.hotel-rate-rules article div{display:flex;flex-direction:column;gap:3px}.hotel-rate-rules strong{font-size:12px}.hotel-rate-rules span{color:var(--hotel-muted);font-size:9px;line-height:1.45}.hotel-rate-form{display:grid;gap:12px}.hotel-rate-table-wrap{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:var(--hotel-radius);box-shadow:var(--hotel-shadow);overflow-x:auto}.hotel-rate-table{border-collapse:collapse;min-width:1000px;table-layout:fixed;width:100%}.hotel-rate-table th,.hotel-rate-table td{border-bottom:1px solid var(--hotel-border);border-right:1px solid var(--hotel-border);padding:13px;text-align:left;vertical-align:top}.hotel-rate-table tr:last-child th,.hotel-rate-table tr:last-child td{border-bottom:0}.hotel-rate-table th:last-child,.hotel-rate-table td:last-child{border-right:0}.hotel-rate-table thead th{background:color-mix(in srgb,var(--hotel-surface) 88%,var(--hotel-bg));color:var(--hotel-muted);font-size:9px;letter-spacing:.045em;text-transform:uppercase}.hotel-rate-table thead th:first-child{width:150px}.hotel-rate-table tbody th strong,.hotel-rate-table tbody th span{display:block}.hotel-rate-table tbody th strong{font-size:12px}.hotel-rate-table tbody th span{color:var(--hotel-muted);font-size:9px;margin-top:4px}.hotel-rate-table td{min-width:205px}.hotel-rate-table td>label,.rate-inline label{color:var(--hotel-muted);display:flex;flex-direction:column;font-size:9px;font-weight:700;gap:4px;margin-bottom:9px}.hotel-rate-table td>small{color:var(--hotel-muted);display:block;font-size:8px;margin-top:11px}.money-input{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:8px;display:flex;min-height:39px;overflow:hidden}.money-input:focus-within,.hotel-rate-table input:focus{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff1a;outline:0}.money-input input{background:transparent;border:0;color:var(--hotel-text);min-width:0;padding:0 9px;width:100%}.money-input b{background:var(--hotel-bg);align-items:center;align-self:stretch;color:var(--hotel-muted);display:flex;font-size:9px;padding:0 8px}.money-input.percent{max-width:110px}.rate-inline{display:grid;gap:7px;grid-template-columns:.8fr 1.2fr}.rate-inline input{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:8px;color:var(--hotel-text);min-height:39px;padding:0 8px;width:100%}.hotel-rate-savebar{align-items:flex-end;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;box-shadow:var(--hotel-shadow);display:flex;gap:12px;justify-content:space-between;padding:13px;position:sticky;bottom:10px;z-index:12}.hotel-rate-savebar label{color:var(--hotel-muted);display:flex;flex:1;flex-direction:column;font-size:10px;font-weight:700;gap:5px}.hotel-rate-savebar label b{color:#d65757}.hotel-rate-savebar input{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:9px;color:var(--hotel-text);height:42px;outline:0;padding:0 11px;width:100%}.hotel-rate-savebar input:focus{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff1a}.hotel-search-grid{display:grid;gap:9px;grid-template-columns:1.25fr 1fr 1fr .75fr .75fr .95fr auto}.hotel-search-grid label,.hotel-drawer-section label,.hotel-login-form label{color:var(--hotel-muted);display:flex;flex-direction:column;font-size:10px;font-weight:600;gap:5px}.hotel-search-grid input,.hotel-search-grid select,.hotel-drawer-section input,.hotel-drawer-section select,.hotel-drawer-section textarea,.hotel-login-form input{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:9px;color:var(--hotel-text);height:42px;outline:0;padding:0 10px;width:100%}.hotel-drawer-section textarea{height:auto;padding:10px;resize:vertical}.hotel-search-grid input:focus,.hotel-search-grid select:focus,.hotel-drawer-section input:focus,.hotel-drawer-section select:focus,.hotel-drawer-section textarea:focus,.hotel-login-form input:focus{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff1a}.hotel-search-submit{align-self:end;height:42px}.hotel-result-banner{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:var(--hotel-radius);box-shadow:var(--hotel-shadow);display:flex;gap:12px;margin-bottom:12px;min-height:62px;padding:10px 14px}.hotel-result-banner .result-icon{align-items:center;background:#e9f8ef;border-radius:50%;color:#42b979;display:inline-flex;flex:0 0 34px;font-size:21px;height:34px;justify-content:center}.hotel-result-banner.is-error .result-icon{background:#fff0ef;color:#dc5960}.hotel-result-banner.is-loading .result-icon{background:var(--hotel-primary-soft);color:var(--hotel-primary)}.hotel-result-banner div{display:flex;flex:1;flex-direction:column;gap:2px}.hotel-result-banner strong{font-size:13px}.hotel-result-banner div span{color:var(--hotel-muted);font-size:10px}.hotel-unassigned{align-items:center;background:#fff9ea;border:1px solid #f3e2ab;border-radius:12px;color:#775916;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px;padding:11px 14px}.hotel-unassigned>div:first-child{align-items:center;display:flex;gap:8px}.hotel-unassigned span{font-size:10px}#unassigned-list{display:flex;flex-wrap:wrap;gap:6px}.unassigned-chip{background:#fff;border:1px solid #ecd997;border-radius:999px;font-size:9px;padding:5px 8px}.hotel-calendar-panel{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:var(--hotel-radius);box-shadow:var(--hotel-shadow);overflow:hidden}.hotel-calendar-toolbar{align-items:center;border-bottom:1px solid var(--hotel-border);display:flex;gap:20px;justify-content:space-between;min-height:60px;padding:10px 14px}.hotel-calendar-toolbar>div:first-child{display:flex;flex-direction:column}.hotel-calendar-toolbar>div:first-child span{color:var(--hotel-muted);font-size:10px}.source-dot.checked_in{background:#70cc4f}.source-dot.booking{background:#5e8df3}.source-dot.airbnb{background:#f7a22b}.source-dot.direct{background:#8a6de9}.source-dot.maintenance{background:#9da1aa}.hotel-calendar-scroll{max-height:620px;overflow:auto;position:relative}.hotel-calendar-loading{align-items:center;color:var(--hotel-muted);display:flex;gap:8px;justify-content:center;min-height:330px}.calendar-grid{min-width:calc(var(--calendar-label-width) + (var(--calendar-day-width) * 30));position:relative}.calendar-row{display:grid;grid-template-columns:var(--calendar-label-width) repeat(30,var(--calendar-day-width));min-height:58px;position:relative}.calendar-header{background:var(--hotel-surface);min-height:62px;position:sticky;top:0;z-index:8}.calendar-label{background:var(--hotel-surface);border-bottom:1px solid var(--hotel-border);border-right:1px solid var(--hotel-border);left:0;padding:12px 13px;position:sticky;z-index:5}.calendar-header .calendar-label{align-items:center;display:flex;font-size:11px;font-weight:700;z-index:10}.calendar-day{align-items:center;border-bottom:1px solid var(--hotel-border);border-right:1px solid var(--hotel-border);color:var(--hotel-muted);display:flex;flex-direction:column;font-size:9px;justify-content:center;position:relative}.calendar-day strong{color:var(--hotel-text);font-size:11px}.calendar-day.weekend strong{color:#ef5a5f}.calendar-day.today{background:#f2f1ff}.calendar-day.selected-range{background:#696cff12}.calendar-group-row{background:color-mix(in srgb,var(--hotel-surface) 88%,var(--hotel-bg));min-height:42px}.calendar-group-row .calendar-label{align-items:center;background:inherit;display:flex;font-size:11px;font-weight:700;gap:7px;grid-column:1 / -1;position:sticky}.calendar-room-label{align-items:center;cursor:pointer;display:flex;gap:9px}.calendar-room-label input{accent-color:var(--hotel-primary)}.calendar-room-copy{display:flex;flex-direction:column}.calendar-room-copy strong{font-size:12px}.calendar-room-copy span{color:var(--hotel-muted);font-size:9px}.calendar-room-row.is-unavailable .calendar-room-copy{opacity:.48}.calendar-room-row.is-selected .calendar-label{background:#f2f1ff}.calendar-event{align-items:center;border-radius:999px;color:#fff;display:flex;font-size:9px;font-weight:700;height:28px;overflow:hidden;padding:0 9px;position:absolute;text-overflow:ellipsis;top:15px;white-space:nowrap;z-index:4}.calendar-event.source-booking{background:#5f8df0}.calendar-event.source-airbnb{background:#f7a22b}.calendar-event.source-agoda{background:#2ca9af}.calendar-event.source-traveloka{background:#e85c8f}.calendar-event.source-direct,.calendar-event.source-phone,.calendar-event.source-walk_in{background:#886be8}.calendar-event.source-maintenance{background:#969ba4}.calendar-event.status-checked_in{background:#77c94f}.calendar-room-reason{background:#ffffffeb;border:1px solid var(--hotel-border);border-radius:999px;color:var(--hotel-muted);font-size:8px;max-width:150px;overflow:hidden;padding:4px 7px;position:absolute;right:8px;text-overflow:ellipsis;top:18px;white-space:nowrap;z-index:3}.hotel-booking-drawer{background:var(--hotel-surface);bottom:0;box-shadow:-12px 0 50px #1f253d33;max-width:460px;position:fixed;right:-500px;top:0;transition:right .25s ease;width:100%;z-index:1100}.hotel-booking-drawer.is-open{right:0}.hotel-booking-drawer>header{align-items:center;border-bottom:1px solid var(--hotel-border);display:flex;justify-content:space-between;min-height:70px;padding:12px 18px}.hotel-booking-drawer>header div{display:flex;flex-direction:column}.hotel-booking-drawer>header span{color:var(--hotel-muted);font-size:10px}.hotel-booking-drawer>header button{background:var(--hotel-bg);border:0;border-radius:50%;cursor:pointer;font-size:22px;height:36px;width:36px}.hotel-hold-timer{align-items:center;background:#fff7e7;color:#8a6512;display:flex;gap:8px;min-height:48px;padding:0 18px}.hotel-hold-timer strong{font-size:17px;margin-left:auto}.hotel-drawer-body{height:calc(100vh - 118px);overflow-y:auto;padding:18px}.hotel-drawer-section{border-bottom:1px solid var(--hotel-border);display:grid;gap:11px;padding:0 0 18px;margin-bottom:18px}.hotel-drawer-section h3{font-size:13px;margin:0}.selected-room-chip{align-items:center;background:var(--hotel-bg);border-radius:10px;display:flex;justify-content:space-between;padding:9px 11px}.selected-room-chip span{display:flex;flex-direction:column}.selected-room-chip small{color:var(--hotel-muted)}.hotel-drawer-total{display:flex;justify-content:space-between}.hotel-drawer-total strong{color:var(--hotel-primary);font-size:17px}.hotel-confirm-button{height:48px;width:100%}.hotel-drawer-overlay{background:#1418286b;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:1090}body.drawer-open .hotel-drawer-overlay{opacity:1;pointer-events:auto}.hotel-toast{background:#25314a;border-radius:10px;bottom:24px;color:#fff;font-weight:600;left:50%;max-width:calc(100% - 32px);opacity:0;padding:11px 16px;pointer-events:none;position:fixed;transform:translate(-50%,20px);transition:opacity .18s ease,transform .18s ease;z-index:1200}.hotel-toast.show{opacity:1;transform:translate(-50%)}.hotel-toast.error{background:#c94f55}.room-type-metrics{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.room-type-metrics article{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:13px;box-shadow:var(--hotel-shadow);display:flex;gap:11px;min-height:88px;padding:13px}.room-type-metrics article>div{display:flex;flex-direction:column;min-width:0}.room-type-metrics small{color:var(--hotel-muted);font-size:10px;font-weight:700}.room-type-metrics strong{font-size:21px;line-height:1.2}.room-type-metrics article div span{color:var(--hotel-muted);font-size:9px}.room-type-toolbar{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px;padding:10px}.room-type-toolbar>label{align-items:center;background:var(--hotel-bg);border:1px solid transparent;border-radius:9px;color:var(--hotel-muted);display:flex;gap:7px;max-width:380px;padding:0 11px;width:100%}.room-type-toolbar>label:focus-within{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff1a}.room-type-toolbar input{background:transparent;border:0;color:var(--hotel-text);height:40px;min-width:0;outline:0;width:100%}.room-type-toolbar>div{display:flex;gap:6px}.room-type-toolbar>div button{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:999px;color:var(--hotel-muted);cursor:pointer;display:flex;font-size:10px;font-weight:700;gap:5px;min-height:34px;padding:0 10px}.room-type-toolbar>div button.active{background:var(--hotel-primary);border-color:var(--hotel-primary);color:#fff}.room-type-toolbar>div b{background:color-mix(in srgb,currentColor 12%,transparent);border-radius:999px;font-size:9px;padding:2px 5px}.room-type-grid{display:grid;gap:13px;grid-template-columns:repeat(3,minmax(0,1fr))}.room-type-card{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:var(--hotel-radius);box-shadow:var(--hotel-shadow);display:flex;flex-direction:column;min-width:0;overflow:hidden}.room-type-card[hidden]{display:none}.room-type-card.is-inactive{box-shadow:none;opacity:.68}.room-type-card>header{align-items:center;background:color-mix(in srgb,var(--hotel-surface) 90%,var(--hotel-bg));border-bottom:1px solid var(--hotel-border);display:flex;justify-content:space-between;min-height:48px;padding:9px 13px}.room-type-code{background:var(--hotel-primary-soft);border-radius:7px;color:var(--hotel-primary);font-size:10px;font-weight:800;letter-spacing:.04em;padding:5px 8px}.room-type-status{align-items:center;border-radius:999px;display:inline-flex;font-size:9px;font-weight:800;gap:4px;padding:5px 8px}.room-type-status.active{background:#eaf8f0;color:#2d9561}.room-type-status.inactive{background:#f0f1f4;color:#747986}.room-type-card-body{display:flex;flex:1;flex-direction:column;padding:14px}.room-type-title{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.room-type-title>div{min-width:0}.room-type-title h2{font-size:16px;margin:0 0 4px}.room-type-title p{color:var(--hotel-muted);display:-webkit-box;font-size:9px;line-height:1.45;margin:0;min-height:26px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.room-type-title>span{align-items:center;background:var(--hotel-bg);border-radius:10px;display:flex;flex:0 0 48px;flex-direction:column;font-size:16px;font-weight:800;justify-content:center;min-height:48px}.room-type-title>span small{font-size:8px;font-weight:600}.room-type-facts{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:13px}.room-type-facts span{align-items:center;color:var(--hotel-muted);display:flex;font-size:9px;gap:4px}.room-type-facts i{color:var(--hotel-primary);font-size:14px}.room-type-amenities{display:flex;flex-wrap:wrap;gap:5px;margin:11px 0 13px;min-height:24px}.room-type-amenities span{background:var(--hotel-primary-soft);border-radius:999px;color:var(--hotel-primary);font-size:8px;font-weight:700;padding:4px 7px}.room-type-amenities span.muted{background:var(--hotel-bg);color:var(--hotel-muted)}.room-type-rates{border:1px solid var(--hotel-border);border-radius:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto;overflow:hidden}.room-type-rates div{border-bottom:1px solid var(--hotel-border);border-right:1px solid var(--hotel-border);display:flex;flex-direction:column;min-width:0;padding:9px}.room-type-rates div:nth-child(2n){border-right:0}.room-type-rates div:nth-last-child(-n+2){border-bottom:0}.room-type-rates small{color:var(--hotel-muted);font-size:8px;font-weight:700}.room-type-rates strong{font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-type-rates span{color:var(--hotel-muted);font-size:8px}.room-type-card>footer{border-top:1px solid var(--hotel-border);display:grid;gap:7px;grid-template-columns:1fr auto;padding:10px}.room-type-card>footer button{min-height:38px}.room-type-status-button{align-items:center;background:transparent;border:0;border-radius:9px;cursor:pointer;display:inline-flex;font-size:10px;font-weight:800;gap:5px;padding:0 10px}.room-type-status-button.danger{color:#d65757}.room-type-status-button.success{color:#2d9561}.room-type-status-button:hover{background:var(--hotel-bg)}.room-type-empty,.room-type-no-result{align-items:center;background:var(--hotel-surface);border:1px dashed var(--hotel-border);border-radius:var(--hotel-radius);color:var(--hotel-muted);display:flex;flex-direction:column;grid-column:1 / -1;justify-content:center;min-height:260px;padding:28px;text-align:center}.room-type-empty>i,.room-type-no-result>i{color:var(--hotel-primary);font-size:42px}.room-type-empty h2{color:var(--hotel-text);font-size:17px;margin:10px 0 3px}.room-type-empty p{font-size:10px;margin:0 0 14px}.room-type-no-result{min-height:150px}.room-type-no-result[hidden]{display:none}.room-type-dialog{max-width:940px;width:calc(100% - 32px)}.room-type-dialog>form{display:flex;flex-direction:column;max-height:min(92vh,920px)}.room-type-dialog-head{align-items:flex-start;border-bottom:1px solid var(--hotel-border);display:flex;justify-content:space-between;padding:20px 22px 16px;position:relative}.room-type-dialog-head h2,.room-type-status-dialog h2{font-size:20px;margin:0}.room-type-dialog-head p,.room-type-status-dialog p{color:var(--hotel-muted);font-size:10px;margin:4px 0 0}.room-type-dialog-body{display:grid;gap:14px;overflow-y:auto;padding:16px 22px 22px}.room-type-form-section{background:color-mix(in srgb,var(--hotel-surface) 94%,var(--hotel-bg));border:1px solid var(--hotel-border);border-radius:13px;padding:14px}.room-type-form-heading{align-items:center;display:flex;gap:10px;margin-bottom:12px}.room-type-form-heading>span{align-items:center;background:var(--hotel-primary-soft);border-radius:9px;color:var(--hotel-primary);display:flex;flex:0 0 34px;font-size:18px;height:34px;justify-content:center}.room-type-form-heading h3{font-size:12px;margin:0}.room-type-form-heading p{color:var(--hotel-muted);font-size:9px;margin:2px 0 0}.room-type-form-grid{display:grid;gap:10px}.room-type-form-grid.identity{grid-template-columns:.7fr 1.5fr .5fr}.room-type-form-grid.occupancy{grid-template-columns:repeat(4,minmax(0,1fr))}.room-type-form-grid label,.room-type-reason>label,.room-type-price-grid label,.room-type-status-dialog label{color:var(--hotel-muted);display:flex;flex-direction:column;font-size:9px;font-weight:700;gap:5px}.room-type-form-grid label>span b,.room-type-reason label>span b,.room-type-status-dialog label>span b{color:#d65757}.room-type-form-grid input,.room-type-form-grid select,.room-type-form-grid textarea,.room-type-reason textarea,.room-type-price-grid input,.room-type-status-dialog textarea{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:8px;color:var(--hotel-text);min-height:39px;outline:0;padding:0 9px;width:100%}.room-type-form-grid textarea,.room-type-reason textarea,.room-type-status-dialog textarea{padding:9px;resize:vertical}.room-type-form-grid input:focus,.room-type-form-grid select:focus,.room-type-form-grid textarea:focus,.room-type-reason textarea:focus,.room-type-status-dialog textarea:focus{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff1a}.room-type-form-grid .span-2{grid-column:span 2}.room-type-check{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:9px;flex-direction:row!important;min-height:54px;padding:8px 10px}.room-type-check input[type=checkbox]{accent-color:var(--hotel-primary);flex:0 0 17px;height:17px;min-height:0;width:17px}.room-type-check>span{display:flex;flex-direction:column}.room-type-check small{font-size:8px;font-weight:500}.room-type-amenity-picker{border:0;display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0}.room-type-amenity-picker legend{color:var(--hotel-muted);font-size:9px;font-weight:700;margin-bottom:7px;width:100%}.room-type-amenity-picker label{cursor:pointer;position:relative}.room-type-amenity-picker input{opacity:0;position:absolute}.room-type-amenity-picker span{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:999px;color:var(--hotel-muted);display:block;font-size:9px;font-weight:700;padding:6px 9px}.room-type-amenity-picker input:checked+span{background:var(--hotel-primary-soft);border-color:color-mix(in srgb,var(--hotel-primary) 40%,var(--hotel-border));color:var(--hotel-primary)}.room-type-amenity-picker input:focus-visible+span{box-shadow:0 0 0 3px #696cff2e}.room-type-price-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.room-type-price-grid article{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:10px;min-width:0;padding:10px}.room-type-price-grid article>header{align-items:center;display:flex;gap:7px;margin-bottom:10px}.room-type-price-grid article>header>i{color:var(--hotel-primary);font-size:18px}.room-type-price-grid article>header div{display:flex;flex-direction:column}.room-type-price-grid article>header strong{font-size:10px}.room-type-price-grid article>header small,.room-type-price-grid article>small{color:var(--hotel-muted);font-size:8px}.room-type-price-grid .rate-inline{grid-template-columns:.7fr 1.3fr;margin-top:8px}.room-type-price-grid .money-input{min-height:39px}.room-type-price-grid .money-input input{border:0;min-height:37px}.room-type-price-grid .money-input.percent{max-width:none}.room-type-reason[hidden]{display:none}.room-type-dialog-actions{align-items:center;border-top:1px solid var(--hotel-border);display:flex;gap:8px;justify-content:flex-end;padding:12px 22px}.room-type-dialog-actions button{min-width:130px}.room-type-status-dialog{max-width:520px}.room-type-status-dialog>form>header{align-items:flex-start;border-bottom:1px solid var(--hotel-border);display:flex;gap:11px;padding:19px 54px 15px 18px;position:relative}.room-type-status-dialog-icon{align-items:center;background:#fff2e8;border-radius:10px;color:#dd7430;display:flex;flex:0 0 38px;font-size:21px;height:38px;justify-content:center}.room-type-status-dialog>form>div{padding:16px 18px}.room-type-status-dialog label small{font-size:8px;font-weight:500}.room-type-status-dialog footer{border-top:1px solid var(--hotel-border);display:flex;gap:8px;justify-content:flex-end;padding:12px 18px}.hotel-service-admin-heading-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px}.hotel-service-admin-heading-actions button{flex:0 0 auto;white-space:nowrap}.hotel-service-admin-heading-actions .hotel-secondary-button{min-height:42px}.hotel-service-admin-heading-actions .hotel-secondary-button b{align-items:center;background:var(--hotel-primary-soft);border-radius:999px;color:var(--hotel-primary);display:inline-flex;font-size:9px;height:20px;justify-content:center;min-width:20px;padding-inline:5px}.hotel-service-admin-metrics{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:12px}.hotel-service-admin-metrics article{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:13px;box-shadow:var(--hotel-shadow);display:flex;gap:11px;min-height:84px;padding:12px}.hotel-service-admin-metrics article>div{display:flex;flex-direction:column;min-width:0}.hotel-service-admin-metrics small{color:var(--hotel-muted);font-size:11px;font-weight:700}.hotel-service-admin-metrics strong{font-size:22px;line-height:1.15}.hotel-service-admin-metrics article div span{color:var(--hotel-muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-service-admin-toolbar{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding:9px}.hotel-service-admin-toolbar>label{align-items:center;background:var(--hotel-bg);border:1px solid transparent;border-radius:9px;color:var(--hotel-muted);display:flex;gap:7px;max-width:370px;padding:0 11px;width:100%}.hotel-service-admin-toolbar>label:focus-within{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff1a}.hotel-service-admin-toolbar input{background:transparent;border:0;color:var(--hotel-text);height:40px;min-width:0;outline:0;width:100%}.hotel-service-admin-toolbar>label.hotel-service-admin-group-filter{flex:0 0 205px;max-width:205px}.hotel-service-admin-toolbar select{background:transparent;border:0;color:var(--hotel-text);height:40px;min-width:0;outline:0;width:100%}.hotel-service-admin-toolbar>div{display:flex;gap:5px}.hotel-service-admin-toolbar>div button{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:999px;color:var(--hotel-muted);cursor:pointer;display:flex;font-size:10px;font-weight:750;gap:5px;min-height:34px;padding:0 10px;white-space:nowrap}.hotel-service-admin-toolbar>div button.active{background:var(--hotel-primary);border-color:var(--hotel-primary);color:#fff}.hotel-service-admin-toolbar>div b{background:color-mix(in srgb,currentColor 12%,transparent);border-radius:999px;font-size:9px;padding:2px 5px}.hotel-service-admin-groups{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.hotel-service-admin-group{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:14px;box-shadow:var(--hotel-shadow);min-width:0;overflow:hidden}.hotel-service-admin-group[hidden]{display:none}.hotel-service-admin-group>header{align-items:center;background:color-mix(in srgb,var(--hotel-surface) 91%,var(--hotel-bg));border-bottom:1px solid var(--hotel-border);display:grid;gap:9px;grid-template-columns:40px minmax(0,1fr) auto;min-height:66px;padding:10px 12px}.hotel-service-admin-group>header>div{min-width:0}.hotel-service-admin-group>header h2{font-size:15px;line-height:1.2;margin:0}.hotel-service-admin-group>header p{color:var(--hotel-muted);font-size:9px;line-height:1.4;margin:3px 0 0}.hotel-service-admin-group>header>b{align-items:center;background:var(--hotel-bg);border-radius:999px;color:var(--hotel-muted);display:flex;font-size:10px;height:26px;justify-content:center;min-width:26px;padding-inline:7px}.hotel-service-admin-group-icon,.hotel-service-admin-item-mark{align-items:center;border-radius:10px;display:flex;justify-content:center}.hotel-service-admin-group-icon{font-size:21px;height:40px;width:40px}.hotel-service-admin-group-icon.food,.hotel-service-admin-item-mark.food{background:#fff3df;color:#bd7417}.hotel-service-admin-group-icon.beverage,.hotel-service-admin-item-mark.beverage{background:#e8f3ff;color:#3c79c8}.hotel-service-admin-group-icon.service,.hotel-service-admin-item-mark.service{background:var(--hotel-primary-soft);color:var(--hotel-primary)}.hotel-service-admin-list{display:grid}.hotel-service-admin-item{align-items:center;border-bottom:1px solid var(--hotel-border);display:grid;gap:9px;grid-template-columns:minmax(130px,1.4fr) minmax(84px,.72fr) auto auto;min-height:78px;padding:9px 11px}.hotel-service-admin-item:last-child{border-bottom:0}.hotel-service-admin-item[hidden]{display:none}.hotel-service-admin-item.is-inactive{background:color-mix(in srgb,var(--hotel-bg) 72%,transparent);opacity:.7}.hotel-service-admin-item-main{align-items:center;display:flex;gap:8px;min-width:0}.hotel-service-admin-item-mark{flex:0 0 34px;font-size:17px;height:34px;width:34px}.hotel-service-admin-item-main>div{display:flex;flex-direction:column;min-width:0}.hotel-service-admin-item-main h3{font-size:12px;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-service-admin-item-main span,.hotel-service-admin-price span{color:var(--hotel-muted);font-size:9px;margin-top:2px}.hotel-service-group-tag{align-items:center;align-self:flex-start;background:var(--hotel-primary-soft);border-radius:999px;color:var(--hotel-primary);display:inline-flex;font-size:8px;font-style:normal;font-weight:750;gap:3px;margin-top:4px;max-width:100%;padding:3px 6px}.hotel-service-group-tag.inactive{background:#f0f1f4;color:#747986}.hotel-service-admin-price{align-items:flex-end;display:flex;flex-direction:column;white-space:nowrap}.hotel-service-admin-price strong{color:var(--hotel-text);font-size:12px}.hotel-service-admin-status{align-items:center;border-radius:999px;display:inline-flex;font-size:8px;font-weight:800;gap:3px;padding:5px 6px;white-space:nowrap}.hotel-service-admin-status.active{background:#eaf8f0;color:#2d9561}.hotel-service-admin-status.inactive{background:#f0f1f4;color:#747986}.hotel-service-admin-actions{display:flex;gap:3px}.hotel-service-admin-actions button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--hotel-primary);cursor:pointer;display:inline-flex;flex-direction:column;font-size:8px;font-weight:750;gap:1px;height:38px;justify-content:center;min-width:38px;padding:2px 5px}.hotel-service-admin-actions button i{font-size:16px}.hotel-service-admin-actions button:hover{background:var(--hotel-primary-soft)}.hotel-service-admin-actions button.danger{color:#d65757}.hotel-service-admin-actions button.success{color:#2d9561}.hotel-service-admin-empty{align-items:center;color:var(--hotel-muted);display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:190px;padding:24px}.hotel-service-admin-empty i{color:var(--hotel-primary);font-size:34px}.hotel-service-admin-no-result{align-items:center;background:var(--hotel-surface);border:1px dashed var(--hotel-border);border-radius:14px;color:var(--hotel-muted);display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:180px;padding:24px;text-align:center}.hotel-service-admin-no-result[hidden]{display:none}.hotel-service-admin-no-result i{color:var(--hotel-primary);font-size:36px}.hotel-service-admin-no-result strong{color:var(--hotel-text);font-size:14px}.hotel-service-admin-no-result span{font-size:10px}.hotel-service-admin-dialog{max-width:720px;width:calc(100% - 32px)}.hotel-service-admin-dialog>form{display:flex;flex-direction:column;max-height:min(90dvh,720px)}.hotel-service-admin-dialog>form>header{align-items:flex-start;border-bottom:1px solid var(--hotel-border);display:flex;justify-content:space-between;padding:19px 56px 15px 19px;position:relative}.hotel-service-admin-dialog h2,.hotel-service-admin-status-dialog h2{font-size:20px;margin:0}.hotel-service-admin-dialog header p,.hotel-service-admin-status-dialog header p{color:var(--hotel-muted);font-size:10px;margin:4px 0 0}.hotel-service-admin-form-body{display:grid;gap:12px;overflow-y:auto;padding:16px 19px}.hotel-service-admin-form-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.hotel-service-admin-form-grid label,.hotel-service-admin-status-dialog label{color:var(--hotel-muted);display:flex;flex-direction:column;font-size:10px;font-weight:700;gap:5px}.hotel-service-admin-form-grid label>span>b,.hotel-service-admin-status-dialog label>span b{color:#d65757}.hotel-service-admin-form-grid input,.hotel-service-admin-form-grid select,.hotel-service-admin-reason textarea,.hotel-service-admin-status-dialog textarea{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:9px;color:var(--hotel-text);min-height:42px;outline:0;padding:0 10px;width:100%}.hotel-service-admin-reason textarea,.hotel-service-admin-status-dialog textarea{padding:10px;resize:vertical}.hotel-service-admin-form-grid input:focus,.hotel-service-admin-form-grid select:focus,.hotel-service-admin-reason textarea:focus,.hotel-service-admin-status-dialog textarea:focus{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff1a}.hotel-service-admin-form-grid .span-2{grid-column:span 2}.hotel-service-admin-money{display:flex;position:relative}.hotel-service-admin-money input{padding-right:32px}.hotel-service-admin-money em{align-items:center;bottom:0;color:var(--hotel-muted);display:flex;font-style:normal;position:absolute;right:11px;top:0}.hotel-service-admin-check{align-items:center;background:var(--hotel-bg);border:1px solid var(--hotel-border);border-radius:9px;display:flex!important;flex-direction:row!important;min-height:63px;padding:8px 10px}.hotel-service-admin-check input[type=hidden]{display:none}.hotel-service-admin-check input[type=checkbox]{accent-color:var(--hotel-primary);flex:0 0 18px;height:18px;min-height:0;padding:0;width:18px}.hotel-service-admin-check>span{display:flex;flex-direction:column}.hotel-service-admin-check strong{color:var(--hotel-text);font-size:10px}.hotel-service-admin-check small{font-size:8px;font-weight:500}.hotel-service-admin-reason{background:#fff9ea;border:1px solid #f0dfa9;border-radius:10px;display:grid;gap:9px;padding:11px}.hotel-service-admin-reason[hidden]{display:none}.hotel-service-admin-reason>div{align-items:center;color:#8a6512;display:flex;gap:8px}.hotel-service-admin-reason>div>i{font-size:19px}.hotel-service-admin-reason>div>span{display:flex;flex-direction:column}.hotel-service-admin-reason strong{font-size:10px}.hotel-service-admin-reason small{font-size:8px}.hotel-service-admin-dialog>form>footer,.hotel-service-admin-status-dialog footer{border-top:1px solid var(--hotel-border);display:flex;gap:8px;justify-content:flex-end;padding:12px 19px}.hotel-service-admin-dialog>form>footer button{min-width:130px}.hotel-service-admin-status-dialog{max-width:520px}.hotel-service-admin-status-dialog>form>header{align-items:flex-start;border-bottom:1px solid var(--hotel-border);display:flex;gap:11px;padding:19px 54px 15px 18px;position:relative}.hotel-service-admin-status-dialog>form>header>span{align-items:center;background:#fff2e8;border-radius:10px;color:#dd7430;display:flex;flex:0 0 38px;font-size:21px;height:38px;justify-content:center}.hotel-service-admin-status-dialog>form>div{padding:16px 18px}.hotel-service-admin-status-dialog label small{font-size:8px;font-weight:500}.hotel-service-group-dialog{max-width:960px;width:calc(100% - 32px)}.hotel-service-group-shell{display:flex;flex-direction:column;max-height:min(90dvh,760px)}.hotel-service-group-shell>header{align-items:flex-start;border-bottom:1px solid var(--hotel-border);display:flex;justify-content:space-between;padding:19px 56px 15px 19px;position:relative}.hotel-service-group-shell>header h2{font-size:20px;margin:0}.hotel-service-group-shell>header p{color:var(--hotel-muted);font-size:10px;margin:4px 0 0}.hotel-service-group-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);min-height:0;overflow:hidden}.hotel-service-group-list{border-right:1px solid var(--hotel-border);display:grid;gap:13px;overflow-y:auto;padding:16px 18px}.hotel-service-group-list-title{align-items:center;display:flex;justify-content:space-between}.hotel-service-group-list-title strong{font-size:13px}.hotel-service-group-list-title span{background:#eaf8f0;border-radius:999px;color:#2d9561;font-size:9px;font-weight:800;padding:5px 8px}.hotel-service-group-category{display:grid;gap:6px}.hotel-service-group-category h3{align-items:center;display:flex;font-size:11px;gap:7px;margin:0 0 2px}.hotel-service-group-category h3 .hotel-service-admin-group-icon{border-radius:7px;font-size:15px;height:28px;width:28px}.hotel-service-group-row{align-items:center;background:var(--hotel-bg);border:1px solid var(--hotel-border);border-radius:10px;display:grid;gap:7px;grid-template-columns:minmax(0,1fr) auto 32px 32px;min-height:54px;padding:7px 8px 7px 11px}.hotel-service-group-row.is-inactive{opacity:.68}.hotel-service-group-row>div{display:flex;flex-direction:column;min-width:0}.hotel-service-group-row strong{font-size:11px}.hotel-service-group-row span{color:var(--hotel-muted);font-size:8px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-service-group-row em{background:#eaf8f0;border-radius:999px;color:#2d9561;font-size:8px;font-style:normal;font-weight:800;padding:4px 6px;white-space:nowrap}.hotel-service-group-row.is-inactive em{background:#f0f1f4;color:#747986}.hotel-service-group-row>button{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:8px;color:var(--hotel-primary);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;width:32px}.hotel-service-group-row>button:hover{background:var(--hotel-primary-soft)}.hotel-service-group-row>button.danger{color:#d65757}.hotel-service-group-row>button.success{color:#2d9561}.hotel-service-group-category-empty{border:1px dashed var(--hotel-border);border-radius:9px;color:var(--hotel-muted);font-size:9px;padding:12px;text-align:center}#service-group-form{align-content:start;background:color-mix(in srgb,var(--hotel-surface) 95%,var(--hotel-bg));display:grid;gap:13px;overflow-y:auto;padding:17px 18px}.hotel-service-group-form-head h3{font-size:16px;margin:1px 0 0}.hotel-service-group-form-head p{color:var(--hotel-muted);font-size:9px;margin:4px 0 0}.hotel-service-group-form-fields{display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-service-group-form-fields label{color:var(--hotel-muted);display:flex;flex-direction:column;font-size:9px;font-weight:700;gap:5px}.hotel-service-group-form-fields label>span b{color:#d65757}.hotel-service-group-form-fields input,.hotel-service-group-form-fields select{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:9px;color:var(--hotel-text);min-height:41px;outline:0;padding:0 10px;width:100%}.hotel-service-group-form-fields input:focus,.hotel-service-group-form-fields select:focus{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff1a}.hotel-service-group-form-fields .span-2{grid-column:span 2}#service-group-form>footer{border-top:1px solid var(--hotel-border);display:grid;gap:8px;grid-template-columns:1fr 1fr;margin:0 -18px -17px;padding:12px 18px 0}#service-group-form>footer button{min-width:0}.hotel-login-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.hotel-login-card{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:22px;box-shadow:0 24px 70px #43597126;max-width:450px;padding:34px;width:100%}.hotel-login-brand{align-items:center;display:flex;gap:11px;margin-bottom:34px}.hotel-login-brand div{display:flex;flex-direction:column}.hotel-login-brand strong{color:#d5a92c;font-size:20px}.hotel-login-brand span{color:var(--hotel-muted);font-size:10px}.hotel-login-copy h1{font-size:27px;margin:0}.hotel-login-copy p{color:var(--hotel-muted);line-height:1.6;margin:8px 0 22px}.hotel-login-form{display:grid;gap:14px}.hotel-password-field{display:flex;position:relative}.hotel-password-field button{background:transparent;border:0;bottom:0;color:var(--hotel-muted);cursor:pointer;position:absolute;right:5px;top:0;width:38px}.hotel-remember{align-items:center;flex-direction:row!important}.hotel-remember input{accent-color:var(--hotel-primary);height:16px;width:16px}.hotel-login-submit{height:48px;width:100%}.hotel-form-error{background:#fff0ef;border-radius:8px;color:#c94f55;font-size:11px;padding:9px}.hotel-demo-credential{align-items:center;background:var(--hotel-primary-soft);border-radius:10px;color:var(--hotel-primary);display:flex;font-size:11px;gap:8px;margin-top:18px;padding:10px}.hotel-sidebar-overlay{display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}.hotel-operation-route{--hotel-muted: #687086}html[data-admin-theme=dark] .hotel-operation-route{--hotel-muted: #aab2c5}.hotel-operation-page{margin-top:-8px}.hotel-operation-route .hotel-navbar{height:50px;margin-top:8px;top:6px}.hotel-operation-route .hotel-content{padding-top:16px}.hotel-operation-header{align-items:center;display:grid;gap:18px;grid-template-columns:minmax(170px,.75fr) minmax(520px,2fr) auto;margin-bottom:12px}.hotel-operation-heading-copy>span{color:var(--hotel-primary);display:block;font-size:11px;font-weight:800;letter-spacing:.06em;margin-bottom:3px;text-transform:uppercase}.hotel-operation-heading-copy h1{font-size:27px;letter-spacing:-.035em;line-height:1.12;margin:0}.hotel-operation-heading-copy p{color:var(--hotel-muted);font-size:12px;margin:5px 0 0}.hotel-week-switcher{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:13px;box-shadow:var(--hotel-shadow);display:grid;grid-template-columns:34px minmax(0,1fr) 34px;min-width:0;padding:5px}.hotel-week-arrow{align-items:center;border-radius:8px;color:var(--hotel-muted);display:flex;font-size:24px;height:48px;justify-content:center;text-decoration:none}.hotel-week-arrow:hover{background:var(--hotel-primary-soft);color:var(--hotel-primary)}.hotel-week-days{display:grid;gap:4px;grid-template-columns:repeat(7,minmax(44px,1fr))}.hotel-week-day{align-items:center;border-radius:8px;color:var(--hotel-muted);display:flex;flex-direction:column;height:48px;justify-content:center;text-decoration:none;transition:background .15s ease,color .15s ease}.hotel-week-day:hover{background:var(--hotel-bg);color:var(--hotel-primary)}.hotel-week-day span{font-size:10px;font-weight:700;line-height:1}.hotel-week-day strong{color:var(--hotel-text);font-size:16px;line-height:1.15;margin-top:4px}.hotel-week-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--hotel-primary);color:var(--hotel-primary)}.hotel-week-day.is-today:not(.is-selected) strong{color:var(--hotel-primary)}.hotel-week-day.is-selected{background:var(--hotel-primary);color:#fff;box-shadow:0 5px 12px #696cff38}.hotel-week-day.is-selected strong{color:#fff}.hotel-operation-header-actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.hotel-operation-header-actions .hotel-primary-button,.hotel-operation-header-actions .hotel-secondary-button{min-height:40px;padding-inline:12px}.hotel-operation-summary{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:13px;box-shadow:var(--hotel-shadow);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:10px;min-height:74px}.hotel-operation-summary article{align-items:center;border-right:1px solid var(--hotel-border);display:flex;gap:11px;min-width:0;padding:11px 16px}.hotel-operation-summary article:last-child{border-right:0}.hotel-operation-summary article>div{align-items:baseline;display:flex;flex:1;gap:8px;justify-content:space-between;min-width:0}.hotel-operation-summary small{color:var(--hotel-muted);font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-operation-summary strong{font-size:24px;line-height:1;white-space:nowrap}.hotel-operation-summary strong em{color:var(--hotel-muted);font-size:14px;font-style:normal}.summary-dot{border-radius:50%;flex:0 0 10px;height:10px;width:10px}.summary-dot.violet{background:#696cff}.summary-dot.blue{background:#4c88ed}.summary-dot.green{background:#42b979}.summary-dot.orange{background:#ee9b35}.summary-dot.red{background:#dc5960}.hotel-operation-page .hotel-operation-toolbar{align-items:center;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;box-shadow:var(--hotel-shadow);display:grid;gap:12px;grid-template-columns:minmax(210px,1fr) minmax(290px,1.15fr) 230px;margin:0 0 10px;min-height:62px;padding:9px 12px 9px 16px}.hotel-operation-page .hotel-operation-title h2{font-size:17px;line-height:1.2;margin:0 0 2px}.hotel-operation-page .hotel-operation-title span{display:block;font-size:12px;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-operation-room-search{align-items:center;background:var(--hotel-bg);border:1px solid transparent;border-radius:8px;color:var(--hotel-muted);display:flex;height:42px;padding:0 11px}.hotel-operation-room-search:focus-within{background:var(--hotel-surface);border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff17}.hotel-operation-room-search i{font-size:20px}.hotel-operation-room-search input{background:transparent;border:0;color:var(--hotel-text);height:100%;min-width:0;outline:0;padding:0 8px;width:100%}.hotel-operation-room-search input::placeholder{color:var(--hotel-muted);font-size:12px}.hotel-operation-status-select{position:relative}.hotel-operation-status-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:8px;color:var(--hotel-text);font-size:13px;height:42px;outline:0;padding:0 36px 0 12px;width:100%}.hotel-operation-status-select select:focus{border-color:var(--hotel-primary);box-shadow:0 0 0 3px #696cff17}.hotel-operation-status-select>i{color:var(--hotel-muted);font-size:20px;pointer-events:none;position:absolute;right:10px;top:11px}.hotel-operation-page .hotel-operation-booking-result{margin:0 0 10px}.hotel-operation-page .hotel-room-group{border-radius:13px;margin-bottom:10px}.hotel-operation-page .hotel-room-group>header{min-height:46px;padding:9px 16px}.hotel-operation-page .hotel-room-group>header i{font-size:19px}.hotel-operation-page .hotel-room-group>header strong{font-size:15px}.hotel-operation-page .hotel-room-group>header span{font-size:12px}.hotel-operation-page .hotel-room-grid{gap:10px;grid-template-columns:repeat(6,minmax(0,1fr));padding:11px}.hotel-operation-page .hotel-room-card{border-radius:11px;min-height:204px;padding:0 11px 11px}.hotel-operation-page .hotel-room-card:focus-visible{box-shadow:0 0 0 3px #696cff47,0 12px 28px #43597121;outline:none}.hotel-operation-page .hotel-room-card-top{margin:0 -11px 9px;min-height:42px;padding:0 10px}.hotel-operation-page .hotel-room-card-top strong{font-size:18px}.hotel-operation-page .hotel-room-card-top em{font-size:10px;padding:5px 7px}.hotel-operation-page .hotel-room-type{font-size:12px;margin-bottom:7px}.hotel-operation-page .hotel-room-guest{font-size:13px;gap:6px;margin-block:3px}.hotel-operation-page .hotel-room-guest i{font-size:18px}.hotel-operation-page .hotel-room-time{font-size:11px;gap:6px;line-height:1.35;margin-block:3px}.hotel-operation-page .hotel-room-time i{font-size:16px}.hotel-operation-page .hotel-room-meta{flex-wrap:wrap;gap:5px}.hotel-operation-page .hotel-room-meta b{font-size:10px;padding:4px 6px}.hotel-operation-page .hotel-room-meta .hotel-room-service-badge{background:#fff3df;color:#b36d14}.hotel-operation-page .hotel-room-money{font-size:11px;margin-top:8px;padding-top:8px}.hotel-operation-page .hotel-room-empty-icon{font-size:28px;height:56px;margin:12px auto 8px;width:56px}.hotel-operation-page .hotel-room-empty-copy{font-size:13px}.hotel-operation-page .hotel-room-booking-cue{font-size:11px;min-height:32px}.hotel-operation-booking-dialog{max-width:990px;overflow:visible}.hotel-operation-booking-dialog .hotel-dialog-close{z-index:2}.hotel-operation-booking-head{align-items:center;border-bottom:1px solid var(--hotel-border);display:flex;gap:11px;padding:18px 58px 14px 20px}.hotel-operation-booking-head>div{display:flex;flex-direction:column}.hotel-operation-booking-head strong{font-size:16px}.hotel-operation-booking-head span{color:var(--hotel-muted);font-size:10px;margin-top:2px}.hotel-operation-booking-body{padding:14px 18px 18px}.hotel-operation-booking-body .hotel-operation-presets{justify-content:flex-end;margin-bottom:10px}@media (max-width: 1280px){.hotel-room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hotel-search-grid{grid-template-columns:repeat(4,1fr)}.hotel-search-submit{grid-column:span 2}.hotel-operation-booking-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hotel-operation-booking-grid .hotel-primary-button{width:100%}.hotel-operation-header{gap:10px;grid-template-columns:150px minmax(440px,1fr) auto}.hotel-operation-header-actions .hotel-secondary-button{display:none}.hotel-operation-page .hotel-room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hotel-service-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.hotel-service-admin-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 991px){:root{--hotel-sidebar: 250px}.hotel-sidebar{transform:translate(-100%);transition:transform .22s ease}body.sidebar-open .hotel-sidebar{transform:translate(0)}.hotel-page{margin-left:0}.hotel-menu-toggle{display:inline-flex!important}.hotel-sidebar-overlay{background:#14182866;display:block;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:1035}body.sidebar-open .hotel-sidebar-overlay{opacity:1;pointer-events:auto}.hotel-user-copy{display:none}.hotel-property-switch select{max-width:155px}.hotel-metrics{grid-template-columns:repeat(3,1fr)}.hotel-room-grid,.hotel-operation-page .hotel-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hotel-operation-header{align-items:stretch;grid-template-columns:1fr auto}.hotel-operation-heading-copy{align-self:center}.hotel-week-switcher{grid-column:1 / -1;grid-row:2}.hotel-operation-summary article{padding-inline:10px}.hotel-operation-summary article>div{align-items:flex-start;flex-direction:column;gap:3px}.hotel-calendar-toolbar{align-items:flex-start;flex-wrap:wrap}.hotel-rate-rules,.room-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-type-form-grid.identity{grid-template-columns:.7fr 1.3fr}.room-type-form-grid.occupancy,.room-type-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-service-admin-toolbar{align-items:stretch;flex-direction:column}.hotel-service-admin-toolbar>label{max-width:none}.hotel-service-admin-toolbar>label.hotel-service-admin-group-filter{flex-basis:auto;max-width:none}.hotel-service-admin-toolbar>div{overflow-x:auto;padding-bottom:2px}.hotel-service-admin-toolbar>div button{flex:0 0 auto}.hotel-service-admin-groups{grid-template-columns:1fr}}@media (max-width: 680px){.hotel-navbar{margin:8px 10px 0;padding:0 8px;top:6px}.hotel-content{padding:18px 10px}.hotel-security-warning{font-size:10px;margin:8px 10px 0}.hotel-property-switch{flex:1;max-width:180px}.hotel-property-switch select{max-width:130px;width:100%}.hotel-user{border-left:0;margin-left:0;padding-left:0}.hotel-user .hotel-avatar,.hotel-user form{display:none}.hotel-page-heading{align-items:flex-start;flex-direction:column}.hotel-page-heading .hotel-primary-button,.hotel-page-heading .hotel-secondary-button{width:100%}.hotel-service-admin-heading-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hotel-operation-page{margin-top:0}.hotel-operation-header{display:grid;gap:9px;grid-template-columns:1fr auto;margin-bottom:9px}.hotel-operation-heading-copy h1{font-size:21px}.hotel-operation-heading-copy p{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-operation-header-actions .hotel-primary-button,.hotel-operation-header-actions .hotel-secondary-button{font-size:0;min-height:38px;padding:0;width:40px}.hotel-operation-header-actions .hotel-primary-button i,.hotel-operation-header-actions .hotel-secondary-button i{font-size:19px}.hotel-week-switcher{border-radius:11px;grid-column:1 / -1;grid-template-columns:28px minmax(0,1fr) 28px;padding:4px}.hotel-week-days{gap:2px;grid-template-columns:repeat(7,minmax(36px,1fr));overflow-x:auto}.hotel-week-day{height:44px}.hotel-operation-summary{grid-template-columns:repeat(5,minmax(78px,1fr));min-height:60px;overflow-x:auto}.hotel-operation-summary article{align-items:flex-start;flex-direction:column;gap:4px;padding:8px 9px}.hotel-operation-summary article>div{align-items:flex-start;flex-direction:column;gap:3px}.hotel-operation-summary small{font-size:10px}.hotel-operation-summary strong{font-size:19px}.hotel-operation-page .hotel-operation-toolbar{grid-template-columns:1fr 126px;padding:7px}.hotel-operation-page .hotel-operation-title{grid-column:1 / -1;padding:2px 4px}.hotel-operation-page .hotel-operation-title span{max-width:100%}.hotel-operation-room-search{min-width:0}.hotel-operation-status-select select{font-size:12px}.hotel-operation-booking>header{align-items:flex-start;flex-direction:column}.hotel-operation-presets{width:100%}.hotel-operation-presets button,.hotel-operation-presets a{flex:1;justify-content:center}.stay-mode-tabs,.hotel-operation-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-operation-booking-grid label:nth-of-type(5),.hotel-operation-booking-grid .hotel-primary-button{grid-column:span 2}.hotel-operation-booking-result{align-items:stretch;flex-wrap:wrap}.hotel-operation-booking-result>div{min-width:calc(100% - 44px)}.hotel-operation-booking-result .hotel-primary-button,.hotel-operation-booking-result .hotel-secondary-button{flex:1}.hotel-operation-booking-dialog{border-radius:0;height:100dvh;max-height:none;max-width:none;width:100%}.hotel-operation-booking-dialog .hotel-operation-booking-body{max-height:calc(100dvh - 74px);overflow-y:auto;padding-inline:10px}.hotel-operation-booking-head{padding-left:12px}.hotel-metrics{grid-template-columns:repeat(2,1fr)}.hotel-metric-card{align-items:flex-start;flex-direction:column;min-height:132px}.hotel-operation-toolbar{align-items:flex-start;flex-direction:column}.hotel-operation-filters{gap:5px;overflow-x:auto;padding-bottom:2px;width:100%}.hotel-operation-filters button{flex:0 0 auto}.hotel-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}.hotel-operation-page .hotel-room-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.hotel-operation-page .hotel-room-card{min-height:202px;padding-inline:10px}.hotel-operation-page .hotel-room-card-top{margin-inline:-10px}.hotel-operation-page .hotel-room-guest{align-items:flex-start;font-size:13px;line-height:1.35;min-height:35px;white-space:normal}.hotel-operation-page .hotel-room-time{align-items:flex-start;font-size:11px;min-height:31px;white-space:normal}.hotel-operation-page .hotel-room-guest i,.hotel-operation-page .hotel-room-time i{flex:0 0 auto}.hotel-operation-page .hotel-room-meta b{font-size:10px;padding-inline:6px}.hotel-operation-page .hotel-room-money{font-size:11px}.hotel-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-search-grid label:first-child{grid-column:span 2}.hotel-search-submit{grid-column:span 2;width:100%}.hotel-result-banner{align-items:flex-start;flex-wrap:wrap}.hotel-result-banner .hotel-primary-button{margin-left:46px;width:calc(100% - 46px)}.hotel-unassigned{align-items:flex-start;flex-direction:column}.calendar-legend{display:none}:root{--calendar-label-width: 142px;--calendar-day-width: 48px}.hotel-booking-drawer{max-width:none}.hotel-footer{align-items:flex-start;flex-direction:column;gap:10px;padding-inline:12px}.hotel-footer a{margin-left:0;margin-right:16px}.hotel-dialog-actions{grid-template-columns:1fr}#room-action-dialog{border-radius:0;height:100dvh;max-height:none;max-width:none;width:100%}.hotel-service-panel>header{align-items:flex-start}.hotel-service-panel>header p{max-width:220px}.hotel-service-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-service-order-fields{grid-template-columns:1fr}.hotel-service-order-fields .hotel-primary-button{width:100%}.hotel-service-void-form{grid-template-columns:1fr!important}.hotel-direct-dialog{border-radius:0;height:100dvh;max-height:none;max-width:none;width:100%}.hotel-direct-booking-head{padding:14px 54px 11px 12px}.hotel-direct-booking-head h2{font-size:22px}.hotel-direct-booking-head p{display:none}.hotel-direct-booking-form{max-height:calc(100dvh - 65px);padding:10px 10px 76px}.hotel-direct-room-summary{grid-template-columns:38px minmax(0,1fr);margin-bottom:8px;padding:9px}.hotel-direct-room-summary>span{height:38px}.hotel-direct-room-summary>b{font-size:14px;grid-column:2}.hotel-direct-grid.stay-fields,.hotel-direct-grid.guest-fields,.hotel-direct-grid.payment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-direct-grid .identity-field,.hotel-direct-grid .address-field,.hotel-direct-grid .notes-field{grid-column:1 / -1;grid-row:auto}.hotel-direct-booking-footer{align-items:stretch;background:var(--hotel-surface);border-top:1px solid var(--hotel-border);bottom:0;box-shadow:0 -8px 24px #2f33491a;left:0;padding:9px 10px;position:fixed;right:0;z-index:4}.hotel-direct-booking-footer>button,.hotel-direct-booking-footer>div>span{display:none}.hotel-direct-booking-footer>div{align-items:stretch;display:block;width:100%}.hotel-direct-booking-footer button{min-height:48px;width:100%}.hotel-guests-heading .hotel-primary-button{display:none}.hotel-guests-toolbar{align-items:stretch;flex-direction:column}.hotel-guests-toolbar form{align-items:stretch;display:grid;grid-template-columns:1fr auto}.hotel-guests-toolbar form>label{grid-column:1 / -1;max-width:none}.hotel-inline-action-panel form,.hotel-rate-rules{grid-template-columns:1fr}.hotel-rate-table-wrap{background:transparent;border:0;box-shadow:none;overflow:visible}.hotel-rate-table{display:block;min-width:0}.hotel-rate-table thead{display:none}.hotel-rate-table tbody{display:grid;gap:12px}.hotel-rate-table tr{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;box-shadow:var(--hotel-shadow);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.hotel-rate-table th,.hotel-rate-table td{border-bottom:1px solid var(--hotel-border);border-right:1px solid var(--hotel-border);display:block;min-width:0;padding:11px}.hotel-rate-table tbody th{grid-column:1 / -1}.hotel-rate-table td:before{color:var(--hotel-primary);content:attr(data-rate-label);display:block;font-size:10px;font-weight:800;margin-bottom:9px}.hotel-rate-table tr td:nth-of-type(2n){border-right:0}.hotel-rate-table tr td:nth-last-of-type(-n+2){border-bottom:0}.rate-inline{grid-template-columns:1fr}.hotel-rate-savebar{align-items:stretch;bottom:auto;flex-direction:column;position:static}.hotel-rate-savebar .hotel-primary-button{width:100%}.room-type-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.room-type-metrics article{align-items:flex-start;flex-direction:column;min-height:126px}.room-type-toolbar{align-items:stretch;flex-direction:column}.room-type-toolbar>label{max-width:none}.room-type-toolbar>div{overflow-x:auto}.room-type-toolbar>div button{flex:0 0 auto}.room-type-grid{grid-template-columns:1fr}.room-type-dialog{border-radius:0;height:100dvh;max-height:none;max-width:none;width:100%}.room-type-dialog>form{height:100%;max-height:none}.room-type-dialog-head,.room-type-dialog-body,.room-type-dialog-actions{padding-inline:12px}.room-type-form-grid.identity,.room-type-form-grid.occupancy,.room-type-price-grid{grid-template-columns:1fr}.room-type-form-grid .span-2{grid-column:auto}.room-type-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.room-type-dialog-actions button{min-width:0}.room-type-status-dialog footer{display:grid;grid-template-columns:1fr 1fr}.hotel-service-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-service-admin-metrics article{align-items:flex-start;flex-direction:column;min-height:118px}.hotel-service-admin-item{grid-template-columns:minmax(0,1fr) auto}.hotel-service-admin-price{align-items:flex-end}.hotel-service-admin-status{justify-self:start}.hotel-service-admin-actions{justify-self:end}.hotel-service-admin-dialog,.hotel-service-admin-status-dialog,.hotel-service-group-dialog{border-radius:0;height:100dvh;max-height:none;max-width:none;width:100%}.hotel-service-admin-dialog>form{height:100%;max-height:none}.hotel-service-admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-service-admin-dialog>form>header,.hotel-service-admin-form-body,.hotel-service-admin-dialog>form>footer{padding-inline:12px}.hotel-service-admin-dialog>form>footer,.hotel-service-admin-status-dialog footer{display:grid;grid-template-columns:1fr 1fr}.hotel-service-admin-dialog>form>footer button{min-width:0}.hotel-service-group-shell{height:100%;max-height:none}.hotel-service-group-body{display:block;overflow-y:auto}.hotel-service-group-list{border-bottom:1px solid var(--hotel-border);border-right:0;max-height:none;overflow:visible;padding-inline:12px}#service-group-form{overflow:visible;padding-inline:12px}.hotel-service-group-form-fields{grid-template-columns:1fr}.hotel-service-group-form-fields .span-2{grid-column:auto}#service-group-form>footer{margin-inline:-12px;padding-inline:12px}}
