@font-face{font-family:sans;src:url(../media/PlusJakartaSans_latin-s.p.405dixo3t0-v0.woff2)format("woff2");font-display:swap;font-weight:200 800;font-style:normal}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:98.16%;descent-override:20.99%;line-gap-override:0.0%;size-adjust:105.75%}.sans_6f15b582-module__2ZjFQa__className{font-family:sans,sans Fallback;font-style:normal}.sans_6f15b582-module__2ZjFQa__variable{--font-sans:"sans", "sans Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8f8;--surface:#fff;--surface-2:#f1f3f2;--surface-3:#e9ecea;--text:#101512;--muted:#66736b;--faint:#8b968f;--border:#e6e8e7;--border-strong:#d3d8d5;--primary:#059669;--primary-hover:#047857;--primary-soft:#ecfdf5;--on-primary:#fff;--danger:#dc2626;--danger-soft:#fef2f2;--warning:#b45309;--warning-soft:#fffbeb;--ring:#05966959;--shadow-sm:0 1px 2px #1015120d;--shadow-md:0 10px 30px -18px #10151259;--radius:12px;--radius-sm:8px;--radius-lg:16px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0f0e;--surface:#141816;--surface-2:#1b201d;--surface-3:#222925;--text:#eef2ef;--muted:#9aa69e;--faint:#7c8880;--border:#262d29;--border-strong:#343d38;--primary:#34d399;--primary-hover:#6ee7b7;--primary-soft:#34d3991f;--on-primary:#06281c;--danger:#f87171;--danger-soft:#f871711f;--warning:#fbbf24;--warning-soft:#fbbf241f;--ring:#34d39966;--shadow-sm:0 1px 2px #0006;--shadow-md:0 12px 34px -18px #000c}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:15.5px;line-height:1.55}button,a,input,select,textarea{touch-action:manipulation}a{color:var(--primary);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}h1,h2,h3{letter-spacing:-.015em;text-wrap:balance;font-weight:650;line-height:1.25}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tabular{font-variant-numeric:tabular-nums}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}.main{padding:40px 0 88px}.meta{color:var(--muted);font-size:13.5px}.mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}.eyebrow{color:var(--primary);letter-spacing:.01em;font-size:13px;font-weight:600}.shell{min-height:100vh;display:flex}.shell-body{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar{display:none}.sidebar-nav{gap:4px;display:grid}.sidebar-nav a{color:var(--muted);border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:14.5px;font-weight:550;display:flex}.sidebar-nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.sidebar-nav a.active{background:var(--primary-soft);color:var(--primary)}.sidebar-foot{border-top:1px solid var(--border);gap:14px;margin-top:auto;padding-top:18px;display:grid}.sidebar-user{align-items:center;gap:11px;min-width:0;display:flex}.sidebar-user .who{min-width:0}.sidebar-user .name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.sidebar-user .email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}@media (min-width:1024px){.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;width:256px;height:100vh;padding:24px 16px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{padding:0 6px 20px}.shell .topbar{display:none}.shell .main{padding-top:52px}}.topbar{z-index:20;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{align-items:center;gap:16px;min-height:60px;display:flex}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand-dot{background:var(--primary);border-radius:8px;flex:none;width:26px;height:26px;position:relative;box-shadow:inset 0 0 0 1px #ffffff26}.brand-dot:after{content:"";background:var(--on-primary);opacity:.9;border-radius:3px;position:absolute;inset:8px}.nav{flex-wrap:wrap;align-items:center;gap:2px;margin-left:auto;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:7px 12px;font-size:14px;font-weight:550}.nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav a.active{background:var(--primary-soft);color:var(--primary)}.user-chip{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:13.5px;display:none;overflow:hidden}.only-md{display:none!important}@media (min-width:720px){.only-md{display:flex!important}.user-chip{display:inline}}.avatar{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:700;display:inline-grid}.icon-btn{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:10px;flex:none;place-items:center;transition:background .14s,color .14s,border-color .14s;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}@media (max-width:719px){.topbar .icon-btn{width:34px;height:34px}}.bottom-nav{display:none}@media (max-width:719px){.bottom-nav{z-index:30;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;min-height:56px;padding:9px 4px 11px;font-size:11.5px;font-weight:600;display:flex}.bottom-nav a:hover,.bottom-nav button:hover{color:var(--text);text-decoration:none}.bottom-nav a.active{color:var(--primary)}.main{padding-bottom:96px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;display:flex}.page-head h1{font-size:26px;font-weight:700}.page-head p{color:var(--muted);margin-top:3px;font-size:14.5px}.section{margin-top:52px}.section-title{margin-bottom:12px;font-size:15px;font-weight:650}.stack{gap:20px;display:grid}.split{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:30px;display:grid}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.list-reset{list-style:none}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.empty{text-align:center;color:var(--muted);padding:44px 20px;font-size:14.5px}.center-narrow{max-width:560px;margin:40px auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-wrap:break-word}.card-pad{padding:24px}.card h2{margin-bottom:16px;font-size:16px;font-weight:650}.room-card{color:var(--text);flex-direction:column;gap:10px;padding:22px;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.room-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);text-decoration:none;transform:translateY(-2px)}.room-card h3{font-size:16.5px;font-weight:650}.room-card .spacer{min-height:6px}.room-card .room-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.stat{color:var(--text);flex-direction:column;gap:4px;padding:18px 20px;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.stat:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);text-decoration:none;transform:translateY(-2px)}.stat .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.status{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.dot-ok{background:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.dot-warn{background:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}.dot-off{background:var(--faint)}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:650;display:inline-flex}.badge-ok{background:var(--primary-soft);color:var(--primary)}.badge-warn{background:var(--warning-soft);color:var(--warning)}.badge-muted{background:var(--surface-2);color:var(--muted)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:14.5px;font-weight:600;text-decoration:none;transition:background .14s,border-color .14s,color .14s,opacity .14s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--surface);border-color:color-mix(in srgb, var(--danger) 35%, var(--border));color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-ghost{color:var(--muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-sm{border-radius:9px;padding:6px 12px;font-size:13.5px}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.field{flex-direction:column;gap:7px;margin-bottom:18px;display:flex}.field label{color:var(--text);font-size:13.5px;font-weight:600}.field .hint{color:var(--muted);font-size:12.5px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;width:100%;padding:9px 12px;font-size:14.5px;transition:border-color .14s,box-shadow .14s}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}textarea{resize:vertical;min-height:88px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 20px;display:grid}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;min-height:36px;padding:7px 15px;font-size:13.5px;font-weight:600}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.date-strip{scrollbar-width:thin;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.date-btn{border:1px solid var(--border);background:var(--surface);min-width:62px;color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;flex:none;align-items:center;gap:1px;padding:8px 10px;font-size:12px;font-weight:600;transition:border-color .14s,background .14s,color .14s;display:flex}.date-btn strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.date-btn:hover{border-color:var(--border-strong)}.date-btn[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.date-btn[aria-pressed=true] strong{color:var(--primary)}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;display:grid}.slot{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:9px;padding:11px 8px;font-size:13.5px;font-weight:600;transition:border-color .14s,background .14s,color .14s}.slot:hover:not(:disabled){border-color:var(--border-strong)}.slot[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.slot-covered{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:var(--primary-soft);color:var(--primary)}.slot:disabled{color:var(--faint);background:var(--surface-2);border-color:var(--border);cursor:not-allowed;text-decoration:line-through}.timeline{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:10px;position:relative;overflow:hidden}.timeline-busy{background:var(--border-strong);position:absolute;top:0;bottom:0}.timeline-sel{background:color-mix(in srgb, var(--primary) 60%, transparent);border-radius:999px;position:absolute;top:0;bottom:0}.timeline-labels{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:6px;font-size:12px;display:flex}.alert{border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 15px;font-size:14px;display:flex}.alert-error{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent);color:var(--danger)}.alert-ok{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 30%, transparent);color:var(--primary)}.alert-info{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 30%, transparent);color:var(--warning)}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:11px 12px}.table th{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:650}.table tbody tr:hover td{background:var(--surface-2)}.table tr:last-child td{border-bottom:none}.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:40px;padding:56px 0 24px;display:grid}.hero h1{letter-spacing:-.03em;margin:10px 0 14px;font-size:clamp(32px,4.6vw,46px);font-weight:700}.hero .lead{color:var(--muted);max-width:50ch;margin-bottom:22px;font-size:17px}.hero-note{margin-top:14px}.preview{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:18px}.preview-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.preview-room{font-size:17px;font-weight:650}.features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.feature{padding:20px}.feature-icon{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:10px;place-items:center;margin-bottom:12px;display:inline-grid}.feature h3{margin-bottom:5px;font-size:15.5px}.feature p{color:var(--muted);font-size:14px}.page-foot{border-top:1px solid var(--border);color:var(--muted);margin-top:64px;padding:24px 0 44px;font-size:13px}.login-shell{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:100%;max-width:420px;padding:28px}.login-card h1{margin-bottom:4px;font-size:22px}.login-card .sub{color:var(--muted);margin-bottom:20px;font-size:14px}.code-input{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;font-size:24px}.booking-item{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:18px;padding:20px 0;display:flex}.booking-item>*{min-width:0}.booking-item:last-child{border-bottom:none}.booking-item h3{flex-wrap:wrap;align-items:center;gap:10px;font-size:16px;display:flex}.booking-when{font-variant-numeric:tabular-nums;color:var(--text);font-size:14.5px}.skeleton{border-radius:var(--radius);background:var(--surface-2);animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@media (max-width:860px){.hero,.split{grid-template-columns:1fr}.hero{gap:28px;padding-top:32px}}@media (max-width:480px){.page-head h1{font-size:22px}.card-pad,.room-card,.feature{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
