:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f8f7;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}#root{width:100%;min-height:100vh}.admin-shell{background:#f7f4ef;min-height:100vh}.admin-sider{border-right:1px solid #e5e0d9;height:100vh;top:0;overflow:auto;position:sticky!important}.brand{white-space:nowrap;border-bottom:1px solid #eee8e1;align-items:center;gap:10px;height:64px;padding:0 18px;display:flex}.brand-mark{color:#fff;background:#b4232a;border-radius:6px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:18px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand strong{color:#221e1f;font-size:14px}.brand span{color:#847a76;margin-top:2px;font-size:11px}.admin-sider .ant-menu{background:0 0;border-inline-end:0;padding:10px 8px}.admin-sider .ant-menu-submenu-title,.admin-sider .ant-menu-item{margin-block:2px!important}.admin-header{z-index:10;background:#fff;border-bottom:1px solid #e7e2dc;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.collapse-button{width:36px;height:36px}.account-button{align-items:center;gap:8px;height:42px;padding-inline:8px;display:flex}.account-button .ant-avatar{background:#1677a8}.admin-content{box-sizing:border-box;width:100%;max-width:none;padding:20px clamp(16px,1.25vw,24px) 32px}.page-heading{display:none}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.stats .ant-card{box-shadow:none;border-color:#e6e0d9}.stats .ant-card-body{padding:16px 18px}.stats .ant-statistic-title{font-size:13px}.stats .ant-statistic-content{font-size:22px;font-weight:700}.data-panel.ant-card{box-shadow:none;background:0 0;border:0}.data-panel>.ant-card-body{padding:0}.table-toolbar,.query-panel{background:#fff;border:1px solid #e6e0d9;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:14px 16px;display:flex}.table-toolbar .ant-input-affix-wrapper{width:min(420px,100%);max-width:none}.query-panel .ant-form-item{margin-bottom:0}.status-tabs,.data-panel .ant-tabs-nav{background:#fff;border:1px solid #e6e0d9;border-radius:6px;margin:0 0 12px;padding:8px 16px 0}.data-panel .ant-table-wrapper{background:#fff;border:1px solid #e6e0d9;border-radius:6px;padding:0 16px 16px}.data-panel>.ant-card-body>.ant-result{background:#fff;border:1px solid #e6e0d9;border-radius:6px}.data-panel .ant-table-thead>tr>th{color:#514946;background:#faf8f5;font-weight:650}.muted-value{color:#a29a96}.page-loading{height:320px}.login-page{--login-beach:url(/admin/login-beach.jpg);isolation:isolate;color:#fff;background:#f3b878;justify-content:flex-end;align-items:center;min-height:100vh;padding:clamp(28px,5vw,72px) clamp(24px,7vw,112px);display:flex;position:relative;overflow:hidden}.login-backdrop{z-index:-2;background-image:linear-gradient(90deg,#0b26319e 0%,#0b263133 46%,#0b26311f 100%),var(--login-beach);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.02)}.login-backdrop:after{content:"";background:linear-gradient(#0c232a33,#0000 34%,#05161d57);position:absolute;inset:0}.login-topbar,.login-bottomline{z-index:2;justify-content:space-between;align-items:center;display:flex;position:absolute;left:clamp(24px,5vw,72px);right:clamp(24px,5vw,72px)}.login-topbar{top:clamp(24px,4vw,48px)}.login-bottomline{letter-spacing:.18em;text-transform:uppercase;color:#ffffffc7;font-size:10px;bottom:26px}.login-brand{color:#fff;border:0;height:auto;margin:0;padding:0}.login-brand .brand-mark{color:#145466;background:#ffffffeb;box-shadow:0 6px 18px #04181e29}.login-brand strong{color:#fff;letter-spacing:.03em;font-size:15px}.login-brand span{color:#ffffffbf}.login-topbar-note{letter-spacing:.18em;text-transform:uppercase;color:#ffffffc7;font-size:11px}.login-main{z-index:1;width:min(430px,100%);position:relative}.login-card{-webkit-backdrop-filter:blur(22px)saturate(145%);background:linear-gradient(135deg,#ffffff70,#fff3);border:1px solid #ffffff75;border-radius:28px;width:100%;overflow:hidden;box-shadow:0 30px 80px #081e244d,inset 0 1px #ffffffa6}.login-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#fff3,#0000 42%);position:absolute;inset:0}.login-card .ant-card-body{padding:clamp(30px,5vw,48px);position:relative}.login-eyebrow{letter-spacing:.2em;color:#ffffffc7;align-items:center;gap:8px;margin-bottom:18px;font-size:10px;font-weight:700;display:flex}.login-eyebrow-dot,.login-footer-dot{background:#ffe2a9;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #ffe2a929}.login-card h2{letter-spacing:0;color:#fff!important;margin:0 0 8px!important;font-size:clamp(28px,4vw,36px)!important;line-height:1.1!important}.login-subtitle{font-size:14px;color:#fffc!important;margin:0 0 28px!important}.login-form{flex-direction:column;gap:10px;display:flex}.login-form label{color:#ffffffdb;margin-top:6px;font-size:12px;font-weight:600}.login-form .ant-input-affix-wrapper,.login-form .ant-input{color:#fff;background:#fff3;border:1px solid #ffffff61;border-radius:14px;height:48px;transition:all .2s;box-shadow:inset 0 1px #ffffff29}.login-form .ant-input-affix-wrapper:hover,.login-form .ant-input-affix-wrapper:focus-within{background:#ffffff47;border-color:#ffffffd9;box-shadow:0 0 0 3px #ffffff1f}.login-form .ant-input::placeholder,.login-form .ant-input-password-icon,.login-form .ant-input-prefix{color:#ffffffa6}.login-form .ant-input{box-shadow:none;background:0 0;border:0}.login-submit{color:#145466;background:#fff;border:0;border-radius:15px;height:50px;margin-top:14px;font-weight:700;box-shadow:0 12px 24px #05222a38}.login-submit:hover{transform:translateY(-1px);color:#145466!important;background:#fff3da!important}.login-footer{color:#ffffff9e;align-items:center;gap:10px;margin-top:25px;font-size:11px;display:flex}.login-footer-dot{width:5px;height:5px;box-shadow:none;background:#b9f0d0}.login-form .ant-input-affix-wrapper{align-items:center;padding-block:0;display:flex}.login-form .ant-input-affix-wrapper .ant-input{height:auto;min-height:24px;padding-block:0;line-height:24px}.login-form .ant-input-prefix,.login-form .ant-input-suffix{align-items:center;display:flex}@media (width<=1000px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content{padding:20px}.admin-header{padding:0 16px}}@media (width<=720px){.admin-sider{z-index:20;position:fixed!important}.admin-shell>.ant-layout{margin-left:72px}.account-button span:not(.ant-avatar-string),.admin-header .ant-breadcrumb{display:none}.stats{grid-template-columns:1fr}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar .ant-input-affix-wrapper{max-width:none}.login-page{background-position:58%;align-items:flex-end;padding:96px 16px 58px}.login-topbar{top:22px;left:20px;right:20px}.login-topbar-note{display:none}.login-main{width:100%}.login-card{border-radius:24px}.login-card .ant-card-body{padding:28px 22px}.login-bottomline{font-size:9px;bottom:16px;left:20px;right:20px}.login-bottomline span:last-child{display:none}}.media-hint{color:#98a2b3;font-size:12px}.media-label{margin-bottom:8px;font-weight:600}.media-label span{color:#98a2b3;margin-left:6px;font-size:12px;font-weight:400}.cover-wrap{position:relative}.cover-uploader.ant-upload-wrapper .ant-upload.ant-upload-select{border-radius:8px;width:100%;height:190px}.cover-uploader .ant-upload.ant-upload-select .ant-upload{width:100%;height:100%;padding:0}.cover-thumb{object-fit:cover;border-radius:7px;width:100%;height:100%;display:block}.cover-empty{color:#98a2b3;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.cover-empty .anticon{font-size:28px}.cover-hint{text-align:center;color:#fff;opacity:0;pointer-events:none;background:#0f172a8c;border-radius:0 0 8px 8px;padding:6px 0;font-size:12px;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.cover-wrap.has-cover:hover .cover-hint{opacity:1}.cover-actions{opacity:0;z-index:2;gap:4px;transition:opacity .2s;display:flex;position:absolute;top:8px;right:8px}.cover-wrap.has-cover:hover .cover-actions{opacity:1}.cover-actions .ant-btn{background:#ffffffeb;box-shadow:0 2px 6px #10182829}.detail-title{margin-top:22px}.detail-uploader.ant-upload-wrapper .ant-upload.ant-upload-select,.detail-uploader .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-container{width:118px;height:118px}.detail-uploader .ant-upload-list-item-image{object-fit:cover}.detail-add{color:#667085;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.detail-add .anticon{font-size:20px}.save-first-hint{margin-top:10px;display:block}.room-media-section{border-top:1px solid #e6eaf0;margin-top:18px;padding-top:18px}.crud-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;display:grid}.crud-form-grid .ant-form-item:last-child{grid-column:1/-1}.crud-form-grid .ant-form-item:has(.ant-input-textarea){grid-column:1/-1}.crud-form-grid .ant-form-item:has(.ant-upload){grid-column:1/-1}@media (width<=720px){.crud-form-grid{grid-template-columns:1fr}.crud-form-grid .ant-form-item{grid-column:1/-1}}.table-query-panel{background:#fff;border:1px solid #e6e0d9;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:14px 16px;display:flex}.table-query-panel .ant-input-affix-wrapper{width:min(420px,100%);max-width:none}.query-fields{flex-wrap:wrap;flex:1;align-items:flex-end;gap:12px;display:flex}.query-field{color:#514946;flex-direction:column;gap:6px;min-width:190px;font-size:12px;font-weight:600;display:flex}.query-field .ant-input,.query-field .ant-select,.query-field .ant-picker{width:100%;font-weight:400}.query-field .ant-select{min-width:170px}.table-panel-actions{justify-content:flex-end;align-items:center;gap:12px;min-height:42px;margin-bottom:8px;padding:0 16px;display:flex}@media (width<=720px){.table-query-panel,.query-fields{flex-direction:column;align-items:stretch}.query-field{width:100%;min-width:0}.table-query-panel .ant-input-affix-wrapper{max-width:none}.table-panel-actions{padding-inline:0}}.product-picker{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;display:grid!important}.product-picker .ant-space-item,.product-picker .ant-input{min-width:0}.product-picker .ant-btn-link{white-space:nowrap}.managed-image-card{width:184px;min-height:124px;position:relative}.managed-image-card .ant-upload-wrapper,.managed-image-card .ant-upload-select{width:184px!important;height:124px!important;display:block!important}.managed-image-card .ant-upload-select{background:#fafafa;border-radius:6px;border:1px dashed #d9d9d9!important;margin:0!important}.managed-image-card img{object-fit:cover;border-radius:6px;width:100%;height:100%;display:block}.managed-image-empty{color:#8c8c8c;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;display:flex}.managed-image-actions{background:#ffffffe6;border-radius:4px;gap:2px;padding:2px 4px;display:flex;position:absolute;bottom:6px;right:6px;box-shadow:0 1px 4px #0000001f}.drag-sort-heading-icon{color:#8c8c8c;font-size:16px}.drag-sort-handle{color:#595959;cursor:grab;background:#fff;border:1px solid #d9d9d9;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;transition:border-color .18s,background .18s,color .18s,box-shadow .18s;display:inline-flex}.drag-sort-handle:hover,.drag-sort-handle:focus-visible{color:#1677a8;background:#eaf6fb;border-color:#1677a8;outline:0;box-shadow:0 0 0 3px #1677a81f}.drag-sort-handle:active{cursor:grabbing}.drag-sort-handle.is-disabled{cursor:wait;color:#8c8c8c;background:#fafafa}.drag-sort-status{white-space:nowrap;color:#595959;align-items:center;gap:6px;font-size:13px;display:inline-flex}.drag-sort-status.is-saving{color:#1677a8}.data-panel .ant-table-tbody>tr.drag-sort-row-dragging>td{opacity:.58;background:#f2f4f7!important}.data-panel .ant-table-tbody>tr.drag-sort-row-over>td{background:#eaf6fb!important;border-top:2px solid #1677a8!important}.data-panel .ant-table-tbody>tr.drag-sort-row-over .drag-sort-handle{color:#1677a8;border-color:#1677a8}.price-calendar-page{background:#fff;border:1px solid #e7eaf0;min-width:880px;padding:14px}.price-calendar-toolbar{grid-template-columns:minmax(420px,1fr) auto auto;align-items:center;gap:16px;padding-bottom:14px;display:grid}.price-calendar-selectors{gap:12px;display:flex}.price-calendar-selectors label{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.price-calendar-selectors .ant-select{width:190px}.month-switch{align-items:center;gap:10px;display:flex}.month-switch strong{text-align:center;min-width:104px}.batch-price-bar{background:#f6faff;border:1px solid #d8e8fb;align-items:flex-end;gap:14px;margin-bottom:14px;padding:12px 14px;display:flex}.batch-price-bar .ant-form-item{margin-bottom:0}.batch-price-bar .ant-checkbox-group{white-space:nowrap;gap:4px;display:flex}.batch-price-bar .ant-checkbox-wrapper{margin-inline-start:0}.calendar-heading{border:1px solid #e6eaf0;border-bottom:0;justify-content:space-between;align-items:center;height:50px;padding:0 14px;display:flex}.calendar-heading>strong{font-size:18px}.calendar-legend{color:#667085;gap:18px;font-size:12px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:flex}.legend-dot{background:#d0d5dd;border-radius:50%;width:7px;height:7px}.legend-dot.sellable{background:#12b76a}.legend-dot.stopped{background:#f04438}.override-mark{border:2px solid #f79009;border-radius:50%;width:8px;height:8px}.price-calendar-page .ant-picker-calendar{border:1px solid #e6eaf0}.price-calendar-page .ant-picker-calendar .ant-picker-content{table-layout:fixed}.price-calendar-page .ant-picker-calendar .ant-picker-content th{color:#344054;height:38px;font-weight:600}.price-calendar-page .ant-picker-cell{padding:0!important}.price-calendar-page .ant-picker-cell-inner{border-radius:0!important;height:auto!important;margin:0!important}.price-day{box-sizing:border-box;cursor:pointer;background:#fff;border-top:1px solid #edf0f4;border-right:1px solid #edf0f4;flex-direction:column;gap:4px;height:126px;padding:9px 10px;transition:background .15s,border-color .15s;display:flex}.price-day:hover{background:#f5f9ff;box-shadow:inset 0 0 0 1px #4096ff}.price-day.outside{color:#8a94a6;background:#fafafa}.price-day.today{background:#f0f7ff;box-shadow:inset 0 0 0 1px #1677ff}.day-top{justify-content:space-between;align-items:center;min-height:23px;display:flex}.day-top b{font-size:16px}.day-top .ant-tag{margin:0;font-size:10px;line-height:18px}.day-type{color:#667085;background:#f2f4f7;border-radius:3px;align-self:flex-start;padding:1px 5px;font-size:11px}.day-type.holiday{color:#d92d20;background:#fff1f0}.day-type.rest{color:#175cd3;background:#eff8ff}.day-type.substitute{color:#b54708;background:#fffaeb}.calendar-legend i.day-type{border-radius:2px;align-self:auto;width:18px;height:9px;padding:0}.day-price{color:#101828;font-size:15px}.day-stock{color:#475467;font-size:12px}.day-status{align-items:center;gap:5px;margin-top:auto;font-size:11px;display:flex}.day-status:before{content:"";background:#d0d5dd;border-radius:50%;width:7px;height:7px}.day-status.sellable{color:#067647}.day-status.sellable:before{background:#12b76a}.day-status.stopped{color:#b42318}.day-status.stopped:before{background:#f04438}.day-status.unset{color:#98a2b3}@media (width<=1200px){.price-calendar-page{overflow-x:auto}.price-calendar-toolbar{grid-template-columns:1fr auto}.price-calendar-toolbar>.ant-segmented{grid-column:1/-1;justify-self:end}.batch-price-bar{flex-wrap:wrap}.price-day{height:116px}}.menu-tree-panel .ant-tree{background:#fff;border:1px solid #e6eaf0;border-radius:6px;padding:12px 8px}.menu-tree-help{display:none}.resource-tree-node{align-items:center;width:100%;min-height:30px;display:inline-flex}.resource-tree-name{min-width:120px;font-weight:600}.resource-tree-node .ant-typography{font-size:12px}.resource-tree-node .ant-btn{opacity:0;margin-left:auto}.resource-tree-node:hover .ant-btn,.resource-tree-node:focus-within .ant-btn{opacity:1}.menu-resource-details{margin-top:16px}.entry-icon-cell{color:#1677a8;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.entry-icon{font-size:22px}.data-panel .ant-table-thead>tr>th.ant-table-cell-fix-right,.data-panel .ant-table-tbody>tr>td.ant-table-cell-fix-right{background:#fff!important}.data-panel .ant-table-cell-fix-right-first:after{box-shadow:-6px 0 8px -8px #10182859!important}
