@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap";:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0f1520;color:#ecf4ff}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}button{font:inherit}input,select,textarea{min-width:0;border:1px solid #33465f;border-radius:8px;background:#111a28;color:#eef6ff;padding:8px 9px}textarea{min-height:86px;resize:vertical}.app-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr);background:#0f1520}.app-shell.focus-mode{grid-template-columns:minmax(0,1fr)}.app-shell.focus-mode .sidebar{display:none}.public-book-shell{min-height:100vh;background:#f8f5ef;color:#26313d;display:grid;grid-template-rows:auto 1fr}.public-book-shell input,.public-book-shell select,.public-book-shell textarea{width:100%;border:1px solid #d7cfc2;border-radius:8px;background:#fffdfa;color:#26313d;padding:10px 11px}.public-book-shell input:focus,.public-book-shell select:focus,.public-book-shell textarea:focus{border-color:#b78328;box-shadow:0 0 0 3px #b7832829;outline:0}.date-picker-input{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch}.public-book-shell .date-picker-input input{border-top-right-radius:0;border-bottom-right-radius:0}.date-picker-input button{display:grid;place-items:center;border:1px solid #d7cfc2;border-left:0;border-radius:0 8px 8px 0;background:#fff7e7;color:#7a551a;cursor:pointer}.date-picker-input button:hover{background:#f4e5c9}.public-hero{min-height:330px;background:linear-gradient(90deg,#1e2731e0,#1e27318f,#1e273138),url(/book/assets/hero-exterior-00JmeGBo.jpg) center 52% / cover}.public-hero-overlay{min-height:330px;width:min(1120px,calc(100% - 32px));margin:0 auto;display:flex;flex-direction:column;justify-content:space-between;padding:20px 0 46px}.public-site-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.public-logo,.public-nav-link{color:#fffaf1;text-decoration:none}.public-logo{display:inline-flex;align-items:center;gap:10px;font-weight:800}.public-logo img{width:38px;height:38px;border-radius:999px;box-shadow:0 8px 22px #0000003d}.public-nav-link{border:1px solid rgba(255,250,241,.52);border-radius:999px;padding:9px 14px;font-size:14px;font-weight:700;transition:background .15s ease,color .15s ease}.public-nav-link:hover{background:#fffaf1;color:#26313d}.public-hero-copy{width:min(660px,100%);color:#fffaf1}.public-hero-copy p{margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.public-hero-copy h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(42px,7vw,72px);line-height:.95;margin:0 0 14px;max-width:580px}.public-hero-copy span{display:block;max-width:520px;color:#fffaf1e0;font-size:18px;line-height:1.55}.public-book-panel{width:min(1120px,calc(100% - 32px));margin:-38px auto 48px;display:grid;gap:14px}.public-book-form{display:grid}.public-book-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,360px);align-items:start;gap:18px}.public-form-stack{display:grid;gap:14px}.public-section,.public-summary-card,.public-result{border:1px solid #e2d9ca;border-radius:8px;background:#fffdfafa;box-shadow:0 14px 36px #1f293517}.public-section{display:grid;gap:16px;padding:18px;margin:0}.public-section>header{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px}.public-section>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#b78328;color:#fffaf1;font-weight:800}.public-section:disabled{opacity:.58}.public-section:disabled input,.public-section:disabled select,.public-section:disabled button{cursor:not-allowed}.public-section h2,.public-summary-heading h2{font-family:Playfair Display,Georgia,serif;margin:0;color:#26313d;font-size:24px;line-height:1.1}.public-section p,.public-summary-heading p,.public-summary-note{margin:4px 0 0;color:#6b6258;line-height:1.45}.public-result{border-color:#b7d8bd;background:#eff8ef;color:#264f31;padding:14px 16px}.public-result p{margin:0}.public-result-warning{border-color:#e7c378;background:#fff8e8;color:#735219}.public-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}.public-field-grid-two{grid-template-columns:minmax(180px,240px) minmax(0,1fr)}.public-section label{display:grid;align-content:start;gap:6px;color:#5b534b;font-size:13px;font-weight:700}.public-validation-note{margin:-4px 0 0;color:#8b2f22;font-size:13px;line-height:1.45}.public-chip-row{display:flex;flex-wrap:wrap;gap:8px}.public-chip-row button{border:1px solid #d7cfc2;border-radius:999px;background:#fbf1dd;color:#6c4a14;cursor:pointer;font-weight:800;padding:8px 12px}.public-rooms-section{display:grid;gap:12px}.public-room-request{display:grid;grid-template-columns:72px repeat(4,minmax(104px,1fr)) 40px;gap:10px;align-items:end;border:1px solid #ebe2d4;border-radius:8px;background:#fbf7ef;padding:12px}.public-room-request strong{align-self:center;color:#26313d}.public-room-request label{display:grid;gap:6px}.public-icon-button{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #d7cfc2;border-radius:8px;background:#fffdfa;color:#26313d;cursor:pointer}.public-icon-button:hover{border-color:#b78328;color:#7a551a}.public-icon-button:disabled{cursor:not-allowed;opacity:.45}.public-summary{position:sticky;top:16px}.public-summary-card{display:grid;gap:16px;padding:18px}.public-summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #ebe2d4;padding-bottom:14px}.public-summary-heading svg{color:#b78328}.public-summary dl{display:grid;gap:10px;margin:0}.public-summary dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.public-summary dt{color:#6b6258}.public-summary dd{margin:0;color:#26313d;font-weight:800}.public-due-row{border-top:1px solid #ebe2d4;padding-top:12px}.public-due-row dd{color:#a06f22;font-size:22px}.public-error{border:1px solid #e6b1a6;border-radius:8px;background:#fff1ed;color:#8b2f22;line-height:1.45;padding:11px 12px}.public-availability-ok{display:flex;align-items:center;gap:9px;border:1px solid #b7d8bd;border-radius:8px;background:#eef8ef;color:#255a33;font-weight:800;line-height:1.35;padding:11px 12px}.public-availability-ok svg{flex:0 0 auto;color:#16864a}.public-actions{display:grid;gap:10px}.public-primary-action,.public-secondary-action{border:0;border-radius:8px;cursor:pointer;font-weight:800;padding:12px 14px}.public-primary-action{background:#b78328;color:#fffaf1}.public-primary-action:hover{background:#96691f}.public-secondary-action{border:1px solid #d7cfc2;background:#fffdfa;color:#26313d}.public-primary-action:disabled,.public-secondary-action:disabled{cursor:not-allowed;opacity:.55}.admin-room-requests{display:grid;gap:10px}.admin-login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#17315c,#0f1520 48%);padding:24px}.admin-login-card{width:min(420px,100%);display:grid;gap:14px;border:1px solid #2d4058;border-radius:8px;background:#121a28;box-shadow:0 24px 70px #00000057;padding:22px}.admin-login-card label{display:grid;gap:6px;color:#9eb1c9;font-size:13px;font-weight:700}.admin-room-request{display:grid;grid-template-columns:minmax(54px,76px) repeat(auto-fit,minmax(118px,1fr)) 38px;gap:8px;align-items:end;border-top:1px solid #28384e;border-radius:8px;padding-top:10px}.admin-room-request label{display:grid;gap:5px;color:#9eb1c9;font-size:12px}.sidebar{border-right:1px solid #273244;background:#121a28;padding:18px 14px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;margin-bottom:22px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#1e6b62}.sidebar nav{display:grid;gap:8px}.booking-search{display:grid;gap:8px;margin-top:16px}.booking-search label{display:grid;gap:5px;color:#9eb1c9;font-size:12px}.search-results{display:grid;gap:6px}.search-result{display:grid;gap:2px;border:1px solid #27384f;border-radius:8px;background:#101827;color:#eef6ff;cursor:pointer;padding:8px;text-align:left}.search-result span{color:#9eb1c9;font-size:12px}.nav-item,.primary-action{border:1px solid transparent;color:#d8e6f7;cursor:pointer}.nav-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:transparent;text-align:left}.nav-item.active,.nav-item:hover{border-color:#35506e;background:#1a2638}.workspace{min-width:0;padding:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.topbar h1{margin:0;font-size:22px;line-height:1.2}.topbar p{margin:4px 0 0;color:#9eb1c9;font-size:13px}.primary-action{border-color:#2d6cdf;background:#174ea6;border-radius:8px;padding:10px 14px;font-weight:700}.topbar-actions,.date-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.date-controls input,.date-controls select{height:38px}.secondary-action,.icon-button{border:1px solid #33465f;border-radius:8px;background:#182439;color:#e6f0ff;cursor:pointer}.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 11px;font-weight:700}.secondary-action:disabled,select:disabled,input:disabled{cursor:wait;opacity:.6}.icon-button{display:grid;place-items:center;width:36px;height:36px}.calendar-grid{display:grid;gap:8px}.calendar-board-shell{width:100%;overflow-x:auto;padding-bottom:8px}.calendar-board{display:grid;border:1px solid #263a55;border-radius:8px;background:#101827;overflow:hidden;grid-auto-rows:auto}.calendar-empty-filter{padding:22px;color:#9eb1c9;text-align:center}.calendar-summary-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.calendar-summary-strip span,.calendar-summary-strip strong{border:1px solid #33465f;border-radius:999px;background:#141f30;color:#dce8f8;padding:5px 9px;font-size:12px}.calendar-summary-strip strong{border-color:#137752;background:#102d27;color:#bff8de}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;color:#9eb1c9;font-size:12px}.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.calendar-corner,.calendar-day-head,.calendar-room-label{border-bottom:1px solid #263a55;background:#141f30}.calendar-corner,.calendar-day-head{position:sticky;top:0;z-index:4;height:46px;min-height:46px}.calendar-corner{left:0;z-index:5;display:flex;align-items:center;border-right:1px solid #263a55;padding:10px;color:#9eb1c9;font-size:12px;font-weight:800;text-transform:uppercase}.calendar-day-head{display:grid;align-content:center;justify-items:center;border-right:1px solid #263a55;padding:6px}.calendar-day-head.weekend{background:#121b2a}.calendar-day-head.today{background:#13253b}.calendar-day-head.today{box-shadow:inset 0 -2px #7fb2ff}.calendar-day-head strong{color:#eaf3ff;font-size:12px}.calendar-day-head span{color:#9eb1c9;font-size:12px}.calendar-room-label{position:sticky;left:0;z-index:3;display:grid;align-content:center;gap:4px;height:84px;min-height:84px;border-right:1px solid #263a55;border-bottom:1px solid #2b405d;padding:10px}.calendar-room-label strong,.calendar-room-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-room-label span{color:#9eb1c9;font-size:12px;text-transform:capitalize}.calendar-room-track{position:relative;display:grid;min-width:0;height:84px;min-height:84px;grid-template-rows:minmax(84px,1fr);border-bottom:1px solid #2b405d}@supports (grid-template-columns: subgrid){.calendar-room-track{grid-template-columns:subgrid!important}}.calendar-board.compact .calendar-room-track,.calendar-board.compact .calendar-drop-cell,.calendar-board.compact .calendar-room-label{height:60px;min-height:60px}.calendar-board.compact .calendar-room-track{grid-template-rows:minmax(60px,1fr)}.calendar-board.compact .calendar-booking-span,.calendar-board.compact .calendar-block-span{min-height:48px;margin:6px 4px;padding:5px 8px}.calendar-board.compact .calendar-room-label span,.calendar-board.compact .calendar-booking-span span{font-size:11px}.calendar-drop-cell{grid-row:1;height:84px;min-height:84px;border-right:1px solid #2b405d;border-bottom:1px solid #2b405d;background:#101827}.calendar-drop-cell:hover{background:#17243a}.calendar-drop-cell.today,.calendar-drop-cell.weekend{background:#101827}.calendar-drop-cell.drag-over{background:#1d3556;box-shadow:inset 0 0 0 2px #7fb2ff}.calendar-drop-cell:active{background:#1c3150}.calendar-booking-span,.calendar-block-span{grid-row:1;z-index:2;align-self:stretch;display:grid;align-content:start;gap:3px;min-width:0;min-height:68px;margin:8px 5px;border-radius:8px;padding:7px 10px;overflow:hidden}.calendar-booking-span{position:relative;border:1px solid #314864;background:#142033;color:#eef6ff;cursor:grab;text-align:left;box-shadow:inset 5px 0 #314864}.calendar-booking-span.sell-single{background:linear-gradient(90deg,#facc153d,#facc151f),#142033}.calendar-booking-span.sell-double{background:linear-gradient(90deg,#14b8a640,#14b8a61f),#142033}.calendar-booking-span.sell-twin{background:linear-gradient(90deg,#a855f747,#a855f724),#142033}.calendar-booking-span.has-breakfast:after{content:"";position:absolute;top:8px;right:0;bottom:8px;width:4px;border-radius:999px 0 0 999px;background:#ffffffdb}.calendar-booking-span:active{cursor:grabbing}.calendar-booking-span:hover,.calendar-booking-span:focus-visible{outline:2px solid #7fb2ff;outline-offset:-2px}.calendar-booking-span strong,.calendar-booking-span span,.calendar-block-span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar-booking-span strong{font-size:13px;line-height:1.2}.calendar-booking-span span{color:#c7d8ef;font-size:12px;line-height:1.2;text-transform:capitalize}.calendar-booking-phone{color:#aebfd4!important;text-transform:none!important}.calendar-block-span{border:1px solid #8a6230;background:#2d2415;color:#ffe0a8;cursor:pointer;font-size:12px;font-weight:800;text-align:left}.calendar-block-span:hover{outline:2px solid #c4934f;outline-offset:-2px}.booking-status-dot{display:inline-block;width:9px;height:9px;border-radius:999px;border:1px solid rgba(255,255,255,.55)}.booking-dot-stack{position:absolute;top:7px;right:8px;display:flex;gap:4px}.booking-note-dot{display:inline-block;width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.78);animation:notePulse 1.9s ease-in-out infinite}.booking-note-dot.internal{background:#ff3df2;box-shadow:0 0 10px #ff3df2c7}.booking-note-dot.guest{background:#22d3ee;box-shadow:0 0 11px #22d3eed1}.booking-status-dot.payment-paid{background:#22c55e}.booking-status-dot.payment-deposit{background:#3b82f6}.booking-status-dot.payment-partial{background:#f59e0b}.booking-status-dot.payment-unpaid{background:#ef4444}.calendar-booking-span.payment-paid{box-shadow:inset 5px 0 #22c55e}.calendar-booking-span.payment-deposit,.calendar-booking-span.payment-partial{box-shadow:inset 5px 0 #f59e0b}.calendar-booking-span.payment-unpaid{box-shadow:inset 5px 0 #ef4444}.payment-stripe-swatch{display:inline-block;width:5px;height:16px;border-radius:999px}.sell-swatch{display:inline-block;width:16px;height:10px;border:1px solid rgba(255,255,255,.22);border-radius:3px}.sell-swatch.sell-single{background:#facc1542}.sell-swatch.sell-double{background:#14b8a642}.sell-swatch.sell-twin{background:#c4b5fd47}.breakfast-swatch{display:inline-block;width:4px;height:16px;border-radius:999px;background:#ffffffdb}.stripe-paid{background:#22c55e}.stripe-partial{background:#f59e0b}.stripe-unpaid{background:#ef4444}@keyframes notePulse{0%,to{opacity:.86;transform:scale(1)}50%{opacity:1;transform:scale(1.28)}}.room-row{display:grid;grid-template-columns:minmax(120px,190px) minmax(180px,1fr) minmax(180px,320px);gap:12px;align-items:center;min-height:58px;border:1px solid #263a55;border-radius:8px;background:#142033;padding:10px 12px}.room-row strong,.room-row span{display:block}.room-row span,.room-meta{color:#aebfd4;font-size:13px}.room-meta{display:flex;flex-wrap:wrap;gap:8px}.stay-strip{display:flex;gap:8px;min-width:0;overflow:hidden}.available,.stay-pill,.block-pill{border-radius:999px;padding:5px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.available{border:1px solid #137752;color:#a8f0d4;background:#102d27}.stay-pill{border:1px solid #2d6cdf;color:#e4efff;background:#17315c;cursor:pointer}.block-pill{border:1px solid #8a6230;color:#ffe0a8;background:#2d2415}.room-meta span{border:1px solid #33465f;border-radius:999px;padding:4px 8px;color:#dce8f8}.state{border:1px solid #2e4058;border-radius:8px;padding:18px;background:#141d2c}.state.error{border-color:#8e3f4d;color:#ffd6dc}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;justify-content:flex-end;background:#050a1294}.drawer{width:min(680px,100vw);height:100vh;border-left:1px solid #2e4058;background:#101827;box-shadow:-18px 0 44px #00000057;overflow-x:hidden;overflow-y:auto}.drawer-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #28384e;background:#101827;padding:16px 18px}.drawer-header h2{margin:0;font-size:20px}.drawer-header-actions{display:flex;gap:8px}.drawer-header p,.detail-section p{margin:4px 0 0;color:#aebfd4}.drawer-body{display:grid;gap:14px;padding:16px 18px 28px;min-width:0}.drawer-tabs{position:sticky;top:73px;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #33465f;border-radius:8px;background:#101827;overflow:hidden}.drawer-tabs button{border:0;border-right:1px solid #33465f;background:#111a28;color:#d8e6f7;cursor:pointer;padding:9px 10px;font-weight:700}.drawer-tabs button:last-child{border-right:0}.drawer-tabs button.active{background:#174ea6;color:#fff}.create-drawer{width:min(620px,100vw)}.drawer .detail-section,.drawer form,.drawer label{min-width:0}.drawer .form-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.create-form label,.detail-section>label{display:grid;gap:5px;color:#9eb1c9;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.date-preset-actions{display:flex;flex-wrap:wrap;align-items:end;gap:6px}.segmented{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #33465f;border-radius:8px;overflow:hidden}.segmented button{border:0;background:#111a28;color:#d8e6f7;cursor:pointer;padding:9px 12px}.segmented button.active{background:#174ea6;color:#fff}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.payment-banner{display:flex;align-items:center;gap:8px;border:1px solid #33465f;border-radius:8px;background:#111a28;padding:9px 10px;color:#dce8f8}.payment-banner.payment-paid{border-color:#137752;background:#102d27}.payment-banner.payment-unpaid,.payment-banner.payment-partial{border-color:#7a5522;background:#2a2115}.payment-banner span:last-child{color:#9eb1c9;font-size:13px}.communication-panel{display:grid;gap:8px}.communication-actions{justify-content:flex-start}.communication-actions a{text-decoration:none}.message-action-row{display:grid;gap:8px;border:1px solid #26384f;border-radius:8px;background:#111d2c;padding:10px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dashboard-overview,.chart-panel,.dashboard-focus-panel,.trend-panel{display:grid;gap:12px}.bar-meter{display:grid;gap:7px}.bar-meter>div:first-child{display:flex;justify-content:space-between;gap:12px;color:#9eb1c9;font-size:12px}.bar-meter strong{color:#eef6ff}.bar-track{height:12px;border:1px solid #33465f;border-radius:999px;background:#101827;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1e6b62,#2d6cdf)}.warning-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.warning-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #5c4a28;border-radius:999px;background:#241f17;color:#ffe0a8;padding:6px 9px;font-size:12px;text-transform:capitalize}.warning-chip strong{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#ffc875;color:#1a160f}.mini-trend{display:grid;grid-template-columns:repeat(auto-fit,minmax(18px,1fr));align-items:end;gap:4px;min-height:180px;border:1px solid #26384f;border-radius:8px;background:#101827;padding:10px 8px 22px}.chart-legend{display:flex;flex-wrap:wrap;gap:10px;color:#9eb1c9;font-size:12px}.chart-legend span{display:inline-flex;align-items:center;gap:5px}.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}.legend-revenue{background:#2d6cdf}.legend-occupancy{background:#1e6b62bf}.trend-day{position:relative;display:grid;align-items:end;height:140px;min-width:0}.trend-day b,.trend-occupancy{grid-area:1 / 1;align-self:end;display:block;border-radius:4px 4px 0 0}.trend-day b{z-index:2;width:58%;justify-self:center;background:#2d6cdf}.trend-occupancy{z-index:1;width:100%;background:#1e6b6273}.trend-day em{position:absolute;left:50%;bottom:-18px;color:#8194ad;font-size:10px;font-style:normal;transform:translate(-50%)}.settings-grid,.settings-form{display:grid;gap:12px}.settings-save{justify-self:start}.settings-list,.settings-card-list,.lockbox-grid{display:grid;gap:10px}.settings-card-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.settings-mini-card{display:grid;gap:10px;border:1px solid #27384f;border-radius:8px;background:#121c2c;padding:12px}.settings-mini-card label,.settings-list>label,.lockbox-grid label{display:grid;gap:5px;color:#9eb1c9;font-size:12px}.settings-inline-form{grid-template-columns:minmax(180px,1fr) minmax(110px,140px) auto}.settings-room-type-form{grid-template-columns:minmax(150px,1fr) minmax(90px,110px) minmax(110px,140px) auto}.settings-hint{color:#9eb1c9;font-size:12px}.lockbox-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.room-settings-card{display:grid;gap:12px;border:1px solid #27384f;border-radius:8px;background:#121c2c;padding:12px}.room-settings-card header{display:flex;justify-content:space-between;gap:12px}.room-settings-card header span{display:block;margin-top:3px;color:#aebfd4;font-size:12px}.room-settings-card label{display:grid;gap:5px;color:#9eb1c9;font-size:12px}.switch-row{display:flex!important;grid-template-columns:none;align-items:center;gap:8px!important}.room-settings-save{justify-self:start}.booking-basics-form{display:grid;gap:10px}.booking-basics-form label{display:grid;gap:5px;color:#9eb1c9;font-size:12px}.form-actions-row{display:flex;flex-wrap:wrap;gap:8px}.danger-action{border-color:#72404a;background:#25161c;color:#ffd6dc}.floor-plan{display:grid;gap:10px}.clean-hidden{display:none}.clean-floor-plan{background:#0f1520;padding:6px 0}.clean-floor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#dce8f8;font-size:13px}.floor-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.floor-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.side-label{border-top:1px solid #31445d;padding-top:8px;color:#9eb1c9;font-size:12px;text-align:center;text-transform:uppercase}.floor-room{min-height:94px;border:1px solid #263a55;border-radius:8px;padding:9px}.floor-room.occupied{background:#142033;border-color:#2d6cdf}.floor-room.open{background:#0f2927;border-color:#158257}.floor-room.blocked{background:#2a2115;border-color:#8a6230}.floor-room header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px}.floor-room header span,.floor-available,.floor-blocked,.floor-stay span{color:#aebfd4;font-size:12px}.floor-lockbox-pin{margin-left:auto;display:inline-grid;place-items:center;min-width:58px;min-height:24px;border-radius:999px;background:linear-gradient(135deg,#e879f9,#8b5cf6);box-shadow:0 0 12px #e879f97a;color:#fff;font-size:11px;font-style:normal;font-weight:900;letter-spacing:0;line-height:1;padding:5px 8px;text-align:center;white-space:nowrap}.floor-blocked{display:block;color:#ffe0a8}.floor-book-button{display:grid;gap:4px;width:100%;border:0;border-radius:8px;background:transparent;color:#a8f0d4;text-align:left;cursor:pointer;padding:0}.floor-book-button:hover{color:#fff}.floor-book-button span{color:#7ed9bb;font-size:11px}.floor-stay{position:relative;display:grid;gap:2px;width:100%;border:1px solid #314864;border-radius:8px;background:#142033;color:#eef6ff;text-align:left;cursor:pointer;padding:7px 10px 7px 11px;box-shadow:inset 4px 0 #314864;overflow:hidden}.floor-stay.sell-single{background:linear-gradient(90deg,#facc153d,#facc151f),#142033}.floor-stay.sell-double{background:linear-gradient(90deg,#14b8a640,#14b8a61f),#142033}.floor-stay.sell-twin{background:linear-gradient(90deg,#a855f747,#a855f724),#142033}.floor-stay.has-breakfast:after{content:"";position:absolute;top:7px;right:0;bottom:7px;width:4px;border-radius:999px 0 0 999px;background:#ffffffdb}.floor-stay strong{display:block;padding-right:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-stay.payment-paid{box-shadow:inset 4px 0 #22c55e}.floor-stay.payment-deposit,.floor-stay.payment-partial{box-shadow:inset 4px 0 #f59e0b}.floor-stay.payment-unpaid{box-shadow:inset 4px 0 #ef4444}.metric,.detail-section,.room-card{border:1px solid #27384f;border-radius:8px;background:#141f30}.metric{padding:10px}.metric span{display:block;color:#93a8c3;font-size:12px}.metric strong{display:block;margin-top:3px;font-size:14px}.detail-section{padding:12px}.detail-section h3{margin:0 0 8px;font-size:15px}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.section-heading-row h3{margin:0}.allocator-preview{display:grid;gap:8px}.unavailable-summary{display:flex;flex-wrap:wrap;gap:6px}.unavailable-summary span{border:1px solid #33465f;border-radius:999px;color:#c7d6ea;font-size:12px;padding:4px 8px}.room-card-list{display:grid;gap:10px}.room-add-toggle{justify-self:start;margin-bottom:10px}.add-room-form{display:grid;gap:10px;border:1px solid #33465f;border-radius:8px;background:#101827;margin-bottom:12px;padding:10px}.add-room-form label{display:grid;gap:5px;color:#9eb1c9;font-size:12px}.room-card{display:grid;gap:12px;padding:12px}.room-card header{display:flex;align-items:start;justify-content:space-between;gap:12px}.room-card header span{display:block;margin-top:3px;color:#aebfd4;font-size:13px}.occupant-list{display:flex;flex-wrap:wrap;gap:6px}.occupant-list span{border:1px solid #344761;border-radius:999px;padding:4px 8px;color:#dfeaff;font-size:12px}.command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;align-items:end}.room-command-section{display:grid;gap:8px;border-top:1px solid #28384e;padding-top:10px}.room-command-section>div:first-child{display:grid;gap:2px}.room-command-section>div:first-child strong{color:#eef6ff;font-size:13px}.room-command-section>div:first-child span{color:#9eb1c9;font-size:12px}.setup-override-grid{grid-template-columns:minmax(180px,1fr) auto minmax(140px,.8fr)}.command-grid label{display:grid;gap:4px;color:#9eb1c9;font-size:12px}.ledger-row{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #28384e;padding:8px 0}.ledger-button{width:100%;background:transparent;color:#eef6ff;cursor:pointer;text-align:left}.ledger-button:hover{color:#9dccff}.payment-link-row{align-items:center}.row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.row-actions .icon-button,.payment-link-form .icon-button{color:#e6f0ff;text-decoration:none}.inline-form{display:grid;grid-template-columns:110px minmax(90px,.8fr) minmax(140px,1fr) auto;gap:8px;align-items:center;margin-bottom:10px}.drawer .inline-form{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.move-duration-note{align-self:center}.stacked-form{display:grid;gap:8px}.quick-amounts{display:flex;flex-wrap:wrap;gap:6px}.charge-form{grid-template-columns:110px 110px minmax(140px,1fr) 80px 110px auto}.payment-link-form{grid-template-columns:130px 120px auto auto auto}.text-link{color:#9dccff;text-decoration:none;font-size:13px;font-weight:700}.text-link:hover{text-decoration:underline}.inline-error{margin:0;color:#ffb7c2;font-size:13px}.inline-note{color:#aebfd4;font-size:12px}.public-field-help{color:#8c6c2b;font-size:12px}.public-payment-complete{min-height:100vh;display:grid;place-items:center;background:linear-gradient(#141f30b8,#141f30b8),url(/book/assets/hero-exterior-00JmeGBo.jpg) center/cover;padding:24px}.public-complete-card{width:min(520px,100%);display:grid;gap:16px;border:1px solid rgba(255,255,255,.34);border-radius:8px;background:#fffdf8f5;box-shadow:0 24px 70px #00000047;color:#26313d;padding:28px}.public-complete-card .public-logo{color:#26313d}.public-complete-card h1{margin:0;color:#26313d;font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:1.1}.public-complete-card p{margin:0;color:#486674;font-size:16px}.public-complete-card svg{color:#1c8c55}@media (max-width: 980px){.public-book-layout{grid-template-columns:1fr}.public-summary{position:static}.public-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.public-hero,.public-hero-overlay{min-height:280px}.public-hero-overlay{width:min(100% - 24px,1120px);padding-bottom:28px}.public-site-nav{align-items:flex-start;flex-direction:column}.public-hero-copy h1{font-size:42px}.public-book-panel{width:min(100% - 20px,1120px);margin-top:-24px}.public-section{padding:14px}.public-section>header{grid-template-columns:32px minmax(0,1fr) auto}.public-field-grid,.public-field-grid-two,.public-room-request,.public-actions{grid-template-columns:1fr}.public-room-request{align-items:stretch}.public-room-request .public-icon-button{justify-self:start}.app-shell{grid-template-columns:1fr}.main-content{padding:10px}.sidebar{border-right:0;border-bottom:1px solid #273244;padding:10px}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.nav-item{justify-content:center;gap:5px;min-height:42px;padding:6px 5px;font-size:11px}.brand span,.nav-item span{line-height:1.1}.topbar{align-items:stretch;flex-direction:column;gap:8px}.topbar h1{font-size:22px}.topbar p{font-size:12px}.topbar-actions,.date-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px}.topbar-actions .primary-action,.topbar-actions .secondary-action,.date-controls .primary-action,.date-controls .secondary-action,.date-controls input,.date-controls select{width:100%;height:34px;min-width:0;padding:6px 8px;font-size:12px}.date-controls .primary-action{grid-column:1 / -1}.room-row{grid-template-columns:1fr}.stay-strip{overflow-x:auto}.summary-grid,.dashboard-grid,.form-grid,.admin-room-request,.command-grid,.inline-form,.charge-form,.payment-link-form{grid-template-columns:1fr}.calendar-summary-strip,.calendar-legend{gap:5px;margin-bottom:5px;font-size:10px}.calendar-summary-strip span,.calendar-summary-strip strong{padding:3px 6px;font-size:10px}.calendar-board-shell{margin-inline:-14px;width:calc(100% + 28px)}.calendar-corner,.calendar-day-head{height:36px;min-height:36px;padding:4px}.calendar-room-label,.calendar-room-track,.calendar-drop-cell{height:104px;min-height:104px}.calendar-room-label{align-content:start;padding:7px 4px}.calendar-room-label strong{font-size:13px;line-height:1.05}.calendar-room-label .room-word{display:none}.calendar-room-label span{font-size:10px;white-space:normal;line-height:1.12}.calendar-booking-span span{font-size:9.5px}.calendar-booking-span,.calendar-block-span{min-height:88px;margin:6px 4px;padding:5px 7px 5px 8px;align-content:start;gap:2px}.calendar-booking-span strong{padding-right:20px;font-size:11px;line-height:1.15}.calendar-booking-phone{font-size:9.5px!important}.calendar-board.compact .calendar-room-track,.calendar-board.compact .calendar-drop-cell,.calendar-board.compact .calendar-room-label{height:96px;min-height:96px}.calendar-board.compact .calendar-room-track{grid-template-rows:minmax(96px,1fr)}.calendar-board.compact .calendar-booking-span,.calendar-board.compact .calendar-block-span{min-height:80px;margin:6px 4px;padding:5px 7px 5px 8px}.booking-dot-stack{top:5px;right:5px}.booking-note-dot{width:8px;height:8px}.floor-plan{gap:4px}.floor-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.floor-side{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.floor-room{min-height:66px;border-radius:6px;padding:6px}.floor-room header{display:grid;grid-template-columns:minmax(22px,auto) minmax(0,1fr) auto;align-items:start;gap:3px;margin-bottom:4px}.floor-room .room-word{display:none}.floor-room strong{font-size:13px;line-height:1}.floor-room header span{display:block;font-size:9px;line-height:1.05;text-transform:capitalize;white-space:normal}.floor-lockbox-pin{min-width:54px;min-height:21px;font-size:9px;padding:3px 5px}.floor-available,.floor-blocked,.floor-book-button span,.floor-stay span{font-size:9px;line-height:1.15}.floor-stay{gap:1px;border-radius:6px;padding:4px 7px 4px 8px}.floor-stay strong{padding-right:22px;font-size:11px;line-height:1.1}.side-label{padding-top:4px;font-size:9px}.floor-side .floor-room{min-height:62px;padding:5px}.floor-side .floor-room header{grid-template-columns:auto minmax(0,1fr)}.floor-side .floor-lockbox-pin{grid-column:1 / -1;justify-self:end;min-width:48px;min-height:19px;font-size:8px;padding:3px 4px}.drawer{width:100vw}}
