:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#25211c;background:#eee8de;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #25211c;--muted: #776f65;--paper: #fffdf9;--canvas-surface: #fffdf9;--sand: #eee8de;--line: rgba(53, 44, 34, .1);--accent: #7a6a50;--dark: #27231e;--danger: #9d493e}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:radial-gradient(circle at 80% 0%,#f8f3e9 0,transparent 36%),linear-gradient(180deg,#efe9de,#ebe4d8)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(122,106,80,.2);outline-offset:2px}.splash{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:14px}.splash-word{font-size:18px;font-weight:650;letter-spacing:-.02em}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:17px;color:#fff;background:linear-gradient(145deg,#8f7d60,#5f513f);box-shadow:0 10px 24px #4638282e}.brand-lockup{display:flex;align-items:center;gap:13px;font-weight:720;letter-spacing:-.025em;font-size:18px}.brand-lockup.compact .brand-mark{width:39px;height:39px;border-radius:13px}.brand-lockup.compact>div:last-child{display:flex;flex-direction:column;gap:1px}.brand-lockup.compact small{font-size:11px;font-weight:520;color:var(--muted);letter-spacing:0}.eyebrow{margin:0 0 9px;font-size:11px;line-height:1;font-weight:760;text-transform:uppercase;letter-spacing:.15em;color:#8a7962}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(40px,7vw,68px);line-height:.98;font-weight:500;letter-spacing:-.045em}h2{letter-spacing:-.03em}.lede{max-width:630px;margin-bottom:32px;color:var(--muted);font-size:17px;line-height:1.6}.lede.small{font-size:15px}.form-stack{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:8px;color:#5b534b;font-size:12px;font-weight:720;letter-spacing:.02em}input,select,textarea{width:100%;border:1px solid rgba(54,45,36,.13);border-radius:14px;background:#ffffffd9;padding:14px 15px;color:var(--ink);font-size:15px;font-weight:520;box-shadow:inset 0 1px #ffffffb3}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#aaa198}.primary,.secondary,.danger-text,.back-button,.icon-button,.mini-icon{border:0;cursor:pointer;transition:transform .15s ease,opacity .15s ease,background .15s ease}.primary{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 19px;border-radius:14px;background:var(--dark);color:#fff;font-weight:720;box-shadow:0 10px 24px #2c251e1f}.primary.large{min-height:54px;margin-top:5px}.primary:hover,.secondary:hover{transform:translateY(-1px)}.primary:disabled,.secondary:disabled{opacity:.45;cursor:not-allowed;transform:none}.secondary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border-radius:13px;background:#f0ece5;font-weight:680}.tiny-note{margin:25px 0 0;color:#9a9187;font-size:11px;text-align:center}.field-help{display:block;margin-top:7px;color:var(--muted);font-size:11px;font-weight:500;line-height:1.4}.header-actions{display:flex;gap:8px}.icon-button{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#ffffff8f;border:1px solid var(--line)}.hero-row{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.hero-row h1{margin-bottom:8px}.hero-row .lede{margin-bottom:0}.add-button{flex:0 0 auto}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.room-card{min-height:330px;display:flex;flex-direction:column;text-align:left;border:1px solid rgba(77,63,48,.08);border-radius:28px;padding:24px;background:#fffdf9bf;box-shadow:0 18px 44px #48392a12;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease;overflow:hidden}.room-card:hover{transform:translateY(-4px);background:#fffdf9ed;box-shadow:0 25px 60px #48392a1a}.room-card-top{display:flex;align-items:center;justify-content:space-between}.room-number{min-width:43px;height:43px;padding:0 11px;display:grid;place-items:center;border-radius:50px;background:#ece5da;color:#6d5e49;font-size:12px;font-weight:780;letter-spacing:.08em}.status-dot{width:8px;height:8px;border-radius:50%;background:#c8c1b8;box-shadow:0 0 0 6px #8273600d}.status-dot.ready{background:#6f8a6d;box-shadow:0 0 0 6px #6f8a6d14}.room-card-art{flex:1;display:grid;place-items:center;color:#97836a;opacity:.72}.room-card-copy h2{margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:500}.room-card-copy p{margin:0;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-line{display:flex;justify-content:space-between;align-items:center;margin-top:23px;padding-top:17px;border-top:1px solid var(--line);color:#6e6253;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.09em}.open-line span{font-size:19px;font-weight:400}.empty-state{min-height:400px;display:grid;place-items:center;align-content:center;text-align:center;border:1px dashed rgba(82,69,53,.18);border-radius:30px;background:#ffffff4d}.empty-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:24px;background:#e6ddd0;color:#8a7962;margin-bottom:18px}.empty-state h2{margin-bottom:6px}.empty-state p{color:var(--muted);margin-bottom:22px}.admin-hint{margin:28px 0 0;color:#94897d;font-size:11px;text-align:center}.back-button{display:inline-flex;align-items:center;gap:7px;background:transparent;color:#6e6459;padding:8px 0;margin-bottom:40px;font-weight:680}.credential-block{margin:40px 0 28px;border-top:1px solid var(--line)}.credential-row{display:grid;grid-template-columns:150px 1fr;gap:25px;align-items:center;min-height:70px;border-bottom:1px solid var(--line)}.credential-row>span{color:var(--muted);font-size:12px;font-weight:660}.credential-row strong{font-size:16px;font-weight:650;overflow-wrap:anywhere}.password-line{display:flex;align-items:center;gap:8px}.mini-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#ebe4da;color:#665a4d}.room-note{padding:20px;border-radius:18px;background:#ffffff6b}.room-note span{font-size:11px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.room-note p{margin:8px 0 0;color:#5f574e;line-height:1.5}.detail-actions{display:flex;align-items:center;gap:18px;margin-top:30px}.danger-text{display:inline-flex;align-items:center;gap:7px;background:transparent;color:var(--danger);font-size:13px;font-weight:700}.editor-page{max-width:920px}.editor-card{padding:35px;border-radius:28px;background:#fffdf9bf;border:1px solid rgba(77,63,48,.08);box-shadow:0 18px 44px #48392a0f}.editor-card h1{font-size:clamp(38px,6vw,58px)}.editor-card h2{margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:500}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.settings-grid{display:grid;gap:20px}.notice{position:fixed;z-index:50;top:20px;left:50%;transform:translate(-50%);width:min(calc(100% - 30px),520px);display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:15px;background:#283126;color:#fff;box-shadow:0 16px 50px #0000002e;font-size:13px}.notice.error{background:#65332d}.notice span{flex:1}.notice button{border:0;background:transparent;color:#fff;font-size:20px;cursor:pointer}@media(max-width:900px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.form-grid{grid-template-columns:1fr}.hero-row{align-items:flex-start;flex-direction:column;gap:22px}.hero-row .add-button{width:100%}.room-grid{grid-template-columns:1fr}.room-card{min-height:290px}.credential-row{grid-template-columns:1fr;gap:7px;padding:17px 0}.detail-actions{align-items:stretch;flex-direction:column}.detail-actions .primary{width:100%}.editor-card{padding:25px 19px}.editor-actions{flex-direction:column-reverse}.editor-actions button{width:100%}.brand-lockup.compact small{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media print{body{background:#fff!important}}.app-version{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}.network-picker{display:grid;gap:10px}.picker-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;font-weight:700}.text-button{border:0;background:transparent;color:#7b684f;cursor:pointer;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px}.network-choice{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(80,70,55,.12);border-radius:14px;background:#ffffff9e;cursor:pointer}.network-choice.selected{border-color:#8b7455;box-shadow:0 0 0 2px #8b74551a}.network-choice input{width:auto}.network-choice span{display:grid;gap:2px}.network-choice small{color:#81786c;font-weight:400}.compact-choice{padding:10px 14px}.wifi-editor{margin-bottom:24px}.wifi-grid{margin-top:22px}.wifi-card{cursor:default}.wifi-card small{display:block;margin-top:10px;color:#81786c;line-height:1.4}.wifi-card-actions{display:flex;gap:10px;align-items:center;margin-top:auto;padding-top:18px}.wifi-card-actions .secondary{flex:1}.settings-page{max-width:1060px}.appearance-card{overflow:hidden}.background-field{display:grid;gap:10px}.background-field .picker-heading small{color:#92877a;font-weight:500}.background-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.background-choice{padding:8px;border:1px solid rgba(80,70,55,.1);border-radius:16px;background:#ffffff8c;display:grid;gap:7px;text-align:left;color:#554d44;cursor:pointer}.background-choice.selected{border-color:#8b7455;box-shadow:0 0 0 2px #8b74551f;background:#ffffffdb}.background-thumb{display:block;width:100%;aspect-ratio:1.35;border-radius:11px;background-size:cover;background-position:center;border:1px solid rgba(80,70,55,.08)}.background-thumb.none{background:linear-gradient(135deg,#f6f1e9,#e9e2d7);position:relative}.background-thumb.none:after{content:"×";position:absolute;inset:0;display:grid;place-items:center;color:#a09689;font-size:24px;font-weight:300}.background-choice>span:last-child{font-size:11px;font-weight:700}.range-value{float:right;color:#8a7c69;font-size:12px;font-weight:600}.range-input{padding:0;accent-color:#75644f}.appearance-preview{position:relative;overflow:hidden;min-height:360px;border-radius:24px;display:grid;place-items:center;background:#eae2d6}.appearance-preview:before{content:"";position:absolute;inset:0;background-image:var(--preview-bg);background-size:cover;background-position:center;opacity:var(--preview-opacity,.16)}.appearance-preview-card{position:relative;width:min(290px,80%);padding:26px 24px;border-radius:24px;background:#fffffff0;box-shadow:0 24px 60px #382e231f;text-align:center;display:grid;justify-items:center;gap:7px}.appearance-preview-card strong{font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:500;margin-top:4px}.preview-qr{width:112px;aspect-ratio:1;display:grid;place-items:center;margin:8px 0;background:repeating-conic-gradient(#211e1a 0 25%,#fff 0 50%) 50%/18px 18px;color:transparent;border:10px solid #fff;outline:1px solid #eee}.appearance-preview-card small{color:#756c62}.preview-footer{margin-top:10px;padding-top:10px;width:100%;border-top:1px solid #ece8e2;color:#81786e;font-size:10px}@media(max-width:760px){.background-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}html,body,#root{min-height:100%}body{min-height:100dvh}.brand-home{appearance:none;border:0;background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left}.brand-home:hover .brand-mark{transform:translateY(-1px);box-shadow:0 13px 28px #46382838}.brand-home .brand-mark{transition:transform .15s ease,box-shadow .15s ease}.appearance-preview{isolation:isolate}.appearance-preview:before{display:none}.appearance-preview-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity .16s ease,background-image .16s ease}@media(min-width:901px)and (max-height:820px){.hero-row{margin-bottom:26px}h1{font-size:clamp(40px,5.2vw,58px)}.lede{margin-bottom:22px}.room-card{min-height:270px}.room-card-art{min-height:76px}.editor-card{padding:28px}.appearance-preview{min-height:300px}}@media(max-width:620px){.brand-lockup.compact{gap:9px}.brand-lockup.compact .brand-mark{width:35px;height:35px;border-radius:12px}.brand-lockup.compact strong{font-size:14px}.brand-lockup.compact small{max-width:118px;font-size:9px}.header-actions{gap:5px}.icon-button{width:38px;height:38px}.hero-row{gap:16px;margin-bottom:24px}.hero-row h1,.editor-card h1{font-size:clamp(38px,13vw,50px)}.lede{font-size:15px;line-height:1.48;margin-bottom:24px}.room-grid{gap:14px}.room-card{min-height:220px;padding:19px;border-radius:23px}.room-card-art{min-height:62px}.room-card-copy h2{font-size:23px}.open-line{padding-top:14px}.editor-card{padding:22px 16px;border-radius:22px}.background-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-preview{min-height:300px;border-radius:20px}.appearance-preview-card{width:min(270px,88%);padding:22px 18px}}:root{--shell-edge: rgba(255,255,255,.58);--shell-glass: rgba(250,247,241,.72);--shell-shadow: 0 18px 50px rgba(53,45,36,.09), 0 1px 0 rgba(255,255,255,.74) inset}body{background:#e8e0d4}.icon-button{background:#ffffff9e;border-color:#473c3017;box-shadow:0 6px 16px #4135290d,inset 0 1px #ffffffb8}.icon-button:hover{background:#ffffffe0}.room-card:hover{background:#fffdf9f0;box-shadow:0 28px 66px #3a302621,inset 0 1px #ffffffd1}.appearance-preview{background:#ddd3c4;border:1px solid rgba(255,255,255,.48);box-shadow:inset 0 1px #ffffff6b}.appearance-preview:after{content:"";position:absolute;inset:0;z-index:.5;pointer-events:none;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.28),transparent 30%),linear-gradient(180deg,#f8f4ed1f,#f1ebe23d)}.appearance-preview-card{z-index:1}html,body,#root{height:100%;min-height:0}body{height:100dvh;overflow:hidden}.language-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(71,60,48,.09);border-radius:999px;background:#ffffff8a;box-shadow:inset 0 1px #ffffffb8}.language-toggle button{width:31px;height:31px;padding:0;border:0;border-radius:999px;background:transparent;color:#746a5e;cursor:pointer;font-size:9px;font-weight:780;letter-spacing:.06em;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.language-toggle button.active{color:#27231e;background:#fffdf9f0;box-shadow:0 4px 12px #392f2617,inset 0 1px #ffffffd6}.language-toggle.compact button{width:29px;height:29px}@media(min-width:901px)and (max-height:780px){.back-button{margin-bottom:22px}.credential-block{margin-top:24px;margin-bottom:18px}.credential-row{min-height:56px}.room-note{padding:15px 18px}.detail-actions{margin-top:20px}}@media(max-width:620px){.header-actions{gap:4px}.language-toggle{padding:2px}.language-toggle button{width:27px;height:27px;font-size:8px}.icon-button{width:36px;height:36px}.brand-lockup.compact small{max-width:88px}}@media(max-width:390px){.brand-lockup.compact small{display:none}.brand-lockup.compact strong{font-size:13px}.header-actions{gap:3px}.language-toggle button{width:25px;height:25px}.icon-button{width:34px;height:34px}}.view-rooms .hero-row{margin-bottom:clamp(14px,2.3vh,26px)}.view-rooms .room-grid{flex:1 1 auto;min-height:0;overflow:auto;align-content:start;padding:4px 4px 12px;margin:-4px -4px 0;overscroll-behavior:contain}.view-rooms .empty-state{flex:1 1 auto;min-height:0;display:grid;place-content:center}.view-rooms .admin-hint{margin:12px 0 0}.editor-page .back-button{margin-bottom:clamp(10px,1.8vh,20px)}.editor-page>.editor-card{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.view-wifi .editor-page>.hero-row{margin-bottom:clamp(12px,2vh,22px)}.view-wifi .wifi-editor{flex:0 0 auto;max-height:min(45%,390px);overflow:auto;margin-bottom:16px}.view-wifi .wifi-grid{flex:1 1 auto;min-height:0;overflow:auto;align-content:start;padding:4px 4px 12px;margin:-4px -4px 0;overscroll-behavior:contain}.view-wifi .empty-state{flex:1 1 auto;min-height:0;display:grid;place-content:center}.settings-page .back-button{margin-bottom:clamp(10px,1.8vh,20px)}.settings-page .settings-grid{flex:1 1 auto;min-height:0;height:auto;align-items:stretch}.settings-page .settings-grid>.editor-card{min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain}.settings-page .appearance-preview{min-height:clamp(220px,29vh,330px)}@media(min-width:901px)and (max-height:820px){.lede{font-size:15px;line-height:1.42;margin-bottom:14px}.room-card{min-height:232px;padding:20px}.room-card-art{min-height:58px}.credential-block{margin-top:14px;margin-bottom:12px}.credential-row{min-height:48px}.room-note{padding:12px 16px}.detail-actions{margin-top:14px}.settings-page .editor-card,.editor-page>.editor-card{padding:22px}.settings-page .appearance-preview{min-height:210px}.background-thumb{height:72px}}@media(max-width:620px){.settings-page .settings-grid{display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;gap:14px}.settings-page .settings-grid>.editor-card{flex:0 0 auto;max-height:none;overflow:visible}.view-wifi .wifi-editor{max-height:none}}:root{--hh-shell-max: 1240px;--hh-content-max: 1180px;--hh-edge-gutter: clamp(22px, 3.2vw, 44px);--hh-edge-gutter-mobile: 12px}.hero-row,.editor-page,.settings-page{width:100%;max-width:100%}@media(max-width:620px){:root{--hh-edge-gutter: var(--hh-edge-gutter-mobile)}}.settings-page{max-width:var(--hh-content-max)}.settings-page .back-button{margin-bottom:clamp(10px,1.5vh,16px)}.settings-shell{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:clamp(16px,2vw,24px)}.settings-intro,.settings-panel{min-width:0;border:1px solid rgba(255,255,255,.52);background:#fffdf9d1;box-shadow:0 18px 54px #392f2617,inset 0 1px #ffffffd1;backdrop-filter:blur(16px) saturate(1.04);-webkit-backdrop-filter:blur(16px) saturate(1.04);border-radius:26px}.settings-intro{padding:clamp(20px,2.3vw,28px);display:flex;flex-direction:column;justify-content:space-between;gap:24px}.settings-intro h1{margin:2px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3vw,40px);line-height:.98;font-weight:500}.settings-intro p:last-child{margin:0;color:#766f64;line-height:1.45}.settings-tabs{display:grid;gap:9px}.settings-tabs button{width:100%;display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid rgba(86,72,55,.1);border-radius:15px;background:#ffffff8c;color:#5f574d;text-align:left;font:inherit;font-weight:700;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.settings-tabs button:hover{transform:translateY(-1px)}.settings-tabs button.active{color:#fff;background:#28231f;border-color:#28231f;box-shadow:0 10px 28px #30271f24}.settings-panel{min-height:0;overflow:hidden}.settings-appearance,.settings-access{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;padding:clamp(20px,2.5vw,30px);scrollbar-width:thin}.settings-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.settings-panel-heading h2{margin:3px 0 0;font-family:Georgia,Times New Roman,serif;font-weight:500;font-size:clamp(27px,3vw,38px);line-height:1}.settings-editor-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.72fr);gap:20px;align-items:stretch}.settings-fields{display:grid;gap:14px;align-content:start}.localized-copy-card{display:grid;gap:13px;padding:16px;border-radius:18px;background:#f6f1e9bd;border:1px solid rgba(94,78,58,.08)}.localized-copy-heading{display:grid;gap:3px}.localized-copy-heading strong{font-size:14px}.localized-copy-heading span{color:#7b7267;font-size:12px;line-height:1.4}.settings-preview-column{min-width:0}.settings-page .compact-preview{min-height:100%;height:100%;margin:0;border-radius:22px}.settings-page .compact-preview .appearance-preview-card{width:min(82%,260px);padding:22px 18px}.settings-page .compact-preview .preview-qr{width:76px;height:76px}.settings-appearance .background-field{margin-top:18px}.settings-appearance .background-presets{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.settings-appearance .background-choice{min-width:0;padding:7px}.settings-appearance .background-thumb{height:62px}.background-strength{margin-top:14px}.settings-save-row{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.settings-save-row>span{color:#81776b;font-size:12px;line-height:1.35}.settings-save-row .primary{min-width:170px}.settings-access{display:flex;flex-direction:column;justify-content:center}.settings-access .lede{max-width:620px}.access-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;max-width:760px}.access-form .primary{min-height:50px;white-space:nowrap}@media(max-width:900px){.settings-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.settings-intro{padding:14px 16px;gap:12px}.settings-intro>div:first-child{display:none}.settings-tabs{grid-template-columns:1fr 1fr}.settings-editor-layout{grid-template-columns:1fr}.settings-preview-column{display:none}}@media(max-width:620px){.settings-page .back-button{margin-bottom:8px}.settings-shell{gap:10px}.settings-intro{border-radius:18px}.settings-tabs button{justify-content:center;padding:11px 8px;font-size:12px}.settings-panel{border-radius:20px}.settings-appearance,.settings-access{padding:17px 14px;scrollbar-width:none}.settings-appearance::-webkit-scrollbar,.settings-access::-webkit-scrollbar{display:none}.settings-panel-heading{gap:8px;margin-bottom:14px}.settings-appearance .background-presets{display:flex;overflow-x:auto;gap:9px;padding-bottom:4px;scrollbar-width:none}.settings-appearance .background-presets::-webkit-scrollbar{display:none}.settings-appearance .background-choice{flex:0 0 108px}.settings-save-row{align-items:stretch;flex-direction:column}.settings-save-row .primary{width:100%}.access-form{grid-template-columns:1fr}.access-form .primary{width:100%}}.guest-code-input{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:20px;text-align:center}.text-button{border:0;background:transparent;color:#746854;font:inherit;font-size:12px;font-weight:750;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.checked-in-label{display:inline-block;margin-top:8px;color:#587257;font-size:11px;font-weight:750}.guest-code-card{margin-top:12px;padding:14px 16px;border-radius:16px;background:#efe9dec7;display:grid;gap:4px}.guest-code-card>span{color:#756a5b;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.guest-code-card strong{font-size:23px;letter-spacing:.16em}.guest-code-card small{color:var(--muted);line-height:1.35}.guest-alert{max-width:650px;margin:0 auto 18px;padding:14px 16px;border-radius:16px;background:#edd8a9bd;border:1px solid rgba(149,112,49,.14);display:grid;gap:3px}.guest-alert span{color:#665a47;font-size:12px;line-height:1.4}.guest-leave{display:block;margin:18px auto 0}@media(max-width:700px){.guest-code-card strong{font-size:20px}}.view-rooms .room-grid,.view-wifi .wifi-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));grid-auto-rows:minmax(0,1fr);gap:clamp(10px,1.7vh,18px);padding-bottom:0}.view-rooms .room-card,.view-wifi .room-card{min-height:0;height:100%;padding:clamp(14px,2vh,22px)}.view-rooms .room-card-art{min-height:clamp(42px,7vh,72px)}.view-rooms .room-card-copy h2,.view-wifi .room-card-copy h2{font-size:clamp(20px,2.5vh,30px)}.guest-alert{max-width:none;margin:clamp(10px,1.6vh,16px) 0 0}.guest-leave{margin:0}.settings-page .settings-shell{height:100%;min-height:0}.settings-page .settings-panel{min-height:0}.settings-page .settings-appearance{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:clamp(8px,1.2vh,14px)}.settings-page .settings-editor-layout{min-height:0}.settings-page .settings-fields{gap:clamp(7px,1vh,12px)}.settings-page .localized-copy-card{padding:clamp(10px,1.4vh,14px);gap:clamp(6px,.9vh,10px)}.settings-page input,.settings-page select,.settings-page textarea{padding-top:9px;padding-bottom:9px}.settings-page .background-presets{gap:8px}.settings-page .background-thumb{height:clamp(46px,7vh,72px)}.settings-page .background-strength{gap:4px}.settings-page .settings-save-row{padding-top:4px}.editor-page>.editor-card{padding:clamp(16px,2.2vh,26px)}.editor-page .form-stack{gap:clamp(8px,1.25vh,14px)}.editor-page textarea{min-height:62px;max-height:90px}.editor-page .network-picker{gap:6px}.editor-page .network-choice{padding:9px 11px}@media(min-width:761px)and (max-height:760px){.lede{font-size:13px;line-height:1.32;margin-bottom:8px}.back-button{margin-bottom:7px!important}.credential-row{min-height:40px}.room-note{padding:9px 12px}.detail-actions{margin-top:8px}}@media(max-width:760px){.guest-alert{grid-area:alert;margin:0;padding:8px 10px}.settings-page .settings-grid,.settings-page .settings-panel{overflow:hidden!important}}.view-rooms .hero-row{margin:0}.view-rooms .room-grid{min-height:0;height:100%;overflow:hidden!important;grid-template-columns:repeat(auto-fit,minmax(clamp(155px,14cqw,230px),1fr));grid-auto-rows:minmax(0,1fr);align-content:stretch;gap:clamp(8px,1.4cqh,16px);padding:0;margin:0}.view-rooms .room-card{min-height:0;height:100%;padding:clamp(12px,1.9cqh,20px);border-radius:clamp(18px,2.4cqh,26px)}.view-rooms .room-card-art{min-height:0}.view-rooms .room-card-art svg{width:clamp(26px,4.5cqh,42px);height:auto}.view-rooms .room-card-copy h2{font-size:clamp(18px,3cqh,28px)}.view-rooms .open-line{padding-top:clamp(7px,1.1cqh,12px)}.view-rooms .admin-hint{margin:0}.view-add .editor-page,.view-edit .editor-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(7px,1.1cqh,12px)}.view-add .editor-page>.back-button,.view-edit .editor-page>.back-button{margin:0}.view-add .editor-card,.view-edit .editor-card{min-height:0;height:100%;overflow:hidden!important;padding:clamp(14px,2.2cqh,26px);border-radius:clamp(20px,2.7cqh,28px)}.view-add .editor-card h1,.view-edit .editor-card h1{margin-block:2px clamp(4px,.7cqh,8px);font-size:clamp(30px,5.2cqh,50px)}.view-add .editor-card .lede,.view-edit .editor-card .lede{margin-bottom:clamp(8px,1.2cqh,14px)}.view-add .form-stack,.view-edit .form-stack{gap:clamp(7px,1.05cqh,12px)}.view-add .form-grid,.view-edit .form-grid{gap:clamp(8px,1cqw,14px)}.view-add input,.view-add select,.view-add textarea,.view-edit input,.view-edit select,.view-edit textarea{padding-block:clamp(8px,1.1cqh,11px)}.view-add .network-picker,.view-edit .network-picker{gap:5px}.view-add .editor-actions,.view-edit .editor-actions{margin-top:3px}.view-wifi .editor-page{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:clamp(7px,1.1cqh,12px)}.view-wifi .editor-page>.back-button,.view-wifi .editor-page>.hero-row{margin:0}.view-wifi .wifi-editor{max-height:none;overflow:hidden!important;margin:0;padding:clamp(12px,1.8cqh,20px)}.view-wifi .wifi-editor .form-stack{gap:clamp(6px,.9cqh,10px)}.view-wifi .wifi-grid{min-height:0;height:100%;overflow:hidden!important;grid-template-columns:repeat(auto-fit,minmax(clamp(170px,16cqw,240px),1fr));grid-auto-rows:minmax(0,1fr);gap:clamp(8px,1.2cqh,14px);padding:0;margin:0}.view-wifi .wifi-card{min-height:0;height:100%}.view-settings .settings-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(7px,1cqh,11px)}.view-settings .settings-page>.back-button{margin:0}.settings-page .settings-shell{min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(7px,1cqh,11px)}.settings-page .settings-intro{min-height:0;padding:clamp(10px,1.5cqh,16px) clamp(12px,1.4cqw,18px)}.settings-page .settings-intro h1{font-size:clamp(28px,4.8cqh,44px)}.settings-page .settings-intro p:last-child{margin-bottom:0}.settings-page .settings-panel,.settings-page .settings-appearance,.settings-page .settings-access{min-height:0;height:100%;overflow:hidden!important}.settings-page .settings-appearance{grid-template-rows:auto minmax(0,1fr) auto auto;gap:clamp(6px,.9cqh,10px);padding:clamp(11px,1.6cqh,18px)}.settings-page .settings-editor-layout{min-height:0;gap:clamp(9px,1.2cqw,16px)}.settings-page .settings-fields{gap:clamp(5px,.75cqh,9px)}.settings-page .localized-copy-card{padding:clamp(8px,1.1cqh,12px);gap:clamp(4px,.65cqh,7px)}.settings-page input,.settings-page select,.settings-page textarea{padding-block:clamp(7px,1cqh,10px)}.settings-page .background-presets{gap:6px}.settings-page .background-choice{padding:5px}.settings-page .background-thumb{height:clamp(38px,5.8cqh,60px)}.settings-page .background-strength{gap:3px}.settings-page .settings-save-row{padding-top:2px}@container hh-main (max-height: 760px){.eyebrow{font-size:9px}.back-button{font-size:11px}.view-add .editor-card .lede,.view-edit .editor-card .lede{display:none}.field-help{font-size:9px;line-height:1.15}.settings-intro>div:first-child p:last-child{display:none}.settings-panel-heading{margin-bottom:5px}.settings-preview-column{display:none}.settings-editor-layout{grid-template-columns:1fr!important}.settings-page .localized-copy-heading span{display:none}}@container hh-main (max-height: 650px){.settings-page .settings-intro{grid-template-columns:1fr}.settings-page .settings-intro>div:first-child{display:none}.settings-tabs button{padding-block:7px}.settings-page .background-strength .range-value{font-size:9px}}@container hh-main (max-width: 760px){.view-add .form-grid,.view-edit .form-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.view-add .form-grid,.view-edit .form-grid{grid-template-columns:1fr}.view-add .editor-card,.view-edit .editor-card{padding:10px}.view-add .editor-actions,.view-edit .editor-actions{flex-direction:row}.view-add .editor-actions button,.view-edit .editor-actions button{width:auto;flex:1}.settings-page .settings-intro{padding:7px 8px}.settings-tabs button{padding:7px 5px;font-size:10px}.settings-page .settings-appearance{padding:8px}.settings-page .background-presets{display:flex;gap:5px;overflow:hidden!important}.settings-page .background-choice{flex:1 1 0;min-width:0}.settings-page .background-thumb{height:34px}.guest-alert{grid-area:alert;margin:0;padding:6px 8px}}.notice.toast{pointer-events:none;animation:hh-toast-in .18s ease-out,hh-toast-out .22s ease-in 2.95s forwards}@keyframes hh-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes hh-toast-out{to{opacity:0;transform:translate(-50%,-8px)}}.room-identity-grid{align-items:start}.room-identity-grid>label{align-self:start}.room-identity-grid input{width:100%}.room-language-help{margin-top:-4px}.room-image-field{min-width:0}.room-image-field input{width:100%}.room-card.has-image{position:relative;isolation:isolate;background-size:cover;background-position:center;color:#fff;border-color:#ffffff61;box-shadow:0 20px 56px #2e251d2e}.room-card.has-image:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#110f0d0a,#110f0d0f 48%,#110f0d1f)}.room-card.has-image:hover{background-size:cover;background-position:center}.room-card.has-image .room-card-top,.room-card.has-image .room-card-copy,.room-card.has-image .open-line{position:relative;z-index:1}.room-card.has-image .room-number{background:#1c181457;color:#fff;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.room-card.has-image .room-card-copy,.room-card.has-image .open-line{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px;background:#18141126;-webkit-backdrop-filter:blur(9px) saturate(1.05);backdrop-filter:blur(9px) saturate(1.05)}.room-card.has-image .room-card-copy{margin-top:auto;padding-top:8px;padding-bottom:8px;border-radius:11px 11px 0 0}.room-card.has-image .open-line{margin-top:0;padding-top:8px;padding-bottom:8px;border-top-color:#fff3;border-radius:0 0 11px 11px;color:#fffffff0}.room-card.has-image{padding-bottom:clamp(10px,1.45cqh,15px)}.room-card.has-image .room-card-copy h2,.room-card.has-image .room-card-copy p,.room-card.has-image .checked-in-label{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.46)}.room-card.has-image .status-dot{box-shadow:0 0 0 4px #fff3}.preview-only{display:block;text-align:center;margin-top:20px}.room-photo-field{display:grid;gap:8px;min-width:0}.field-label{font-weight:700;font-size:.92rem}.room-photo-dropzone{position:relative;min-height:150px;border:1.5px dashed rgba(79,68,54,.28);border-radius:22px;overflow:hidden;cursor:pointer;background:#ffffff7a;transition:border-color .18s ease,transform .18s ease,background .18s ease}.room-photo-dropzone:hover,.room-photo-dropzone.dragging{border-color:#5e4c35bf;background:#ffffffad;transform:translateY(-1px)}.room-photo-dropzone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.room-photo-placeholder{min-height:150px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;color:var(--muted);padding:20px}.room-photo-placeholder strong{color:var(--ink);font-size:1rem}.room-photo-placeholder span{font-size:.84rem}.room-photo-overlay{position:absolute;inset:auto 12px 12px;border-radius:14px;padding:10px 12px;background:#1c18147a;color:#fff;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);display:flex;justify-content:space-between;gap:12px;align-items:center}.room-photo-overlay span{font-size:.78rem;opacity:.9}.room-photo-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-height:780px)and (min-width:761px){.room-photo-dropzone,.room-photo-placeholder{min-height:105px}.room-photo-overlay{padding:7px 9px}}@media(max-width:760px){.room-photo-dropzone,.room-photo-placeholder{min-height:135px}.room-photo-overlay{flex-direction:column;align-items:flex-start;gap:2px}}:root{--image-text-overlay: rgba(31, 24, 18, .15);--image-text-overlay-border: rgba(255,255,255,.16);--qr-accent: #927355;--qr-accent-soft: rgba(146,115,85,.42)}.room-card.has-image{background-size:cover!important;transition:transform .18s ease,box-shadow .18s ease,filter .22s ease}.room-card.has-image:hover{transform:translateY(-3px);background-size:cover!important;box-shadow:0 28px 66px #2e251d38;filter:brightness(1.018)}@media(hover:none),(pointer:coarse){.room-card.has-image:hover{transform:none;box-shadow:0 20px 56px #2e251d2e;filter:none}}.room-card.has-image .room-number{background:var(--image-text-overlay)!important;border:1px solid var(--image-text-overlay-border)!important;color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.42);backdrop-filter:blur(9px) saturate(1.05);-webkit-backdrop-filter:blur(9px) saturate(1.05)}.settings-tabs{grid-template-columns:1fr}.settings-panel{overflow:hidden!important}.settings-section-panel{height:100%;min-height:0;overflow:auto!important;overscroll-behavior:contain;padding:clamp(20px,2.4vw,30px);scrollbar-width:thin}.settings-appearance,.settings-guest-text,.settings-access{display:flex!important;flex-direction:column;gap:clamp(16px,2cqh,24px);justify-content:flex-start}.settings-appearance-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(18px,2vw,26px);align-items:start}.settings-appearance-main,.settings-appearance-side{min-width:0;display:grid;gap:18px;align-content:start}.settings-appearance .background-field{margin-top:0!important}.settings-appearance .background-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-appearance .background-thumb{height:clamp(74px,11cqh,110px)}.settings-appearance .background-strength{margin-top:0}.settings-guest-text .settings-editor-layout{flex:1 1 auto;min-height:0;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);align-items:stretch}.settings-guest-text .localized-copy-card{padding:clamp(18px,2cqh,24px);gap:clamp(13px,1.5cqh,18px)}.settings-guest-text .settings-preview-column,.settings-guest-text .compact-preview{min-height:320px}.settings-section-panel .settings-save-row{margin-top:auto;padding-top:12px;border-top:1px solid rgba(94,78,58,.08)}.settings-access{justify-content:center!important}@media(max-width:1100px){.settings-appearance-grid,.settings-guest-text .settings-editor-layout{grid-template-columns:1fr}.settings-guest-text .settings-preview-column{display:none}.settings-appearance .background-presets{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:900px){.settings-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.settings-intro{padding:10px 12px}.settings-intro>div:first-child{display:none}.settings-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.settings-tabs button{justify-content:center;padding:10px 8px;text-align:center}.settings-tabs button svg{display:none}.settings-section-panel{padding:18px 16px}}@media(max-width:620px){.settings-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-tabs button{font-size:11px;padding:9px 5px}.settings-appearance .background-presets{display:flex;overflow-x:auto!important;gap:9px;padding-bottom:4px}.settings-appearance .background-choice{flex:0 0 108px}.settings-section-panel .settings-save-row{align-items:stretch;flex-direction:column}.settings-section-panel .settings-save-row .primary{width:100%}}.guest-code-field{position:relative}.guest-code-field .guest-code-input{padding-right:46px}.guest-code-clear{position:absolute;top:50%;right:11px;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;background:#483d3014;color:#766b5e;cursor:pointer;font-size:20px;line-height:1}.editor-page{max-width:1180px}.editor-page .editor-card{height:100%;min-height:0;display:flex;flex-direction:column}.room-editor-form{flex:1 1 auto;min-height:0;grid-template-rows:auto minmax(0,1fr) auto}.room-editor-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px;border-radius:18px;background:#ebe4d9b8;border:1px solid rgba(91,73,53,.08)}.room-editor-tabs button{min-height:42px;border:0;border-radius:13px;background:transparent;color:#776c5f;cursor:pointer;font-weight:740;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.room-editor-tabs button:hover{transform:translateY(-1px)}.room-editor-tabs button.active{background:#fffdf9eb;color:var(--ink);box-shadow:0 8px 22px #41332314,inset 0 1px #fffc}.room-editor-tab-panel{min-height:0;overflow:hidden;padding:clamp(14px,1.8cqh,20px) 2px 2px}.room-editor-section{height:100%;min-height:0;display:grid;align-content:start;gap:clamp(14px,1.8cqh,20px)}.room-editor-section .room-photo-dropzone{min-height:clamp(250px,46cqh,470px)}.room-editor-section .network-picker{margin:0}.room-editor-section textarea{min-height:150px;resize:none}.editor-page .editor-actions{margin-top:auto;padding-top:10px}.guest-code-hero{margin:0!important;min-width:0;display:flex!important;flex-direction:column;justify-content:center;padding:clamp(14px,1.8cqh,20px)!important;background:#efe9dead}.guest-code-hero strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:clip;font-size:clamp(24px,3.8cqh,36px)!important;line-height:1;letter-spacing:.13em!important}.app-modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px;background:#201a1447;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.app-confirm-dialog{width:min(100%,470px);padding:28px;border-radius:28px;background:#fffdf9eb;border:1px solid rgba(255,255,255,.72);box-shadow:0 30px 90px #2920183d;backdrop-filter:blur(22px) saturate(1.05);-webkit-backdrop-filter:blur(22px) saturate(1.05)}.app-confirm-dialog h2{margin:0 0 9px;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:500}.app-confirm-dialog>p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.5}.app-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.danger-confirm{background:#743f37}@container hh-main (max-height: 720px){.editor-page .editor-card{padding:20px 24px}.editor-page .editor-card>.lede{display:none}.room-editor-tabs button{min-height:36px}.room-editor-tab-panel{padding-top:10px}.room-editor-section .room-photo-dropzone{min-height:clamp(180px,42cqh,300px)}.guest-code-hero strong{font-size:clamp(21px,3.4cqh,30px)!important}}@media(max-width:760px){.room-editor-tabs{gap:5px;padding:5px}.room-editor-tabs button{min-height:38px;font-size:12px}.room-editor-section .room-photo-dropzone{min-height:240px}.app-confirm-actions{flex-direction:column-reverse}.app-confirm-actions button{width:100%}}.hero-row>div:first-child:before{content:none!important;display:none!important}:root{--hh-edge: clamp(18px, 3.2vw, 62px);--hh-edge-mobile: 12px;--hh-rail: rgba(255,253,249,.76);--hh-rail-border: rgba(255,255,255,.64);--hh-rail-shadow: 0 16px 42px rgba(50,40,30,.09), inset 0 1px 0 rgba(255,255,255,.72);--hh-ambient: rgba(26,20,15,.15);--hh-ambient-border: rgba(255,255,255,.2);--hh-warm-border: #927355}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100dvh;background:var(--canvas-surface)}.app-shell{position:relative;isolation:isolate;width:100%;height:100dvh;min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:transparent}.app-background{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:transparent;background-repeat:repeat;background-position:center;background-size:auto;opacity:var(--hh-bg-opacity,.16)}.app-shell>:not(.app-background){position:relative;z-index:1}.app-shell:before,.app-shell:after{content:none!important;display:none!important}.app-header{grid-row:1;width:calc(100% - (2 * var(--hh-edge)));min-height:68px;margin:14px auto 8px;padding:8px 14px 8px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--hh-rail-border);border-radius:24px;background:var(--hh-rail);box-shadow:var(--hh-rail-shadow);backdrop-filter:blur(18px) saturate(1.04);-webkit-backdrop-filter:blur(18px) saturate(1.04)}.app-viewport{grid-row:2;min-width:0;min-height:0;overflow:hidden;background:transparent;border:0;box-shadow:none}.content{width:calc(100% - (2 * var(--hh-edge)));max-width:none;height:100%;min-height:0;margin:0 auto;padding:clamp(12px,1.7vh,22px) 0 clamp(10px,1.4vh,18px);overflow:hidden;background:transparent}.app-footer{grid-row:3;width:calc(100% - (2 * var(--hh-edge)));min-height:31px;margin:0 auto 10px;padding:6px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#463f389e;font-size:10px;font-weight:650;letter-spacing:.035em;border:1px solid var(--hh-rail-border);border-radius:18px;background:#fffdf9ad;box-shadow:0 8px 26px #32281e0f,inset 0 1px #ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app-footer a{color:inherit;text-decoration:none}.app-footer a span{color:#71939a}.app-version{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.auth-shell,.guest-entry-preview{width:100%;height:100%;min-height:100dvh;display:grid;place-items:center;padding:clamp(24px,4vw,58px);background:#eee8de center/cover no-repeat;overflow:hidden}.guest-entry-shell{position:fixed!important;inset:0;z-index:20!important}.auth-card{width:min(100%,520px);padding:38px;border:1px solid rgba(255,255,255,.56);border-radius:32px;background:#fffdf9e6;box-shadow:0 30px 90px #2d221726;backdrop-filter:blur(20px) saturate(1.03);-webkit-backdrop-filter:blur(20px) saturate(1.03)}.setup-card{width:min(100%,710px)}.guest-entry-card{height:560px;min-height:560px;display:grid;grid-template-rows:auto auto auto auto 1fr auto;align-content:stretch;color:var(--ink)}.guest-entry-card.has-arrival-image{color:#fff;background:#1a140f26;border-color:#ffffff3d;text-shadow:0 1px 3px rgba(0,0,0,.22);backdrop-filter:blur(18px) saturate(1.05);-webkit-backdrop-filter:blur(18px) saturate(1.05)}.guest-entry-card.has-arrival-image .eyebrow,.guest-entry-card.has-arrival-image .lede,.guest-entry-card.has-arrival-image label,.guest-entry-card.has-arrival-image .staff-entry-link{color:#fff}.guest-entry-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:42px}.arrival-access-form{align-self:start;display:grid;grid-template-rows:auto 64px;gap:18px}.arrival-access-form label{margin:0}.arrival-input-field{position:relative;margin-top:7px}.arrival-input{width:100%;height:64px;min-height:64px;padding:0 48px 0 18px;border-radius:18px;border:1px solid rgba(54,45,36,.13);background:#ffffffeb;color:var(--ink)}.arrival-input:not([type=password]){text-align:center;font-weight:820;letter-spacing:.12em;text-transform:uppercase}.arrival-submit{width:100%;height:64px;min-height:64px}.guest-code-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:#25211c14;cursor:pointer}.staff-entry-link{justify-self:center;align-self:end;margin:0;color:#75644f;font-weight:700}.guest-entry-inline-footer{position:absolute!important;left:var(--hh-edge);right:var(--hh-edge);bottom:14px;min-height:32px;display:flex;align-items:center;justify-content:space-between;padding:6px 14px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:var(--hh-ambient);color:#fff;font-size:10px;font-weight:650;letter-spacing:.035em;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.guest-entry-inline-footer a{color:inherit;text-decoration:none}.guest-entry-inline-footer a span{color:#9bc2c9}.guest-preview-shell{width:100%;height:100%;min-height:0;padding:10px var(--hh-edge) 8px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;overflow:hidden;background:transparent;border:0;box-shadow:none}.guest-preview-toolbar{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 14px 8px 18px;border:1px solid var(--hh-rail-border);border-radius:22px;background:var(--hh-rail);box-shadow:var(--hh-rail-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.guest-preview-controls{display:flex;align-items:center;gap:8px;min-width:0}.guest-preview-controls>button:not(.secondary){border:0;background:transparent;padding:10px 12px;border-radius:12px;cursor:pointer;color:var(--muted)}.guest-preview-controls>button.active{background:#ffffffc7;color:var(--ink);font-weight:700}.guest-preview-controls select{width:auto;min-width:210px;padding:10px 34px 10px 12px}.guest-preview-stage{min-width:0;min-height:0;overflow:hidden;padding:0;background:transparent;border:0;box-shadow:none}.guest-preview-stage>.guest-portal-shell{width:100%;height:100%;padding:0}.guest-entry-preview{min-height:0;border-radius:28px;background-position:center;background-size:cover}.guest-portal-shell{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:0;overflow:hidden;background:transparent;border:0;box-shadow:none}.guest-portal-header{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 14px;border:1px solid var(--hh-rail-border);border-radius:22px;background:var(--hh-rail);box-shadow:var(--hh-rail-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.guest-portal-main{min-width:0;min-height:0;overflow:hidden;background:transparent}.guest-portal-grid{position:relative;width:100%;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:clamp(18px,2.4vw,34px);padding:clamp(18px,2.2vw,30px);border-radius:30px;overflow:hidden;background:#ded4c6 center/cover no-repeat}.guest-portal-grid:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#120d0a0d,#120d0a03);pointer-events:none}.guest-portal-grid>*{position:relative;z-index:1}.guest-portal-copy{min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px;background:transparent}.guest-room-hero,.guest-credentials,.guest-property-footer{background:var(--hh-ambient);border:1px solid var(--hh-ambient-border);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.24);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.guest-room-hero{padding:20px 24px;border-radius:22px}.guest-welcome h1{margin:0;color:#fff;font-size:clamp(42px,5vw,66px)}.guest-welcome .eyebrow,.guest-welcome .lede{color:#fff}.guest-welcome .lede{margin:8px 0 0;max-width:100%;font-size:15px;line-height:1.4}.guest-credentials{display:grid;grid-template-columns:1fr 1fr;border-radius:18px;overflow:hidden}.guest-credentials>span{display:grid;gap:4px;padding:15px 18px;font-size:10px;font-weight:760;text-transform:uppercase;letter-spacing:.12em}.guest-credentials>span+span{border-left:1px solid rgba(255,255,255,.16)}.guest-credentials strong{font-size:16px;text-transform:none;letter-spacing:0}.guest-copy-footer{margin-top:auto}.guest-property-footer{margin:0;padding:12px 16px;border-radius:16px;font-size:12px}.guest-wifi-card{min-width:0;min-height:0;align-self:stretch;display:grid;grid-template-rows:auto minmax(0,1fr);align-items:center;justify-items:center;padding:20px;border:1px solid var(--hh-ambient-border);border-radius:26px;background:var(--hh-ambient);color:#fff;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.24);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.guest-wifi-card .eyebrow{color:#fff}.guest-wifi-card h2{margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4vw,44px);font-weight:500}.qr-wrap{width:100%;min-height:0;display:grid;justify-items:center;align-content:center;gap:10px}.qr-card{width:min(100%,390px);aspect-ratio:1;display:grid;place-items:center;padding:14px;border:2px solid var(--hh-warm-border);border-radius:16px;background:#fff;box-shadow:0 12px 34px #2c22181f;overflow:hidden}.qr-card canvas{width:100%!important;height:auto!important;display:block}.qr-placeholder{position:absolute;inset:14px;display:grid;place-items:center;background:#f4f0e9;color:#918474}.qr-wrap>p{margin:0;font-size:12px}.qr-actions{display:flex;gap:10px;justify-content:center}.room-detail-page{position:relative;container-type:size}.room-detail-page .back-button{margin:0 0 8px}.room-detail-page .detail-layout{height:calc(100% - 46px);min-height:0;display:grid;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:clamp(20px,2.3vw,36px);align-items:stretch}.room-detail-page .detail-copy{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;overflow:hidden;padding:0;background:transparent}.room-title-line{display:flex;align-items:baseline;gap:10px;min-width:0;padding-right:92px}.room-title-line .eyebrow{margin:0;flex:0 0 auto}.room-title-line h1{margin:0;font-size:clamp(34px,4.4cqh,48px);line-height:1}.room-utility-actions{position:absolute;top:0;right:0;display:flex;gap:7px;z-index:2}.room-utility-actions .mini-icon{width:36px;height:36px;background:#fffdf9b8;border:1px solid rgba(255,255,255,.52);box-shadow:0 7px 20px #30251b14}.room-detail-page .detail-copy>.lede{display:none}.room-detail-page .credential-block.compact-zone{margin:0}.room-detail-page .credential-block.compact-zone .credential-row{min-height:42px;padding:7px 0}.room-detail-page .room-note{margin:0;padding:12px 15px;border-radius:15px;background:#fffdf97a}.guest-access-card{min-height:0;border:1px solid rgba(255,255,255,.52);border-radius:24px;background:#fffdf9a8;box-shadow:0 18px 46px #34291e14;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.guest-access-card.active{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:16px 18px}.guest-access-card.vacant{align-self:start;padding:20px}.guest-access-card.vacant>p{margin:10px 0 16px;color:var(--muted)}.guest-access-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.guest-access-heading h3{margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:500}.guest-state{padding:5px 9px;border-radius:999px;background:#7e897321;color:#67745f;font-size:9px;font-weight:780;letter-spacing:.09em;text-transform:uppercase}.guest-code-inline{min-width:230px;padding:9px 14px;border-radius:15px;background:var(--hh-ambient);border:1px solid rgba(255,255,255,.22);text-align:right}.guest-code-inline span{display:block;margin-bottom:2px;color:#74685c;font-size:9px;font-weight:780;text-transform:uppercase;letter-spacing:.12em}.guest-code-inline strong{display:block;white-space:nowrap;font-size:clamp(26px,3.6cqh,36px);line-height:1;letter-spacing:.11em}.guest-access-active-layout{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px}.guest-link-block{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:center;align-items:center;gap:8px}.guest-link-meta{width:100%;display:flex;align-items:center;justify-content:center;gap:12px}.guest-link-meta strong{font-size:15px;letter-spacing:.08em;text-transform:uppercase}.guest-link-meta .secondary{width:auto;min-height:38px;padding:0 12px}.guest-link-block canvas{width:min(100%,clamp(220px,38cqh,330px))!important;height:auto!important;aspect-ratio:1;border:2px solid var(--hh-warm-border);border-radius:15px;background:#fff;padding:8px}.checkout-button{justify-self:start;margin:0}.print-surface{min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;justify-items:center;align-items:center;gap:10px;padding:20px 24px;border:1px solid rgba(255,255,255,.56);border-radius:28px;background:#fffdf9ad;box-shadow:0 20px 52px #362b1f1a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);text-align:center}.print-heading{width:100%;text-align:center}.print-hotel,.print-signature,.print-heading h2{display:none}.wifi-hero-label{margin:0;color:#8a7962;font-size:13px;font-weight:780;text-transform:uppercase;letter-spacing:.17em}.room-detail-page .print-surface .qr-card{width:min(96%,clamp(355px,61cqh,520px))}.print-credentials{width:min(94%,470px);display:grid;justify-items:center;gap:3px}.print-credentials span{font-size:18px;font-weight:760}.print-credentials small{color:var(--muted);font-size:13px}.room-detail-page .qr-actions{align-self:end}@media print{body{background:#fff!important}.app-background,.app-header,.app-footer,.detail-copy,.back-button,.notice{display:none!important}.app-shell,.app-viewport,.content,.room-detail-page{display:block!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.detail-layout{display:block!important}.print-surface{display:grid!important;width:100%!important;min-height:100vh!important;padding:12mm!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.print-hotel,.print-signature,.print-heading h2,.print-footer{display:block!important}.print-heading h2{font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:500}.print-surface .qr-card{width:95mm!important}}@media(max-height:820px)and (min-width:901px){.app-header{min-height:60px;margin-top:10px}.app-footer{min-height:28px;margin-bottom:7px}.content{padding-block:8px}.room-detail-page .detail-layout{height:calc(100% - 38px)}.guest-entry-card{height:520px;min-height:520px;padding:32px 36px}.guest-entry-topline{margin-bottom:28px}.arrival-input,.arrival-submit{height:58px;min-height:58px}.guest-link-block canvas{width:min(100%,clamp(185px,31cqh,260px))!important}.room-detail-page .print-surface .qr-card{width:min(94%,clamp(300px,54cqh,430px))}}@media(max-width:900px){.app-shell{height:auto;min-height:100dvh;overflow:auto}.app-viewport{overflow:visible}.content{height:auto;overflow:visible}.room-detail-page .detail-layout{height:auto;grid-template-columns:1fr}.guest-preview-shell{height:auto;min-height:100dvh;overflow:visible}.guest-preview-stage{overflow:visible}.guest-portal-shell{height:auto;min-height:calc(100dvh - 20px)}.guest-portal-grid{height:auto;grid-template-columns:1fr}.guest-wifi-card{min-height:520px}}@media(max-width:620px){:root{--hh-edge:var(--hh-edge-mobile)}.app-header{width:calc(100% - 20px);min-height:62px;margin-top:10px;border-radius:20px}.app-footer{width:calc(100% - 20px);margin-bottom:8px}.auth-shell,.guest-entry-preview{padding:18px 12px 54px}.guest-entry-card{width:min(100%,520px);height:auto;min-height:0;padding:28px 22px}.guest-entry-topline{margin-bottom:32px}.arrival-input,.arrival-submit{height:58px;min-height:58px}.guest-entry-inline-footer{left:12px;right:12px;bottom:10px}.guest-preview-shell{padding:8px 10px}.guest-preview-toolbar{align-items:flex-start;flex-direction:column}.guest-preview-controls{width:100%;flex-wrap:wrap}.guest-preview-controls select{min-width:0;flex:1}.guest-portal-header{border-radius:18px}.guest-portal-grid{padding:12px;border-radius:22px}.guest-credentials{grid-template-columns:1fr}.guest-credentials>span+span{border-left:0;border-top:1px solid rgba(255,255,255,.16)}.guest-wifi-card{min-height:460px;padding:16px}.qr-card{width:min(100%,330px)}.guest-code-inline{min-width:0}.room-title-line{padding-right:86px}}.auth-language{position:absolute;top:18px;right:20px;z-index:2}.content-language-badge{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(92,76,57,.12);border-radius:999px;background:#ffffffb8;color:#736856;font-size:11px;font-weight:800}.arrival-image-field{display:grid;gap:9px;min-width:0}.arrival-image-dropzone{position:relative;width:100%;min-height:clamp(150px,23vh,230px);padding:0;overflow:hidden;border-radius:22px;border:1px dashed rgba(94,76,53,.35);background:#ffffff73;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.arrival-image-dropzone:hover,.arrival-image-dropzone.dragging{transform:translateY(-1px);border-color:#5e4c35c7;background:#ffffff9e}.arrival-image-dropzone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.arrival-image-placeholder{min-height:inherit;display:grid;place-items:center;align-content:center;gap:7px;padding:20px;color:var(--muted);text-align:center}.arrival-image-placeholder strong{color:var(--ink);font-size:1rem}.arrival-image-placeholder span{font-size:.84rem}.arrival-image-overlay{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--image-text-overlay,rgba(26,20,15,.15));border:1px solid var(--image-text-overlay-border,rgba(255,255,255,.2));color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-shadow:0 1px 10px rgba(0,0,0,.35)}.arrival-image-overlay span{font-size:.78rem;opacity:.92}.arrival-image-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-appearance .arrival-image-field{gap:10px}.settings-appearance .arrival-image-dropzone{min-height:clamp(220px,34cqh,360px);border-radius:24px}@media(max-width:620px){.auth-language{top:10px;right:12px}.arrival-image-dropzone{min-height:140px}.arrival-image-overlay{flex-direction:column;align-items:flex-start;gap:2px}}#root,.app-shell,.app-viewport,.content,.rooms-page,.guest-preview-shell,.guest-preview-stage,.guest-portal-shell,.guest-portal-main{background:transparent!important;background-color:transparent!important;box-shadow:none}#root:before,#root:after,.app-viewport:before,.app-viewport:after,.content:before,.content:after,.rooms-page:before,.rooms-page:after,.guest-preview-shell:before,.guest-preview-shell:after,.guest-preview-stage:before,.guest-preview-stage:after{content:none!important;display:none!important}.app-background{background-color:transparent!important;background-repeat:repeat!important;background-position:center!important;background-size:auto!important;mix-blend-mode:normal!important;filter:none!important}.rooms-page{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(8px,1.2vh,14px);overflow:hidden}.rooms-page>.hero-row{margin:0;min-height:0;align-items:end}.rooms-page>.admin-hint{margin:0;align-self:end}.rooms-page>.room-grid{min-width:0;min-height:0;height:100%;overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));grid-auto-rows:minmax(0,1fr);gap:clamp(10px,1.15vw,16px);align-items:stretch}.rooms-page .room-card{min-width:0;min-height:0;height:100%;max-height:100%;padding:clamp(12px,1.35vw,18px);border-radius:clamp(20px,1.8vw,28px)}.rooms-page .room-card.has-image{padding-bottom:clamp(9px,1.2cqh,13px)}.rooms-page .room-card-copy h2{font-size:clamp(20px,2.6cqh,29px)}.rooms-page .room-number{min-width:clamp(40px,5.6cqh,50px);height:clamp(40px,5.6cqh,50px)}@media(min-width:901px)and (max-height:900px){.rooms-page{gap:8px;padding-top:7px;padding-bottom:7px}.rooms-page>.hero-row{align-items:center}.rooms-page>.hero-row h1{margin:0 0 2px;font-size:clamp(38px,5.4cqh,54px)}.rooms-page>.hero-row .lede{margin:0;font-size:13px}.rooms-page>.hero-row .eyebrow{margin-bottom:4px}.rooms-page .room-card{padding:12px}.rooms-page .room-card-copy,.rooms-page .room-card.has-image .open-line{padding-top:6px;padding-bottom:6px}.rooms-page>.admin-hint{font-size:10px}}@media(max-width:900px){.rooms-page>.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.rooms-page{overflow:auto}.rooms-page>.room-grid{height:auto;overflow:visible;grid-template-columns:1fr;grid-auto-rows:minmax(250px,auto)}.rooms-page .room-card{min-height:250px;height:auto}}.app-background{position:fixed;inset:0;z-index:0;opacity:1!important;background:var(--canvas-surface)!important;overflow:hidden}.app-background:before{content:"";position:absolute;inset:0;background-image:var(--hh-bg-image, none);background-repeat:repeat;background-position:center;background-size:auto;opacity:var(--hh-bg-opacity, .16);pointer-events:none}.app-viewport,.content,.settings-page,.settings-shell,.settings-appearance-grid,.rooms-page,.guest-preview-shell,.guest-preview-stage,.guest-portal-shell,.guest-portal-main{background:transparent!important;background-color:transparent!important;border-color:transparent;box-shadow:none}.app-viewport:before,.app-viewport:after,.content:before,.content:after,.settings-page:before,.settings-page:after,.settings-shell:before,.settings-shell:after,.rooms-page:before,.rooms-page:after,.guest-preview-shell:before,.guest-preview-shell:after,.guest-preview-stage:before,.guest-preview-stage:after{content:none!important;display:none!important}.view-settings .settings-intro,.view-settings .settings-panel{background:transparent!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
