@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lora-vietnamese-500-normal-LA4e_tum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lora-latin-ext-500-normal-CVMwgWlS.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lora-latin-500-normal-Dh16O2IA.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lora-vietnamese-600-normal-B_IFhWKN.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lora-latin-ext-600-normal-CURVZmIT.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lora-latin-600-normal-B-3RcLOQ.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-sand:#f1fbf5;--c-paper:#e4f6ec;--c-surface:#fff;--c-line:#d5ebdf;--c-line-strong:#b7d9c7;--c-ink:#073b2e;--c-ink-2:#3d5a4f;--c-ink-3:#5b7469;--c-pine:#059669;--c-pine-hover:#047857;--c-pine-soft:#d1fae5;--c-pine-line:#6ee7b7;--c-lantern:#b4502a;--c-lantern-soft:#f8e9e0;--c-success:#047857;--c-success-soft:#dcf5e8;--c-warning:#9a5b0e;--c-warning-soft:#fbf0dc;--c-error:#b42318;--c-error-soft:#fcebe9;--c-info:#1f5a8a;--c-info-soft:#e7f0f7;--font-sans:"Be Vietnam Pro", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Noto Sans KR", "PingFang SC", "Noto Sans SC", sans-serif;--font-serif:"Lora", Georgia, "Times New Roman", serif;--fs-display:clamp(2.25rem, 1.6rem + 2.4vw, 3.25rem);--fs-h1:clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem);--fs-h2:clamp(1.375rem, 1.2rem + .6vw, 1.625rem);--fs-h3:1.1875rem;--fs-body:1rem;--fs-small:.875rem;--fs-caption:.8125rem;--fs-label:.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--r-sm:4px;--r-md:6px;--r-lg:10px;--shadow-pop:0 1px 2px #073b2e0f, 0 12px 32px #073b2e1f;--focus-ring:0 0 0 3px #05966947;--ease:cubic-bezier(.2, .7, .2, 1);--dur:.16s;--header-h:64px;--bg:var(--c-sand);--page-bg:var(--c-sand);--surface:var(--c-surface);--text:var(--c-ink);--text-h:var(--c-ink);--muted:var(--c-ink-2);--danger:var(--c-error);--primary-light:var(--c-pine-line);--primary-dark:var(--c-pine);--accent:var(--c-pine);--accent-bg:var(--c-pine-soft);--accent-border:var(--c-pine-line);--border:var(--c-line);--shadow:var(--shadow-pop);--social-bg:var(--c-paper);--color-primary:var(--c-pine);--color-danger:var(--c-error);--sans:var(--font-sans);font:400 var(--fs-body) / 1.55 var(--font-sans);color:var(--c-ink);background:var(--c-sand);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--c-sand);margin:0}h1,h2,h3,h4{color:var(--c-ink);letter-spacing:-.01em;text-wrap:balance;line-height:1.2}h1,h2{font-family:var(--font-serif);font-weight:600}h3,h4{font-weight:600}p{text-wrap:pretty}a{color:inherit}img{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}::selection{background:#0596692e}:focus-visible{outline:2px solid var(--c-pine);outline-offset:2px}.muted{color:var(--c-ink-2)}.eyebrow{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-3);font-weight:600}.num{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.container{width:min(1200px, calc(100% - 2 * var(--s-5)));margin-inline:auto}.section{padding:var(--s-10) 0 var(--s-16)}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-6);display:flex}.section-head h1,.section-head h2{margin:0}:where(.section) h1{font-size:var(--fs-h1);margin:0 0 var(--s-2)}:where(.section) h2{font-size:var(--fs-h2);margin:0}.row{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:40px;padding:0 var(--s-4);border-radius:var(--r-md);border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-ink);font-size:var(--fs-small);white-space:nowrap;cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform 80ms var(--ease);font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{background:var(--c-paper);border-color:var(--c-ink-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--c-pine);border-color:var(--c-pine);color:#fff}.btn.primary:hover:not(:disabled){background:var(--c-pine-hover);border-color:var(--c-pine-hover)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--c-paper)}.btn.danger{color:var(--c-error);background:var(--c-surface);border-color:#e7b8b3}.btn.danger:hover{background:var(--c-error-soft);border-color:var(--c-error)}.btn.lg{min-height:48px;padding:0 var(--s-6);font-size:var(--fs-body)}.btn.sm{min-height:32px;padding:0 var(--s-3);font-size:var(--fs-caption)}.btn.block{width:100%}.btn .spinner{width:14px;height:14px}.text-link{color:var(--c-pine);text-underline-offset:3px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.text-link:hover{color:var(--c-pine-hover)}.field{margin-top:var(--s-3);gap:6px;min-width:0;display:grid}.field-label{font-size:var(--fs-caption);color:var(--c-ink-2);font-weight:600}.field-hint{font-size:var(--fs-caption);color:var(--c-ink-3)}.field-error{font-size:var(--fs-caption);color:var(--c-error)}.input,.textarea,.select{border-radius:var(--r-md);border:1px solid var(--c-line-strong);background:var(--c-surface);width:100%;min-width:0;min-height:44px;color:var(--c-ink);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);outline:none;padding:10px 12px;font-size:16px}.input::placeholder,.textarea::placeholder{color:#8aa398}.input:hover,.textarea:hover,.select:hover{border-color:var(--c-ink-3)}.input:focus,.textarea:focus,.select:focus{border-color:var(--c-pine);box-shadow:var(--focus-ring)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--c-error)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--c-paper);color:var(--c-ink-3)}.textarea{resize:vertical;min-height:104px;line-height:1.5}.form-grid{gap:0 var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid>.span-2{grid-column:1/-1}@media (width<=560px){.form-grid:not(.form-grid--keep){grid-template-columns:1fr}}.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden}.detail-card{padding:var(--s-5)}.pill,.badge{border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-paper);color:var(--c-ink-2);font-size:var(--fs-label);white-space:nowrap;align-items:center;gap:6px;padding:2px 8px;font-weight:600;line-height:1.6;display:inline-flex}.status{font-size:var(--fs-caption);color:var(--c-ink-2);align-items:center;gap:6px;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status--success{color:var(--c-success)}.status--warning{color:var(--c-warning)}.status--error{color:var(--c-error)}.status--info{color:var(--c-info)}.error,.notice{padding:var(--s-4);border:1px solid #efc4bf;border-left:3px solid var(--c-error);background:var(--c-error-soft);border-radius:var(--r-md);color:var(--c-ink)}.error-title,.notice-title{margin-bottom:2px;font-weight:600}.notice--info{border-color:#c7d9e8;border-left-color:var(--c-info);background:var(--c-info-soft)}.notice--success{border-color:#a7e3c6;border-left-color:var(--c-success);background:var(--c-success-soft)}.notice--warning{border-color:#ecd3a8;border-left-color:var(--c-warning);background:var(--c-warning-soft)}.empty-state{padding:var(--s-10) var(--s-6);border:1px dashed var(--c-line-strong);border-radius:var(--r-lg);text-align:center;color:var(--c-ink-2);background:0 0}.empty-state-title{font-family:var(--font-serif);font-size:var(--fs-h3);color:var(--c-ink);margin:0 0 var(--s-1);font-weight:600}.empty-state .row{margin-top:var(--s-4);justify-content:center}.spinner{vertical-align:-3px;border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--c-paper) 0%, #d9f0e3 40%, var(--c-paper) 80%);border-radius:var(--r-md);background-size:300% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.table-wrap .table{min-width:760px}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.table th,.table td{border-bottom:1px solid var(--c-line);font-size:var(--fs-small);text-align:left;vertical-align:top;padding:10px 12px}.table th{background:var(--c-paper);color:var(--c-ink-2);font-size:var(--fs-label);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-weight:600;position:sticky;top:0}.table tbody tr:hover td{background:#f6fcf9}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.card.muted{padding:var(--s-5)}.app-main-admin .section{padding:var(--s-6) 0 var(--s-12)}.app-main-admin .container{width:min(1320px, calc(100% - 2 * var(--s-6)))}.app-main-admin :where(.section) h1,.app-main-admin :where(.section) h2{font-size:1.5rem}.app-main-admin .section-head{margin-bottom:var(--s-4)}.admin-page-toolbar{justify-content:flex-end}.admin-page-toolbar:empty{display:none}@media (width<=768px){.app-main-admin .container{width:calc(100% - 2 * var(--s-4))}}.top-nav-mobile{top:var(--header-h);z-index:150;background:var(--c-sand);border-bottom:1px solid var(--c-line);position:sticky}@media (width>=961px){.top-nav-mobile{display:none}}.top-nav-categories{width:min(1200px, calc(100% - 2 * var(--s-5)));grid-auto-columns:1fr;grid-auto-flow:column;margin-inline:auto;display:grid}.category-item{min-height:44px;color:var(--c-ink-2);font-size:var(--fs-small);white-space:nowrap;place-items:center;font-weight:500;text-decoration:none;display:grid;position:relative}.category-item:after{content:"";background:var(--c-pine);height:2px;transition:transform .2s var(--ease);position:absolute;bottom:-1px;left:20%;right:20%;transform:scaleX(0)}.category-item.active{color:var(--c-ink);font-weight:600}.category-item.active:after{transform:scaleX(1)}.bottom-nav-mobile{z-index:300;padding-bottom:env(safe-area-inset-bottom);background:var(--c-surface);border-top:1px solid var(--c-line);grid-auto-columns:1fr;grid-auto-flow:column;display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=768px){.bottom-nav-mobile{display:grid}}.bottom-nav-item{width:100%;height:60px;color:var(--c-ink-3);cursor:pointer;background:0 0;border:0;align-content:center;justify-items:center;gap:2px;padding:0;font-size:11px;font-weight:500;text-decoration:none;display:grid}.bottom-nav-item.active,.bottom-nav-message.active>.bottom-nav-item{color:var(--c-pine);font-weight:600}.bottom-nav-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.bottom-nav-message{position:relative}.message-menu{left:var(--s-2);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);width:220px;box-shadow:var(--shadow-pop);animation:pop-in .16s var(--ease);padding:6px;position:absolute;bottom:calc(100% + 8px)}.message-menu-title{font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink-3);padding:8px 10px 6px;font-weight:600}.message-link{border-radius:var(--r-md);min-height:44px;color:var(--c-ink);font-size:var(--fs-small);align-items:center;gap:10px;padding:0 10px;font-weight:500;text-decoration:none;display:flex}.message-link:hover,.message-link:active{background:var(--c-paper)}.message-logo-wrap{background:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:inline-grid;overflow:hidden}.message-logo{width:15px;height:15px;display:block}.message-link--whatsapp .message-logo-wrap,.chat-with-us-link--whatsapp .message-logo-wrap{background:#25d366}.message-link--zalo .message-logo-wrap,.chat-with-us-link--zalo .message-logo-wrap{background:#0068ff}.message-link--kakaotalk .message-logo-wrap,.chat-with-us-link--kakaotalk .message-logo-wrap{background:#fee500}.message-link--whatsapp .message-logo,.chat-with-us-link--whatsapp .message-logo,.message-link--zalo .message-logo,.chat-with-us-link--zalo .message-logo{filter:brightness(0)invert()}.admin-global-sidebar{z-index:120;background:var(--c-surface);border-right:1px solid var(--c-line);width:248px;transition:width .18s var(--ease);position:fixed;top:56px;bottom:0;left:0}.admin-global-sidebar.is-collapsed{width:64px}.admin-global-sidebar-scroll{height:100%;padding:var(--s-3) var(--s-3) var(--s-6);scrollbar-width:thin;overflow-y:auto}.admin-global-sidebar.is-collapsed .admin-global-sidebar-scroll{padding:var(--s-3) var(--s-2)}.admin-global-sidebar-head{align-items:center;height:32px;padding:0 8px;display:flex}.admin-global-sidebar-head-label{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-3);font-weight:600}.admin-global-sidebar-toggle{z-index:1;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);width:28px;height:28px;color:var(--c-ink-2);cursor:pointer;font-size:16px;line-height:1;position:absolute;top:12px;right:10px}.admin-global-sidebar-toggle:hover{background:var(--c-paper);color:var(--c-ink)}.admin-global-sidebar.is-collapsed .admin-global-sidebar-toggle{left:50%;right:auto;transform:translate(-50%)}.admin-global-sidebar-group{margin-top:var(--s-3)}.admin-global-sidebar-group-toggle{justify-content:space-between;align-items:center;gap:var(--s-2);border-radius:var(--r-sm);text-align:left;cursor:pointer;background:0 0;border:0;width:100%;margin:0 0 4px;padding:6px 8px;display:flex}.admin-global-sidebar-group-toggle:hover{background:var(--c-paper)}.admin-global-sidebar-title{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-3);font-weight:600}.admin-global-sidebar-group-meta,.admin-global-sidebar-subgroup-meta{color:var(--c-ink-3);font-size:var(--fs-label);align-items:center;gap:6px;display:inline-flex}.admin-global-sidebar-group-count{font-variant-numeric:tabular-nums;color:var(--c-ink-3)}.admin-global-sidebar-group-chevron{color:var(--c-ink-3);font-size:10px}.admin-global-sidebar-link,.admin-global-sidebar-preview-link{text-decoration:none}.admin-global-sidebar-link,.admin-global-sidebar-subgroup-toggle,.admin-global-sidebar-parent{border-radius:var(--r-md);width:100%;min-height:36px;color:var(--c-ink-2);font-size:var(--fs-small);text-align:left;cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;align-items:center;gap:10px;margin-bottom:1px;padding:0 8px;font-weight:500;display:flex;position:relative}.admin-global-sidebar-subgroup-toggle,.admin-global-sidebar-parent{justify-content:space-between}.admin-global-sidebar-link:hover,.admin-global-sidebar-subgroup-toggle:hover,.admin-global-sidebar-parent:hover{background:var(--c-paper);color:var(--c-ink)}.admin-global-sidebar-link.active,.admin-global-sidebar-subgroup-toggle.active,.admin-global-sidebar-parent.active{background:var(--c-pine-soft);color:var(--c-pine);font-weight:600}.admin-global-sidebar-link.active:before{content:"";background:var(--c-pine);border-radius:0 2px 2px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-12px}.admin-global-sidebar.is-collapsed .admin-global-sidebar-link,.admin-global-sidebar.is-collapsed .admin-global-sidebar-preview-link,.admin-global-sidebar.is-collapsed .admin-global-sidebar-parent,.admin-global-sidebar.is-collapsed .admin-global-sidebar-subgroup-toggle{justify-content:center;padding:0}.admin-global-sidebar.is-collapsed .admin-global-sidebar-link.active:before{left:-8px}.admin-global-sidebar-subgroup{margin-bottom:2px}.admin-global-sidebar-subgroup-label{align-items:center;gap:10px;min-width:0;display:inline-flex}.admin-global-sidebar-link-child{min-height:32px;font-size:var(--fs-caption);padding-left:38px}.admin-global-sidebar-link-child .admin-global-sidebar-link-icon{display:none}.admin-global-sidebar.is-collapsed .admin-global-sidebar-link-child{padding-left:0}.admin-global-sidebar.is-collapsed .admin-global-sidebar-link-child .admin-global-sidebar-link-icon{display:inline-flex}.admin-global-sidebar-link-icon{flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.admin-global-sidebar-link-icon svg{width:18px;height:18px}.admin-global-sidebar-link-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.admin-global-sidebar-badge{background:var(--c-lantern);color:#fff;font-variant-numeric:tabular-nums;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;display:inline-grid}.admin-global-sidebar.is-collapsed .admin-global-sidebar-badge{min-width:16px;height:16px;padding:0 4px;font-size:10px;position:absolute;top:2px;right:4px}.admin-global-sidebar-preview-link{width:100%;min-height:36px;margin-top:var(--s-5);border:1px solid var(--c-line);border-radius:var(--r-md);color:var(--c-ink-2);font-size:var(--fs-small);align-items:center;gap:10px;padding:0 8px;font-weight:500;display:flex;position:relative}.admin-global-sidebar-preview-link:hover{border-color:var(--c-ink-3);color:var(--c-ink)}@media (width<=1100px){.admin-global-sidebar{display:none}.admin-global-sidebar.is-mobile-open{z-index:260;width:min(300px,100vw - 48px);box-shadow:var(--shadow-pop);animation:sheet-in-left .2s var(--ease);display:block;top:0;bottom:0;left:0}.admin-global-sidebar.is-mobile-open .admin-global-sidebar-scroll{padding-top:var(--s-3)}}@keyframes sheet-in-left{0%{opacity:0;transform:translate(-16px)}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1}.skip-link{left:var(--s-3);z-index:1000;padding:var(--s-2) var(--s-3);background:var(--c-ink);color:#fff;border-radius:var(--r-md);text-decoration:none;position:absolute;top:-60px}.skip-link:focus{top:var(--s-3)}.icon-btn{border-radius:var(--r-md);width:40px;height:40px;color:var(--c-ink);cursor:pointer;transition:background var(--dur) var(--ease);background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--c-paper)}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.promo-bar{background:var(--c-pine-hover);color:#ecfdf5;font-size:var(--fs-caption)}.promo-bar-inner{align-items:center;gap:var(--s-2);min-height:34px;padding:6px 0;display:flex}.promo-bar-dot{background:#f0a57f;border-radius:50%;flex:none;width:6px;height:6px}.app-header{z-index:200;border-bottom:1px solid var(--c-line);background:#f1fbf5f5;position:sticky;top:0}.header-inner{align-items:center;gap:var(--s-6);height:var(--header-h);display:flex}.header-inner--wide{padding:0 var(--s-5)}.app-header-admin{background:var(--c-surface)}.app-header-admin .header-inner{height:56px}.brand{color:var(--c-ink);align-items:center;gap:10px;min-width:0;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;flex:none;width:40px;height:40px}.brand-text{min-width:0;line-height:1.15;display:grid}.brand{flex:0 auto}.brand-name,.brand-sub{text-overflow:ellipsis;overflow:hidden}.brand-name{font-family:var(--font-serif);white-space:nowrap;font-size:1.0625rem;font-weight:600}.brand-sub{font-size:var(--fs-label);color:var(--c-ink-3);letter-spacing:.04em}.nav-main{align-items:stretch;gap:var(--s-6);height:100%;margin-left:var(--s-4);display:flex}.nav-main a{color:var(--c-ink-2);font-size:var(--fs-small);transition:color var(--dur) var(--ease);align-items:center;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.nav-main a:after{content:"";background:var(--c-pine);transform-origin:0;height:2px;transition:transform .2s var(--ease);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.nav-main a:hover{color:var(--c-ink)}.nav-main a.active{color:var(--c-ink);font-weight:600}.nav-main a.active:after{transform:scaleX(1)}.header-actions{align-items:center;gap:var(--s-2);margin-left:auto;display:flex;position:relative}.lang-picker{border-radius:var(--r-md);height:36px;color:var(--c-ink-2);cursor:pointer;align-items:center;gap:6px;padding:0 10px;display:inline-flex;position:relative}.lang-picker:hover{background:var(--c-paper);color:var(--c-ink)}.lang-picker:focus-within{box-shadow:var(--focus-ring)}.lang-picker-icon{fill:none;stroke:currentColor;stroke-width:1.6px;width:16px;height:16px}.lang-short{font-size:var(--fs-caption);letter-spacing:.04em;font-weight:600}.lang-select{opacity:0;cursor:pointer;border:0;width:100%;position:absolute;inset:0}.account-menu{position:relative}.account-trigger{align-items:center;gap:var(--s-2);border:1px solid var(--c-line);background:var(--c-surface);cursor:pointer;height:40px;transition:border-color var(--dur) var(--ease);border-radius:999px;padding:0 10px 0 4px;display:inline-flex;position:relative}.account-trigger:hover{border-color:var(--c-ink-3)}.account-avatar{background:var(--c-pine);color:#fff;width:30px;height:30px;font-size:var(--fs-caption);border-radius:50%;place-items:center;font-weight:600;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:var(--fs-small);font-weight:500;overflow:hidden}.account-chevron{fill:none;width:16px;height:16px;stroke:var(--c-ink-3);stroke-width:2px}.notif-badge,.menu-item-badge{background:var(--c-lantern);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.notif-badge{box-shadow:0 0 0 2px var(--c-sand);position:absolute;top:-4px;right:-4px}.menu-item-badge{margin-left:auto}.menu-overlay{z-index:240;background:0 0;border:0;padding:0;position:fixed;inset:0}.menu{z-index:250;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);width:260px;box-shadow:var(--shadow-pop);visibility:hidden;opacity:0;transition:opacity .14s var(--ease), transform .14s var(--ease), visibility 0s linear .14s;padding:6px;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px)}.menu.open{visibility:visible;opacity:1;transition:opacity .14s var(--ease), transform .14s var(--ease);transform:none}.menu-meta{border-bottom:1px solid var(--c-line);margin-bottom:4px;padding:10px 10px 12px}.menu-meta-name{font-weight:600}.menu-meta-role{font-size:var(--fs-label);color:var(--c-ink-3);letter-spacing:.06em}.menu-title{font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink-3);padding:10px 10px 4px;font-weight:600}.menu-item{align-items:center;gap:var(--s-2);border-radius:var(--r-md);width:100%;min-height:40px;color:var(--c-ink);font-size:var(--fs-small);text-align:left;cursor:pointer;background:0 0;border:0;padding:0 10px;font-weight:500;text-decoration:none;display:flex}.menu-item:hover{background:var(--c-paper)}.menu-item.active{background:var(--c-pine-soft);color:var(--c-pine);font-weight:600}.menu-item--quiet{color:var(--c-ink-2)}.menu-sep{background:var(--c-line);height:1px;margin:4px 6px}.admin-sidebar-trigger{margin-left:calc(-1 * var(--s-2));display:none}.app-main-admin{transition:padding-left .18s var(--ease);padding-left:248px}.app-main-admin.sidebar-collapsed{padding-left:64px}.admin-sidebar-mobile-overlay{display:none}.admin-flash{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-5);background:var(--c-lantern-soft);border-bottom:1px solid #efcdb9;display:flex}.admin-flash-text{color:var(--c-lantern);font-weight:600}@media (width<=1100px){.app-main-admin,.app-main-admin.sidebar-collapsed{padding-left:0}.admin-sidebar-trigger{display:inline-grid}.admin-sidebar-mobile-overlay{z-index:250;background:#073b2e52;border:0;padding:0;display:block;position:fixed;inset:0}}.concierge-strip-wrap{margin-top:var(--s-4)}.concierge-strip{align-items:center;gap:var(--s-6);padding:var(--s-3);padding-right:var(--s-6);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-paper);color:var(--c-ink);transition:border-color var(--dur) var(--ease);grid-template-columns:200px 1fr auto;text-decoration:none;display:grid}.concierge-strip:hover{border-color:var(--c-line-strong)}.concierge-strip-media{object-fit:cover;object-position:60% 70%;border-radius:var(--r-md);background:#dff3e8;width:100%;height:112px}.concierge-strip-title{font-family:var(--font-serif);font-size:var(--fs-h3);margin-top:4px;font-weight:600;line-height:1.3}.concierge-strip-cta{color:var(--c-pine);font-size:var(--fs-small);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.concierge-strip-cta svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform var(--dur) var(--ease)}.concierge-strip:hover .concierge-strip-cta svg{transform:translate(3px)}.app-footer{margin-top:var(--s-12);color:#d1e7dc;background:#064e3b}.footer-grid{gap:var(--s-8);padding:var(--s-12) 0 var(--s-8);grid-template-columns:1.4fr 1fr .8fr;display:grid}.footer-brand-row{align-items:center;gap:10px;display:flex}.footer-brand-logo{border-radius:var(--r-md);background:#e4f6ec;width:44px;height:44px;padding:4px}.footer-brand-name{font-family:var(--font-serif);color:#fff;font-size:1.125rem;font-weight:600}.footer-title{margin-bottom:var(--s-3);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:#8fc1ab;font-weight:600}.footer-text{margin:var(--s-3) 0 0;max-width:42ch;font-size:var(--fs-small);color:#c3dccf;font-style:normal;line-height:1.6}.footer-title+.footer-text{margin-top:0}.footer-phone{margin-top:var(--s-2);color:#fff;font-variant-numeric:tabular-nums;font-weight:600;text-decoration:none;display:inline-block}.footer-phone:hover{text-decoration:underline}.footer-links{gap:var(--s-2);display:grid}.footer-links a{color:#e2f1e9;width:fit-content;font-size:var(--fs-small);text-decoration:none}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-bottom{padding:var(--s-4) 0 var(--s-6);font-size:var(--fs-caption);color:#86ad9b;border-top:1px solid #ffffff1a}.dialog-overlay{z-index:400;padding:var(--s-4);animation:fade-in .14s var(--ease);background:#073b2e66;place-items:center;display:grid;position:fixed;inset:0}.dialog{width:min(480px,100%);max-height:calc(100vh - 32px);padding:var(--s-5) var(--s-6) var(--s-6);background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);animation:pop-in .18s var(--ease);overflow:auto}.dialog-head{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.dialog-title{font-size:var(--fs-h3);margin:0}.dialog-sub{margin:var(--s-1) 0 0;font-size:var(--fs-small)}.referral-qr{margin:var(--s-5) 0;justify-content:center;display:flex}.referral-qr img{padding:var(--s-2);border:1px solid var(--c-line);border-radius:var(--r-md);background:#fff}.copy-field{gap:var(--s-2);display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.99)}}@media (width<=960px){.nav-main{display:none}}@media (width<=900px){.footer-grid{gap:var(--s-6);padding-top:var(--s-10);grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media (width<=768px){:root{--header-h:56px}.header-inner{gap:var(--s-3)}.brand-logo{width:34px;height:34px}.brand-name{font-size:1rem}.brand-sub,.account-name,.account-chevron{display:none}.account-trigger{padding:0 4px}.header-login{display:none}.menu{top:calc(var(--header-h) + 8px);left:var(--s-3);right:var(--s-3);width:auto;max-height:calc(100vh - var(--header-h) - 96px);position:fixed;overflow:auto}.app-shell{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.concierge-strip{gap:var(--s-4);padding-right:var(--s-3);grid-template-columns:96px 1fr}.concierge-strip-media{height:72px}.concierge-strip-title{font-size:1rem}.concierge-strip-cta{display:none}}@media (width<=480px){.footer-grid{grid-template-columns:1fr}}.page-intro{padding:var(--s-12) 0 var(--s-8);border-bottom:1px solid var(--c-line)}.page-intro-title{margin:var(--s-2) 0 var(--s-3);max-width:20ch;font-size:var(--fs-display);letter-spacing:-.02em;line-height:1.08}.page-intro-sub{max-width:56ch;color:var(--c-ink-2);margin:0;font-size:1.0625rem}.page-intro-grid{gap:var(--s-10);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;display:grid}.how-it-works{gap:var(--s-3);font-size:var(--fs-small);color:var(--c-ink-2);margin:0;padding:0;list-style:none;display:grid}.how-it-works li{align-items:center;gap:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid var(--c-line);grid-template-columns:28px 1fr;display:grid}.how-it-works li:last-child{border-bottom:0;padding-bottom:0}.how-step{border:1px solid var(--c-line-strong);width:28px;height:28px;font-family:var(--font-serif);color:var(--c-lantern);border-radius:50%;place-items:center;font-weight:600;display:grid}.section--tight-top{padding-top:var(--s-8)}.result-meta{margin-bottom:var(--s-4);font-size:var(--fs-caption);color:var(--c-ink-3)}.villa-grid{gap:var(--s-10) var(--s-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.villa-card{flex-direction:column;min-width:0;display:flex}.villa-card-media{aspect-ratio:4/3;border-radius:var(--r-lg);background:var(--c-paper);cursor:pointer;border:0;width:100%;padding:0;display:block;overflow:hidden}.villa-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease)}.villa-card:hover .villa-card-media img{transform:scale(1.03)}.villa-card-body{padding-top:var(--s-4);flex-direction:column;flex:1;display:flex}.villa-card-title{margin:4px 0 var(--s-2);font-size:1.375rem}.villa-facts{font-size:var(--fs-small);color:var(--c-ink-2);flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;display:flex}.villa-facts li:not(:last-child):after{content:"·";color:var(--c-ink-3);margin:0 8px}.villa-card-desc{margin:var(--s-3) 0 0;color:var(--c-ink-2);font-size:var(--fs-small);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.villa-card-foot{justify-content:space-between;align-items:center;gap:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--c-line);margin-top:auto;display:flex}.villa-card-desc+.villa-card-foot,.villa-facts+.villa-card-foot{margin-top:auto}.villa-card-body>.villa-facts{margin-bottom:var(--s-4)}.villa-price{color:var(--c-ink);font-size:1.125rem;font-weight:700}.villa-price-unit{color:var(--c-ink-3);font-size:var(--fs-small)}.sheet-overlay{z-index:500;animation:fade-in .16s var(--ease);background:#073b2e66;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--c-surface);width:min(480px,100%);height:100%;box-shadow:var(--shadow-pop);animation:sheet-in-right .24s var(--ease);flex-direction:column;display:flex}@keyframes sheet-in-right{0%{opacity:0;transform:translate(24px)}}@keyframes sheet-in-up{0%{opacity:0;transform:translateY(32px)}}.sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--c-line);display:flex}.sheet-villa{gap:var(--s-4);min-width:0;display:flex}.sheet-villa img{object-fit:cover;border-radius:var(--r-md);flex:none;width:72px;height:72px}.sheet-title{margin:2px 0;font-size:1.25rem}.sheet-body{padding:var(--s-2) var(--s-6) var(--s-8);overscroll-behavior:contain;flex:1;overflow:hidden auto}.sheet-section{min-width:0;padding:var(--s-4) 0 var(--s-5);border:0;border-bottom:1px solid var(--c-line);margin:0}.sheet-section-title{margin-bottom:var(--s-1);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-3);padding:0;font-weight:600}.sheet-actions{margin:var(--s-5) calc(-1 * var(--s-6)) calc(-1 * var(--s-8));padding:var(--s-4) var(--s-6) var(--s-5);background:var(--c-surface);border-top:1px solid var(--c-line);position:sticky;bottom:0}.sheet-summary{margin:0 0 var(--s-3);padding:var(--s-4);background:var(--c-paper);border-radius:var(--r-md)}.sheet-summary-row{justify-content:space-between;gap:var(--s-3);font-size:var(--fs-small);margin-bottom:4px;display:flex}.sheet-summary-row strong{font-size:1.0625rem}.sheet-footnote{margin:var(--s-3) 0 0;text-align:center}.sheet-body .error{margin-top:var(--s-4)}.stepper{align-items:center;gap:var(--s-2);display:flex}.stepper-btn,.guest-step-btn{border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);width:44px;height:44px;color:var(--c-ink);cursor:pointer;transition:background var(--dur) var(--ease);flex:none;font-size:1.125rem}.stepper-btn:hover:not(:disabled),.guest-step-btn:hover:not(:disabled){background:var(--c-paper)}.stepper-btn:disabled,.guest-step-btn:disabled{opacity:.4;cursor:not-allowed}.stepper-input{text-align:center;-moz-appearance:textfield;width:64px}.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper .field-hint{margin-left:var(--s-2)}.checkout-status{padding-top:var(--s-5)}.progress-steps{margin:0 0 var(--s-5);gap:0;padding:0;list-style:none;display:grid}.progress-step{align-items:center;gap:var(--s-3);color:var(--c-ink-3);font-size:var(--fs-small);padding:8px 0;display:flex;position:relative}.progress-step:not(:last-child):after{content:"";background:var(--c-line-strong);width:1px;height:12px;position:absolute;top:32px;left:11px}.progress-dot{border:1px solid var(--c-line-strong);background:var(--c-surface);border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:12px;font-weight:700;display:grid}.progress-step--done{color:var(--c-ink)}.progress-step--done .progress-dot{background:var(--c-success);border-color:var(--c-success);color:#fff}.progress-step--current{color:var(--c-ink);font-weight:600}.progress-step--current .progress-dot{border:2px solid var(--c-pine);box-shadow:0 0 0 4px var(--c-pine-soft)}.progress-step--failed .progress-dot{background:var(--c-warning);border-color:var(--c-warning);color:#fff}.checkout-amount{justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-4);padding:var(--s-4) 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);display:flex}.checkout-amount strong{font-size:1.375rem}.checkout-actions{gap:var(--s-2);margin-top:var(--s-5);display:grid}.catalog-toolbar{justify-content:space-between;align-items:center;gap:var(--s-4);margin-bottom:var(--s-6);border-bottom:1px solid var(--c-line);display:flex}.tabs{gap:var(--s-6);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{min-height:48px;color:var(--c-ink-2);font-size:var(--fs-small);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:500;display:inline-flex;position:relative}.tab:after{content:"";background:var(--c-pine);height:2px;transition:transform .2s var(--ease);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.tab:hover{color:var(--c-ink)}.tab.active{color:var(--c-ink);font-weight:600}.tab.active:after{transform:scaleX(1)}.tab-count{color:var(--c-ink-3);font-size:var(--fs-label);font-weight:500}.search-field{margin-bottom:var(--s-2);flex:0 280px;position:relative}.search-field svg{fill:none;width:16px;height:16px;stroke:var(--c-ink-3);stroke-width:2px;stroke-linecap:round;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-field .input{min-height:40px;padding-left:36px}.grid{gap:var(--s-8) var(--s-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.catalog-card{flex-direction:column;min-width:0;display:flex;position:relative}.catalog-card-media{aspect-ratio:4/3;border-radius:var(--r-lg);background:var(--c-paper);position:relative;overflow:hidden}.catalog-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease)}.catalog-card:hover .catalog-card-media img{transform:scale(1.03)}.catalog-card-flag{border-radius:var(--r-sm);color:#fff;font-size:var(--fs-label);background:#073b2eb8;padding:2px 8px;font-weight:600;position:absolute;bottom:8px;left:8px}.catalog-card-body{padding-top:var(--s-3);flex-direction:column;flex:1;display:flex}.catalog-card-title{margin:4px 0 6px;font-size:1.0625rem;line-height:1.3}.card-link-overlay-anchor{color:inherit;text-decoration:none}.card-link-overlay-anchor:after{content:"";z-index:1;position:absolute;inset:0}.card-link-overlay-anchor:focus-visible{outline:none}.card-link-overlay-anchor:focus-visible:after{outline:2px solid var(--c-pine);outline-offset:4px;border-radius:var(--r-lg)}.catalog-card:hover .catalog-card-title{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.catalog-card-desc{color:var(--c-ink-2);font-size:var(--fs-small);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.catalog-card-foot{margin-top:var(--s-3);align-items:baseline;gap:6px;display:flex}.catalog-card-price{font-weight:700}.catalog-card-price-prefix{color:var(--c-ink-3);font-size:var(--fs-caption)}.catalog-card--skeleton .catalog-card-media{border-radius:var(--r-lg)}.card-heart-btn{z-index:2;width:36px;height:36px;color:var(--c-ink-3);cursor:pointer;transition:color var(--dur) var(--ease), transform .12s var(--ease);background:#fffffff0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.card-heart-btn svg{width:18px;height:18px}.card-heart-btn:hover{color:var(--c-lantern)}.card-heart-btn:active{transform:scale(.92)}.card-heart-btn--active{color:var(--c-lantern)}.recently-viewed{margin-top:var(--s-12);padding-top:var(--s-6);border-top:1px solid var(--c-line)}.recently-viewed-head{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.recently-viewed-title{font-size:var(--fs-h3);margin:0}.recently-viewed-row{gap:var(--s-4);margin-top:var(--s-4);scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:4px;display:flex;overflow-x:auto}.recently-viewed-card{gap:var(--s-3);padding:var(--s-2);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);color:inherit;scroll-snap-align:start;transition:border-color var(--dur) var(--ease);flex:0 0 240px;grid-template-columns:64px 1fr;align-items:center;text-decoration:none;display:grid}.recently-viewed-card:hover{border-color:var(--c-line-strong)}.recently-viewed-thumb{object-fit:cover;border-radius:var(--r-md);background:var(--c-paper);width:64px;height:64px}.recently-viewed-name{font-size:var(--fs-small);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.detail-page{padding-top:var(--s-5)}.breadcrumb{align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);font-size:var(--fs-small);color:var(--c-ink-3);min-width:0;display:flex}.breadcrumb a{color:var(--c-ink-2);white-space:nowrap;text-decoration:none}.breadcrumb a:hover{color:var(--c-ink);text-decoration:underline}.breadcrumb [aria-current]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.media-gallery{position:relative}.detail-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r-lg);background:#073b2e;width:100%;display:flex;overflow-x:auto}.detail-carousel::-webkit-scrollbar{display:none}.detail-carousel-item{aspect-ratio:16/7;scroll-snap-align:start;flex:0 0 100%;max-height:540px;position:relative}.detail-hero,.detail-hero-iframe{object-fit:cover;background-position:50%;background-size:cover;border:0;width:100%;height:100%;position:absolute;inset:0}.media-gallery-nav{right:var(--s-3);bottom:var(--s-3);align-items:center;gap:var(--s-2);border-radius:var(--r-md);font-size:var(--fs-caption);background:#fffffff0;padding:4px;display:flex;position:absolute}.detail-layout{gap:var(--s-12);margin-top:var(--s-8);grid-template-columns:minmax(0,1fr) 400px;align-items:start;display:grid}.detail-title{margin:var(--s-2) 0 var(--s-3);font-size:var(--fs-h1)}.detail-price{align-items:baseline;gap:var(--s-2);padding-bottom:var(--s-5);border-bottom:1px solid var(--c-line);font-size:var(--fs-small);display:flex}.detail-price-value{font-size:1.375rem;font-weight:700}.detail-description{margin-top:var(--s-5);max-width:68ch;color:var(--c-ink-2);white-space:pre-wrap;font-size:1.0625rem;line-height:1.7}.request-panel{top:calc(var(--header-h) + var(--s-4));padding:var(--s-6);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);position:sticky}.request-panel-title{margin:0;font-size:1.25rem}.request-panel-sub{margin:4px 0 var(--s-3);font-size:var(--fs-small);color:var(--c-ink-2)}.request-panel .notice{margin-top:var(--s-3)}.chat-with-us{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--c-line)}.chat-with-us-label{margin-bottom:var(--s-2);font-size:var(--fs-caption);color:var(--c-ink-3)}.chat-with-us-links{gap:var(--s-2);flex-wrap:wrap;display:flex}.chat-with-us-link{border:1px solid var(--c-line);min-height:36px;color:var(--c-ink);font-size:var(--fs-caption);transition:border-color var(--dur) var(--ease);border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 6px;font-weight:500;text-decoration:none;display:inline-flex}.chat-with-us-link:hover{border-color:var(--c-ink-3)}.guest-input-wrap{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;display:grid}.guest-count-input{text-align:center;font-variant-numeric:tabular-nums}.loading-block{align-items:center;gap:var(--s-3);padding:var(--s-8) 0;color:var(--c-ink-2);display:flex}.auth-page{padding:var(--s-12) var(--s-5) var(--s-16);place-items:start center;display:grid}.auth-card{width:min(420px,100%)}.auth-title{font-size:var(--fs-h1);margin:0 0 4px}.auth-sub{margin:0 0 var(--s-5);color:var(--c-ink-2)}.auth-card form{gap:var(--s-1);display:grid}.auth-card .btn.primary{margin-top:var(--s-4)}.divider{align-items:center;gap:var(--s-3);margin:var(--s-5) 0;color:var(--c-ink-3);font-size:var(--fs-caption);display:flex}.divider:before,.divider:after{content:"";background:var(--c-line);flex:1;height:1px}.auth-alt{margin-top:var(--s-6);font-size:var(--fs-small);color:var(--c-ink-2);text-align:center}.google-mark{width:18px;height:18px}.definition-list{border-top:1px solid var(--c-line);grid-template-columns:160px 1fr;margin:0;display:grid}.definition-list dt,.definition-list dd{padding:var(--s-4) 0;border-bottom:1px solid var(--c-line);margin:0}.definition-list dt{color:var(--c-ink-3);font-size:var(--fs-small)}.definition-list dd{overflow-wrap:anywhere;font-weight:500}.price{margin-top:var(--s-2);font-variant-numeric:tabular-nums;font-weight:700}.panel-title{margin-bottom:var(--s-3);font-weight:600}.detail-grid{gap:var(--s-6);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}@media (width>=920px){.detail-grid>.detail-card{top:calc(var(--header-h) + var(--s-4));position:sticky}}.detail-meta{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.type-gate-grid{gap:var(--s-2);display:grid}.type-gate-card{min-height:56px;padding:0 var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;font-weight:600;display:flex}.type-gate-card:hover,.type-gate-card--active{border-color:var(--c-pine)}.type-gate-thumb{display:none}@media (width<=1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-layout{gap:var(--s-8);grid-template-columns:minmax(0,1fr) 360px}}@media (width<=920px){.page-intro-grid{gap:var(--s-6);grid-template-columns:1fr}.villa-grid,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout,.detail-grid{grid-template-columns:1fr}.request-panel{position:static}.detail-carousel-item{aspect-ratio:16/10}}@media (width<=768px){.page-intro{padding:var(--s-8) 0 var(--s-6)}.page-intro-sub{font-size:1rem}.catalog-toolbar{align-items:stretch;gap:var(--s-3);border-bottom:0;flex-direction:column-reverse}.tabs{border-bottom:1px solid var(--c-line);gap:var(--s-5)}.search-field{flex-basis:auto;margin-bottom:0}.sheet-overlay{align-items:flex-end}.sheet{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;height:auto;max-height:92vh;animation-name:sheet-in-up}.sheet-head,.sheet-body{padding-left:var(--s-5);padding-right:var(--s-5)}.sheet-head{padding-top:var(--s-4);padding-bottom:var(--s-4)}.sheet-villa img{width:52px;height:52px}.sheet-actions{margin-left:calc(-1 * var(--s-5));margin-right:calc(-1 * var(--s-5));padding-left:var(--s-5);padding-right:var(--s-5);padding-bottom:calc(var(--s-4) + env(safe-area-inset-bottom))}.sheet-body{padding-bottom:var(--s-8)}.request-panel{padding:var(--s-5)}.definition-list{grid-template-columns:1fr}.definition-list dt{border-bottom:0;padding-bottom:0}.definition-list dd{padding-top:2px}}@media (width<=560px){.how-it-works{display:none}.villa-grid,.grid{grid-template-columns:1fr}.villa-grid{gap:var(--s-8)}.detail-carousel{margin-inline:calc(-1 * var(--s-5));width:calc(100% + 2 * var(--s-5));border-radius:0}}.container--narrow{width:min(880px, calc(100% - 2 * var(--s-5)))}.request-group{margin-top:var(--s-8)}.request-group-title{align-items:baseline;gap:var(--s-2);margin:0 0 var(--s-2);font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink-2);font-weight:600;display:flex;font-size:var(--fs-small)!important}.request-group-empty{padding:var(--s-4) 0;border-top:1px solid var(--c-line);font-size:var(--fs-small);margin:0}.request-list{border-top:1px solid var(--c-line);margin:0;padding:0;list-style:none}.request-row{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--c-line);display:flex}.request-row-main{min-width:0}.request-row-name{color:var(--c-ink);font-weight:600;text-decoration:none}.request-row-name:hover{text-decoration:underline}.request-row-meta{font-size:var(--fs-caption);color:var(--c-ink-3);margin-top:2px}.request-row-side{flex:none;justify-items:end;gap:2px;display:grid}.request-row-date{font-size:var(--fs-caption);color:var(--c-ink-3)}.seller-nav{border-bottom:1px solid var(--c-line);flex:1;min-width:0}.seller-nav .tab{text-decoration:none}.admin-dashboard-section{background:var(--c-sand);min-height:calc(100vh - 88px)}.admin-dashboard-shell{gap:20px;display:grid}.admin-dashboard-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.admin-dashboard-kicker{color:var(--c-ink-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600}.admin-dashboard-title{color:var(--c-ink);font-size:var(--fs-h1);margin:0;line-height:1.05}.admin-dashboard-subtitle{color:#5f6f66;max-width:720px;margin:10px 0 0}.admin-dashboard-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-dashboard-panel,.admin-dashboard-metric-card{border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:none;background:#ffffffeb}.admin-dashboard-top-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.admin-dashboard-metric-card{gap:8px;padding:18px;display:grid}.admin-dashboard-metric-card span,.admin-dashboard-summary-card span,.admin-dashboard-booking-meta span,.admin-dashboard-service-item span,.admin-dashboard-action-card span,.admin-dashboard-source-item span,.admin-dashboard-approval-card span{color:var(--c-ink-3);font-size:13px}.admin-dashboard-metric-card strong{color:var(--c-ink);font-size:var(--fs-h1);line-height:1}.admin-dashboard-metric-card small,.admin-dashboard-summary-card small{color:#7b8b83}.admin-dashboard-metric-card.is-emerald,.admin-dashboard-metric-card.is-cyan,.admin-dashboard-metric-card.is-violet,.admin-dashboard-metric-card.is-amber{background:var(--c-surface)}.admin-dashboard-main-grid{grid-template-columns:1.35fr .85fr;gap:16px;display:grid}.admin-dashboard-lists-grid,.admin-dashboard-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-dashboard-panel{padding:18px}.admin-dashboard-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.admin-dashboard-panel-head h3{color:var(--c-ink);margin:0}.admin-dashboard-panel-head p{color:#6b7c73;margin:6px 0 0;font-size:14px}.admin-dashboard-link{color:var(--c-pine);font-size:13px;font-weight:700;text-decoration:none}.admin-dashboard-summary-grid,.admin-dashboard-approval-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-dashboard-summary-card,.admin-dashboard-approval-card,.admin-dashboard-action-card,.admin-dashboard-booking-item,.admin-dashboard-service-item,.admin-dashboard-source-item{border:1px solid var(--c-line);border-radius:var(--r-lg);background:#fffffff0}.admin-dashboard-summary-card{gap:8px;padding:16px;display:grid}.admin-dashboard-summary-card strong,.admin-dashboard-approval-card strong{color:var(--c-ink);font-size:26px;line-height:1.1}.admin-dashboard-source-list,.admin-dashboard-action-list,.admin-dashboard-booking-list,.admin-dashboard-service-list{gap:10px;display:grid}.admin-dashboard-source-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.admin-dashboard-source-item{align-content:space-between;min-height:86px;padding:16px;display:grid}.admin-dashboard-source-item strong{color:var(--c-ink);font-size:28px;line-height:1}.admin-dashboard-action-card,.admin-dashboard-approval-card{color:var(--c-ink);gap:8px;padding:16px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.admin-dashboard-action-card:hover,.admin-dashboard-approval-card:hover{box-shadow:none;border-color:#94cba8eb;transform:translateY(-1px)}.admin-dashboard-booking-item,.admin-dashboard-service-item{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.admin-dashboard-booking-item strong,.admin-dashboard-service-item strong{color:var(--c-ink);display:block}.admin-dashboard-booking-item span,.admin-dashboard-service-item span{margin-top:4px;display:block}.admin-dashboard-booking-meta{text-align:right;min-width:104px}.admin-dashboard-empty-state{border:1px dashed var(--c-line);border-radius:var(--r-lg);color:#6b7c73;background:#f9fcfae6;padding:18px}@media (width<=1100px){.admin-dashboard-top-metrics,.admin-dashboard-summary-grid,.admin-dashboard-approval-grid,.admin-dashboard-source-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-main-grid,.admin-dashboard-lists-grid,.admin-dashboard-bottom-grid{grid-template-columns:1fr}}@media (width<=720px){.admin-dashboard-header,.admin-dashboard-panel-head,.admin-dashboard-booking-item,.admin-dashboard-service-item{flex-direction:column;align-items:stretch}.admin-dashboard-source-list{grid-template-columns:1fr}.admin-dashboard-top-metrics,.admin-dashboard-summary-grid,.admin-dashboard-approval-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-dashboard-metric-card{padding:14px}.admin-dashboard-booking-meta{text-align:left;min-width:0}}.cleaner-assignment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.cleaner-assignment-stat{padding:18px}.cleaner-assignment-stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.cleaner-assignment-stat-value{color:var(--text);margin-top:8px;font-size:28px;font-weight:700}.cleaner-assignment-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:18px;display:grid}.cleaner-assignment-card{text-align:left;cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}.cleaner-assignment-card:hover{transform:translateY(-2px)}.cleaner-assignment-card.active{box-shadow:none;border-color:#1d4ed8}.cleaner-assignment-card.ghost{background:#f8fafceb}.cleaner-assignment-card-name{color:var(--text);font-size:18px;font-weight:700}.cleaner-assignment-card-username{color:var(--muted);margin-top:4px;font-size:13px}.cleaner-assignment-card-count{color:#1d4ed8;margin-top:14px;font-weight:600}.cleaner-assignment-villa-name{font-weight:600}.cleaner-assignment-inline-note{margin-top:6px}@media (width<=768px){.cleaner-assignment-summary{grid-template-columns:1fr}}.cleaner-shell{background:var(--c-sand);min-height:100vh;padding:24px}.cleaner-panel{gap:20px;width:min(1120px,100%);margin:0 auto;display:grid}.cleaner-header{border-radius:var(--r-lg);box-shadow:none;background:#ffffffeb;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px;display:flex}.cleaner-header h1{font-size:var(--fs-h1);margin:6px 0 8px}.cleaner-header p{color:var(--muted);margin:0}.cleaner-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--c-pine);font-size:12px;font-weight:600}.cleaner-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.cleaner-user-chip{background:var(--c-pine-soft);min-height:42px;color:var(--c-pine);border-radius:999px;align-items:center;padding:0 14px;font-weight:700;display:inline-flex}.cleaner-alert{margin:0}.cleaner-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.cleaner-task-card,.cleaner-empty-state{border-radius:var(--r-lg);box-shadow:none;background:#fffffff2;padding:20px}.cleaner-task-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cleaner-status-stack{justify-items:end;gap:8px;display:grid}.cleaner-room-code{letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-2);font-size:12px;font-weight:600}.cleaner-task-card h2,.cleaner-empty-state h2{margin:6px 0 0;font-size:24px}.cleaner-status-pill{color:#9a3412;background:#fff7ed;border-radius:999px;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.cleaner-status-pill--repair{color:#991b1b;background:#fee2e2}.cleaner-task-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.cleaner-task-meta span,.cleaner-notes span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.cleaner-task-meta strong,.cleaner-notes strong{color:var(--text);font-size:15px;line-height:1.5;display:block}.cleaner-notes{border-radius:var(--r-lg);background:#f8fafc;margin-top:16px;padding:14px}.cleaner-repair-box{border-radius:var(--r-lg);background:#fff7ed;border:1px solid #fdba74;margin-top:16px;padding:14px}.cleaner-repair-box span,.cleaner-repair-box strong{display:block}.cleaner-repair-meta{color:var(--muted);margin-top:8px;font-size:13px}.cleaner-action-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:18px;display:grid}.cleaner-secondary-btn,.cleaner-done-btn{width:100%}.cleaner-empty-state{text-align:center}.cleaner-empty-state p{max-width:520px;color:var(--muted);margin:8px auto 0}.cleaner-notification-backdrop{z-index:1000;background:#0f172a61;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.cleaner-notification-dialog{border-radius:var(--r-lg);width:min(460px,100%);box-shadow:var(--shadow-pop);background:#fff;padding:24px}.cleaner-notification-dialog h2{margin:8px 0 10px}.cleaner-notification-dialog p{color:var(--muted);margin:0 0 18px}.cleaner-modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.cleaner-view-switch{flex-wrap:wrap;gap:10px;display:inline-flex}.work-history-filters{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.cleaner-view-chip{border-radius:999px}.cleaner-view-chip.active{background:var(--c-pine);color:#fff;border-color:var(--c-pine)}.work-history-list{gap:16px;display:grid}.work-history-card{border-radius:var(--r-lg);box-shadow:none;background:#fffffff2;padding:20px}.work-history-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.work-history-top h3{margin:6px 0 0;font-size:24px}.work-history-badge{border-radius:999px;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.work-history-badge.cleaning{color:var(--c-success);background:#dcfce7}.work-history-badge.reported{color:#991b1b;background:#fee2e2}.work-history-badge.resolved{color:#0f766e;background:#ccfbf1}.work-history-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.work-history-meta span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.work-history-meta strong{color:var(--text);font-size:15px;line-height:1.5;display:block}@media (width<=720px){.cleaner-shell{padding:16px}.cleaner-header{flex-direction:column;padding:20px}.cleaner-header-actions{justify-content:stretch;width:100%}.cleaner-header-actions>*{flex:1 1 0}.cleaner-task-meta{grid-template-columns:1fr}.cleaner-action-row,.cleaner-modal-actions,.work-history-meta{grid-template-columns:1fr;display:grid}}.admin-room-history-toolbar{box-shadow:none;background:var(--c-surface);border:1px solid #0f172a0d;margin-bottom:18px;padding:18px 20px}.admin-room-history-intro{gap:6px;min-width:0;display:grid}.admin-room-history-title{color:var(--text);font-size:20px;font-weight:700}.admin-room-history-subtitle{max-width:560px;line-height:1.55}.admin-room-history-switch{background:#fffffff2;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:6px;padding:6px;display:inline-flex;box-shadow:inset 0 1px #fffc}.admin-room-history-chip{min-height:40px;box-shadow:none;color:#065f46;background:0 0;border-color:#0000;border-radius:999px;padding:10px 16px}.admin-room-history-chip:hover{box-shadow:none;background:#05966914;border-color:#0000;transform:none}.admin-room-history-chip.active{background:var(--c-info);color:#fff;box-shadow:var(--shadow-pop);border-color:#0000}.admin-room-history-chip.active:hover{background:var(--c-info);color:#fff}.work-history-filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px 16px;display:grid}.admin-room-history-field{margin-top:0}.admin-room-history-field .field-label{letter-spacing:.04em;text-transform:uppercase;color:var(--c-ink-2);font-size:12px;font-weight:600}.admin-room-history-field .input,.admin-room-history-field .select{border-radius:var(--r-lg);background:#fffffffa;border-color:#0f172a14;min-height:48px;box-shadow:inset 0 1px 2px #0f172a0a}.admin-room-history-field .input::placeholder{color:#94a3b8}.admin-room-history-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.admin-room-history-card-grouped{height:100%}.admin-room-history-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.admin-room-history-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.admin-room-history-span-2{grid-column:span 2}.admin-room-history-timeline{margin-top:18px}.admin-room-history-timeline-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:13px;font-weight:600}.admin-room-history-timeline-list{gap:10px;display:grid}.admin-room-history-timeline-item{border-radius:var(--r-lg);background:#f8fafceb;padding:12px 14px}.admin-room-history-timeline-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}@media (width<=768px){.admin-room-history-toolbar{padding:16px}.admin-room-history-head{flex-direction:column;align-items:stretch}.admin-room-history-switch{justify-content:stretch;width:100%}.admin-room-history-chip{flex:1 1 0}.work-history-filters,.admin-room-history-sections{grid-template-columns:1fr}.admin-room-history-span-2{grid-column:auto}}.room-bookings-page-topbar{margin-bottom:12px}.room-bookings-sync-actions{align-items:center}.room-bookings-workspace{border-radius:var(--r-lg);background:var(--c-surface);border:1px solid var(--c-line);box-shadow:none;margin-top:16px;padding:14px;position:relative}.room-bookings-workspace:before{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffffb3}.room-bookings-toolbar{margin-bottom:16px}.room-bookings-inline-guide{border-radius:var(--r-lg);border:1px solid var(--c-line);color:var(--c-ink);background:#e9f9efb8;margin-bottom:14px;padding:12px 14px;font-size:14px;line-height:1.5}.room-bookings-workspace .room-bookings-toolbar.card.detail-card{border-radius:var(--r-lg);border:1px solid var(--c-line);background:var(--c-surface);box-shadow:none;margin-bottom:14px;padding:14px}.room-bookings-toolbar-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.room-bookings-filter-group{flex-wrap:wrap;flex:520px;align-items:flex-end;gap:10px;display:flex}.room-bookings-filter-field{flex:180px;min-width:180px;margin:0}.room-bookings-quick-filter-field{flex:280px;min-width:280px}.room-bookings-range-apply-field{flex:0 0 132px;min-width:132px}.room-bookings-apply-btn{width:100%;min-height:44px;font-weight:600}.room-bookings-quick-filter-buttons{flex-wrap:wrap;gap:8px;display:flex}.room-bookings-filter-caption{color:var(--c-ink-3);margin-top:8px;font-size:12px;font-weight:700}.room-bookings-multi-filter{border:1px solid var(--c-line);border-radius:var(--r-lg);background:#ffffffd1;padding:8px 10px;position:relative}.room-bookings-multi-filter-summary{cursor:pointer;flex-direction:column;gap:4px;list-style:none;display:flex}.room-bookings-multi-filter-summary::-webkit-details-marker{display:none}.room-bookings-multi-filter-summary strong{color:var(--c-ink);font-size:14px}.room-bookings-multi-filter-menu{border-top:1px solid var(--c-line);margin-top:10px;padding-top:10px}.room-bookings-multi-filter-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.room-bookings-multi-filter-list{gap:8px;max-height:210px;display:grid;overflow-y:auto}.room-bookings-multi-filter-option{color:var(--c-ink);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.room-bookings-week-nav{flex-wrap:wrap;flex:520px;justify-content:flex-end;align-items:center;gap:10px;display:flex}.room-bookings-nav-strip{grid-template-columns:52px minmax(160px,220px) 52px;align-items:center;gap:12px;min-width:fit-content;display:grid}.room-bookings-week-label{text-align:center;min-width:180px}.room-bookings-picker-group{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.room-bookings-month-field{min-width:132px;margin:0}.room-bookings-nav-month-field{min-width:0}.room-bookings-year-field{min-width:108px}.room-bookings-week-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.room-bookings-week-range{color:var(--text);font-weight:600}.room-bookings-today-btn{align-self:flex-end;min-width:110px;font-weight:600}.room-bookings-nav-btn{justify-content:center;align-self:flex-end;align-items:center;width:52px;min-width:52px;height:42px;padding:0;font-size:18px;font-weight:600;display:inline-flex}.room-bookings-status-row{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.room-bookings-date-range-error{margin-top:14px;margin-bottom:2px}.room-bookings-status-pill{color:var(--text);cursor:pointer;background:#ffffffeb;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.room-bookings-status-pill strong{font-size:12px}.room-bookings-status-pill.active{box-shadow:none}.room-bookings-status-dot{background:currentColor;border-radius:999px;width:9px;height:9px}.room-bookings-status-pill.reserved,.room-booking-bar.reserved,.room-bookings-list-badge.reserved{color:var(--c-success);background:#dcfce7;border-color:#86efac}.room-booking-bar.scraped-booking{color:#7c5bb3;background:#f7f3ff;border-color:#e6dcf7}.room-bookings-status-pill.temp-block,.room-booking-bar.temp-block,.room-bookings-list-badge.temp-block{color:#92400e;background:#fef3c7;border-color:#fcd34d}.room-bookings-status-pill.closed,.room-booking-bar.closed,.room-bookings-list-badge.closed{color:var(--c-ink-2);background:#f1f5f9;border-color:#cbd5e1}.room-bookings-status-pill.checked-in,.room-booking-bar.checked-in,.room-bookings-list-badge.checked-in{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.room-bookings-status-pill.airbnb-block,.room-booking-bar.airbnb-block,.room-bookings-list-badge.airbnb-block{color:#6d28d9;background:#f3e8ff;border-color:#d8b4fe}.room-bookings-status-pill.kaystay-block,.room-booking-bar.kaystay-block,.room-bookings-list-badge.kaystay-block{color:#0369a1;background:#e0f2fe;border-color:#bae6fd}.room-bookings-status-pill.sophia-block,.room-booking-bar.sophia-block,.room-bookings-list-badge.sophia-block{color:#7c3aed;background:#ede9fe;border-color:#c4b5fd}.room-bookings-status-pill.checked-out,.room-booking-bar.checked-out,.room-bookings-list-badge.checked-out{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.room-bookings-status-pill.cancelled,.room-booking-bar.cancelled,.room-bookings-list-badge.cancelled{color:var(--c-ink-3);background:#f3f4f6;border-color:#d1d5db;-webkit-text-decoration:line-through #6b7280b3;text-decoration:line-through #6b7280b3;text-decoration-thickness:1px}.room-bookings-status-pill.ready,.room-bookings-list-badge.ready{color:var(--c-success);background:var(--c-success-soft);border-color:#b7dfc4}.room-bookings-status-pill.ooi,.room-bookings-list-badge.ooi{color:#9a3412;background:#ffedd5;border-color:#fdba74}.room-bookings-status-pill.occupied,.room-bookings-list-badge.occupied{color:#0f766e;background:#e6fffa;border-color:#a8e7dd}.room-bookings-status-pill.needs-cleaning,.room-bookings-list-badge.needs-cleaning{color:#9a3412;background:#fff7ed;border-color:#fdba74}.room-bookings-status-pill.needs-repair,.room-bookings-list-badge.needs-repair{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.room-bookings-stack{gap:16px;display:grid}.room-bookings-summary-bar{z-index:12;pointer-events:none;position:sticky;bottom:12px}.room-bookings-summary-scroll{border-radius:var(--r-lg);box-shadow:var(--shadow-pop);pointer-events:auto;-webkit-overflow-scrolling:touch;background:#0f172ae6;border:1px solid #94a3b833;gap:8px;padding:8px;display:flex;overflow-x:auto}.room-bookings-summary-pill{color:#f8fafc;background:#ffffff14;border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}button.room-bookings-summary-pill{cursor:pointer}.room-bookings-summary-pill.active{box-shadow:inset 0 0 0 1px #ffffff29}.room-bookings-summary-pill strong{font-size:12px}.room-bookings-summary-dot{background:currentColor;border-radius:999px;width:8px;height:8px}.room-bookings-summary-pill.neutral{color:#e2e8f0;border-color:#e2e8f029}.room-bookings-summary-pill.in-house{color:#a7f3d0;border-color:#6ee7b752}.room-bookings-summary-pill.awaiting-checkout{color:#fde68a;border-color:#fcd34d4d}.room-bookings-summary-pill.upcoming{color:#ddd6fe;border-color:#c4b5fd52}.room-bookings-summary-pill.unpaid{color:#fecaca;border-color:#fca5a547}.room-bookings-summary-pill.paid{color:#bbf7d0;border-color:#86efac52}.room-bookings-summary-pill.deposit-paid{color:#f5d0fe;border-color:#e879f947}.room-bookings-summary-pill.temp-lock{color:#fdba74;border-color:#fb923c47}.room-schedule-card{--room-schedule-label-width:210px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);width:100%;min-width:0;max-width:100%;box-shadow:none;padding:0;overflow:visible}.room-schedule-header-shell{z-index:32;width:100%;min-width:0;max-width:100%;box-shadow:none;background:#fff;border-bottom:1px solid #0f172a14;border-top-left-radius:20px;border-top-right-radius:20px;margin-bottom:-1px;position:sticky;top:0;overflow:hidden}.room-schedule-scroll{scroll-behavior:auto;overscroll-behavior:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(#fffef9fa,#f7fbf8fa),linear-gradient(90deg,#ffffff05,#0000 120px);border-bottom-right-radius:20px;border-bottom-left-radius:20px;width:100%;min-width:0;max-width:100%;overflow:auto visible}.room-schedule-table{width:calc(var(--room-schedule-label-width) + (var(--day-count) * var(--day-column-width)));min-width:calc(var(--room-schedule-label-width) + (var(--day-count) * var(--day-column-width)))}.room-schedule-header,.room-schedule-row,.room-schedule-host-row,.room-schedule-area-row{grid-template-columns:var(--room-schedule-label-width) minmax(0, 1fr);isolation:isolate;display:grid;position:relative}.room-schedule-header{min-width:calc(var(--room-schedule-label-width) + (var(--day-count) * var(--day-column-width)));background:#fff}.room-schedule-room-head,.room-schedule-room-cell,.room-schedule-host-cell{z-index:20;width:var(--room-schedule-label-width);min-width:var(--room-schedule-label-width);box-sizing:border-box;box-shadow:none;background:#f8fafc;border-right:1px solid #0f172a14;align-items:center;padding:10px 8px;display:flex;position:sticky;left:0}.room-schedule-days,.room-schedule-grid{grid-template-columns:repeat(var(--day-count), minmax(var(--day-column-width), var(--day-column-width)));min-width:calc(var(--day-count) * var(--day-column-width));display:grid}.room-schedule-days-viewport{min-width:0;overflow:hidden}.room-schedule-days,.room-schedule-track,.room-schedule-host-track,.room-schedule-area-track{z-index:1;position:relative}.room-schedule-days{will-change:transform;transform:translate(0,0)}.room-schedule-room-head{z-index:10;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.room-schedule-room-cell{color:var(--c-ink-2);text-align:left;appearance:none;border:0;font-weight:600}.room-schedule-room-cell-interactive{cursor:pointer;transition:background .2s,box-shadow .2s}.room-schedule-room-cell-interactive:hover{background:#eef2f0}.room-schedule-room-cell-interactive:active{background:#e6ece9}.room-schedule-room-cell-content{align-items:start;gap:5px;width:100%;display:grid}.room-schedule-room-cell-content>div:first-child{letter-spacing:.01em;white-space:normal;text-overflow:clip;word-break:break-word;font-size:12px;font-weight:700;line-height:1.28;overflow:visible}.room-schedule-admin-code{color:var(--primary,#0f766e);white-space:nowrap;vertical-align:1px;background:#0f766e1a;border-radius:5px;margin-right:5px;padding:1px 5px;font-size:9px;font-weight:800;line-height:1.4;display:inline-block}.room-schedule-room-cell-subtitle{color:var(--muted);white-space:normal;word-break:break-word;font-size:10px;line-height:1.25;display:block}.room-schedule-room-link{font-size:9px}.room-schedule-host-row{background:#0f172a08;border-top:1px solid #0f172a14;border-bottom:1px solid #0f172a14}.room-schedule-area-row{background:#e0f2e6b8;border-top:1px solid #2d5a4633;border-bottom:1px solid #2d5a4629}.room-schedule-area-cell{z-index:20;width:var(--room-schedule-label-width);min-width:var(--room-schedule-label-width);box-sizing:border-box;box-shadow:none;background:#e8f7ed;border-right:1px solid #2d5a4629;align-items:center;padding:10px;display:flex;position:sticky;left:0}.room-schedule-area-cell strong{color:var(--c-ink);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700;line-height:1.2}.room-schedule-area-track{background:linear-gradient(90deg,#b7dfc452,#e9f9ef1a),#f8fcf9e0;min-height:42px}.room-schedule-host-cell{z-index:20;background:#f1f5f9;align-items:center;gap:8px;padding:8px 10px;display:flex}.room-schedule-host-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:600}.room-schedule-host-cell strong{font-size:11px;line-height:1.2}.room-schedule-host-emoji{font-size:14px;line-height:1}.room-schedule-host-track{color:var(--c-ink-2);background:linear-gradient(90deg,#cbd5e159,#e2e8f02e),#f8fafcfa;align-items:center;min-height:40px;padding:8px 14px;font-size:11px;font-weight:700;display:flex}.room-schedule-host-row-villa-type-0{background:#bfe49a29}.room-schedule-host-cell-villa-type-0{background:#f1fbe8}.room-schedule-host-track-villa-type-0{background:linear-gradient(90deg,#bfe49a61,#f1fbe82e),#f1fbe8c7}.room-schedule-host-row-villa-type-1{background:#b8dcff29}.room-schedule-host-cell-villa-type-1{background:#eef8ff}.room-schedule-host-track-villa-type-1{background:linear-gradient(90deg,#b8dcff61,#eef8ff2e),#eef8ffc7}.room-schedule-host-row-villa-type-2{background:#f4c99f29}.room-schedule-host-cell-villa-type-2{background:#fff6eceb}.room-schedule-host-track-villa-type-2{background:linear-gradient(90deg,#f4c99f52,#fff6ec1f),#fff6ecbd}.room-schedule-host-row-villa-type-3{background:#a8a2ff1f}.room-schedule-host-cell-villa-type-3{background:#f3f2ffeb}.room-schedule-host-track-villa-type-3{background:linear-gradient(90deg,#a8a2ff42,#f3f2ff29),#f3f2ffc2}.room-schedule-host-row-villa-type-4{background:#fbbf241f}.room-schedule-host-cell-villa-type-4{background:#fffbebeb}.room-schedule-host-track-villa-type-4{background:linear-gradient(90deg,#fbbf2438,#fffbeb1f),#fffbebc2}.room-schedule-host-row-villa-type-5{background:#22d3ee1f}.room-schedule-host-cell-villa-type-5{background:#ecfeffeb}.room-schedule-host-track-villa-type-5{background:linear-gradient(90deg,#22d3ee38,#ecfeff1f),#ecfeffc2}.room-schedule-host-row-villa-type-6{background:#fb71851f}.room-schedule-host-cell-villa-type-6{background:#fff1f2eb}.room-schedule-host-track-villa-type-6{background:linear-gradient(90deg,#fb71852e,#fff1f21f),#fff1f2c2}.room-schedule-host-row-villa-type-other{background:#0f172a08}.room-schedule-host-cell-villa-type-other{background:#f1f5f9}.room-schedule-host-track-villa-type-other{background:linear-gradient(90deg,#cbd5e159,#e2e8f02e),#f8fafcfa}.room-schedule-host-row-garden-view-villa{background:#bfe49a24}.room-schedule-host-cell-garden-view-villa{background:#f1fbe8}.room-schedule-host-track-garden-view-villa{background:linear-gradient(90deg,#bfe49a61,#f1fbe82e),#f1fbe8b8}.room-schedule-host-row-garden-view-deluxe-villa{background:#b8dcff24}.room-schedule-host-cell-garden-view-deluxe-villa{background:#eef8ff}.room-schedule-host-track-garden-view-deluxe-villa{background:linear-gradient(90deg,#b8dcff61,#eef8ff2e),#eef8ffb8}.room-schedule-host-row-beach-access-villa{background:#f4c99f26}.room-schedule-host-cell-beach-access-villa{background:#fff4e8}.room-schedule-host-track-beach-access-villa{background:linear-gradient(90deg,#f4c99f66,#fff4e82e),#fff4e8b8}.room-schedule-host-row-beach-access-deluxe-villa{background:#d7befb26}.room-schedule-host-cell-beach-access-deluxe-villa{background:#f6edff}.room-schedule-host-track-beach-access-deluxe-villa{background:linear-gradient(90deg,#d7befb66,#f6edff2e),#f6edffb8}.room-schedule-host-row-beach-front-luxury-villa{background:#efd7732e}.room-schedule-host-cell-beach-front-luxury-villa{background:#fff9dc}.room-schedule-host-track-beach-front-luxury-villa{background:linear-gradient(90deg,#efd7736b,#fff9dc2e),#fff9dcb8}.room-schedule-day-head{text-align:center;background:#f6f9f7fa;border-left:1px solid #0f172a0f;align-content:center;justify-items:center;min-height:56px;padding:8px 4px;font-size:12px;display:grid}.room-schedule-day-weekday{text-transform:capitalize;color:var(--muted);font-size:10px;font-weight:700;line-height:1.2}.room-schedule-day-number{margin-top:4px;font-size:16px;line-height:1}.room-schedule-day-head.is-today{color:#047857;background:#0596691a}.room-schedule-day-head.is-past{color:#94a3b8;background:#f1f5f9e6}.room-schedule-row{background:#ffffff8c;border-bottom:1px solid #0f172a14}.room-schedule-track{min-height:56px;min-width:calc(var(--day-count) * var(--day-column-width));background:#ffffff5c;position:relative;overflow:hidden}.room-schedule-track.is-drop-target{background:#05966914;box-shadow:inset 0 0 0 2px #05966933}.room-schedule-row.has-quick-action .room-schedule-track{min-height:88px}.room-schedule-grid{position:absolute;inset:0}.room-schedule-grid-cell{appearance:none;cursor:pointer;background:0 0;border:0;border-left:1px solid #94a3b847;padding:0}.room-schedule-grid-cell:first-child{border-left:0}.room-bookings-feedback.success{background:#0596691a;border-color:#05966942}.room-bookings-workspace .select{border-radius:var(--r-md);border-color:var(--c-line);min-height:40px;color:var(--text);background:#fffffffa}.room-bookings-workspace .field-label{color:var(--muted)}.room-bookings-workspace .btn{border-color:var(--c-line);color:var(--text);background:#fffffff5}.room-bookings-workspace .btn.primary{background:var(--c-pine);border-color:var(--c-line);color:#fffdf7}.room-bookings-workspace .room-bookings-nav-btn,.room-bookings-workspace .room-bookings-week-label{border-radius:var(--r-lg);border:1px solid var(--c-line);background:#fffffffa}.room-bookings-workspace .room-bookings-week-label{padding:8px 12px}.room-bookings-feedback-popup-title{font-size:18px;font-weight:600;line-height:1.3}.room-bookings-feedback-popup-title.success{color:var(--c-pine-hover)}.room-bookings-feedback-popup-title.error{color:#dc2626}.room-bookings-feedback-popup-message{border-radius:var(--r-md);white-space:pre-wrap;word-break:break-word;padding:16px 20px;font-size:15px;line-height:1.55}.room-bookings-feedback-popup-message.success{color:var(--text);background:#05966914;border:1px solid #05966938}.room-bookings-feedback-popup-message.error{color:var(--text);background:#ef444414;border:1px solid #ef444438}.room-booking-touch-ghost{z-index:520;pointer-events:none;border-radius:var(--r-lg);min-width:180px;max-width:min(260px,100vw - 24px);box-shadow:var(--shadow-pop);background:#fffffffa;border:1px solid #05966947;gap:2px;padding:8px 10px;display:grid;position:fixed;transform:translate(-50%,calc(-100% - 12px))}.room-booking-touch-ghost strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.room-booking-touch-ghost span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.room-schedule-select-cell:hover:not(:disabled){background:#b7dfc48c}.room-schedule-select-cell.is-selected{background:var(--c-success-soft)}.room-schedule-select-cell.is-drop-target:not(:disabled){background:#0596693d;box-shadow:inset 0 0 0 2px #05966947}.room-schedule-select-cell:disabled{cursor:not-allowed;background:#e2e8f059}.room-schedule-select-cell.is-past:disabled{background:linear-gradient(135deg,#e2e8f08c,#f1f5f98c)}.room-schedule-today-marker{pointer-events:none;background:#059669a6;border-radius:999px;width:2px;position:absolute;top:0;bottom:0}.room-booking-bar{z-index:3;text-align:left;cursor:pointer;height:100%;box-shadow:none;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:0;padding:8px 9px;position:absolute;top:0;overflow:hidden}.room-booking-bar.is-movable{cursor:grab}.room-booking-bar.is-static{cursor:pointer}.room-schedule-row.has-quick-action .room-booking-bar{height:40px;top:6px}.room-booking-bar:active{cursor:grabbing}.room-booking-bar.selected{box-shadow:var(--shadow-pop)}.room-booking-bar.is-dragging{opacity:.45}.room-booking-bar.is-moving{opacity:.55;pointer-events:none}.room-booking-bar-copy{left:calc(var(--room-schedule-label-width) + 9px);pointer-events:none;align-content:center;width:fit-content;min-width:0;max-width:calc(100% - 10px);display:grid;position:sticky}.room-booking-bar-copy.has-booking-meta{text-align:center;width:100%;max-width:100%;position:static}.room-booking-bar-title{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.room-booking-bar-meta{white-space:nowrap;align-items:center;gap:4px;min-width:0;margin-top:2px;font-size:10px;display:flex}.room-booking-bar-copy.has-booking-meta .room-booking-bar-meta{justify-content:center}.room-booking-source-mark{color:#234b3d;background:0 0;border-radius:3px;flex:none;place-items:center;min-width:15px;height:16px;font-size:10px;font-weight:800;line-height:1;display:inline-grid}.room-booking-source-mark img{object-fit:contain;width:auto;max-width:34px;height:15px;display:block}.room-booking-source-mark.direct{color:#173e31;font-size:12px;font-weight:900}.room-booking-source-mark.airbnb{color:#ff385c}.room-booking-source-mark.booking{color:#003b95}.room-booking-source-mark.agoda{color:#e12d3f}.room-booking-source-mark.traveloka{color:#1688ed}.room-booking-source-mark.expedia{color:#f5a623}.room-booking-source-mark.lazhost{color:#16845b}.room-booking-source-mark.lock{color:#69747b}.room-booking-guest-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.room-booking-tooltip{z-index:12;color:#173c2e;text-align:left;pointer-events:none;background:#fffffffa;border:1px solid #b7dfc4eb;border-radius:14px;min-width:240px;max-width:min(320px,70vw);padding:12px 14px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 18px 42px #173c2e24}.room-booking-hold-tooltip{z-index:10000;pointer-events:auto;max-width:min(320px,100vw - 16px);position:fixed;top:auto;bottom:auto;left:auto;transform:none}.room-booking-hold-tooltip:after{display:none}.room-booking-tooltip:after{content:"";background:#fffffffa;border-bottom:1px solid #b7dfc4eb;border-right:1px solid #b7dfc4eb;width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.room-booking-tooltip-row{gap:4px;display:grid}.room-booking-tooltip-row+.room-booking-tooltip-row{border-top:1px solid #e2e8f0e6;margin-top:10px;padding-top:10px}.room-booking-tooltip-row span{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-size:11px}.room-booking-tooltip-row strong{color:#173c2e;word-break:break-word;font-size:13px;font-weight:700}.room-booking-tooltip-link{color:#0f766e}a.room-booking-tooltip-link{text-underline-offset:2px;pointer-events:auto;overflow-wrap:anywhere;cursor:pointer;max-width:100%;text-decoration:underline;display:inline-block}.room-schedule-quick-action{z-index:4;border-radius:var(--r-md);box-shadow:none;background:#e9f9effa;border:1px solid #b7dfc4;align-items:center;gap:8px;max-width:min(460px,100% - 16px);padding:6px 8px;display:flex;position:absolute;bottom:8px;transform:translate(-50%)}.room-booking-move-modal{width:min(640px,100%)}.room-booking-move-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.room-schedule-quick-action-meta{gap:2px;min-width:0;display:grid}.room-schedule-quick-action-meta strong,.room-schedule-quick-action-meta span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.room-schedule-quick-action-meta span{color:var(--c-ink-3);font-size:11px}.room-booking-editor-head,.room-bookings-list-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.room-booking-editor-title{font-size:18px;font-weight:600}.room-booking-editor-actions{margin-top:16px}.room-bookings-list-items{gap:10px;max-height:420px;display:grid;overflow:auto}.room-bookings-list-item{border-radius:var(--r-lg);text-align:left;cursor:pointer;background:#ffffffeb;border:1px solid #0f172a14;gap:6px;padding:12px;display:grid}.room-bookings-list-item.active{box-shadow:none;border-color:#05966961}.room-bookings-list-badge{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.room-bookings-list-badge-icon-only{min-width:30px;min-height:30px;padding:0;line-height:1}.room-bookings-badge-icon-glyph{font-size:15px;line-height:1}.room-bookings-badge-icon-inline{font-size:13px;line-height:1}.room-bookings-badge-button{cursor:pointer;appearance:none;background-clip:padding-box}.room-booking-modal-overlay{z-index:420;background:#0f172a52;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.room-booking-modal{border-radius:var(--r-lg);width:min(780px,100%);max-height:min(92vh,960px);box-shadow:var(--shadow-pop);background:#fffffffa;border:1px solid #0f172a1a;padding:14px;overflow:auto}.room-booking-modal.edit-mode{width:min(960px,100%);max-height:calc(100dvh - 24px);padding:12px}.room-booking-modal.edit-mode .room-booking-modal-head{align-items:center;gap:8px}.room-booking-modal.edit-mode .room-booking-modal-head .muted{display:none}.room-booking-modal.edit-mode .room-booking-editor-title{font-size:16px}.room-booking-modal.edit-mode .room-booking-modal-body{gap:6px;margin-top:6px}.room-booking-modal.edit-mode .row{gap:8px}.room-booking-modal.edit-mode .field{gap:3px;margin-top:0}.room-booking-modal.edit-mode .field-label{font-size:11px;line-height:1.2}.room-booking-modal.edit-mode .input,.room-booking-modal.edit-mode .select{height:36px;min-height:36px;padding:5px 9px;font-size:14px}.room-booking-modal.edit-mode .textarea{height:48px;min-height:48px;padding:6px 9px;font-size:14px}.room-booking-modal.edit-mode .room-booking-editor-actions{gap:8px;margin-top:2px}.room-booking-modal.edit-mode .room-booking-editor-actions .btn{min-height:36px}.villa-month-calendar-modal{width:min(340px,100vw - 24px);box-shadow:none;background:#f3f3f1;border:0;padding:16px 18px 18px}.villa-month-calendar-body{gap:10px}.villa-month-calendar-simple-head{justify-content:center;align-items:center;min-height:34px;display:flex;position:relative}.villa-month-calendar-simple-title{color:#2d2d2a;letter-spacing:.01em;font-size:16px;font-weight:600}.villa-month-calendar-close{color:#3f3f46;cursor:pointer;background:0 0;border:0;border-radius:999px;width:28px;height:28px;font-size:26px;line-height:1;position:absolute;top:50%;right:0;transform:translateY(-50%)}.villa-month-calendar-simple-subtitle{text-align:center;color:#a1a19b;letter-spacing:.02em;margin-top:4px;font-size:11px;font-weight:700}.villa-month-calendar-body-simple{margin-top:12px}.villa-month-calendar-panel-simple{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.villa-month-calendar-hero{grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);gap:16px;display:grid}.villa-month-calendar-hero-main,.villa-month-calendar-panel,.villa-month-calendar-summary-card{border-radius:var(--r-lg);background:var(--c-surface);box-shadow:none;border:1px solid #0f172a14}.villa-month-calendar-hero-main{background:var(--c-surface);padding:18px}.villa-month-calendar-room-code{min-height:30px;color:var(--c-ink);letter-spacing:.08em;text-transform:uppercase;background:#2d5a461f;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.villa-month-calendar-hero-main h3{margin:12px 0 8px;font-size:28px;line-height:1.15}.villa-month-calendar-room-meta{flex-wrap:wrap;gap:8px;display:flex}.villa-month-calendar-room-meta span{border:1px solid var(--c-line);min-height:30px;color:var(--c-ink-2);background:#ffffffeb;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.villa-month-calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.villa-month-calendar-summary-card{padding:16px}.villa-month-calendar-summary-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.villa-month-calendar-summary-card strong{font-size:var(--fs-h1);color:var(--c-ink);line-height:1}.villa-month-calendar-panel{padding:16px}.villa-month-calendar-weekdays,.villa-month-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.villa-month-calendar-weekday{border-radius:var(--r-lg);color:var(--c-pine);text-align:center;text-transform:uppercase;letter-spacing:.05em;background:#2d5a4614;padding:10px 12px;font-size:12px;font-weight:600}.villa-month-calendar-weekdays-simple{gap:0;margin-bottom:6px}.villa-month-calendar-weekday-simple{color:#8b8b88;text-transform:none;letter-spacing:0;background:0 0;border-radius:0;padding:8px 0 10px;font-size:11px;font-weight:600}.villa-month-calendar-grid{margin-top:10px}.villa-month-calendar-grid-simple{gap:6px 0;margin-top:0}.villa-month-calendar-cell{border-radius:var(--r-lg);border:1px solid var(--c-line);background:#fffffff0;gap:10px;min-height:158px;padding:10px;display:grid}.villa-month-calendar-cell-simple{border-radius:var(--r-md);aspect-ratio:1;background:0 0;border:0;place-items:center;gap:0;min-height:44px;padding:0;position:relative}.villa-month-calendar-cell.is-outside{opacity:.72;background:#f8fafcb8}.villa-month-calendar-cell-simple.is-outside{opacity:1;background:0 0}.villa-month-calendar-cell.is-today{border-color:#2d5a4657;box-shadow:inset 0 0 0 2px #2d5a4614}.villa-month-calendar-cell-simple.is-today{box-shadow:none}.villa-month-calendar-cell-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.villa-month-calendar-cell-day{color:var(--c-ink);font-size:18px;font-weight:700}.villa-month-calendar-cell-simple .villa-month-calendar-cell-day{color:#2f2f2c;font-size:14px;font-weight:700}.villa-month-calendar-cell-simple.is-outside .villa-month-calendar-cell-day{color:#0000}.villa-month-calendar-cell-simple.is-booked .villa-month-calendar-cell-day,.villa-month-calendar-cell-simple.is-today .villa-month-calendar-cell-day{color:#a9a9a3}.villa-month-calendar-cell-simple.is-booked{background:0 0}.villa-month-calendar-cell-simple.is-booked .villa-month-calendar-cell-day{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration:line-through #c1c1bb;text-decoration:line-through #c1c1bb;text-decoration-thickness:1.25px}.villa-month-calendar-today-chip{min-height:24px;color:var(--c-ink);background:#2d5a461f;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.villa-month-calendar-day-card{border-radius:var(--r-lg);background:#f8fafcf0;border:1px solid #e2e8f0eb;align-content:start;gap:6px;min-height:112px;padding:12px;display:grid}.villa-month-calendar-day-card.neutral{color:var(--c-ink-2)}.villa-month-calendar-day-card.reserved{background:#ecfdf3;border-color:#86efac}.villa-month-calendar-day-card.temp-block{background:#fff7df;border-color:#fcd34d}.villa-month-calendar-day-card.checked-in{background:#eaf3ff;border-color:#93c5fd}.villa-month-calendar-day-card.checked-out{background:#fff1f2;border-color:#fca5a5}.villa-month-calendar-day-card.airbnb-block,.villa-month-calendar-day-card.kaystay-block,.villa-month-calendar-day-card.sophia-block{background:#f5f3ff;border-color:#d8b4fe}.villa-month-calendar-day-title{text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.villa-month-calendar-day-card strong{color:var(--c-ink);font-size:14px;line-height:1.25}.villa-month-calendar-day-card span{color:var(--c-ink-3);font-size:12px;line-height:1.4}.villa-month-calendar-day-card .room-bookings-list-badge{justify-self:flex-start;min-height:24px;padding:4px 8px;font-size:11px}.villa-month-calendar-section-head{margin-bottom:12px}.villa-month-calendar-booking-list{gap:10px;display:grid}.villa-month-calendar-booking-item{text-align:left;border:1px solid var(--c-line);border-radius:var(--r-lg);cursor:pointer;background:#fffffff2;gap:8px;width:100%;padding:14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.villa-month-calendar-booking-item:hover{box-shadow:none;border-color:#2d5a4633;transform:translateY(-1px)}.villa-month-calendar-booking-top,.villa-month-calendar-booking-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.villa-month-calendar-booking-top strong{color:var(--c-ink);font-size:15px}.villa-month-calendar-booking-meta{color:var(--c-ink-3);font-size:12px;font-weight:700}.villa-month-calendar-empty{border-radius:var(--r-lg);color:var(--c-ink-3);text-align:center;background:#f8fafce6;border:1px dashed #94a3b861;padding:18px;font-weight:700}.room-booking-modal-head,.room-booking-modal-actions,.room-booking-detail-row,.room-booking-confirm-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.room-booking-modal-actions{flex-wrap:wrap;justify-content:flex-end}.room-booking-modal-body{gap:10px;margin-top:10px;display:grid}.room-booking-overview-grid{grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);align-items:start;gap:10px;display:grid}.room-booking-overview-main{gap:10px;display:grid}.room-booking-audit-panel{border-radius:var(--r-lg);background:#f6fcf9f5;border:1px solid #137a5b33;margin-top:14px;padding:16px}.room-booking-audit-heading,.room-booking-audit-entry-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.room-booking-audit-list{gap:12px;margin-top:14px;display:grid}.room-booking-audit-entry{background:#fff;border:1px solid #94a3b83d;border-radius:14px;padding:14px}.room-booking-audit-entry-head time{color:var(--c-ink-3);white-space:nowrap;font-size:12px}.room-booking-audit-changes{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:12px;display:grid}.room-booking-audit-change{overflow-wrap:anywhere;background:#f7faf9;border-radius:10px;min-width:0;padding:9px 10px}.room-booking-audit-change>span{color:var(--c-ink-3);margin-bottom:4px;font-size:11px;display:block}.room-booking-audit-change>div{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.room-booking-audit-change del{color:#8b949e}.room-booking-audit-change b{color:var(--c-ink-3)}.room-booking-audit-empty,.room-booking-audit-error,.room-booking-audit-legacy-note{color:var(--c-ink-3);margin-top:12px;font-size:13px}.room-booking-audit-error{color:#b42318}.room-booking-audit-legacy-note{color:#805b10;background:#fff8e6;border-radius:10px;padding:9px 10px}.room-booking-details-grid,.room-booking-confirm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.room-booking-detail-card,.room-booking-detail-panel,.room-booking-confirm-card{border-radius:var(--r-lg);background:#f8fafce6;border:1px solid #0f172a14;padding:14px}.room-booking-detail-panel{gap:10px;display:grid}.room-booking-detail-section-title{color:var(--c-ink-2);border-bottom:1px solid #0f172a14;padding-bottom:7px;font-size:13px;font-weight:800}.room-booking-compact-grid{gap:8px}.room-booking-compact-grid .room-booking-detail-card{padding:10px 12px}.room-booking-money-panel{background:#f6fcf9f5;border-color:#137a5b2e;gap:7px;padding:12px}.room-booking-money-panel .room-booking-detail-row{gap:8px}.room-booking-money-panel .room-booking-detail-row span:first-child{font-size:12px}.room-booking-money-panel .room-booking-detail-row strong{text-align:right;font-size:13px}.room-booking-notes-panel>div:last-child{overflow-wrap:anywhere;white-space:pre-wrap}.room-booking-detail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700}.room-booking-detail-row{align-items:center}.room-booking-detail-row span:first-child{color:var(--muted);font-size:13px}.room-booking-detail-notes{align-items:flex-start}.room-booking-detail-notes strong{text-align:right}.room-booking-confirm-card{background:var(--c-surface);border-color:#0596692e;margin-top:16px}.room-booking-confirm-overlay{z-index:430;background:#0f172a6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.room-booking-confirm-modal{border-radius:var(--r-lg);background:var(--c-surface);width:min(460px,100%);box-shadow:var(--shadow-pop);border:1px solid #9d6f333d;padding:8px}.room-booking-confirm-sheet{border-radius:var(--r-md);background:var(--c-surface);border:1.5px solid #bd935766;padding:8px;position:relative}.room-booking-confirm-sheet:before{content:"";border-radius:var(--r-md);pointer-events:none;border:1px solid #bd935747;position:absolute;inset:8px}.room-booking-confirm-brand{z-index:1;text-align:center;justify-items:center;gap:2px;margin-bottom:4px;display:grid;position:relative}.room-booking-confirm-emblem{background:var(--c-surface);width:52px;height:52px;color:var(--c-ink-3);letter-spacing:.12em;border:1px solid #bd93578c;border-radius:999px;place-items:center;font-size:15px;font-weight:700;display:grid}.room-booking-confirm-brand-top{letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink-3);font-size:12px;font-weight:700}.room-booking-confirm-brand-main{letter-spacing:-.03em;color:var(--c-ink);text-transform:uppercase;font-size:16px;font-weight:700;line-height:1.02}.room-booking-confirm-hero{z-index:1;grid-template-columns:1.2fr .8fr;gap:10px;margin-bottom:10px;display:grid;position:relative}.room-booking-confirm-guest-card,.room-booking-confirm-preview,.room-booking-confirm-stay-card,.room-booking-confirm-info-card{border-radius:var(--r-lg);background:#ffffffe6;border:1px solid #bd935747;padding:12px}.room-booking-confirm-guest-name{color:var(--c-ink);font-size:20px;font-weight:700;line-height:1.1}.room-booking-confirm-guest-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.room-booking-confirm-guest-meta span{color:#6f4f2a;background:#f4ead8cc;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.room-booking-confirm-preview{background:var(--c-pine);color:#fffdf7;align-content:end;min-height:100px;display:grid}.room-booking-confirm-preview-label{letter-spacing:.14em;text-transform:uppercase;color:#fff7e6c7;font-size:12px}.room-booking-confirm-preview strong{margin-top:6px;font-size:19px;line-height:1.05}.room-booking-confirm-preview span{color:#fff7e6d6;margin-top:8px;font-weight:600}.room-booking-confirm-stay-grid{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid;position:relative}.room-booking-confirm-stay-card{grid-template-columns:48px 1fr;align-items:center;gap:12px;display:grid}.room-booking-confirm-stay-icon{border-radius:var(--r-lg);background:var(--c-pine);color:#fff8ea;letter-spacing:.08em;place-items:center;width:48px;height:48px;font-size:12px;font-weight:700;display:grid}.room-booking-confirm-section{z-index:1;margin-bottom:10px;position:relative}.room-booking-confirm-section-title{color:var(--c-ink);margin-bottom:8px;font-size:17px;font-weight:700}.room-booking-confirm-table{border-radius:var(--r-lg);background:#fffffff2;border:1px solid #bd935752;grid-template-columns:140px 1fr 1.2fr;display:grid;overflow:hidden}.room-booking-confirm-table-head,.room-booking-confirm-table-cell{border-right:1px solid #bd93573d;padding:9px 11px}.room-booking-confirm-table-head:nth-child(3),.room-booking-confirm-table-cell:nth-child(6){border-right:0}.room-booking-confirm-table-head{background:var(--c-pine);color:#fffdf9;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.room-booking-confirm-table-cell{color:var(--c-ink-2);font-size:14px}.room-booking-confirm-info-grid{z-index:1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid;position:relative}.room-booking-confirm-info-row{border-bottom:1px dashed #bd93573d;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.room-booking-confirm-info-row:last-child{border-bottom:0}.room-booking-confirm-info-row span{color:var(--c-ink-3)}.room-booking-confirm-note{min-height:0;color:var(--c-ink-2);line-height:1.5}.room-booking-confirm-note-card{grid-column:1/-1}.room-booking-confirm-foot{z-index:1;text-align:center;color:var(--c-ink-2);border-top:1px dashed #bd935766;gap:6px;margin-top:10px;padding-top:10px;font-size:12px;display:grid;position:relative}.room-booking-confirm-actions{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:6px;display:flex}.room-booking-confirm-save-error{color:#9e3030;background:#fff4f4;border:1px solid #f1c3c3;border-radius:8px;margin:0 10px 8px;padding:8px 10px;font-size:12px}.room-booking-confirm-language-switch{align-items:center;gap:8px;display:inline-flex}.room-booking-confirm-brand-sub{color:#6f4f2a;text-transform:uppercase;letter-spacing:.06em;font-size:8px;font-weight:700}.room-booking-confirm-content{grid-template-columns:1fr;gap:8px;display:grid}.room-booking-confirm-top-grid{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid;position:relative}.room-booking-confirm-top-card{background:#fffffff5;border:1px solid #5d4a353d;border-radius:8px;padding:6px 7px}.room-booking-confirm-top-row+.room-booking-confirm-top-row{border-top:1px dashed #5d4a352e;margin-top:5px;padding-top:5px}.room-booking-confirm-fact-label{text-transform:uppercase;letter-spacing:.04em;color:#6f4f2a;margin-bottom:3px;font-size:10px;font-weight:600;line-height:1.2}.room-booking-confirm-fact-value{color:#2f2418;font-size:11px;font-weight:700;line-height:1.25}.room-booking-confirm-side{gap:5px;display:grid}.room-booking-confirm-side-card{z-index:1;background:#fffffff5;border:1px solid #5d4a3559;padding:7px 8px;position:relative}.room-booking-confirm-side-title{color:var(--c-ink);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:600}.room-booking-confirm-side-text{color:#2f2418;font-size:11px;font-weight:600;line-height:1.35}.room-booking-confirm-side-textarea{resize:vertical;width:100%;min-height:48px;font:inherit;color:#2f2418;background:#fff;border:1px solid #5d4a3533;border-radius:6px;padding:5px 6px;font-size:11px;line-height:1.35}.room-booking-confirm-side-textarea:focus{border-color:#1a5f4a6b;outline:none;box-shadow:0 0 0 3px #1a5f4a1a}.room-booking-confirm-side-card-qr{align-items:center}.room-booking-confirm-qr-wrap{justify-content:center;margin-top:8px;display:flex}.room-booking-confirm-qr-image{object-fit:contain;border-radius:var(--r-md);background:#fff;border:1px solid #5d4a3533;width:120px;height:120px;padding:6px}@media (width<=768px){.room-schedule-card{--room-schedule-label-width:150px}.room-bookings-summary-bar{bottom:8px}.room-bookings-summary-scroll{border-radius:var(--r-lg);padding:7px}.room-bookings-quick-filter-field,.room-bookings-multi-filter{min-width:100%}.room-bookings-summary-pill{min-height:34px;padding:0 10px;font-size:11px}.room-bookings-toolbar-top{align-items:stretch}.room-bookings-filter-group,.room-bookings-week-nav{flex:100%;width:100%}.room-bookings-week-nav{justify-content:stretch;gap:12px}.room-bookings-nav-strip{grid-template-columns:56px minmax(0,1fr) 56px;width:100%;min-width:0}.room-bookings-nav-btn{width:56px;min-width:56px;padding-inline:0}.room-bookings-nav-strip,.room-bookings-picker-group,.room-bookings-month-field{width:100%;min-width:0}.room-bookings-year-field{min-width:0}.room-schedule-header,.room-schedule-row,.room-schedule-host-row{grid-template-columns:var(--room-schedule-label-width) minmax(0, 1fr)}.room-schedule-table{width:calc(var(--room-schedule-label-width) + (var(--day-count) * var(--day-column-width)));min-width:calc(var(--room-schedule-label-width) + (var(--day-count) * var(--day-column-width)))}.room-schedule-room-head,.room-schedule-room-cell{padding:8px 6px}.room-schedule-room-cell-content{gap:4px}.room-schedule-room-cell-content>div:first-child,.room-schedule-room-link,.room-schedule-room-cell-subtitle{white-space:normal;text-overflow:clip;word-break:break-word;overflow:visible}.room-schedule-host-cell{padding:8px 6px}.room-schedule-host-label{font-size:8px}.room-schedule-host-cell strong{font-size:10px}.room-booking-move-grid{grid-template-columns:1fr}.room-schedule-day-weekday{font-size:10px}.room-schedule-day-number{font-size:15px}.room-booking-modal-overlay{align-items:end;padding:10px}.room-booking-modal{border-radius:20px 20px 0 0;width:min(100%,100vw - 8px);max-height:calc(100dvh - 8px);padding:10px}.room-booking-confirm-overlay{padding:10px}.room-schedule-quick-action{gap:6px;padding:8px}.room-schedule-quick-action-meta{display:none}.room-booking-confirm-sheet{padding:10px}.room-booking-confirm-brand-main{font-size:18px}.room-booking-confirm-logo{width:54px}.room-booking-confirm-actions{gap:8px}.room-booking-confirm-modal{border-radius:var(--r-lg);width:min(100%,396px);padding:8px}.room-booking-confirm-language-switch{gap:6px}.room-booking-confirm-language-switch .btn,.room-booking-confirm-actions>.btn{min-height:32px;padding:0 10px;font-size:11px}.room-booking-confirm-top-grid{gap:5px}.room-booking-confirm-top-card{padding:6px 7px}.room-booking-confirm-fact-label{font-size:9px}.room-booking-confirm-fact-value{font-size:11px}.room-booking-modal-head,.room-booking-modal-actions,.room-booking-detail-row,.room-booking-confirm-head{flex-direction:column;align-items:stretch}.room-booking-modal-head{gap:10px}.room-booking-modal-head .muted{font-size:12px;line-height:1.4}.room-booking-editor-title{font-size:18px;line-height:1.25}.room-booking-modal-actions{flex-direction:row;justify-content:flex-start;gap:6px}.room-booking-modal-actions>.btn{flex:calc(50% - 6px);width:auto;min-width:0;min-height:34px;padding:7px 8px;font-size:11px}.room-booking-modal-body{gap:8px;margin-top:8px}.room-booking-overview-grid{grid-template-columns:1fr;gap:8px}.room-booking-overview-main{gap:8px}.room-booking-overview-grid .room-booking-detail-panel{gap:7px;padding:10px}.room-booking-overview-grid .room-booking-money-panel{gap:6px;padding:10px}.villa-month-calendar-hero{grid-template-columns:1fr}.villa-month-calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.villa-month-calendar-panel{padding:12px}.villa-month-calendar-weekdays,.villa-month-calendar-grid{gap:6px}.villa-month-calendar-weekday{padding:8px 6px;font-size:10px}.villa-month-calendar-cell{border-radius:var(--r-lg);min-height:124px;padding:8px}.villa-month-calendar-cell-day{font-size:15px}.villa-month-calendar-today-chip{min-height:20px;font-size:10px}.villa-month-calendar-day-card{border-radius:var(--r-md);min-height:88px;padding:8px}.villa-month-calendar-day-title,.villa-month-calendar-day-card span,.villa-month-calendar-booking-meta{font-size:10px}.villa-month-calendar-day-card strong,.villa-month-calendar-booking-top strong{font-size:12px}.room-booking-details-grid,.room-booking-confirm-grid{grid-template-columns:1fr}.room-booking-details-grid.room-booking-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-booking-detail-card,.room-booking-detail-panel{border-radius:var(--r-lg);padding:12px}.room-booking-detail-card strong,.room-booking-detail-row strong,.room-booking-detail-row span:last-child{overflow-wrap:anywhere;word-break:break-word}.room-booking-detail-row{gap:6px}.room-booking-detail-row span:first-child{font-size:12px}.room-booking-detail-row strong,.room-booking-detail-row span:last-child{text-align:left;width:100%;font-size:14px;line-height:1.35}.room-booking-detail-notes strong{text-align:left}}.room-schedule-unassigned-head{background:#fee2e2e6;border-top:1px solid #b91c1c59;border-bottom:1px solid #b91c1c40}.room-schedule-unassigned-head .room-schedule-area-cell{color:#b91c1c;background:#fee2e2}.room-schedule-unassigned-hint{left:calc(var(--room-schedule-label-width) + 12px);color:#b91c1c;padding:6px 12px;font-size:.78rem;font-weight:600;display:inline-block;position:sticky}.room-schedule-unassigned-row{background:#fef2f2b3}.room-schedule-unassigned-row .room-schedule-room-cell{color:#991b1b;background:#fef2f2;font-weight:600}.room-schedule-unassigned-label{font-weight:700;color:#dc2626!important}.room-booking-bar.room-booking-bar-unassigned{color:#fff;background:#dc2626;border-color:#b91c1c;box-shadow:0 0 0 2px #dc262640,0 4px 10px #b91c1c40}.room-booking-bar.room-booking-bar-unassigned .room-booking-bar-title,.room-booking-bar.room-booking-bar-unassigned .room-booking-guest-name{color:#fff}.room-booking-bar.room-booking-bar-unassigned:hover{background:#b91c1c}.room-schedule-row.is-ota-auto .room-schedule-room-cell{background:#ecfdf5;box-shadow:inset 4px 0 #059669}.room-schedule-ota-auto-badge{white-space:nowrap;color:#fff;letter-spacing:.02em;background:#059669;border-radius:999px;justify-self:start;width:fit-content;padding:1px 6px;font-size:.66rem;font-weight:700;line-height:1.5;display:inline-block}.room-schedule-row.is-ota-auto .room-schedule-room-cell-interactive:hover{background:#dcf5e8}.admin-room-areas-layout{grid-template-columns:minmax(320px,392px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.admin-room-areas-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-room-areas-list-card,.admin-room-areas-table-wrap .table{min-width:0}.admin-room-areas-table-wrap .table th,.admin-room-areas-table-wrap .table td{padding:10px 8px;font-size:12px}.admin-room-areas-table-wrap .row{gap:6px}.admin-room-areas-table-wrap .btn{min-height:34px;padding:8px 10px;font-size:12px}@media (width<=1180px){.admin-room-areas-layout{grid-template-columns:1fr}}@media (width<=640px){.admin-room-areas-form-grid{grid-template-columns:1fr}}.admin-villa-settings-layout{grid-template-columns:minmax(320px,392px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.admin-villa-settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-villa-settings-panels{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.admin-villa-settings-panels>.detail-card,.admin-villa-settings-table-wrap .table{min-width:0}.admin-villa-settings-table-wrap .table th,.admin-villa-settings-table-wrap .table td{padding:10px 8px;font-size:12px}.admin-villa-settings-table-wrap .row{gap:6px}.admin-villa-settings-table-wrap .btn{min-height:34px;padding:8px 10px;font-size:12px}@media (width<=1180px){.admin-villa-settings-layout{grid-template-columns:1fr}}@media (width<=900px){.admin-villa-settings-panels{grid-template-columns:1fr}}@media (width<=640px){.admin-villa-settings-form-grid{grid-template-columns:1fr}}.villa-service-page{flex-direction:column;gap:18px;display:flex}.villa-service-hero{border-radius:var(--r-lg);background:var(--c-sand);box-shadow:none;border:1px solid #05966929;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;padding:22px;display:grid}.villa-service-hero h2{font-size:var(--fs-h1);letter-spacing:-.4px;margin:10px 0 8px}.villa-service-hero-copy{max-width:64ch}.villa-service-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.villa-service-summary-card{border-radius:var(--r-lg);color:#fff;background:#0f172af0;border:1px solid #05966929;min-height:132px;padding:16px}.villa-service-summary-card span{text-transform:uppercase;letter-spacing:.08em;color:#ffffffb3;font-size:12px;display:block}.villa-service-summary-card strong{color:#facc15;margin-top:8px;font-size:20px;display:block}.villa-service-summary-card--top-services strong{color:#fff}.villa-service-top-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.villa-service-top-item{border-radius:var(--r-md);background:#ffffff14;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.villa-service-top-item strong{border-radius:var(--r-md);color:#fde047;background:#facc152e;place-items:center;width:28px;height:28px;margin:0;font-size:13px;display:grid}.villa-service-top-item span{color:#f8fafc;text-transform:none;letter-spacing:normal}.villa-service-top-item b{color:#86efac}.villa-service-tabs{background:#fffffff5;border:1px solid #0596692e;border-radius:999px;gap:10px;width:fit-content;padding:6px;display:inline-flex}.villa-service-tab{color:#33584a;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 16px;font-weight:600}.villa-service-tab.is-active{background:var(--c-pine);color:#fff;box-shadow:var(--shadow-pop)}.villa-service-toolbar{flex-direction:column;gap:16px;display:flex}.villa-service-toolbar-main{grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:12px;display:grid}.villa-service-toolbar-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.villa-service-toggle{background:#05966914;border-radius:999px;padding:4px;display:inline-flex}.villa-service-toggle-btn{color:#35553d;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 14px;font-weight:700}.villa-service-toggle-btn.is-active{color:var(--primary-dark);box-shadow:none;background:#fff}.villa-service-order-list,.villa-service-list,.villa-service-top-list,.villa-service-calendar-day-list{flex-direction:column;gap:12px;display:flex}.villa-service-order-card,.villa-service-item,.villa-service-calendar-day{border-radius:var(--r-lg);box-shadow:none;background:#fffffff5;border:1px solid #94a3b833;padding:18px}.villa-service-order-card-head,.villa-service-line-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.villa-service-order-title,.villa-service-item-title{letter-spacing:-.2px;margin-bottom:4px;font-size:18px;font-weight:700}.villa-service-order-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.villa-service-status,.villa-service-kind{border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.villa-service-status.is-open{color:#b45309;background:#f59e0b1f}.villa-service-status.is-completed{color:#047857;background:#0596691f}.villa-service-status.is-cancelled{color:#b91c1c;background:#ef44441f}.villa-service-kind{color:var(--c-ink-2);background:#0f172a0f}.villa-service-order-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.villa-service-order-cell,.villa-service-total-box{border-radius:var(--r-lg);background:#f1fdf8c7;border:1px solid #0596691f;padding:12px 14px}.villa-service-order-cell span,.villa-service-total-box span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;display:block}.villa-service-order-cell strong,.villa-service-total-box strong{margin-top:5px;font-size:15px;display:block}.villa-service-order-note{border-radius:var(--r-lg);color:var(--c-ink-2);background:#f8fafcdb;margin-top:12px;padding:12px 14px}.villa-service-order-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.villa-service-calendar{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.villa-service-calendar-day-head,.villa-service-calendar-item-foot,.villa-service-modal-footer,.villa-service-deposit-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.villa-service-calendar-day-head span{color:var(--muted);font-size:12px}.villa-service-calendar-item{border-radius:var(--r-lg);background:#f1fdf8c2;border:1px solid #0596691f;padding:12px}.villa-service-calendar-item-title{margin-bottom:4px;font-size:14px;font-weight:600}.villa-service-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:18px;display:grid}.villa-service-panel-title{margin-bottom:12px;font-size:18px;font-weight:700}.villa-service-checkbox{align-items:center;gap:8px;font-weight:700;display:inline-flex}.villa-service-vendor-editor{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.villa-service-chip-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.villa-service-chip{color:var(--c-success);cursor:pointer;background:#f1fdf8db;border:1px solid #05966929;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-weight:700;display:inline-flex}.villa-service-chip.is-static{cursor:default}.villa-service-modal-overlay{z-index:320;background:#0f172a7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.villa-service-modal{border-radius:var(--r-lg);width:min(1180px,100%);max-height:min(92vh,920px);box-shadow:var(--shadow-pop);background:#fff;border:1px solid #0596692e;overflow:auto}.villa-service-modal-head{z-index:1;background:var(--c-surface);border-bottom:1px solid #0596691f;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 16px;display:flex;position:sticky;top:0}.villa-service-modal-head h3{margin:0 0 6px}.villa-service-modal-body{flex-direction:column;gap:16px;padding:18px 22px 22px;display:flex}.villa-service-modal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.villa-service-deposit-field{min-width:220px}.villa-service-line-panel{border-radius:var(--r-lg);background:#f8fafccc;border:1px solid #94a3b82e;padding:14px}.villa-service-order-line{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 140px 100px 140px 150px auto;align-items:center;gap:10px;display:grid}.villa-service-line-total{color:var(--c-ink);font-weight:600}.villa-service-modal-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=1180px){.villa-service-toolbar-main,.villa-service-modal-grid,.villa-service-modal-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.villa-service-order-line{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=920px){.villa-service-hero,.villa-service-grid,.villa-service-summary-cards{grid-template-columns:1fr}.villa-service-toolbar-actions,.villa-service-modal-footer,.villa-service-line-head,.villa-service-order-card-head,.villa-service-deposit-row{flex-direction:column;align-items:stretch}.villa-service-order-badges{justify-content:flex-start}}@media (width<=640px){.villa-service-tabs{border-radius:var(--r-lg);flex-wrap:wrap;width:100%}.villa-service-toolbar-main,.villa-service-order-grid,.villa-service-modal-grid,.villa-service-modal-summary,.villa-service-order-line,.villa-service-vendor-editor{grid-template-columns:1fr}.villa-service-item{flex-direction:column}}.admin-rooms-modal-overlay{z-index:420;background:#0f172a52;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.admin-rooms-modal{border-radius:var(--r-lg);width:min(960px,100%);max-height:min(88vh,960px);box-shadow:var(--shadow-pop);background:#fffffffa;border:1px solid #0f172a1a;padding:18px;overflow:auto}.admin-rooms-modal-head,.admin-rooms-modal-actions{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-rooms-modal-title{font-size:18px;font-weight:600}.admin-rooms-modal-body{gap:14px;margin-top:16px;display:grid}.admin-rooms-modal-actions{flex-wrap:wrap;justify-content:flex-end}.admin-room-status-stack{gap:6px;display:grid}.admin-room-name{font-weight:700}.admin-room-subline{font-size:12px}.admin-room-status-badge{border-radius:var(--r-md);border:1px solid #0000;justify-content:center;align-items:center;width:fit-content;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.admin-room-status-badge.operating{color:var(--c-success);background:var(--c-success-soft);border-color:#b7dfc4}.admin-room-status-badge.paused{color:var(--c-ink-3);background:#f3f4f6;border-color:#d1d5db}.admin-room-status-badge.operational{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.admin-room-status-badge.ooi{color:#9a3412;background:#ffedd5;border-color:#fdba74}.admin-room-status-badge.needs-repair{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.admin-room-repair-note{color:#991b1b;margin-top:6px;font-size:12px}.admin-room-actions-cell{min-width:280px}.admin-room-mobile-grid{display:none}.admin-room-mobile-card{border-radius:var(--r-md);box-shadow:none;background:#fffffff5;border:1px solid #94a3b833;gap:10px;padding:12px;display:grid}.admin-room-mobile-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-room-mobile-check{align-items:center;gap:8px;display:inline-flex}.admin-room-mobile-code{color:var(--c-ink);font-size:15px;font-weight:600}.admin-room-mobile-type{color:var(--c-ink-3);text-align:right;font-size:12px;font-weight:700}.admin-room-mobile-meta{gap:8px;display:grid}.admin-room-mobile-meta-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-room-mobile-meta-row>span{color:var(--c-ink-3);font-size:12px}.admin-room-mobile-meta-row>strong{color:var(--c-ink);font-size:13px}.admin-room-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-room-action-btn{border-radius:var(--r-md);letter-spacing:.01em;min-height:34px;box-shadow:none;background:#fff;border:1px solid #94a3b847;padding:8px 12px;font-size:12px;font-weight:700;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s}.admin-room-action-btn:hover:not(:disabled){box-shadow:none;transform:translateY(-1px)}.admin-room-action-btn--ghost{color:var(--c-ink);background:#fff;border-color:#94a3b852}.admin-room-action-btn--primary{color:#fff;background:var(--c-info);border-color:#2563eb47}.admin-room-action-btn--warning{color:#9a3412;background:#ffedd5;border-color:#fdba74}.admin-room-action-btn--success{color:var(--c-success);background:var(--c-success-soft);border-color:#b7dfc4}.admin-room-action-btn--danger{color:#fff;background:var(--c-error);border-color:#ef444447}.admin-room-history-card{margin-top:18px}.admin-room-history-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.admin-room-history-switch{flex-wrap:wrap;gap:10px;display:inline-flex}.admin-room-history-chip{border-radius:999px}.admin-room-history-chip.active{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.admin-room-share-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-room-share-modal{width:min(1180px,100%)}.admin-room-share-villas{flex-wrap:wrap;gap:6px;display:flex}.admin-room-share-chip{color:#0f766e;background:#0f766e1a;border:1px solid #0f766e2e;border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.admin-room-share-link{word-break:break-all;max-width:100%;font-size:12px;line-height:1.45;display:inline-block}@media (width<=768px){.admin-room-mobile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.table-wrap{display:none}.admin-rooms-modal-overlay{align-items:end;padding:10px}.admin-rooms-modal{border-radius:22px 22px 0 0;width:100%;max-height:92vh;padding:16px}.admin-rooms-modal-head,.admin-rooms-modal-actions,.admin-room-history-head{flex-direction:column;align-items:stretch}.admin-room-actions-cell{min-width:240px}.admin-room-mobile-card{gap:8px}.admin-room-actions{gap:6px}.admin-room-action-btn{flex:calc(50% - 6px);justify-content:center;min-height:32px;padding:7px 10px;font-size:11px}}.admin-room-ota-toggle{cursor:pointer;color:#3d5a4f;font:inherit;background:#fff;border:1px dashed #2d5a4666}.admin-room-ota-toggle.is-on{color:#047857;background:#d1fae5;border:1px solid #047857}.admin-room-ota-toggle:disabled{opacity:.6;cursor:wait}.villa-type-image-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.villa-type-image-card{overflow:hidden}.villa-type-image-preview{background:#f2f7f5;border-radius:14px;place-items:center;height:210px;display:grid;overflow:hidden}.villa-type-image-preview img{object-fit:cover;width:100%;height:100%}.villa-type-image-fields{gap:12px;padding-top:14px;display:grid}.villa-type-upload-button{cursor:pointer;justify-self:start;position:relative;overflow:hidden}.villa-type-upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.villa-type-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.villa-type-photo{background:#f7faf8;border:1px solid #dce8e1;border-radius:10px;overflow:hidden}.villa-type-photo>img{object-fit:cover;width:100%;height:130px;display:block}.villa-type-photo>div{flex-wrap:wrap;gap:5px;padding:7px;display:flex}.villa-type-photo .btn{padding:5px 8px;font-size:12px}.lazhost-channel-section{background:var(--c-sand);min-height:calc(100vh - 88px)}.lazhost-channel-page{gap:20px;display:grid}.lazhost-channel-hero{border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:none;background:#fffffff0;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px;display:flex}.lazhost-channel-hero-copy{gap:10px;max-width:720px;display:grid}.lazhost-channel-hero-copy .badge{justify-self:flex-start}.lazhost-channel-title{color:var(--c-ink);font-size:var(--fs-h1);letter-spacing:-.04em;margin:0;line-height:1.05}.lazhost-channel-subtitle{color:#5f6f66;max-width:72ch;margin:0}.lazhost-channel-hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.lazhost-channel-stats,.lazhost-summary-strip,.lazhost-pricing-card-grid,.lazhost-mapping-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.lazhost-mapping-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.lazhost-channel-stat-card,.lazhost-summary-card{border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);min-height:136px;box-shadow:none;gap:8px;padding:18px;display:grid}.lazhost-channel-stat-card span,.lazhost-summary-card span,.lazhost-mapping-grid span,.lazhost-rateplan-meta span{color:var(--c-ink-3);font-size:13px}.lazhost-channel-stat-card strong,.lazhost-summary-card strong,.lazhost-rateplan-price{color:var(--c-ink);font-size:var(--fs-h1);letter-spacing:-.04em;line-height:1}.lazhost-channel-stat-card small,.lazhost-summary-card small{color:#7b8b83}.lazhost-channel-route-tabs{border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:none;background:#ffffffe6;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;display:grid}.lazhost-channel-route-tab{border-radius:var(--r-lg);color:var(--text);background:#ffffffad;border:1px solid #0596691f;gap:6px;padding:14px 16px;text-decoration:none;transition:transform .14s,background .14s,border-color .14s;display:grid}.lazhost-channel-route-tab:hover,.lazhost-channel-route-tab.active{background:var(--c-surface);box-shadow:none;border-color:#05966947;transform:translateY(-1px)}.lazhost-channel-route-tab span{color:var(--c-ink);font-weight:600}.lazhost-channel-route-tab small{color:var(--c-ink-3);line-height:1.45}.lazhost-channel-toolbar{border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:none;background:#fffffff0;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.lazhost-channel-toolbar-title{color:var(--c-ink);margin-bottom:6px;font-size:22px;font-weight:600}.lazhost-inline-field{min-width:160px;margin-top:0}.lazhost-view-modes{flex-wrap:wrap;align-self:flex-end;gap:8px;display:flex}.lazhost-flash{border-radius:var(--r-lg);border-left:4px solid #0000;padding:16px 18px}.lazhost-flash--success{background:#e9f9efdb;border-left-color:#059669d9}.lazhost-flash--info{background:#eff6ffd1;border-left-color:#3b82f6b8}.lazhost-pricing-shell{border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:none;gap:18px;padding:20px;display:grid;position:relative;overflow:visible}.lazhost-pricing-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.lazhost-pricing-property-field{min-width:220px;margin-top:0}.lazhost-pricing-property-field .field-label{color:var(--c-ink-3)}.lazhost-pricing-property-field .select{border-color:var(--c-line);min-height:44px;color:var(--c-ink);box-shadow:none;background:#fffffff5}.lazhost-pricing-actions{justify-content:flex-end}.lazhost-pricing-shell .btn{border-color:var(--c-line);color:var(--c-ink);box-shadow:none;background:#fffffff5}.lazhost-pricing-shell .btn:hover{background:#f0fdf4f5;border-color:#81c79bf5}.lazhost-pricing-shell .btn.primary{color:#fff;background:var(--c-pine);border-color:#1665342e}.lazhost-pricing-shell .btn.primary:hover{background:var(--c-pine-hover)}.lazhost-pricing-list{gap:10px;display:grid}.lazhost-pricing-row{border:1px solid var(--c-line);border-radius:var(--r-lg);min-height:82px;box-shadow:none;background:#fffffff5;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.lazhost-pricing-row-copy{gap:8px;min-width:0;display:grid}.lazhost-pricing-row-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lazhost-pricing-row-title h3{color:var(--c-ink);margin:0;font-size:16px;font-weight:600}.lazhost-pricing-row-badges{flex-wrap:wrap;gap:8px;display:flex}.lazhost-pricing-row-badge{border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.lazhost-pricing-row-badge.primary{color:#1d4ed8;background:#dbeafee6}.lazhost-pricing-row-badge.success{color:var(--c-success);background:#dcfce7eb}.lazhost-pricing-row-subtitle{color:var(--c-ink-3);font-size:14px}.lazhost-pricing-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.lazhost-pricing-action-link{border:0;min-height:auto;padding-inline:0;color:#3d5c50!important;box-shadow:none!important;background:0 0!important}.lazhost-pricing-action-link:hover{text-decoration:underline;color:var(--c-ink)!important}.lazhost-pricing-modal-backdrop{z-index:1000;background:#0f172a42;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.lazhost-pricing-modal{border:1px solid var(--c-line);border-radius:var(--r-lg);width:min(100%,860px);max-height:none;box-shadow:none;background:#fffffffc;flex-direction:column;display:flex;overflow:visible}.lazhost-pricing-modal-header,.lazhost-pricing-modal-footer{border-bottom:1px solid var(--c-line);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.lazhost-pricing-modal-footer{border-top:1px solid var(--c-line);border-bottom:0;justify-content:flex-end}.lazhost-pricing-modal-header h3{color:var(--c-ink);margin:0 0 6px;font-size:22px}.lazhost-pricing-modal-header p{color:var(--c-ink-3);margin:0;line-height:1.55}.lazhost-pricing-modal-close{flex-shrink:0}.lazhost-pricing-modal-body{flex:1;gap:18px;padding:22px;display:grid}.lazhost-pricing-modal-section{border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);gap:14px;padding:18px;display:grid}.lazhost-pricing-modal-section h4{color:var(--c-ink);margin:0;font-size:16px}.lazhost-pricing-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.lazhost-pricing-modal-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.lazhost-pricing-modal .field{margin-top:0}.lazhost-pricing-modal .field-label{color:#3d5c50}.lazhost-pricing-modal .input,.lazhost-pricing-modal .select{border-color:var(--c-line);min-height:46px;color:var(--c-ink);box-shadow:none;background:#fffffffa}.lazhost-pricing-checkbox{color:var(--c-ink);align-items:flex-start;gap:10px;display:flex}.lazhost-pricing-checkbox input{accent-color:var(--c-pine);margin-top:3px}.lazhost-pricing-room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.lazhost-pricing-room-checkbox{border:1px solid var(--c-line);border-radius:var(--r-lg);background:#fffffffa;min-height:46px;padding:12px 14px}.lazhost-pricing-field-error{color:#fca5a5;font-size:12px;font-weight:600}.lazhost-pricing-top{grid-template-columns:1.2fr .8fr;gap:14px;display:grid}.lazhost-pricing-cta,.lazhost-side-log{border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:none;background:#fffffff0;gap:12px;padding:20px 22px;display:grid}.lazhost-pricing-cta h3,.lazhost-side-log h3,.lazhost-rateplan-card h3,.lazhost-bulk-card h3,.lazhost-mapping-progress h3,.lazhost-mapping-card h3{margin:0}.lazhost-side-log ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.lazhost-side-log li{border-radius:var(--r-lg);border:1px solid var(--c-line);background:#f8fafceb;gap:6px;padding:12px;display:grid}.lazhost-rateplan-card{border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:none;background:#fffffff2;gap:14px;padding:20px 22px;display:grid}.lazhost-rateplan-card-head,.lazhost-mapping-card-head,.lazhost-board-toolbar,.lazhost-mapping-toolbar,.lazhost-selection-block{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.lazhost-plan-badge,.lazhost-status-pill{border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.lazhost-plan-badge{color:var(--c-ink);background:#0f172a14}.lazhost-status-pill.success{color:var(--c-success);background:#dcfce7f0}.lazhost-status-pill.pending{color:#92400e;background:#fef9c3f2}.lazhost-status-pill.warning{color:#9a3412;background:#fed7aacc}.lazhost-status-pill.failed{color:#b91c1c;background:#fee2e2f2}.lazhost-rateplan-meta{flex-wrap:wrap;gap:8px;display:flex}.lazhost-rateplan-meta span{border:1px solid var(--c-line);background:#f8fafcf0;border-radius:999px;padding:8px 10px}.lazhost-rateplan-room-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.lazhost-rateplan-room-chip{border-radius:var(--r-lg);border:1px solid var(--c-line);background:#f8fafcf0;justify-content:space-between;gap:10px;padding:10px 12px;display:flex}.lazhost-rates-shell{gap:18px;display:grid}.lazhost-rates-topbar{grid-template-columns:minmax(280px,1.4fr) minmax(260px,.9fr);gap:16px;display:grid}.lazhost-rates-property-card,.lazhost-rates-stat-card{border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:none;background:#fffffff2;padding:20px 22px}.lazhost-rates-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.lazhost-rates-stat-card{gap:4px;display:grid}.lazhost-rates-stat-card strong{color:var(--c-ink);font-size:var(--fs-h1);line-height:1}.lazhost-rates-stat-card span{color:var(--c-ink);font-weight:700}.lazhost-rates-stat-card small,.lazhost-board-toolbar-note span{color:var(--c-ink-3)}.lazhost-rates-board-card{gap:18px}.lazhost-rates-board-head,.lazhost-rates-board-actions,.lazhost-rates-board-title,.lazhost-rates-date-nav{align-items:center;gap:12px;display:flex}.lazhost-rates-push-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.lazhost-rates-push-button{white-space:nowrap}.lazhost-rates-push-select{width:clamp(150px,20vw,240px)}.lazhost-rates-board-head{justify-content:space-between}.lazhost-rates-board-title h3{margin:0}.lazhost-rates-calendar-icon{border-radius:var(--r-lg);background:#dcfce7eb;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:inline-flex}.lazhost-rates-date-nav{border:1px solid var(--c-line);background:#f8fafce6;border-radius:999px;padding:6px 10px}.lazhost-rates-date-nav strong{text-align:center;min-width:210px;color:var(--c-ink);font-size:14px}.lazhost-rates-range-picker{border:1px solid var(--c-line);border-radius:var(--r-lg);background:#f8fafcb8;align-items:flex-end;gap:8px;padding:6px 8px;display:flex}.lazhost-rates-range-picker .field{gap:3px;margin:0}.lazhost-rates-range-picker .field-label{font-size:11px}.lazhost-rates-range-picker .input{width:145px;min-height:34px;padding:5px 8px}.lazhost-board-toolbar-note{justify-items:end;display:grid}.lazhost-board-toolbar-note strong{color:var(--c-ink);font-size:18px}.lazhost-rate-header-badge{width:28px;height:28px;color:var(--c-success);background:#dcfce7f2;border-radius:999px;justify-content:center;align-items:center;margin:0 auto 6px;font-size:11px;font-weight:600;display:inline-flex}.lazhost-rate-group-summary{color:var(--c-ink-3);margin-top:4px;font-size:13px;line-height:1.45}.lazhost-rate-group-spacer{height:12px}.lazhost-rate-plan-label{margin-top:10px;font-weight:700}.lazhost-rate-cell{padding:8px!important}.lazhost-rate-cell.changed{background:#f0fdf4eb!important}.lazhost-rate-cell-button{border:1px solid var(--c-line);border-radius:var(--r-md);width:100%;min-height:46px;color:var(--c-ink);font:inherit;cursor:pointer;background:#fffffff5;font-weight:700;box-shadow:inset 0 0 0 1px #fff6}.lazhost-rate-cell-button:hover{background:#f0fdf4f2;border-color:#81c79bf5}.lazhost-rate-cell-editor{border-radius:var(--r-md);width:100%;min-height:46px;color:var(--c-ink);font:inherit;background:#fff;border:1px solid #1f8f5861;padding:0 10px;font-weight:700;box-shadow:0 0 0 3px #22c55e1f}.lazhost-rate-cell-editor:focus{outline:none}.lazhost-rates-bulk-card{gap:18px}.lazhost-rates-bulk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.lazhost-rates-weekday-row{flex-wrap:wrap;gap:8px}.lazhost-weekday-pill{border:1px solid var(--c-line);color:#3d5c50;min-width:44px;min-height:40px;font:inherit;cursor:pointer;background:#f8fafcf0;border-radius:999px;padding:0 12px;font-weight:700}.lazhost-weekday-pill.active{color:#fff;background:var(--c-pine);border-color:#1f8f5829}.lazhost-inline-link{color:var(--c-pine);margin-top:10px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.lazhost-inline-link:hover{text-decoration:underline}.lazhost-board-card,.lazhost-bulk-card{border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:none;background:#fffffff2;gap:16px;padding:20px 22px;display:grid}.lazhost-inline-alert{border-radius:var(--r-lg);color:#9a3412;background:#fff7edf2;border:1px solid #fbbf245c;padding:12px 14px;font-size:14px;line-height:1.5}.lazhost-board-scroll{border:1px solid var(--c-line);border-radius:var(--r-lg);background:#f8fafcd1;width:100%;overflow:auto}.lazhost-board-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.lazhost-board-table th,.lazhost-board-table td{vertical-align:top;background:#ffffffe6;border-bottom:1px solid #0f172a14;border-right:1px solid #0f172a0a;min-width:88px;padding:10px}.lazhost-board-table th{z-index:2;text-align:center;background:#f8fafcfa;position:sticky;top:0;box-shadow:inset 0 -1px #d8e7dde6}.lazhost-board-table th small{color:var(--muted);font-size:11px}.lazhost-board-table .sticky-col{z-index:1;background:var(--c-surface);min-width:220px;max-width:220px;position:sticky;left:0}.lazhost-board-table .left-head{z-index:3}.lazhost-board-table tbody tr:hover td{background:#f0fdf4e0}.lazhost-board-table tbody tr:hover .sticky-col{background:var(--c-surface)}.lazhost-board-primary{font-weight:600}.lazhost-board-secondary{margin-top:4px;font-size:13px}.lazhost-grid-input{border-radius:var(--r-md);width:100%;font:inherit;background:#fffffff0;border:1px solid #0596692e;padding:8px 10px;font-size:13px;font-weight:700}.lazhost-grid-input:focus{border-color:#05966985;outline:none;box-shadow:0 0 0 3px #0596691f}.inventory-cell.open .lazhost-grid-input{background:#dcfce78c}.inventory-cell.few .lazhost-grid-input{background:#fef9c399}.inventory-cell.low .lazhost-grid-input{background:#fed7aa9e}.inventory-cell.soldout .lazhost-grid-input{background:#fee2e2b8}.inventory-cell small,.lazhost-board-table td small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.lazhost-table-empty{text-align:left;min-width:320px;color:var(--c-ink-3);padding:20px 18px;font-size:14px;line-height:1.6}.lazhost-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.lazhost-form-grid .field,.lazhost-conditions-grid .field{margin-top:0}.lazhost-form-grid .row{align-items:stretch}.lazhost-form-grid .row .input{flex:1 1 0;min-width:0}.lazhost-toggle-chip,.lazhost-legend-item{border:1px solid var(--c-line);color:var(--c-ink);background:#f8fafcf0;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:600;display:inline-flex}.lazhost-toggle-chip input,.lazhost-legend-item input{accent-color:var(--c-pine)}.lazhost-legend{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lazhost-legend-item.open{background:#dcfce7b8}.lazhost-legend-item.few{background:#fef9c3b8}.lazhost-legend-item.low{background:#fed7aab8}.lazhost-legend-item.soldout{background:#fee2e2cc}.lazhost-legend-note{color:var(--c-ink-3);font-size:13px}.lazhost-conditions-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;display:grid}.lazhost-mapping-toolbar{border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:none;background:#fffffff0;align-items:center;padding:18px 20px}.lazhost-search{min-width:240px}.lazhost-selection-block{align-items:stretch}.lazhost-selection-block>div{border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);flex:320px;padding:16px}.lazhost-mapping-progress{border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:none;background:#fffffff2;gap:14px;padding:20px 22px;display:grid}.lazhost-progress-bar{border:1px solid var(--c-line);background:#0f172a14;border-radius:999px;height:14px;overflow:hidden}.lazhost-progress-fill{border-radius:inherit;background:var(--c-pine);height:100%}.lazhost-access-card{border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:none;gap:14px;padding:20px 22px;display:grid}.lazhost-access-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.lazhost-access-grid>div{border:1px solid var(--c-line);border-radius:var(--r-lg);background:#f8fafceb;min-height:90px;padding:14px}.lazhost-access-grid strong{color:var(--c-ink);margin-top:6px;display:block}.lazhost-mapping-card{border:1px solid var(--c-line);border-radius:var(--r-lg);min-width:0;box-shadow:none;background:#fffffff2;gap:14px;padding:20px 22px;display:grid}.lazhost-mapping-card.dirty{box-shadow:none;border-color:#fbbf2475}.lazhost-mapping-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;display:grid}.lazhost-mapping-grid>div{border:1px solid var(--c-line);border-radius:var(--r-lg);background:#f8fafceb;min-height:88px;padding:14px}.lazhost-mapping-grid strong{color:var(--c-ink);overflow-wrap:anywhere;margin-top:4px;display:block}.lazhost-mapping-editor{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;display:grid}.lazhost-mapping-field{margin-top:0}.lazhost-mapping-field .input{min-height:44px}.lazhost-mapping-toggle-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lazhost-mapping-suggestions{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;display:grid}.lazhost-mapping-catalog-action{border:1px solid var(--c-line);border-radius:var(--r-lg);background:#f8fafceb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.lazhost-mapping-catalog-action>div{gap:4px;min-width:0;display:grid}.lazhost-mapping-catalog-action>div>strong{color:var(--c-ink)}.lazhost-mapping-catalog-action small{display:block}.lazhost-mapping-suggestions>div{border:1px solid var(--c-line);border-radius:var(--r-lg);background:#f8fafce6;padding:14px}.lazhost-mapping-suggestions>div>span{color:var(--c-ink-3);margin-bottom:10px;font-size:13px;font-weight:700;display:block}.lazhost-mapping-suggestions .row{flex-wrap:wrap;gap:8px}.lazhost-mapping-suggestions .btn{min-height:38px;padding:8px 12px}.lazhost-mapping-errors,.lazhost-mapping-success{border-radius:var(--r-lg);padding:14px 16px;font-size:14px;line-height:1.55}.lazhost-mapping-errors{color:#b91c1c;background:#fef2f2eb;border:1px solid #f8717147}.lazhost-mapping-errors>div+div{margin-top:6px}.lazhost-mapping-success{color:var(--c-success);background:#f0fdf4eb;border:1px solid #22c55e33}.lazhost-pricing-card-grid>.card,.lazhost-summary-strip>.card,.lazhost-mapping-list>.card{overflow:visible}.lazhost-mapping-list>.card.muted{border:1px dashed var(--c-line);border-radius:var(--r-lg);background:#ffffffd1;padding:20px 22px}.lazhost-bulk-card .section-head,.lazhost-board-card .section-head{margin-bottom:0}.lazhost-bulk-card .section-head h3,.lazhost-board-card .section-head h3,.lazhost-pricing-cta h3,.lazhost-side-log h3,.lazhost-rateplan-card h3,.lazhost-mapping-progress h3,.lazhost-mapping-card h3{color:var(--c-ink)}.lazhost-rates-page .lazhost-channel-page,.lazhost-rates-page .lazhost-rates-shell{gap:10px}.lazhost-rates-page .lazhost-channel-hero,.lazhost-rates-page .lazhost-channel-toolbar{gap:10px;padding:11px 14px}.lazhost-rates-page .lazhost-channel-hero-copy{gap:3px}.lazhost-rates-page .lazhost-channel-title{font-size:20px}.lazhost-rates-page .lazhost-channel-subtitle,.lazhost-rates-page .lazhost-channel-toolbar .muted,:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-board-title .muted,.lazhost-rates-page .lazhost-rates-bulk-card .muted{font-size:12px;line-height:1.35}.lazhost-rates-page .lazhost-channel-stats,.lazhost-rates-page .lazhost-rates-topbar,.lazhost-rates-page .lazhost-rates-stat-grid{gap:8px}.lazhost-rates-page .lazhost-channel-stat-card{gap:2px;min-height:76px;padding:9px 11px}.lazhost-rates-page .lazhost-channel-stat-card strong,.lazhost-rates-page .lazhost-rates-stat-card strong{font-size:20px}.lazhost-rates-page .lazhost-channel-stat-card span,.lazhost-rates-page .lazhost-channel-stat-card small,.lazhost-rates-page .lazhost-rates-stat-card span,.lazhost-rates-page .lazhost-rates-stat-card small{font-size:11px;line-height:1.3}.lazhost-rates-page .lazhost-channel-toolbar-title{margin-bottom:2px;font-size:17px}.lazhost-rates-page .lazhost-channel-toolbar .row,.lazhost-rates-page .lazhost-channel-hero-actions,:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-board-actions{gap:6px}.lazhost-rates-page .btn,.lazhost-rates-page .input,.lazhost-rates-page .select{min-height:34px;padding:6px 10px;font-size:12px}.lazhost-rates-page .lazhost-inline-field{min-width:130px}.lazhost-rates-page .lazhost-inline-field .field-label,.lazhost-rates-page .lazhost-rates-bulk-card .field-label{font-size:11px}.lazhost-rates-page .lazhost-rates-property-card,.lazhost-rates-page .lazhost-rates-stat-card,.lazhost-rates-page .lazhost-board-card,.lazhost-rates-page .lazhost-bulk-card{gap:8px;padding:10px 12px}.lazhost-rates-page .lazhost-rates-property-card .select{min-height:34px}.lazhost-rates-page .lazhost-pricing-property-field{min-width:0}:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-board-head,:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-board-actions,:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-board-title,:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-date-nav{gap:6px}:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-board-actions{flex-wrap:wrap;justify-content:flex-end}:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-range-picker{gap:6px;padding:4px 6px}:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-range-picker .input{width:132px;min-height:32px;font-size:12px}:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-board-title h3,.lazhost-rates-page .lazhost-rates-bulk-card h3{font-size:16px}:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-calendar-icon{width:30px;height:30px;font-size:15px}:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-date-nav{padding:2px 4px}:is(.lazhost-rates-page,.lazhost-inventory-page) .lazhost-rates-date-nav strong{min-width:155px;font-size:12px}.lazhost-rates-page .lazhost-board-toolbar{align-items:center;gap:8px}.lazhost-rates-page .lazhost-board-toolbar-note strong{font-size:15px}.lazhost-rates-page .lazhost-board-toolbar-note span{font-size:11px}.lazhost-rates-page .lazhost-rates-push-button{font-weight:700}.lazhost-rates-page .lazhost-inline-alert,.lazhost-rates-page .lazhost-flash{padding:8px 10px;font-size:12px;line-height:1.35}.lazhost-rates-page .lazhost-board-table th,.lazhost-rates-page .lazhost-board-table td{min-width:72px;padding:5px 6px;font-size:12px}.lazhost-rates-page .lazhost-board-table .sticky-col{min-width:190px;max-width:190px}.lazhost-rates-page .lazhost-rate-header-badge{width:20px;height:20px;margin-bottom:3px;font-size:10px}.lazhost-rates-page .lazhost-rate-group-summary,.lazhost-rates-page .lazhost-board-secondary,.lazhost-rates-page .lazhost-board-table td small{margin-top:2px;font-size:10px;line-height:1.25}.lazhost-rates-page .lazhost-rate-group-spacer{height:4px}.lazhost-rates-page .lazhost-rate-cell{padding:4px!important}.lazhost-rates-page .lazhost-rate-cell-button,.lazhost-rates-page .lazhost-rate-cell-editor{min-height:32px;font-size:12px}.lazhost-rates-page .lazhost-rates-bulk-grid,.lazhost-rates-page .lazhost-rates-weekday-row{gap:8px}.lazhost-rates-page .lazhost-weekday-pill{min-width:34px;min-height:32px;padding:4px 8px;font-size:11px}@media (width<=900px){.lazhost-rates-page .lazhost-rates-push-actions,.lazhost-rates-page .lazhost-board-toolbar{flex-flow:wrap;justify-content:space-between;width:100%}.lazhost-rates-page .lazhost-rates-push-select{flex:160px;width:auto}.lazhost-rates-page .btn,.lazhost-rates-page .lazhost-rate-cell-button,.lazhost-rates-page .lazhost-rate-cell-editor{min-height:40px}}@media (width<=1180px){.lazhost-channel-stats,.lazhost-summary-strip,.lazhost-pricing-card-grid,.lazhost-form-grid,.lazhost-mapping-grid,.lazhost-access-grid,.lazhost-mapping-editor,.lazhost-mapping-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}.lazhost-pricing-top{grid-template-columns:1fr}.lazhost-channel-route-tabs,.lazhost-pricing-room-grid,.lazhost-pricing-modal-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.lazhost-rates-topbar,.lazhost-rates-stat-grid,.lazhost-rates-bulk-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.lazhost-channel-hero,.lazhost-channel-toolbar,.lazhost-board-toolbar,.lazhost-selection-block,.lazhost-mapping-toolbar,.lazhost-rateplan-card-head,.lazhost-mapping-card-head{flex-direction:column}.lazhost-channel-stats,.lazhost-summary-strip,.lazhost-pricing-card-grid,.lazhost-mapping-list,.lazhost-form-grid,.lazhost-mapping-grid,.lazhost-access-grid,.lazhost-mapping-editor,.lazhost-mapping-suggestions,.lazhost-conditions-grid,.lazhost-rateplan-room-list,.lazhost-channel-route-tabs{grid-template-columns:1fr}.lazhost-search{min-width:0}.lazhost-selection-block>div{flex-basis:auto}.lazhost-channel-hero-actions,.lazhost-view-modes{justify-content:flex-start;width:100%}.lazhost-pricing-toolbar,.lazhost-pricing-row,.lazhost-pricing-modal-header,.lazhost-pricing-modal-footer,.lazhost-rates-board-head,.lazhost-rates-board-actions,.lazhost-rates-board-title{flex-direction:column;align-items:stretch}.lazhost-pricing-actions,.lazhost-pricing-row-actions{justify-content:flex-start;width:100%}.lazhost-pricing-modal-grid,.lazhost-pricing-modal-grid--three,.lazhost-pricing-room-grid,.lazhost-rates-bulk-grid{grid-template-columns:minmax(0,1fr)}.lazhost-rates-date-nav{justify-content:space-between}.lazhost-rates-range-picker{flex-wrap:wrap;align-items:flex-end;width:100%}.lazhost-rates-range-picker .field{flex:140px}.lazhost-rates-range-picker .input{width:100%}.lazhost-rates-date-nav strong{flex:auto;min-width:0}.lazhost-board-table .sticky-col{min-width:180px;max-width:180px}}.lazhost-inventory-page .lazhost-board-card{padding:0;overflow:hidden}.lazhost-inventory-navigation{flex-wrap:wrap;align-items:center;gap:8px;padding:14px 18px 8px;display:flex}.lazhost-inventory-navigation h3{margin:0 12px 0 0;font-size:18px}.lazhost-inventory-navigation strong{font-size:13px}.lazhost-inventory-page .lazhost-board-toolbar{justify-content:flex-end;padding:8px 18px}.lazhost-inventory-page .lazhost-board-card .btn{min-height:32px;padding:6px 10px;font-size:12px}.lazhost-inventory-page .lazhost-legend{gap:12px;padding:8px 18px}.lazhost-inventory-page .lazhost-legend-item{background:0 0;border:0;padding:2px;font-size:11px}.lazhost-inventory-page .lazhost-board-scroll{border-radius:0;max-height:65vh}.lazhost-inventory-page .lazhost-board-table th,.lazhost-inventory-page .lazhost-board-table td{vertical-align:middle;width:72px;min-width:72px;padding:6px 4px;font-size:12px}.lazhost-inventory-page .lazhost-board-table .sticky-col{width:180px;min-width:180px;max-width:180px;padding:8px 12px}.lazhost-inventory-page .lazhost-board-primary{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.lazhost-inventory-page .lazhost-grid-input{text-align:center;background:0 0;border-color:#0000;width:64px;min-width:0;height:34px;padding:4px;font-size:12px;font-weight:600}.lazhost-inventory-page .lazhost-grid-input:focus{border-color:var(--c-line);background:#fff}.lazhost-inventory-page .lazhost-summary-card{padding:12px 16px}.lazhost-inventory-page .lazhost-summary-card strong{font-size:24px}.lazhost-villa-rate-group.villa-tone-0{--villa-group-bg:#eef7ff;--villa-group-accent:#73a9d6}.lazhost-villa-rate-group.villa-tone-1{--villa-group-bg:#f4effb;--villa-group-accent:#ac91cd}.lazhost-villa-rate-group.villa-tone-2{--villa-group-bg:#fff6e8;--villa-group-accent:#d7b16b}.lazhost-villa-rate-group.villa-tone-3{--villa-group-bg:#edf8f3;--villa-group-accent:#78b49e}.lazhost-rates-page .lazhost-board-table .lazhost-villa-rate-group>td{background:var(--villa-group-bg)}.lazhost-rates-page .lazhost-board-table .lazhost-villa-rate-group>.sticky-col{border-left:4px solid var(--villa-group-accent)}.lazhost-rates-page .lazhost-board-table .lazhost-villa-rate-group.group-start:not(:first-child)>td{border-top:3px solid var(--villa-group-accent)}.lazhost-rates-page .lazhost-villa-rate-group .lazhost-rate-cell-button{background:#ffffffd9}.lazhost-rates-page .lazhost-villa-rate-group .lazhost-rate-cell.changed{box-shadow:inset 0 -3px #179b72}.lazhost-inventory-bulk-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) repeat(3,minmax(0,1fr))}.lazhost-bulk-range{flex-wrap:nowrap;align-items:center;gap:8px}.lazhost-bulk-range .input{flex:1 1 0;min-width:0}@media (width<=1180px){.lazhost-inventory-bulk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lazhost-inventory-bulk-grid .lazhost-bulk-range-field{grid-column:1/-1}}@media (width<=640px){.lazhost-inventory-bulk-grid{grid-template-columns:minmax(0,1fr)}}.inventory-cell.has-lazhost-conflict{position:relative;box-shadow:inset 0 0 0 2px #e0a100}.lazhost-conflict-badge{color:#8a5a00;white-space:nowrap;margin-bottom:2px;font-size:10px;font-weight:700;line-height:1.2;display:block}.airbnb-rates-page{gap:16px;display:grid}.airbnb-rates-controls{flex-wrap:wrap;align-items:end;gap:12px;padding:16px;display:flex}.airbnb-rates-controls label{flex:1;gap:6px;min-width:160px;display:grid}.airbnb-rates-controls label span{color:var(--text-secondary,#52665f);font-size:.82rem;font-weight:650}.airbnb-rates-controls input,.airbnb-rates-controls select{min-height:42px;color:inherit;background:#fff;border:1px solid #cfe2d8;border-radius:8px;padding:8px 10px}.airbnb-rates-controls select{min-width:260px}.airbnb-rates-notice{background:#effbf4;border-color:#bce7d0;padding:12px 16px}.airbnb-rate-card{padding:16px}.airbnb-rate-card-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.airbnb-rate-card-head h3{margin:0 0 4px}.airbnb-rate-legend{color:#60746d;align-items:center;gap:7px;font-size:.8rem;display:flex}.airbnb-rate-legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.airbnb-rate-legend .available{background:#22a578;margin-left:8px}.airbnb-rate-legend .blocked{background:#9b8bd6;margin-left:8px}.airbnb-rate-scroll{border:1px solid #d8e6df;border-radius:10px;overflow-x:auto}.airbnb-rate-table{border-collapse:collapse;width:100%;min-width:900px;font-size:.84rem}.airbnb-rate-table th,.airbnb-rate-table td{text-align:center;border-bottom:1px solid #e3ece7;border-right:1px solid #e3ece7;min-width:115px;padding:12px 9px}.airbnb-rate-table th:first-child{text-align:left;z-index:1;background:#f6f9f7;min-width:130px;position:sticky;left:0}.airbnb-rate-table thead th{background:#f6f9f7;font-weight:700}.airbnb-rate-table td.available{background:#effbf5}.airbnb-rate-table td.blocked{color:#6955a9;background:#f4f0ff}.airbnb-rate-table td.empty{background:#fff}.airbnb-status-open,.airbnb-status-closed{font-size:.78rem;font-weight:650}.airbnb-status-open{color:#07835d}.airbnb-status-closed{color:#6955a9}.airbnb-rate-updated{margin-top:10px;display:block}.airbnb-rate-disclaimer{color:#6d7d76;font-size:.82rem;line-height:1.5}.airbnb-rate-logs{padding:12px 16px}.airbnb-rate-logs summary{cursor:pointer;font-weight:650}.airbnb-rate-logs ul{max-height:240px;margin:10px 0 0;padding-left:20px;font:.8rem/1.5 ui-monospace,monospace;overflow:auto}@media (width<=700px){.airbnb-rates-controls{align-items:stretch}.airbnb-rates-controls label,.airbnb-rates-controls select{min-width:100%}.airbnb-rate-card-head{flex-direction:column;align-items:start}}.airbnb-competitor-type{margin-top:5px;font-size:.75rem;font-weight:400;display:block}.airbnb-rate-table tbody th:first-child{min-width:220px}.vd-page{color:var(--c-ink);background:#fff;padding:24px 0 96px}.vd-container{max-width:1120px;margin:0 auto;padding:0 24px}.vd-back{color:var(--c-ink-2);font-size:var(--fs-small);margin-bottom:12px;text-decoration:none;display:inline-block}.vd-back:hover{text-decoration:underline}.vd-skeleton{color:var(--c-ink-3);padding:80px 0}.vd-muted{color:var(--c-ink-3);font-size:var(--fs-small);margin:4px 0 16px}.vd-title-row{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.vd-title-row h1{margin:0;font-size:clamp(1.5rem,1.2rem + 1vw,1.75rem);font-weight:600;line-height:1.25}.vd-title-actions{flex-shrink:0;gap:4px;display:flex}.vd-ghost-btn{font:inherit;font-size:var(--fs-small);color:var(--c-ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-weight:600;text-decoration:underline;display:inline-flex}.vd-ghost-btn:hover{background:var(--c-sand)}.vd-ghost-btn.is-saved span{color:var(--c-lantern)}.vd-mosaic{border-radius:16px;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr 1fr;gap:8px;height:min(56vw,440px);display:grid;position:relative;overflow:hidden}.vd-mosaic>button:not(.vd-all-photos){background:var(--c-paper);cursor:pointer;border:0;padding:0;overflow:hidden}.vd-mosaic img{object-fit:cover;width:100%;height:100%;transition:filter var(--dur) var(--ease);display:block}.vd-mosaic>button:hover img{filter:brightness(.86)}.vd-mosaic .is-cover{grid-row:1/span 2}.vd-mosaic--1{grid-template-columns:1fr}.vd-mosaic--2{grid-template-columns:1fr 1fr}.vd-mosaic--2>button{grid-row:1/span 2}.vd-mosaic--3{grid-template-columns:2fr 1fr}.vd-mosaic--4{grid-template-columns:2fr 1fr 1fr}.vd-mosaic--4>button:nth-child(4){grid-column:2/span 2}.vd-no-photo{background:var(--c-paper);color:var(--c-ink-3);grid-area:1/1/-1/-1;place-items:center;display:grid}.vd-all-photos{border:1px solid var(--c-ink);font:inherit;font-size:var(--fs-small);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:7px 14px;font-weight:600;display:inline-flex;position:absolute;bottom:20px;right:20px}.vd-all-photos:hover{background:var(--c-sand)}.vd-layout{grid-template-columns:minmax(0,1fr) 372px;align-items:start;gap:80px;display:grid}.vd-aside{top:calc(var(--header-h) + 88px);padding-top:32px;position:sticky}.vd-section{border-bottom:1px solid var(--c-line);padding:32px 0}.vd-section h2{margin:0 0 8px;font-size:1.375rem;font-weight:600}.vd-section h3{margin:0 0 8px;font-size:1rem}.vd-overview{padding-top:32px}.vd-overview h2{margin-bottom:4px}.vd-overview p{color:var(--c-ink-2);margin:0}.vd-wide{border-bottom:0;border-top:1px solid var(--c-line)}.vd-host{align-items:center;gap:16px;padding:24px 0;display:flex}.vd-host strong{display:block}.vd-host small{color:var(--c-ink-3)}.vd-host-avatar{background:var(--c-pine);color:#fff;letter-spacing:.04em;border-radius:50%;place-items:center;width:44px;height:44px;font-size:.75rem;font-weight:700;display:grid}.vd-highlights{gap:22px;display:grid}.vd-highlight{align-items:flex-start;gap:22px;display:flex}.vd-highlight-icon{text-align:center;width:28px;font-size:1.4rem}.vd-highlight strong{font-size:1rem;display:block}.vd-highlight p{color:var(--c-ink-3);font-size:var(--fs-small);margin:2px 0 0}.vd-description{white-space:pre-line;margin:0;line-height:1.6}.vd-description.is-clamped{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.vd-more{margin-top:12px}.vd-link-btn{font:inherit;color:var(--c-ink);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.vd-outline-btn{border:1px solid var(--c-ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;margin-top:24px;padding:12px 22px;font-weight:600}.vd-outline-btn:hover{background:var(--c-sand)}.vd-amenities{grid-template-columns:1fr 1fr;gap:16px 24px;margin:16px 0 0;padding:0;list-style:none;display:grid}.vd-amenities li{align-items:center;gap:16px;display:flex}.vd-amenities li span{text-align:center;width:24px;font-size:1.2rem}.vd-amenities .is-unavailable{color:var(--c-ink-3);text-decoration:line-through}.vd-amenities--list{grid-template-columns:1fr}.vd-amenities--list li{border-bottom:1px solid var(--c-line);padding-bottom:16px}.vd-calendar.is-loading{opacity:.5;pointer-events:none}.vd-calendar-foot{font-size:var(--fs-caption);color:var(--c-ink-3);flex-wrap:wrap;align-items:center;gap:16px;margin-top:12px;display:flex}.vd-calendar-foot .vd-link-btn{font-size:var(--fs-small);margin-left:auto}.vd-legend{align-items:center;gap:6px;display:inline-flex}.vd-legend-dot{background:var(--c-pine);border-radius:50%;width:10px;height:10px;display:inline-block}.vd-legend-dot.is-off{background:var(--c-line-strong)}.vd-card{border:1px solid var(--c-line);background:#fff;border-radius:12px;padding:24px;box-shadow:0 6px 16px #073b2e1f}.vd-card-price{margin-bottom:20px;font-size:1.375rem}.vd-card-price strong{font-weight:600}.vd-card-price span{color:var(--c-ink-2);font-size:1rem}.vd-card-price .vd-from{font-size:1rem}.vd-card-box{border:1px solid var(--c-line-strong);border-radius:8px}.vd-picker-anchor{border-bottom:1px solid var(--c-line-strong);grid-template-columns:1fr 1fr;display:grid;position:relative}.vd-date-field,.vd-guest-field{font:inherit;font-size:var(--fs-small);text-align:left;cursor:pointer;color:var(--c-ink);background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.vd-date-field+.vd-date-field{border-left:1px solid var(--c-line-strong);border-radius:0 8px 0 0}.vd-date-field.is-active{box-shadow:inset 0 0 0 2px var(--c-ink)}.vd-field-label{text-transform:uppercase;letter-spacing:.04em;font-size:.625rem;font-weight:700;display:block}.vd-placeholder{color:var(--c-ink-3)}.vd-guests-anchor{position:relative}.vd-guest-field{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.vd-chevron{transition:transform var(--dur) var(--ease);font-size:1.2rem}.vd-chevron.is-open{transform:rotate(180deg)}.vd-cta{cursor:pointer;width:100%;font:inherit;color:#fff;background:linear-gradient(90deg, var(--c-pine) 0%, var(--c-pine-hover) 100%);transition:filter var(--dur) var(--ease);border:0;border-radius:8px;margin-top:16px;padding:14px 20px;font-size:1rem;font-weight:600}.vd-cta:hover{filter:brightness(1.06)}.vd-cta:disabled{opacity:.55;cursor:not-allowed}.vd-cta--small{width:auto;margin:0;padding:12px 22px}.vd-card-note{text-align:center;color:var(--c-ink-3);font-size:var(--fs-small);margin:12px 0 0}.vd-card-error{color:var(--c-error);font-size:var(--fs-small);margin:12px 0 0}.vd-breakdown{gap:12px;margin-top:20px;display:grid}.vd-breakdown>div{justify-content:space-between;gap:12px;display:flex}.vd-underline{text-decoration:underline}.vd-breakdown-total{border-top:1px solid var(--c-line);padding-top:20px;font-weight:600}.vd-popover{z-index:30;background:#fff;border-radius:16px;padding:24px;position:absolute;box-shadow:0 6px 20px #073b2e33}.vd-popover--dates{width:680px;top:-16px;right:-24px}.vd-popover--guests{padding:16px 20px;top:calc(100% + 4px);left:0;right:0}.vd-popover-head{justify-content:space-between;gap:16px;margin-bottom:16px;display:flex}.vd-popover-head h3{margin:0;font-size:1.375rem;font-weight:600}.vd-popover-head p{color:var(--c-ink-3);font-size:var(--fs-small);margin:4px 0 0}.vd-popover-fields{border:1px solid var(--c-line-strong);border-radius:8px;grid-template-columns:1fr 1fr;min-width:260px;display:grid}.vd-mini-field{font-size:var(--fs-small);padding:8px 12px}.vd-mini-field+.vd-mini-field{border-left:1px solid var(--c-line-strong)}.vd-mini-field span{text-transform:uppercase;font-size:.625rem;font-weight:700;display:block}.vd-mini-field.is-active{box-shadow:inset 0 0 0 2px var(--c-ink);border-radius:8px}.vd-popover-foot{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.vd-popover-foot .vd-link-btn{font-size:var(--fs-small);margin-left:auto;margin-right:16px}.vd-dark-btn{background:var(--c-ink);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:8px 16px;font-weight:600}.vd-guest-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.vd-guest-row small{color:var(--c-ink-3);display:block}.vd-stepper{align-items:center;gap:14px;display:flex}.vd-stepper button{border:1px solid var(--c-line-strong);cursor:pointer;width:32px;height:32px;color:var(--c-ink-2);background:#fff;border-radius:50%;font-size:1.1rem}.vd-stepper button:hover:not(:disabled){border-color:var(--c-ink);color:var(--c-ink)}.vd-stepper button:disabled{opacity:.35;cursor:not-allowed}.vd-stepper span{text-align:center;min-width:16px}.vd-guest-note{font-size:var(--fs-caption);color:var(--c-ink-3);margin:16px 0 0}.vrc{position:relative}.vrc-months{gap:40px;display:grid}.vrc--2 .vrc-months{grid-template-columns:1fr 1fr}.vrc-month-title{text-align:center;margin-bottom:14px;font-weight:600;line-height:32px}.vrc-nav{cursor:pointer;width:32px;height:32px;color:var(--c-ink);z-index:1;background:0 0;border:0;border-radius:50%;font-size:1.4rem;line-height:1;position:absolute;top:0}.vrc-nav:hover:not(:disabled){background:var(--c-sand)}.vrc-nav:disabled{color:var(--c-line-strong);cursor:default}.vrc-nav--prev{left:0}.vrc-nav--next{right:0}.vrc-grid{grid-template-columns:repeat(7,1fr);row-gap:2px;display:grid}.vrc-weekday{text-align:center;font-size:var(--fs-label);color:var(--c-ink-3);padding-bottom:8px;font-weight:600}.vrc-day{aspect-ratio:1;cursor:pointer;min-height:40px;font:inherit;color:var(--c-ink);background:0 0;border:0;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.vrc-day:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--c-ink)}.vrc-day-num{font-size:var(--fs-small);font-weight:600;line-height:1.1}.vrc-day-price{color:var(--c-pine-hover);margin-top:1px;font-size:.625rem;line-height:1.1}.vrc-day.is-disabled{color:var(--c-line-strong);cursor:default}.vrc-day.is-disabled .vrc-day-num{font-weight:400;text-decoration:line-through}.vrc-day.is-today .vrc-day-num{text-decoration:underline}.vrc-day.is-in-range{background:var(--c-pine-soft);border-radius:0}.vrc-day.is-start,.vrc-day.is-end{background:var(--c-ink);color:#fff}.vrc-day.is-start .vrc-day-price,.vrc-day.is-end .vrc-day-price{color:#fffc}.vrc-day.is-start.has-range:before,.vrc-day.is-end:before{content:"";z-index:-1;background:var(--c-pine-soft);position:absolute;inset:0}.vrc-day.is-start.has-range:before{left:50%}.vrc-day.is-end:before{right:50%}.vrc-day.is-start.is-end:before{display:none}.vd-sticky-nav{z-index:40;border-bottom:1px solid var(--c-line);transition:transform var(--dur) var(--ease);background:#fff;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.vd-sticky-nav.is-visible{transform:translateY(0)}.vd-sticky-inner{justify-content:space-between;align-items:center;min-height:76px;display:flex}.vd-sticky-links{gap:24px;display:flex}.vd-sticky-links button{font:inherit;font-size:var(--fs-small);cursor:pointer;color:var(--c-ink);background:0 0;border:0;border-bottom:4px solid #0000;padding:26px 0;font-weight:600}.vd-sticky-links button:hover{border-bottom-color:var(--c-ink)}.vd-sticky-cta{align-items:center;gap:20px;display:flex}.vd-sticky-cta .vd-card-price{margin:0;font-size:1rem}.vd-location-area{color:var(--c-ink-2);margin:0}.vd-map-wrap{background:var(--c-paper);border-radius:12px;margin-top:20px;position:relative;overflow:hidden}.vd-map{border:0;width:100%;height:440px;display:block}.vd-map-open{color:var(--c-ink);font-size:var(--fs-small);background:#fff;border-radius:8px;padding:8px 12px;font-weight:600;text-decoration:none;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #073b2e2e}.vd-map-open:hover{background:var(--c-sand)}.vd-address{margin:16px 0 0;font-weight:600}.vd-nearby-title{margin-top:24px!important}.vd-nearby{grid-template-columns:1fr 1fr;gap:12px 32px;margin:0;padding:0;list-style:none;display:grid}.vd-nearby li{font-size:var(--fs-small);align-items:baseline;gap:10px;display:flex}.vd-nearby li strong{font-weight:500}.vd-nearby li em{color:var(--c-ink-3);white-space:nowrap;margin-left:auto;font-style:normal}.vd-nearby.is-collapsed li:nth-child(n+5){display:none}.vd-know-grid{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:16px;display:grid}.vd-know-grid p,.vd-know-grid ul{color:var(--c-ink-2);font-size:var(--fs-small);margin:0;line-height:1.7}.vd-know-grid ul{padding-left:0;list-style:none}.vd-overlay{z-index:100;background:#fff;position:fixed;inset:0;overflow-y:auto}.vd-overlay-head{border-bottom:1px solid var(--c-line);background:#fff;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.vd-overlay-grid{grid-template-columns:1fr 1fr;gap:8px;max-width:760px;margin:24px auto;padding:0 24px;display:grid}.vd-overlay-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}.vd-overlay-grid img:nth-child(3n+1){aspect-ratio:16/9;grid-column:1/-1}.vd-modal-backdrop{z-index:100;background:#00000080;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.vd-modal{background:#fff;border-radius:16px;width:min(680px,100%);max-height:86vh;padding:56px 24px 24px;position:relative;overflow-y:auto}.vd-modal-close{cursor:pointer;background:0 0;border:0;border-radius:50%;width:32px;height:32px;font-size:1rem;position:absolute;top:16px;left:16px}.vd-modal-close:hover{background:var(--c-sand)}.vd-toast{z-index:120;background:var(--c-ink);color:#fff;font-size:var(--fs-small);border-radius:8px;padding:10px 18px;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.vd-mobile-bar{display:none}@media (width<=1120px){.vd-layout{grid-template-columns:minmax(0,1fr) 340px;gap:48px}.vd-popover--dates{width:620px}}@media (width<=900px){.vd-container{padding:0 16px}.vd-page{padding-bottom:120px}.vd-layout{grid-template-columns:1fr;gap:0}.vd-aside,.vd-sticky-nav{display:none}.vd-mosaic{border-radius:0;grid-template-rows:1fr;grid-template-columns:1fr;height:62vw;margin:0 -16px}.vd-mosaic>button:not(.is-cover):not(.vd-all-photos){display:none}.vd-mosaic .is-cover{grid-row:auto}.vd-all-photos{bottom:12px;right:12px}.vd-title-row{flex-direction:column;align-items:flex-start}.vd-amenities{grid-template-columns:1fr}.vd-know-grid{grid-template-columns:1fr;gap:24px}.vd-map{height:300px}.vd-nearby,.vd-overlay-grid{grid-template-columns:1fr}.vd-mobile-bar{z-index:50;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--c-line);background:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.vd-mobile-bar .vd-card-price{margin:0;font-size:1rem}.vd-mobile-dates{font-size:var(--fs-caption)}}
