:root{font-family:Bahnschrift,Aptos,Segoe UI Variable,Trebuchet MS,sans-serif;color:#f2f3f5;background:#000;--surface: rgba(18, 20, 24, .82);--surface-strong: rgba(10, 11, 13, .94);--surface-soft: rgba(255, 255, 255, .06);--border: rgba(220, 225, 235, .18);--text-main: #f2f3f5;--text-muted: #b3bac5;--accent: #d11323;--accent-deep: #9b0d18;--secondary: #cfd3da;--room-red: #d11323;--room-grey: #8e949f;--room-purple: #6d28d9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.history-extras-cell{min-width:120px}.history-extras{display:grid;gap:8px}.history-extras-trigger{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#d1fae5;font-size:.78rem;font-weight:600;letter-spacing:.02em}.history-extras-trigger:hover{background:#ffffff1f}.history-extras-trigger[aria-expanded=true] .history-extras-arrow{transform:rotate(180deg)}.history-extras-arrow{display:inline-block;transition:transform .15s ease}.history-extras-list{margin:0;padding:0 0 0 18px;list-style:disc;color:var(--text-muted);font-size:.8rem;line-height:1.5}.history-extras-empty{color:var(--text-muted);font-size:.8rem;font-style:italic}.history-extras-value{color:var(--text-main);font-weight:600}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100vh;background:#000}body{color:var(--text-main)}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.page-shell{position:relative;overflow-x:hidden;overflow-y:visible;min-height:100vh;padding:40px 24px 64px;background:#000}.ambient{display:none}.topbar,.layout{position:relative;z-index:1;max-width:1180px;margin:0 auto}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.brand-wrap{display:grid;gap:10px}.brand-logo{width:min(100%,560px);height:auto;display:block;border-radius:14px;border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 30px #00000057}.topbar h1,.hero h2,.section-heading h2,.room-card h3{font-family:Georgia,Times New Roman,serif;letter-spacing:.01em}.topbar h1{margin:6px 0 0;font-size:clamp(2.4rem,5vw,4.7rem);max-width:12ch;line-height:.95;background:linear-gradient(90deg,#f3f4f7,#f3f4f7 58%,#d11323 58%,#d11323);-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow{margin:0;color:var(--secondary);text-transform:uppercase;letter-spacing:.18em;font-size:.76rem}.topbar-note{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.topbar-tools{display:grid;gap:12px;justify-items:end}.language-switcher{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.language-switcher-buttons{display:inline-flex;padding:4px;border-radius:999px;background:#ffffff0d;border:1px solid var(--border)}.language-button{border:none;background:transparent;color:var(--text-muted);padding:8px 12px;border-radius:999px;font-weight:700;letter-spacing:.08em}.language-button-active{background:#77c1b829;color:var(--text-main)}.topbar-note span,.hero-panel li,.policy-box li,.gear-list li{color:var(--text-muted)}.topbar-note span{border:1px solid var(--border);padding:10px 14px;border-radius:999px;background:#ffffff0a}.layout{display:grid;gap:24px}.card{background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:28px;box-shadow:0 18px 40px #00000059}.hero{display:grid;grid-template-columns:1.6fr .9fr;gap:24px;padding:28px}.hero h2{margin:10px 0 12px;font-size:clamp(2rem,3.4vw,3.2rem);line-height:1;max-width:12ch}.lede,.summary-copy,.room-card p{color:var(--text-muted);line-height:1.6}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.hero-metrics article,.hero-panel{padding:18px;border-radius:20px;background:var(--surface-soft)}.hero-metrics strong{display:block;margin-bottom:8px;font-size:1.8rem;color:#fff}.hero-panel p{margin:0 0 10px;font-size:1rem;text-transform:uppercase;letter-spacing:.14em;color:#ef3444}.hero-panel ul,.policy-box ul,.gear-list{margin:0;padding-left:18px}.rooms-grid,.booking-grid{display:grid;gap:24px}.rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.room-card{padding:24px;border-width:2px;cursor:pointer;overflow:hidden;transition:transform .18s ease,border-color .18s ease,background .18s ease}.room-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.room-card:hover{transform:translateY(-4px)}.room-card-image{display:block;width:calc(100% + 48px);margin:-24px -24px 16px;height:180px;object-fit:cover}.room-image-preview{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.room-image-preview img{width:100%;max-width:260px;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.12)}.room-card-selected{background:#ffffff14}.room-card-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.room-card h3,.section-heading h2{margin:6px 0 0}.gear-list{display:grid;gap:8px;margin:18px 0 22px}.booking-grid{grid-template-columns:1fr;align-items:start}.booking-form,.summary-panel{padding:28px}.booking-form{display:grid;gap:18px;position:relative;z-index:3}.section-heading{display:grid;gap:4px}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:9px;border:1px solid var(--border);background:#ffffff0d;color:var(--text-muted);transition:color .15s ease,border-color .15s ease,background .15s ease}.icon-button:hover{color:var(--text-main);border-color:#ffffff47;background:#ffffff14}.icon-button[aria-pressed=true]{color:#fff;background:#d1132338;border-color:#d11323d9}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-form .field-row:first-of-type{grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);align-items:start}.calendar-field{align-self:start}.duration-field{width:100%;justify-self:end;align-self:start;display:grid;gap:14px}.starttime-field{display:grid;gap:8px}.duration-select,.starttime-select{width:100%}.slot-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-grid-compact .slot-button{min-height:46px;padding:10px 8px;place-items:center;text-align:center}.slot-grid-compact .slot-button strong{font-size:.95rem;line-height:1}.calendar-picker{display:grid;gap:10px}.calendar-toolbar{display:grid;grid-template-columns:1fr;gap:8px;align-items:center}.calendar-toolbar strong{text-align:center;text-transform:capitalize;font-size:.95rem}.calendar-nav{width:40px;height:40px;display:grid;place-items:center;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--text-main);font-size:1.5rem;line-height:1;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.calendar-nav:hover{background:#ffffff24;border-color:var(--accent);transform:translateY(-1px)}.calendar-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calendar-nav-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.calendar-nav-row .calendar-nav-next{margin-left:auto}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays span{text-align:center;font-size:.72rem;color:var(--text-muted);letter-spacing:.04em}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-day{min-height:38px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff0a;color:var(--text-main);display:grid;place-items:center;padding:0}.calendar-day-selected{border-color:#ef3444;background:#d113233d}.calendar-day-occupied{border-color:#f4b344e6;background:#f4b34447;color:var(--text-muted)}.calendar-day-occupied span{text-decoration:line-through;opacity:.75}.calendar-day-empty{border-color:transparent;background:transparent}.calendar-day:disabled{opacity:1;cursor:not-allowed;border-color:#52565f80;background:#2e3138b3;color:#888e99bf}.calendar-day.calendar-day-occupied:disabled{border-color:#ff9128f2;background:#ff8a1e57;color:#ffd9a8}.calendar-hint{margin:0;font-size:.85rem;color:var(--text-muted)}label,.field-label{display:grid;gap:8px;color:var(--text-main);font-size:.95rem}input,select,textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:#06080966;color:var(--text-main);border-radius:16px;padding:14px 15px;transition:border-color .16s ease,background .16s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);background:#060809b3}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.slot-button,.extra-toggle,.primary-button,.secondary-button{border-radius:18px}.slot-button{border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-main);padding:14px 12px;display:grid;gap:6px;text-align:left}.slot-button span{color:var(--text-muted);font-size:.85rem}.slot-button:disabled{opacity:1;cursor:not-allowed;border-color:#3a3f488c;background:#13161bf2;color:#626975;box-shadow:inset 0 0 0 1px #0a0b0e73}.slot-button-active{border-color:#ef3444;background:#d1132333}.extras-list{display:grid;gap:10px}.extra-toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:14px 16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.extra-toggle input{width:18px;height:18px;margin:0}.primary-button,.secondary-button{border:none;padding:15px 18px;font-weight:700}.primary-button{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);color:#fff}.primary-button:hover{filter:brightness(1.08)}.secondary-button{background:#ffffff12;color:var(--text-main)}.wa-optin{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;box-sizing:border-box;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:#111216;color:var(--text-muted);font-size:.72rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:border-color .15s ease,color .15s ease,background .15s ease}.wa-optin:hover{border-color:#25d366b8;background:#25d36614}.wa-optin:disabled{cursor:not-allowed;opacity:.45}.wa-optin-active{border-color:#25d366cc;background:#25d36624;color:#86efac}.wa-optin svg{flex:none}.confirmation{margin:0;color:#91e7ba}.error-message{margin:0;color:#fca5a5}.required-star{color:#f87171;font-size:.8em}.confirmation-box{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:14px;border:1px solid rgba(134,239,172,.25);background:#86efac0f}.confirmation-id-row{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-muted)}.confirmation-id-value{font-family:monospace;font-size:1rem;color:#86efac;letter-spacing:.04em}.confirmation-id-note{margin:0;font-size:.8rem;color:var(--text-muted)}.offline-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:#fbbf241f;border:1px solid rgba(251,191,36,.35);color:#fde68a;font-size:.88rem}.offline-banner .secondary-button{white-space:nowrap;flex-shrink:0}.pending-box{padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a}.pending-box strong{display:block;color:#ef3444;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.pending-box p{margin:8px 0 0;color:var(--text-muted);font-size:.92rem;line-height:1.5}.booking-stepper{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:.82rem;color:var(--text-muted, #b3b3b3)}.booking-stepper-dot{width:28px;height:5px;border-radius:999px;background:#ffffff29;transition:background-color .25s ease}.booking-stepper-dot-done{background:var(--accent, #d11223)}.booking-stepper-label{margin-left:4px;letter-spacing:.02em}.booking-step{display:grid;gap:18px;animation:booking-step-in .28s ease}@keyframes booking-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.booking-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;grid-column:1 / -1}.booking-nav .primary-button,.booking-nav .secondary-button{min-width:132px}@media (max-width: 480px){.booking-nav{flex-direction:column-reverse;align-items:stretch}.booking-nav .primary-button,.booking-nav .secondary-button{width:100%}}.confirmation-banner{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:18px;border:2px solid #22c55e;background:radial-gradient(circle at top left,rgba(34,197,94,.3),transparent 62%),#22c55e1a;box-shadow:0 18px 40px #22c55e40;outline:none}.confirmation-banner-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#fbbf24;color:#451a03;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.confirmation-banner-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:#451a03;animation:pending-blink 1.2s ease-in-out infinite}.confirmation-banner-message{margin:0;color:#fff;font-size:1.08rem;font-weight:600;line-height:1.5}.confirmation-banner .confirmation-id-row,.confirmation-banner .confirmation-id-note{color:#d1fae5}.confirmation-extras-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.confirmation-extras-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);font-size:.92rem}.confirmation-extras-list li strong{color:#fff;white-space:nowrap}.confirmation-extras-empty{margin:0;font-size:.88rem;color:#d1fae5}.confirmation-banner .confirmation-id-value{color:#fff}@keyframes pending-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}@media (max-width: 900px){.topbar{flex-direction:column;align-items:flex-start}.topbar-tools{justify-items:start}.hero,.rooms-grid,.field-row{grid-template-columns:1fr}.booking-form .field-row:first-of-type{grid-template-columns:1fr}}@media (max-width: 480px){.page-shell{padding:12px 12px 28px}.topbar{margin-bottom:14px;justify-content:center;align-items:center}.brand-wrap{width:100%;display:flex;justify-content:center;align-items:center}.brand-logo{width:min(100%,290px);border-radius:12px;box-shadow:0 8px 20px #00000040;margin:0 auto}.card,.booking-form,.room-card{border-radius:18px}.rooms-grid,.booking-grid,.layout{gap:12px}.room-card,.booking-form{padding:16px}.room-card-header{gap:10px;align-items:flex-start}.room-card-header strong{font-size:.78rem;white-space:nowrap}.room-card h3{font-size:1.6rem}.room-card p,.gear-list{margin-bottom:14px}.gear-list{gap:6px;padding-left:18px}.booking-form{gap:14px}.field-row{gap:12px}.slot-grid,.slot-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.slot-button{padding:10px 8px;min-height:42px}.extra-toggle{padding:12px 10px;gap:8px}input,select,textarea,.primary-button,.secondary-button{border-radius:12px}.primary-button,.secondary-button{padding:12px 14px}}.admin-message-ok,.admin-message-error{margin:0;font-size:.88rem}.admin-message-ok{color:#86efac}.admin-message-error{color:#fca5a5}.admin-layout{max-width:1180px}.admin-topbar{grid-template-columns:1fr;justify-items:center;align-items:center;gap:14px}.admin-topbar .brand-wrap{width:100%;display:grid;justify-items:center;text-align:center}.admin-brand-logo{width:min(100%,420px);height:auto;display:block;border-radius:12px;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 24px #0000004d}.admin-session-bar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.admin-session-pill{margin:0;padding:8px 14px;border-radius:999px;border:1px solid rgba(52,211,153,.45);color:#86efac;background:#16a34a26;box-shadow:0 0 14px #22c55e59,inset 0 0 10px #22c55e1a}.admin-logout-inline{border-color:#34d39999}.admin-logout-inline:hover{border-color:#86efacf2;box-shadow:0 0 12px #4ade8059}.admin-user-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:#ffffff0d}.admin-user-chip-name{font-weight:700;font-size:.9rem;letter-spacing:.02em}.admin-user-chip-role{padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent}.admin-role-admin{background:#d113232e;border-color:#d1132399;color:#ff9aa2}.admin-role-collaborator{background:#3882f62e;border-color:#60a5fa99;color:#93c5fd}.admin-role-technician{background:#eab3082e;border-color:#facc1599;color:#fde68a}.admin-auth-card{max-width:520px;margin:0 auto;padding:28px;display:grid;gap:14px}.admin-login-form,.admin-section,.admin-create-user,.admin-pricing-grid{display:grid;gap:12px}.admin-user-list{display:grid;gap:12px;list-style:none;padding:0;margin:0}.admin-user-list li{display:grid;gap:8px;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff08}.admin-user-card-head{display:flex;align-items:center;gap:10px}.admin-user-form-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-link-home{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.admin-helper-note{margin:0;color:var(--text-muted);font-size:.9rem}.admin-section{padding:24px}.set-password-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2400;display:flex;align-items:center;justify-content:center;padding:16px;background:#000000b8}.set-password-card{width:min(420px,100%);padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#141418f7;display:grid;gap:14px}.set-password-card h2{margin:0;font-size:1.3rem;color:var(--text-main)}.set-password-form{display:grid;gap:12px}.set-password-error{margin:0;color:#f87171;font-size:.9rem}.admin-beta-banner{display:flex;align-items:center;gap:10px;padding:14px 18px;margin-bottom:20px;background:#d112231f;border:1px solid rgba(209,18,35,.35);border-radius:10px;font-size:.9rem;color:#f87171}.admin-beta-banner .admin-beta-badge{font-weight:700;font-size:1rem;color:#f87171;letter-spacing:.04em}.admin-beta-banner .admin-beta-text{color:#fca5a5}.admin-beta-banner.beta-only{display:flex;width:fit-content;margin-left:auto;margin-right:0;padding:4px 12px;margin-bottom:14px;font-size:.75rem;border-radius:999px}.admin-beta-banner.beta-only .admin-beta-badge{font-size:.75rem;text-transform:uppercase}.admin-user-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.admin-user-list li{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px;display:grid;gap:4px}.admin-booking-list{margin-top:8px}.admin-booking-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-controls-hub{gap:14px}.admin-shell{display:grid;grid-template-columns:248px minmax(0,1fr);gap:24px;align-items:start;max-width:1240px}.admin-content{min-width:0;display:grid;gap:18px}.admin-content-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px}.admin-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px;padding:18px 16px;border-radius:20px;border:1px solid var(--border);background:var(--surface);box-shadow:0 18px 40px #00000047}.admin-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-sidebar-close{display:none}.admin-sidebar-nav{display:flex;flex:1;flex-direction:column;gap:8px}.admin-sidebar-item{display:flex;align-items:center;width:100%;min-height:0;padding:11px 16px;border-radius:12px;border:1px solid transparent;background:#ffffff0a;color:var(--text-main);font-weight:600;font-size:.92rem;letter-spacing:.02em;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.admin-sidebar-item:hover{transform:translateY(-1px);border-color:#fff3;background:#ffffff14}.admin-sidebar-item-active{border-color:#d11323d9;background:radial-gradient(circle at 30% 20%,#d1132366,#d1132329)}.admin-sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.admin-sidebar-link{text-decoration:none}.admin-sidebar-toggle{position:fixed;top:16px;left:16px;z-index:70;display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#0e1014e6;color:var(--text-main);cursor:pointer}.admin-pie-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:18px}.admin-pie-burger span{display:block;height:2px;width:100%;border-radius:2px;background:currentColor}.admin-sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0000008c}@media (max-width: 900px){.admin-shell{grid-template-columns:minmax(0,1fr);gap:16px}.admin-sidebar{position:fixed;top:0;left:0;z-index:65;height:100vh;width:min(78vw,300px);border-radius:0 20px 20px 0;transform:translate(-105%);transition:transform .2s ease;overflow-y:auto}.admin-sidebar-open{transform:translate(0)}.admin-sidebar-close,.admin-sidebar-toggle{display:inline-flex}.admin-content{padding-top:64px}}.admin-audit-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:12px}.admin-audit-list li{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px;display:grid;gap:6px}.admin-audit-list li p{margin:0;color:var(--text-muted)}.audit-label{color:var(--text-secondary);font-weight:600}.history-table-wrap{overflow-x:visible}.history-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 16px}.history-filters{display:flex;flex-wrap:wrap;gap:6px}.history-filter{padding:5px 11px;font-size:.74rem;font-weight:600;letter-spacing:.01em;color:var(--text-muted);background:#ffffff0a;border:1px solid var(--border);border-radius:999px;white-space:nowrap;transition:color .15s ease,background .15s ease,border-color .15s ease}.history-filter:hover{color:var(--text-main);border-color:#ffffff47}.history-filter-active{color:#fff;background:#d1132338;border-color:#d11323d9}.history-period{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.history-period select{padding:5px 8px;font-size:.74rem;color:var(--text-main);background:#ffffff0a;border:1px solid var(--border);border-radius:8px}.history-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.8rem}.history-table th{text-align:left;padding:5px 8px;color:var(--text-muted);border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.history-table td{padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle;overflow-wrap:anywhere}.history-table th:nth-child(1),.history-table td:nth-child(1){width:10%}.history-table th:nth-child(2),.history-table td:nth-child(2){width:6%}.history-table th:nth-child(3),.history-table td:nth-child(3){width:9%}.history-table th:nth-child(4),.history-table td:nth-child(4){width:17%}.history-table th:nth-child(5),.history-table td:nth-child(5){width:11%}.history-table th:nth-child(6),.history-table td:nth-child(6){width:6%}.history-table th:nth-child(7),.history-table td:nth-child(7){width:10%}.history-table th:nth-child(8),.history-table td:nth-child(8){width:12%}.history-table th:nth-child(9),.history-table td:nth-child(9){width:19%}.history-table td:nth-child(7) .status-chip,.history-table td:nth-child(8) .status-chip{padding:3px 8px;font-size:.68rem;letter-spacing:.05em}.history-table tr.room-tone-red td{background:#d113230f}.history-table tr.room-tone-grey td{background:#8e949f14}.history-table tr:last-child td{border-bottom:none}.history-row-rejected td{opacity:.5}.history-sub{display:block;font-size:.78rem;color:var(--text-muted)}.band-name{display:inline-block;padding-left:10px;border-left:3px solid var(--accent);font-weight:700;font-size:1.02rem;line-height:1.2;color:var(--text-main);letter-spacing:.01em}.history-actions{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.history-actions .secondary-button{padding:4px 9px;border-radius:8px;font-size:.72rem;font-weight:600;letter-spacing:.01em;border:1px solid var(--border);white-space:nowrap}.assignee-select-wrap{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.74rem;color:var(--text-muted)}.assignee-select-label{font-weight:600;white-space:nowrap}.assignee-select{flex:1;min-width:0;padding:4px 8px;font-size:.76rem;border-radius:8px;border:1px solid var(--border);background:#ffffff0a;color:var(--text-main)}.assignee-select:disabled{opacity:.55;cursor:not-allowed}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent}.state-confirmed{color:#86efac;background:#16a34a24;border-color:#4ade8073}.state-pending{color:#fde68a;background:#fbbf2424;border-color:#fbbf2473}.state-past{color:#c4b5fd;background:#8b5cf629;border-color:#a78bfa73}.state-cancelled,.state-rejected{color:#fca5a5;background:#ef444426;border-color:#f8717173}.state-refunded{color:#93c5fd;background:#3b82f629;border-color:#60a5fa6b}.status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.status-assignee-chip{display:inline-flex;align-items:center;margin-left:0;padding:4px 10px;border-radius:999px;font-size:.74rem;font-weight:600;letter-spacing:.03em;text-transform:none;background:transparent}.status-paid{color:#86efac}.status-pending{color:#fde68a}.status-chip.status-paid,.status-chip.status-pending,.status-chip.status-refunded,.status-chip.status-void{border-color:currentColor}.status-chip.status-paid{background:#16a34a24}.status-chip.status-pending{background:#fbbf2424}.status-chip.status-refunded{background:#3b82f629}.status-chip.status-void{background:#94a3b824}.status-refunded{color:#93c5fd}.status-void{color:#cbd5e1}.finance-panel{display:grid;gap:16px;margin:0 0 18px}.finance-export-bar{display:grid;gap:12px;padding:12px 14px;border-radius:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.finance-month-picker{display:flex;flex-wrap:wrap;gap:8px}.finance-month-toggle{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff05;color:var(--text-main);font-size:.8rem;cursor:pointer}.finance-month-toggle input{accent-color:#d11323}.finance-pdf-button{justify-self:flex-start}.finance-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.finance-stat{display:grid;gap:8px;padding:14px 16px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.finance-stat span{color:var(--text-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.finance-stat strong{font-size:1.1rem;color:var(--text-main)}.finance-month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.finance-month-card{display:grid;gap:12px;padding:14px;border-radius:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.finance-month-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.82rem;color:var(--text-muted)}.finance-month-values{display:grid;gap:6px;font-size:.82rem;color:var(--text-muted)}.finance-month-values p{margin:0}.finance-bookings-group{display:grid;gap:8px}.finance-bookings-group-title{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.finance-breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.finance-breakdown-card{display:grid;gap:8px;padding:10px 12px;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.06)}.finance-breakdown-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.finance-breakdown-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}.finance-breakdown-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.76rem;color:var(--text-muted)}.finance-bookings-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.finance-bookings-list li{display:grid;grid-template-columns:.8fr 1.4fr .9fr .8fr .9fr .8fr;gap:8px;align-items:center;font-size:.76rem;color:var(--text-muted);padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}.finance-print-layout,.finance-print-header,.finance-print-logo,.finance-print-summary,.finance-print-month,.finance-print-values,.finance-print-list,.finance-print-list-head{display:none}.history-mobile-list{display:none;list-style:none;padding:0;margin:0;gap:12px}.history-mobile-card{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;display:grid;gap:4px;background:#ffffff08;font-size:.85rem}.admin-reschedule-wa{padding:4px 2px 8px}.history-mobile-card.room-tone-red{background:linear-gradient(160deg,#d113231f,#ffffff08)}.history-mobile-card.room-tone-grey{background:linear-gradient(160deg,#8e949f29,#ffffff08)}.history-mobile-card p{margin:0}.history-mobile-card .team-item-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.history-mobile-card .status-stack{flex-basis:100%}.history-log-lines{display:grid;gap:4px;font-size:.84rem;color:var(--text-muted)}.admin-approval-row{display:grid;gap:10px}.admin-approval-row select{max-width:320px}.danger-zone{position:relative;display:grid;gap:12px;margin-top:56px;padding:14px 16px 16px;border:1px solid rgba(239,68,68,.52);border-left:4px solid #dc2626;border-radius:4px;background:linear-gradient(100deg,#7f1d1d47,#18090bdb)}.danger-zone:before{position:absolute;top:-29px;left:0;width:100%;height:1px;content:"";background:linear-gradient(90deg,#dc2626,rgba(220,38,38,.15) 42%,transparent 72%)}.danger-zone-heading{display:inline-flex;align-items:center;gap:7px;color:#fca5a5}.danger-zone-heading p{margin:0;font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.danger-zone-content{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.danger-zone h3{margin:0;color:#fee2e2;font-size:.95rem;letter-spacing:.03em}.danger-zone-content p{max-width:68ch;margin:5px 0 0;color:#d1a5a9;font-size:.76rem;line-height:1.45}.danger-zone-action{flex:none;border:1px solid rgba(248,113,113,.78);border-radius:3px;padding:8px 10px;background:#7f1d1d;color:#fff1f2;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;transition:background .15s ease,border-color .15s ease}.danger-zone-action:hover:not(:disabled){border-color:#fecaca;background:#b91c1c}.danger-zone-action:disabled{cursor:not-allowed;opacity:.55}.clear-bookings-modal{width:min(100%,460px);padding:20px;border-color:#f871719e;border-top:3px solid #dc2626}.clear-bookings-modal-alert{display:inline-flex;align-items:center;gap:7px;color:#fca5a5;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.clear-bookings-modal>p{margin:-4px 0 2px;color:#d1a5a9;font-size:.8rem;line-height:1.5}.clear-bookings-modal>p strong{color:#fee2e2;font-weight:800}.clear-bookings-confirmation-field{color:#f3d1d4;font-size:.76rem}.clear-bookings-confirmation-field input{border-color:#f871716b}.clear-bookings-modal-actions{grid-template-columns:1fr 1.3fr}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000000ad;display:grid;place-items:center;padding:16px}.admin-modal-card{width:min(100%,520px);max-height:min(88vh,860px);overflow-y:auto;padding:20px;display:grid;gap:14px}.admin-modal-card-wide{width:min(100%,760px)}.admin-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-modal-head .section-heading{margin:0}.admin-modal-close{flex:none}.admin-modal-body{padding:24px 28px 8px}.admin-modal-footer{padding:12px 28px 24px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border);margin-top:8px}.admin-modal-backdrop{background:#08090b9e;z-index:60;animation:modalFadeIn .16s ease-out}.admin-modal-card{max-height:calc(min(88vh,860px) - 32px);margin:0;overflow:hidden;animation:modalSlideIn .18s cubic-bezier(.22,1,.36,1)}.admin-modal-card-wide{max-height:calc(min(88vh,820px) - 32px)}@media (max-width: 720px){.admin-modal-card{max-height:calc(min(88vh,880px) - 24px)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.admin-modal-card h3{margin:0}.admin-modal-form{display:grid;gap:12px}.admin-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 980px){.hero,.booking-grid,.rooms-grid{grid-template-columns:1fr}.summary-panel{position:static}}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--surface-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 40px #00000073;animation:cookie-banner-in .26s ease}@keyframes cookie-banner-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cookie-banner-icon{flex-shrink:0;color:var(--accent)}.cookie-banner-copy{flex:1;min-width:0}.cookie-banner-copy strong{display:block;margin-bottom:4px}.cookie-banner-copy p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.5}.cookie-banner-actions{display:flex;gap:10px;flex-shrink:0}.cookie-banner .secondary-button,.cookie-banner .primary-button{white-space:nowrap}@media (max-width: 720px){.cookie-banner{flex-direction:column;align-items:stretch;text-align:left}.cookie-banner-actions{flex-direction:column-reverse}.cookie-banner .secondary-button,.cookie-banner .primary-button{width:100%}}@page{size:A4 portrait;margin:8mm}@media print{html,body{margin:0!important;padding:0!important;background:#fff!important;height:auto!important;overflow:visible!important}body *{visibility:hidden!important}.finance-print-layout,.finance-print-layout *{visibility:visible!important}.finance-print-layout{display:grid!important;position:static!important;width:100%;min-height:auto;padding:12mm 14mm;box-sizing:border-box;background:#fff;color:#111827;gap:18px;overflow:visible!important;break-inside:avoid}.finance-print-layout>*{break-inside:avoid;page-break-inside:avoid}.finance-print-header{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:12px;border-bottom:1px solid rgba(17,24,39,.15);padding:0 0 12px;margin-bottom:2px}.finance-print-header-copy{display:grid;gap:4px}.finance-print-logo{display:block!important;width:150px;max-width:40vw;filter:grayscale(1) brightness(1.25);opacity:.8}.finance-print-header h3,.finance-print-header p,.finance-print-month,.finance-print-month *,.finance-print-summary,.finance-print-summary *,.finance-print-value,.finance-print-empty{color:#111827!important}.finance-print-summary{display:grid!important;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;padding:16px;background:#f5f7fb;border:1px solid rgba(17,24,39,.08);border-radius:12px}.finance-print-summary div{display:grid;gap:6px}.finance-print-summary span,.finance-print-values span,.finance-print-list-head span,.finance-print-subhead{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#4b5563}.finance-print-month{display:grid!important;gap:10px;padding:12px 0 6px;border-bottom:1px solid rgba(17,24,39,.1)}.finance-print-month-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;font-weight:700}.finance-print-values{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:10px 0}.finance-print-values div{display:grid;gap:6px;padding:10px 12px;border:1px solid rgba(17,24,39,.08);border-radius:10px;background:#fafafa}.finance-print-bookings-section{display:grid!important;gap:8px;padding-top:8px}.finance-print-breakdown{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.finance-print-breakdown-card{display:grid!important;gap:6px;padding:10px 12px;border:1px solid rgba(17,24,39,.08);border-radius:10px;background:#fafafa}.finance-print-breakdown-card span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#4b5563}.finance-print-breakdown-card ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.finance-print-breakdown-card li{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#111827}.finance-print-room-group{display:grid!important;gap:10px;padding:12px;border:1px solid rgba(17,24,39,.1);border-radius:12px;background:#f8fafc}.finance-room-red{background:linear-gradient(135deg,#ef444414,#ffffffe6);border-color:#ef444438}.finance-room-grey{background:linear-gradient(135deg,#94a3b81f,#ffffffe6);border-color:#94a3b838}.finance-room-neutral{background:linear-gradient(135deg,#3b82f60f,#ffffffe6);border-color:#3b82f62e}.finance-print-room-header{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#111827}.finance-print-payment-list{display:grid!important;gap:8px}.finance-print-payment-card{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid rgba(17,24,39,.08)}.finance-print-payment-field{display:grid!important;gap:4px;color:#111827}.finance-print-payment-field span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#4b5563}.finance-print-payment-field strong{font-size:11px;color:#111827}.finance-print-subhead{margin:0;font-weight:700;color:#111827}.finance-print-list{list-style:none;padding:0;margin:0;display:grid!important;gap:8px}.finance-print-list-head,.finance-print-list li{display:grid!important;grid-template-columns:.8fr 1.4fr 1fr .8fr .8fr 1.2fr;gap:8px;align-items:center;font-size:11px}.finance-print-list-head{font-weight:700;padding-bottom:6px;border-bottom:1px solid rgba(17,24,39,.08);color:#1f2937}.finance-print-list li{padding-top:6px;border-top:1px solid rgba(17,24,39,.08)}.finance-print-empty{color:#111827}}@media (max-width: 720px){.page-shell{padding:20px 16px 48px}.topbar,.field-row,.hero-metrics,.slot-grid{grid-template-columns:1fr}.booking-form .field-row:first-of-type{grid-template-columns:1fr}.duration-field{width:100%;justify-self:stretch}.slot-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.duration-select{max-width:100%}.topbar{display:grid;align-items:start}.topbar-note{justify-content:start}.topbar-tools{justify-items:start}.language-switcher{flex-wrap:wrap}.hero,.booking-form,.summary-panel,.room-card{padding:20px}.calendar-toolbar{grid-template-columns:1fr}.calendar-toolbar strong{order:-1}.brand-logo{border-radius:10px}.admin-modal-actions{grid-template-columns:1fr}.finance-stat-grid{grid-template-columns:1fr 1fr;gap:10px}.finance-stat{padding:12px 10px}.finance-stat strong{font-size:1rem}.finance-month-grid{grid-template-columns:1fr}.finance-month-card{padding:12px}.finance-month-head{flex-direction:column;align-items:flex-start}.finance-bookings-list li{grid-template-columns:1fr 1fr;row-gap:4px}.finance-bookings-list li strong{grid-column:1 / -1}.finance-print-list li,.finance-print-month-head,.finance-print-values{grid-template-columns:1fr 1fr}.finance-export-bar{padding:10px 12px}.finance-pdf-button{width:100%;justify-self:stretch}.history-desktop{display:none}.history-mobile-list{display:grid}.history-table-wrap{overflow-x:visible}.history-toolbar{flex-direction:column;align-items:stretch;gap:8px}.history-filters{display:grid;grid-template-columns:repeat(3,1fr)}.history-filter{text-align:center;padding:7px 6px}.history-period{justify-content:flex-start}.history-period select{flex:1;min-width:0}}@media screen{:root{--surface: rgba(13, 14, 17, .98);--surface-strong: #090a0c;--surface-soft: rgba(255, 255, 255, .035);--border: rgba(255, 255, 255, .16);--text-muted: #a9afb8}.page-shell{background:#050506}.brand-logo,.admin-brand-logo{border-radius:4px;box-shadow:none}.card,.admin-sidebar,.admin-auth-card,.admin-section,.admin-modal-card,.cookie-banner{border-radius:6px;border-color:#ffffff2e;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.card,.admin-sidebar,.admin-auth-card,.admin-section,.admin-modal-card{background:var(--surface)}.hero-metrics article,.hero-panel,.admin-user-list li,.admin-audit-list li,.history-mobile-card,.finance-stat,.finance-month-card,.finance-breakdown-card{border-radius:4px;background:#ffffff06;border:1px solid rgba(255,255,255,.12)}.room-card{border-radius:6px;box-shadow:none}.room-card:hover{transform:translateY(-2px);background:#ffffff0b}.room-image-preview img{border-radius:4px}input,select,textarea{border-radius:4px;border-color:#fff3;background:#090a0c}input:focus,select:focus,textarea:focus{background:#0b0c0f;box-shadow:inset 3px 0 0 var(--accent)}.slot-button,.extra-toggle,.primary-button,.secondary-button,.icon-button,.calendar-nav,.history-filter,.history-period select,.admin-sidebar-item,.admin-sidebar-toggle,.history-actions .secondary-button{border-radius:4px}.primary-button{border:1px solid #ef3444;background:#bd1020;letter-spacing:.03em;text-transform:uppercase}.primary-button:hover{filter:none;background:#e0192c}.secondary-button,.slot-button,.extra-toggle,.icon-button,.calendar-nav,.admin-sidebar-item{border:1px solid rgba(255,255,255,.18);background:#111216}.secondary-button:hover,.slot-button:hover,.extra-toggle:hover,.icon-button:hover,.calendar-nav:hover,.admin-sidebar-item:hover{border-color:#ffffff6b;background:#191b20;transform:none}.slot-button-active,.icon-button[aria-pressed=true],.history-filter-active,.admin-sidebar-item-active{border-color:#ef3444;background:#d1132333}.admin-sidebar-item-active{background:#d1132333;box-shadow:inset 3px 0 #ef3444}.calendar-nav{border-radius:4px}.status-chip,.status-assignee-chip,.wa-optin,.admin-session-pill,.admin-user-chip,.admin-user-chip-role,.topbar-note span,.history-extras-trigger{border-radius:3px;box-shadow:none}.admin-session-pill{box-shadow:none}.cookie-banner{background:#0a0b0d}.admin-modal-backdrop,.admin-sidebar-overlay{background:#000000c7}.danger-zone{box-shadow:none}}@media (max-width: 720px){.danger-zone{margin-top:44px;padding:13px 14px 14px}.danger-zone-content{align-items:stretch;flex-direction:column;gap:12px}.danger-zone-action{width:100%}}.topbar .brand-wrap,.admin-topbar .brand-wrap{width:100%;display:grid;justify-items:center}.brand-logo,.admin-brand-logo{width:min(100%,420px);border:0;border-radius:0;outline:0;box-shadow:none}.beta-mode-toggle{padding:3px 8px;border:1px solid rgba(209,19,35,.6);border-radius:3px;background:transparent;color:#fca5a5;font-size:.62rem;font-weight:700;letter-spacing:.06em;line-height:1;text-transform:uppercase}.beta-mode-toggle:hover{border-color:#ef3444;background:#d1132329;color:#fff}@media (min-width: 901px){.admin-sidebar{margin-top:80px}}@media (max-width: 900px){.admin-content{padding-top:24px}.admin-sidebar{margin-top:0}}
