:root{color:#0f172a;--border:#94a3b83d;--border-soft:#94a3b829;--panel:#ffffffdb;--panel-subtle:#f8fafce0;--muted:#64748b;--text-main:#0f172a;--shadow-soft:0 20px 50px #0f172a17;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f6fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#2563eb1f,#0000 28%),radial-gradient(circle at 100% 0,#6366f11a,#0000 24%),linear-gradient(#f8fbff 0%,#eef4ff 46%,#f8fafc 100%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit;border:1px solid var(--border);background:#fffffff0;border-radius:11px;padding:7px 10px}button{cursor:pointer;color:#fff;letter-spacing:.01em;background:linear-gradient(#2563eb,#1d4ed8);border:none;font-size:11.5px;font-weight:700;line-height:1.05;transition:transform .12s,box-shadow .12s,opacity .12s,background .12s;box-shadow:0 8px 16px #2563eb2e}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 20px #2563eb38}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}input,select{color:var(--text-main);transition:border-color .12s,box-shadow .12s,background .12s}input:focus,select:focus{background:#fff;border-color:#2563eb73;outline:none;box-shadow:0 0 0 4px #2563eb1f}h1,h2,p{margin:0}h1{letter-spacing:-.03em;font-size:clamp(26px,4vw,38px);line-height:1.05}h2{letter-spacing:-.02em;font-size:17px;line-height:1.15}#root{width:100%;min-height:100vh;margin:0 auto}.public-shell,.admin-login-shell{place-items:center;min-height:100vh;padding:16px;display:grid}.public-card,.admin-login-card,.panel,.subpanel,.nested-panel,.button-editor,.room-card,.reservation-card{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px}.public-card,.admin-login-card{width:min(440px,100%);padding:22px 18px}.brand-lockup{text-align:center;justify-items:center;gap:12px;margin-bottom:22px;display:grid}.brand-lockup h1{max-width:12ch}.brand-logo{object-fit:contain;filter:drop-shadow(0 10px 18px #0f172a24);width:68px;height:68px}.login-pane,.guest-pane{gap:10px;display:grid}.guest-meta{text-align:center;color:var(--muted);background:var(--panel-subtle);border:1px solid var(--border-soft);border-radius:14px;gap:4px;padding:10px 12px;display:grid}.guest-meta strong{color:var(--text-main);font-size:13px}.guest-language-picker{color:var(--muted);justify-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-grid}.guest-language-picker select{min-width:120px}.rooms-grid,.reservation-grid,.stack-grid,.admin-grid{gap:10px;display:grid}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-card,.reservation-card,.subpanel,.nested-panel,.button-editor,.panel{padding:12px}.room-card,.reservation-card,.subpanel,.nested-panel,.button-editor{background:linear-gradient(#fffffffa,#f8fafcf5)}.room-card h2,.panel h2{margin-bottom:8px}.room-card h2{margin-bottom:0;font-size:13px}.room-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.season-badge-row{flex-wrap:wrap;gap:6px;display:flex}.season-chip{border:1px solid var(--border);min-height:22px;color:var(--muted);letter-spacing:.02em;box-shadow:none;background:#ffffffdb;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.season-chip.summer.active{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb38}.season-chip.winter.active{color:#dc2626;background:#dc26261a;border-color:#dc26263d}.button-stack{scrollbar-width:thin;flex-wrap:nowrap;align-items:stretch;gap:6px;padding-bottom:3px;display:flex;overflow:auto hidden}.room-action{text-align:center;letter-spacing:.01em;white-space:nowrap;border-radius:10px;flex:none;justify-content:center;align-items:center;min-height:26px;padding:5px 8px;font-size:10.5px;font-weight:700;line-height:1.1;display:inline-flex;position:relative;box-shadow:0 6px 14px #2563eb24}.room-action:after{content:attr(data-description);color:#fff;opacity:0;pointer-events:none;white-space:normal;z-index:6;background:#0f172af5;border-radius:10px;min-width:140px;max-width:min(260px,80vw);padding:8px 10px;font-size:12px;font-weight:500;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 16px 28px #0f172a3d}.room-action[data-description=""]:after{content:none}.room-action:hover:after,.room-action:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.ghost-button,.secondary-button{border:1px solid var(--border);color:var(--text-main);box-shadow:none;background:#ffffffd1}.ghost-button,.secondary-button,.topbar-actions>button,.inline-actions>button{border-radius:10px;min-height:28px;padding:5px 9px;font-size:10.5px}.color-input{border-radius:10px;block-size:34px;inline-size:54px;padding:2px}.ghost-button:hover,.secondary-button:hover{background:#fff}.admin-shell{gap:12px;max-width:1480px;padding:12px;display:grid}.admin-topbar,.panel-head,.subpanel-head,.topbar-actions,.inline-actions,.health-strip{gap:8px;display:flex}.admin-topbar,.panel-head,.subpanel-head{justify-content:space-between;align-items:flex-start}.admin-topbar{z-index:8;border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-soft);background:#ffffffc7;border-radius:18px;padding:12px 14px;position:sticky;top:12px}.panel-head,.subpanel-head{margin-bottom:8px}.panel-head h2,.subpanel-head strong{color:var(--text-main)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px 10px;margin-top:6px;display:grid}.form-grid label{color:var(--muted);gap:4px;font-size:11px;font-weight:600;display:grid}.full-width{grid-column:1/-1}.checkbox-row{align-items:center;gap:8px;margin-top:20px;color:var(--text-main)!important;display:flex!important}.checkbox-row input{width:auto;margin:0}.banner{border:1px solid #0000;border-radius:12px;margin:0;padding:10px 12px;font-size:12px;font-weight:600}.banner.error{color:#b91c1c;background:#ef444414;border-color:#ef444424}.banner.success{color:#047857;background:#10b9811a;border-color:#10b9812e}.pill{border:1px solid var(--border);background:#ffffffdb;border-radius:999px;padding:5px 9px;font-size:10.5px;font-weight:700}.pill.ok{color:#047857}.pill.warn{color:#b45309}.topbar-kicker,.muted-text,.reservation-card span,.empty-state{color:var(--muted)}.topbar-kicker{letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800}.muted-text{font-size:11px;line-height:1.35}.reservation-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.reservation-card{gap:3px;font-size:11px;display:grid}.reservation-card strong{color:var(--text-main);font-size:12px}.empty-state{margin:0;padding:8px 0;font-size:11px}@media (width>=821px){.rooms-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (width<=980px){.admin-grid{grid-template-columns:1fr}}@media (width<=760px){.public-shell,.admin-login-shell{padding:10px}.public-card,.admin-login-card{border-radius:16px;width:100%;padding:18px 14px}.admin-shell{gap:10px;padding:10px}.admin-topbar,.panel-head,.subpanel-head,.room-card-head,.topbar-actions,.inline-actions,.health-strip{flex-direction:column}.admin-topbar{padding:10px 12px;top:8px}.topbar-actions>button,.inline-actions>button{width:100%}.panel,.subpanel,.nested-panel,.button-editor,.room-card,.reservation-card{border-radius:14px;padding:10px}.room-action{border-radius:9px;min-height:24px;padding:4px 7px;font-size:10px}.form-grid{grid-template-columns:1fr}.reservation-grid,.stack-grid,.rooms-grid{gap:10px}}
