@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fa;--surface:#fff;--sidebar:#fbfcfd;--text:#23272e;--muted:#69717d;--border:#e5e8ec;--hover:#f1f3f5;--primary:#284a3e;--primary-ink:#fff;--primary-soft:#edf3ef;--danger:#b8413b;--danger-soft:#fcf0ef;--warn:#916321;--warn-soft:#faf3e6;--ok:#327257;--ok-soft:#edf5ef;--info:#536879;--info-soft:#eef2f6;--radius:12px;--shadow:none;--ease:cubic-bezier(.2,.8,.2,1);font-family:Geist Variable,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16181b;--surface:#1c1f23;--sidebar:#141619;--text:#e9ebee;--muted:#a0a7b0;--border:#30353c;--hover:#252a30;--primary:#c2d7ca;--primary-ink:#182b21;--primary-soft:#24362c;--danger:#f49b96;--danger-soft:#3c2728;--warn:#e0bc79;--warn-soft:#383022;--ok:#a2c8ae;--ok-soft:#27382f;--info:#b0c0ce;--info-soft:#29343e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16181b;--surface:#1c1f23;--sidebar:#141619;--text:#e9ebee;--muted:#a0a7b0;--border:#30353c;--hover:#252a30;--primary:#c2d7ca;--primary-ink:#182b21;--primary-soft:#24362c;--danger:#f49b96;--danger-soft:#3c2728;--warn:#e0bc79;--warn-soft:#383022;--ok:#a2c8ae;--ok-soft:#27382f;--info:#b0c0ce;--info-soft:#29343e}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.55 Geist Variable,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit}button svg{flex-shrink:0}h1,h2,h3,h4{letter-spacing:-.025em;text-wrap:pretty;margin:0 0 12px;font-weight:580;line-height:1.25}h1{letter-spacing:-.045em;font-size:clamp(28px,3vw,36px)}h2{font-size:20px}h3{margin-top:24px;font-size:16px}h4{margin-top:24px;font-size:14px}p{margin:0 0 16px}a{color:var(--primary);text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:default}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{color:var(--muted);margin-bottom:12px;font-size:13px;font-weight:500}.grow{flex:1}.skip-link{z-index:30;background:var(--text);color:var(--surface);border-radius:8px;padding:12px 20px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.btn,.icon-button{border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;min-height:40px;transition:background-color .14s var(--ease), border-color .14s var(--ease), transform .14s var(--ease), color .14s var(--ease);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:550;line-height:1.35;text-decoration:none;display:inline-flex}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.btn.small{min-height:34px;padding:7px 12px;font-size:13px}.btn.block{width:100%}.btn:disabled,.icon-button:disabled{opacity:.5}.icon-button{background:0 0;border-color:#0000;width:36px;min-height:36px;padding:7px}@media (hover:hover) and (pointer:fine){.btn:not(:disabled):hover{background:var(--hover);border-color:color-mix(in srgb, var(--text) 24%, var(--border));transform:translateY(-1px)}.btn.primary:not(:disabled):hover{background:color-mix(in srgb, var(--primary) 88%, var(--text));border-color:#0000}.icon-button:not(:disabled):hover{background:var(--hover)}}.btn:not(:disabled):active,.icon-button:not(:disabled):active{transform:translateY(1px)scale(.985)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.field{flex-direction:column;flex:1;gap:8px;min-width:0;margin-bottom:20px;display:flex}.field label,.photo-label{font-size:13px;font-weight:550}.optional{color:var(--muted);font-weight:400}input:not([type=checkbox]),select,textarea{width:100%;min-width:0;color:var(--text);background:var(--surface);border:1px solid var(--border);appearance:none;min-height:44px;transition:border-color .14s var(--ease), box-shadow .14s var(--ease);border-radius:8px;padding:11px 12px;font-size:14px;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}textarea{resize:vertical}select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 16px) 19px,calc(100% - 12px) 19px;background-repeat:no-repeat;background-size:4px 4px;padding-right:32px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent);outline:none}input[type=date],input[type=time]{display:block}input[type=checkbox]{appearance:none;border:1px solid var(--border);background:var(--surface);cursor:pointer;width:24px;height:24px;transition:background-color .14s var(--ease), border-color .14s var(--ease);border-radius:6px;flex:none;place-content:center;margin:0;display:inline-grid}input[type=checkbox]:after{content:"";border:solid var(--primary-ink);opacity:0;border-width:0 1.5px 1.5px 0;width:5px;height:10px;transform:translateY(-1px)rotate(45deg)}input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}input[type=checkbox]:checked:after{opacity:1}input[type=checkbox]:disabled{cursor:default;opacity:.55}.has-error input,.has-error select,.has-error textarea{border-color:var(--danger)}.error{color:var(--danger);margin:0;font-size:13px}.hint{color:var(--muted);margin:0;font-size:13px}.row{gap:20px;display:flex}.actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:24px;display:flex}.actions>span:first-child{margin-right:auto}.check,.inline-check{align-items:flex-start;gap:12px;padding:14px 0;display:flex}.check{border-top:1px solid var(--border)}.check:first-of-type{border-top:0}.check label{font-weight:450}.inline-check{font-size:14px}.nested{border-left:2px solid var(--border);margin:4px 0 20px;padding:16px}.banner,.banner-error,.note,.warn-banner{border-radius:8px;margin:0;padding:12px 16px;font-size:13px;line-height:1.6}.banner{background:var(--info-soft);color:var(--info)}.banner-error{background:var(--danger-soft);color:var(--danger)}.note{background:var(--warn-soft);color:var(--warn);margin:-4px 0 20px}.warn-banner{background:var(--warn-soft);color:var(--text)}.warn-banner .link-actions{margin-top:12px}.spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.center-msg{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.center-msg p,.center-msg h3{margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px}.card>h2:first-child,.card>h3:first-child{margin-top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{border:1px solid var(--border);width:36px;height:36px;color:var(--primary);background:var(--surface);border-radius:10px;flex:none;place-items:center;display:grid}.brand-name{flex-direction:column;display:flex}.brand-name strong{letter-spacing:-.055em;font-size:22px;font-weight:650;line-height:1.1}.brand-name strong>span{color:var(--ok)}.brand-name small{color:var(--muted);letter-spacing:.03em;margin-top:5px;font-size:11px}.admin-shell{min-height:100dvh}.sidebar{z-index:15;border-right:1px solid var(--border);background:var(--sidebar);flex-direction:column;width:216px;padding:32px 16px 20px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar>.brand{margin-bottom:48px;padding:0 10px}.nav-caption{color:var(--muted);margin-bottom:12px;padding:0 14px;font-size:12px}.tabs{flex-direction:column;gap:5px;display:flex}.tabs button{color:var(--muted);text-align:left;min-height:44px;transition:background-color .14s var(--ease), color .14s var(--ease);white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;font-weight:450;display:flex}.tabs button:hover{background:var(--hover);color:var(--text)}.tabs button[aria-selected=true]{background:var(--hover);color:var(--text);font-weight:580}.tabs button[aria-selected=true] svg{color:var(--primary)}.sidebar-footer{margin-top:auto;padding:20px 8px 0}.workspace-name{border-top:1px solid var(--border);align-items:center;gap:10px;padding:16px 0;display:flex}.workspace-avatar{background:var(--hover);border:1px solid var(--border);border-radius:8px;place-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:grid}.workspace-name>div{flex-direction:column;gap:2px;display:flex}.workspace-name strong{font-size:13px;font-weight:550}.workspace-name small{color:var(--muted);font-size:12px}.logout-button{color:var(--muted);background:0 0;border:0;align-items:center;gap:10px;padding:10px 0;font-size:13px;display:flex}.logout-button:hover{color:var(--text)}.workspace{min-width:0;margin-left:216px}.mobile-logout{display:none}.workspace-bar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;height:72px;padding:0 40px;display:flex}.breadcrumbs,.workspace-controls{align-items:center;gap:12px;font-size:13px;display:flex}.breadcrumbs>span{color:var(--muted)}.breadcrumbs>strong{font-weight:500}.breadcrumbs svg{color:var(--muted)}.workspace-date{color:var(--muted);border-right:1px solid var(--border);padding-right:12px}.admin-main{flex-direction:column;gap:24px;min-width:0;max-width:1400px;margin:0 auto;padding:40px 40px 64px;display:flex}.page-heading{margin-bottom:4px}.page-heading h1{margin-bottom:8px;font-weight:550}.page-heading>p{color:var(--muted);margin-bottom:0;font-size:14px}.toolbar{align-items:center;gap:12px;display:flex}.toolbar>input{flex:1}.bookings-overview{justify-content:space-between;align-items:center;gap:24px;padding:4px 0 12px;display:flex}.booking-metrics{gap:40px;display:flex}.booking-metrics>div{flex-direction:column;gap:4px;display:flex}.booking-metrics span{color:var(--muted);font-size:13px}.booking-metrics strong{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:500;line-height:1.3}.reservations-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.reservation-tools{justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;display:flex}.section-title{align-items:center;gap:10px;display:flex}.section-title h2{letter-spacing:-.02em;margin:0;font-size:15px}.count-badge{background:var(--hover);color:var(--muted);border-radius:5px;place-items:center;min-width:24px;padding:1px 6px;font-size:12px;display:grid}.search-control{width:260px;color:var(--muted);border:1px solid var(--border);border-radius:7px;align-items:center;gap:8px;padding-left:10px;display:flex}.search-control:focus-within{border-color:var(--primary)}.search-control input{min-height:36px;box-shadow:none;background:0 0;border:none;padding:8px 10px 8px 0;font-size:13px}.reservation-columns,.reservation-row{grid-template-columns:minmax(200px,1.4fr) minmax(150px,1fr) minmax(116px,.8fr) 112px;align-items:center;gap:16px;padding:18px 24px;display:grid}.reservation-columns{background:var(--sidebar);border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);padding-block:11px;font-size:12px}.reservation-list{margin:0;padding:0;list-style:none}.reservation-row{border-bottom:1px solid var(--border);min-height:88px;transition:background-color .14s var(--ease)}.reservation-row:last-child{border-bottom:0}.reservation-row:hover{background:color-mix(in srgb, var(--hover) 50%, var(--surface))}.reservation-identity{text-align:left;background:0 0;border:0;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.guest-avatar{background:var(--hover);border:1px solid var(--border);width:36px;height:36px;color:var(--muted);border-radius:9px;flex:none;place-items:center;font-size:11px;font-weight:550;display:grid}.guest-identity{flex-direction:column;gap:3px;min-width:0;display:flex}.guest-identity strong{overflow-wrap:anywhere;font-size:13px;font-weight:550}.guest-identity>span{color:var(--muted);font-size:12px}.reservation-identity:hover .guest-identity strong{color:var(--primary)}.reservation-stay{font-variant-numeric:tabular-nums;flex-direction:column;gap:3px;min-width:0;display:flex}.stay-dates{align-items:center;gap:8px;font-size:13px;font-weight:450;display:flex}.stay-dates svg{color:var(--muted)}.reservation-stay .small{font-size:12px}.reservation-status{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.reservation-action{justify-content:flex-end;display:flex}.reservation-action .btn{min-height:32px;padding-inline:9px;font-size:12px}.is-cancelled .guest-identity,.is-cancelled .reservation-stay{color:var(--muted)}.reservation-footer{border-top:1px solid var(--border);color:var(--muted);padding:14px 24px;font-size:12px}.empty-state{min-height:220px}.empty-state>svg{color:var(--muted);margin-bottom:4px}.empty-state h3{font-size:16px}.empty-state p{max-width:38ch}.chip{border-radius:5px;align-items:center;max-width:100%;padding:3px 8px;font-size:11px;font-weight:500;line-height:1.5;display:inline-flex}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.info{background:var(--info-soft);color:var(--info)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.muted{background:var(--hover);color:var(--muted)}.booking-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.booking-row{justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.booking-main{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;gap:6px;min-width:0;padding:0;display:flex}.booking-main>strong{font-size:16px;font-weight:550}.booking-side{align-items:center;gap:16px;display:flex}.plain{margin:0 0 12px;padding:0;list-style:none}.link-row{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:16px 0;display:flex}.link-row:last-child{border:0}.link-row code{border:1px solid var(--border);background:var(--bg);overflow-wrap:anywhere;border-radius:6px;padding:12px;font-size:13px}.link-actions{flex-wrap:wrap;gap:8px;display:flex}.strike{color:var(--muted);text-decoration:line-through}.kv{grid-template-columns:1fr 1fr;gap:16px 32px;margin:24px 0;display:grid}.kv>div{flex-direction:column;gap:4px;min-width:0;display:flex}.kv dt{color:var(--muted);font-size:12px}.kv dd{overflow-wrap:anywhere;margin:0;font-size:14px}.matrix{border-collapse:collapse;width:100%;font-size:14px}.matrix th{text-align:center;width:88px;color:var(--muted);padding-bottom:8px;font-size:12px;font-weight:500}.matrix td{border-bottom:1px solid var(--border);padding:14px 0}.matrix td:first-child{padding-right:16px}.matrix td:not(:first-child){text-align:center}.matrix tr:last-child td{border-bottom:0}.matrix input[type=checkbox]{vertical-align:middle}.editor-row td{padding-top:0}.settings-layout{gap:24px;display:grid}.unit-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 20px;margin:16px 0;display:grid}.unit-grid .missing{font-weight:550}.unit-grid .chip{margin-left:4px}.link-button{color:var(--primary);text-align:left;background:0 0;border:none;padding:0;font-weight:500}.link-button:hover{text-underline-offset:3px;text-decoration:underline}.custom-editor{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin:12px 0 4px;padding:20px}.custom-editor .field{margin-bottom:16px}.option-row{align-items:center;margin-bottom:8px;flex-direction:row!important;gap:8px!important}.option-row input{min-width:0}.sticky-save{z-index:5;position:sticky;bottom:16px;box-shadow:0 6px 24px #0000000f}.sticky-save .actions{margin-top:0}.message-preview{background:var(--surface);width:min(580px,100% - 32px);max-height:calc(100dvh - 40px);color:var(--text);border:1px solid var(--border);border-radius:16px;margin:auto;padding:28px;overflow-y:auto;box-shadow:0 24px 80px #0000002e}.message-preview::backdrop{background:#0a0e1273}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.dialog-heading .eyebrow{margin-bottom:6px}.dialog-heading h2{margin-bottom:0;font-size:24px}.message-preview>p{max-width:45ch}.message-preview textarea{background:var(--bg);min-height:190px;padding:16px;font-size:15px;line-height:1.7}.message-preview .field{margin-top:24px;margin-bottom:12px}.message-preview-status{min-height:21px;color:var(--ok);margin:0}.message-preview .actions{border-top:1px solid var(--border);margin-top:16px;padding-top:20px}.login-shell{background:var(--surface);flex-direction:column;min-height:100dvh;display:flex}.login-header{justify-content:space-between;align-items:center;padding:28px 40px;display:flex}.login-main{flex:1;place-items:center;padding:40px 24px 100px;display:grid}.login-form{width:100%;max-width:360px}.login-form h1{margin-bottom:12px;font-size:36px}.login-intro{margin-bottom:32px}.login-form .btn{height:44px;margin-top:8px}.login-footer{text-align:center;color:var(--muted);padding:24px;font-size:12px}.guest-shell{min-height:100dvh}.topbar{min-height:80px;padding:calc(18px + env(safe-area-inset-top)) max(24px, calc((100vw - 1120px) / 2)) 18px;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar .brand{min-width:0}.guest-brand-name{flex-direction:column;gap:2px;min-width:0;display:flex}.guest-brand-name strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:550;overflow:hidden}.guest-brand-name>span{color:var(--muted);font-size:12px}.guest-header-controls{flex:none;align-items:center;gap:16px;display:flex}.lang-toggle{border:1px solid var(--border);border-radius:6px;gap:2px;padding:3px;display:flex}.lang-toggle button{min-height:28px;color:var(--muted);background:0 0;border:none;border-radius:3px;padding:5px 9px;font-size:12px;font-weight:500}.lang-toggle button[aria-pressed=true]{color:var(--text);background:var(--hover)}.guest-main{max-width:680px;padding:40px 24px calc(64px + env(safe-area-inset-bottom));flex-direction:column;gap:24px;margin:0 auto;display:flex}.guest-main .card{padding:32px}.guest-main input:not([type=checkbox]),.guest-main select,.guest-main textarea{min-height:48px;font-size:16px}.guest-main .btn{min-height:46px;font-size:14px}.guest-main .field label{font-size:14px}.guest-main h2{margin-bottom:24px;font-size:22px}.guest-main .verify{background:0 0;border:none;margin-top:40px;padding:0 16px}.verify{flex-direction:column;display:flex}.verify>h1{margin-bottom:12px;font-size:40px;font-weight:500}.verify>.muted{margin-bottom:24px}.verify>p:not(.eyebrow){max-width:48ch}.verify .banner{margin-bottom:20px}.verify>.btn{margin-top:12px}.welcome-symbol{background:var(--primary-soft);width:60px;height:60px;color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 10%, transparent);border-radius:16px;place-items:center;margin-bottom:28px;display:grid}.summary .dates{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-bottom:24px;display:grid}.summary .dates>div{flex-direction:column;gap:4px;display:flex}.summary .dates strong{letter-spacing:-.025em;font-size:17px;font-weight:500}.summary .dates .arrow{color:var(--muted)}.meta{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px 24px;margin:0;padding-top:20px;font-size:13px;display:flex}.meta>div{gap:6px;display:flex}.meta dt{color:var(--muted)}.meta dd{margin:0;font-weight:500}.stepper{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.stepper button{border:0;border-bottom:2px solid var(--border);color:var(--muted);background:0 0;flex-direction:column;align-items:flex-start;gap:10px;padding:8px 0 14px;display:flex}.stepper .dot{background:var(--hover);border-radius:6px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:500;display:grid}.stepper .label{font-size:12px}.stepper .active{color:var(--primary);border-color:var(--primary)}.stepper .active .dot{color:var(--primary-ink);background:var(--primary)}.stepper .done{border-color:var(--primary)}.stepper .done .dot{color:var(--primary);background:var(--primary-soft)}.form>h2{margin-bottom:28px}.form .actions{border-top:1px solid var(--border);padding-top:24px}.form .actions .btn.primary{min-width:150px;margin-left:auto}.step-count{text-align:center;margin:20px 0 0}.stepper-input{border:1px solid var(--border);border-radius:8px;align-items:center;width:max-content;display:flex;overflow:hidden}.stepper-input button{background:var(--hover);width:48px;height:48px;color:var(--text);border:none;font-size:22px}.stepper-input output{text-align:center;font-variant-numeric:tabular-nums;min-width:56px;font-size:16px}.guest-card{border:1px solid var(--border);border-radius:8px;margin:20px 0 0;padding:20px}.guest-card legend{padding:0 8px;font-size:14px;font-weight:550}.guests h3{margin-top:12px}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:16px 0;display:grid}.photo-slot,.doc-capture{flex-direction:column;gap:8px;display:flex}.doc-capture{gap:0}.photo-button{aspect-ratio:1.58;border:1px dashed var(--border);background:var(--bg);width:100%;color:var(--muted);border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.photo-button:hover{border-color:var(--primary);color:var(--primary)}.photo-slot.has-error .photo-button{border-color:var(--danger)}.photo-button img{object-fit:cover;width:100%;height:100%}.photo-empty,.photo-done{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:12px;font-size:13px;display:flex}.photo-done{color:var(--ok)}.photo-overlay{color:#fff;background:#0000008c;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.photo-status{color:var(--ok);font-size:12px}.icon-note{align-items:flex-start;gap:8px;display:flex}.icon-note svg{flex:none;margin-top:2px}.privacy{margin-top:4px}.doc-thumb img{aspect-ratio:1.58;object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%}.photo-purged{border:1px dashed var(--border);text-align:center;border-radius:8px;padding:24px}details.rules{margin-top:8px}details.rules summary{color:var(--primary);cursor:pointer;font-size:14px}.prose{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:16px;line-height:1.7}.done{text-align:center}.done-icon{background:var(--ok-soft);width:64px;height:64px;color:var(--ok);border-radius:18px;place-items:center;margin:0 auto 24px;display:grid}.host-message{border-left:2px solid var(--primary);background:var(--primary-soft);border-radius:0 8px 8px 0;margin:0 0 20px;padding:16px 20px}.host-message p{margin:8px 0 0}.requests{flex-direction:column;gap:16px;display:flex}.request-item,.request-card{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:20px 0;display:flex}.request-item:last-child,.request-card:last-child{border-bottom:0}.request-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.request-text{background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:4px 0;padding:12px 16px}.host-reply{margin:4px 0 0}.new-request{margin-top:24px}.eta{color:var(--muted);font-size:12px}@media (width>=1100px){.settings-layout{grid-template-columns:1.5fr 1fr;align-items:start}}@media (width<=1199px){.sidebar{width:190px;padding-inline:12px}.workspace{margin-left:190px}.admin-main{padding:32px 24px 48px}.workspace-bar{padding-inline:24px}.reservation-columns,.reservation-row{grid-template-columns:minmax(160px,1.2fr) minmax(126px,1fr) minmax(102px,.8fr) 100px;gap:12px;padding-inline:20px}.guest-avatar{display:none}}@media (width<=1023px){.sidebar{border-right:0;border-bottom:1px solid var(--border);width:auto;padding:20px 24px 0;position:static}.sidebar>.brand{margin-bottom:20px;padding:0}.sidebar-footer,.nav-caption{display:none}.tabs{flex-direction:row;gap:8px;padding-bottom:12px;overflow-x:auto}.tabs button{min-height:40px;padding:10px 12px;font-size:13px}.workspace{margin-left:0}.mobile-logout{display:inline-flex}.workspace-bar{height:56px}.guest-avatar{display:grid}.reservation-columns,.reservation-row{grid-template-columns:minmax(190px,1.2fr) minmax(135px,1fr) minmax(105px,.8fr) 100px}}@media (width<=767px){.admin-main{gap:20px;padding:28px 20px 48px}.page-heading h1{font-size:28px}.page-heading>p{max-width:40ch;font-size:13px}.bookings-overview{flex-wrap:wrap;align-items:flex-start;gap:20px}.booking-metrics{justify-content:space-between;gap:0;width:100%}.booking-metrics>div{flex:1}.booking-metrics>div+div{border-left:1px solid var(--border);padding-left:20px}.booking-metrics strong{font-size:25px}.bookings-overview>.btn{width:100%}.reservation-tools{flex-direction:column;align-items:stretch;gap:16px;padding:20px}.search-control{width:100%}.reservation-columns{display:none}.reservation-row{grid-template-columns:minmax(0,1fr) auto;gap:14px 16px;padding:20px}.reservation-identity{grid-column:1/-1}.guest-avatar{width:36px;height:36px;display:grid}.reservation-stay{grid-area:2/1}.reservation-status{grid-area:3/1}.reservation-action{grid-area:2/2/4;align-self:end}.reservation-action .btn{min-height:40px}.guest-identity strong{font-size:14px}.guest-identity>span,.reservation-stay .small{font-size:13px}.chip{font-size:12px}.reservation-footer{padding-inline:20px}.card{padding:24px 20px}.booking-row{align-items:flex-start}.booking-side{flex-direction:column;align-items:flex-end;gap:12px}.row{flex-direction:column;gap:0}.toolbar{flex-wrap:wrap}.toolbar>input{flex-basis:100%}.toolbar>.btn{width:100%}.kv{grid-template-columns:1fr}.message-preview{padding:24px}.topbar{padding-inline:20px}.guest-main{padding:28px 20px 48px}.guest-main .card{padding:24px}.guest-main .verify{margin-top:24px;padding:0 4px}.summary .dates{gap:16px}.summary .dates strong{font-size:15px}.guest-header-controls{gap:8px}.topbar .brand-mark{display:none}}@media (width<=420px){.sidebar{padding:20px 16px 0}.tabs{gap:2px}.tabs button{flex-direction:column;flex:1;gap:6px;padding:10px 4px;font-size:11px}.tabs button svg{width:16px}.workspace-bar{padding-inline:20px}.workspace-date{display:none}.booking-metrics span{font-size:12px}.booking-metrics>div+div{padding-left:12px}.login-header{padding:24px}.message-preview{padding:20px}.dialog-heading h2{font-size:22px}.message-preview textarea{font-size:16px}.message-preview .actions{justify-content:stretch}.message-preview .actions .btn{flex:1}.guest-main{padding-inline:16px}.guest-main .card{padding:24px 20px}.guest-brand-name strong{max-width:180px}.guest-main .verify{padding:0 8px}.verify>h1{font-size:36px}.stepper .label{font-size:11px}.matrix th{width:68px}.inline-check{overflow-wrap:anywhere}.request-head{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover,.btn:active,.icon-button:active{transform:none}}
