:root{--bg:#f4f7f9;--card:#fff;--surface:#fff;--surface-soft:#f8fafc;--text:#172033;--muted:#65758b;--line:#dbe3ea;--border:#dbe3ea;--primary:#0f766e;--primary-dark:#115e59;--accent:#c27a2c;--accent-soft:#fff4df;--danger:#dc2626;--success:#15803d;--warning:#b45309;--shadow:0 10px 30px #17203314;--shadow-soft:0 4px 16px #1720330f;--radius:8px}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:0;margin:0 0 10px;font-size:clamp(28px,4vw,42px);line-height:1.08}h2{letter-spacing:0;margin:0 0 10px;font-size:22px;line-height:1.2}h3{letter-spacing:0;margin:20px 0 10px;font-size:16px;line-height:1.25}p{margin:0 0 12px}hr{border:0;border-top:1px solid var(--line);margin:18px 0}label{color:var(--text);font-size:13px;font-weight:700;display:block}label+label,label+.form-row,.form-row+label,.form-row+.form-row{margin-top:14px}.page{width:100%;max-width:1180px;margin:0 auto;padding:28px}.wide-page{max-width:1600px}.header{border-bottom:1px solid #65758b38;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;padding-bottom:18px;display:flex}.logo{color:var(--text);letter-spacing:0;font-size:22px;font-weight:800}.nav{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:13px;display:flex}.nav a{border-radius:var(--radius);background:#ffffffb8;border:1px solid #65758b3d;align-items:center;min-height:34px;padding:7px 10px;font-weight:700;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.nav a:hover{color:var(--primary-dark);background:#fff;border-color:#0f766e6b}.card,.report-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:22px}.card+.card,.card+.dashboard-stack,.dashboard-stack+.card{margin-top:18px}.hero{border-radius:var(--radius);color:#fff;min-height:320px;box-shadow:var(--shadow);background:#123f46;border:1px solid #0f3f44;align-content:center;gap:14px;padding:44px;display:grid}.hero h1{max-width:720px}.hero p{color:#ffffffd1;max-width:680px;font-size:18px}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:14px;display:grid}.input{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:44px;color:var(--text);background:#fff;outline:none;margin-top:6px;padding:11px 12px;font-size:14px;transition:border-color .16s,box-shadow .16s,background .16s}textarea.input{resize:vertical;min-height:110px}.input:focus{border-color:#0f766ea3;box-shadow:0 0 0 3px #0f766e1f}.input::placeholder{color:#9aa8b7}.btn,.mini-btn{border-radius:var(--radius);border:1px solid var(--primary);background:var(--primary);color:#fff;text-align:center;cursor:pointer;justify-content:center;align-items:center;width:fit-content;min-height:42px;padding:10px 14px;font-size:14px;font-weight:800;line-height:1.1;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s,color .16s;display:inline-flex}.btn:hover,.mini-btn:hover{background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 8px 18px #0f766e2e}.btn.secondary{color:var(--primary-dark);background:#fff;border-color:#0f766e6b}.btn.secondary:hover{color:var(--primary-dark);background:#edfdfa}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger:hover{background:#b91c1c;border-color:#b91c1c}.btn:disabled,button:disabled{opacity:.62;cursor:not-allowed;box-shadow:none}.mini-btn{min-height:30px;color:var(--text);background:#fff;border-color:#65758b5c;padding:7px 10px;font-size:12px}.mini-btn:hover{color:var(--primary-dark);background:#edfdfa;border-color:#0f766e7a}.mini-btn.danger{color:#991b1b}.mini-btn.danger:hover{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.table{border-collapse:separate;border-spacing:0;width:100%}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:13px 12px;font-size:14px}.table th{z-index:2;color:var(--muted);letter-spacing:0;text-transform:uppercase;background:#f8fafc;font-size:11px;font-weight:800;position:sticky;top:0}.table tr:hover td{background:#f8fafcad}.table a{color:var(--primary-dark)}.table-wrap{overflow-x:auto}.badge{border-radius:var(--radius);color:#166534;background:#ecfdf5;border:1px solid #bbf7d0;align-items:center;width:fit-content;min-height:30px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.badge.repair{color:#92400e;background:#fffbeb;border-color:#facc15}.badge.inactive{color:#475569;background:#eef2f7;border-color:#cbd5e1}.notice,.alert{border-radius:var(--radius);color:#075985;background:#eff8ff;border:1px solid #bae6fd;padding:12px 14px;font-size:14px;font-weight:700}.alert.warning{color:#92400e;background:#fffbeb;border-color:#facc15}.alert.error,.admin-message.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.admin-message{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 18px;padding:14px 16px;font-weight:800}.admin-message.success{color:#166534;background:#ecfdf5;border-color:#bbf7d0}.page-intro,.section-heading,.panel-heading,.page-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-intro{margin-bottom:18px}.page-intro p,.section-heading p,.panel-heading p,.muted{color:var(--muted)}.section-heading{margin:24px 0 14px}.panel-heading{margin-bottom:14px}.action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{gap:14px;display:grid}.summary-list{gap:10px;margin:0;display:grid}.summary-row,.price-row{border-bottom:1px solid #65758b29;justify-content:space-between;gap:18px;padding-bottom:10px;display:flex}.summary-row span,.price-row span{color:var(--muted)}.summary-row strong,.price-row strong{text-align:right}.stat{gap:6px;display:grid}.stat strong,.stat-value{color:var(--text);font-size:32px;font-weight:800;line-height:1.1;display:block}.stat span,.stat p{color:var(--muted)}.booking-search-card{margin-bottom:18px}.booking-search-card .form-row{grid-template-columns:repeat(4,minmax(160px,1fr))}.category-card{flex-direction:column;gap:12px;display:flex}.category-card h2,.category-card p{margin:0}.category-description{color:var(--muted);min-height:44px}.category-meta{flex-wrap:wrap;gap:8px;display:flex}.category-meta span{border-radius:var(--radius);background:var(--surface-soft);color:var(--text);border:1px solid #65758b3d;padding:6px 9px;font-size:12px;font-weight:800}.category-price{gap:8px;margin:2px 0;display:grid}.category-price div{justify-content:space-between;gap:12px;display:flex}.category-price span{color:var(--muted)}.category-card .btn{margin-top:auto}.checkout-grid,.success-grid,.booking-detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);align-items:start;gap:18px;display:grid}.booking-detail-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.booking-ops-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.booking-ops-card{border-radius:var(--radius);background:#fff;border:1px solid #65758b3d;gap:6px;padding:14px;display:grid}.booking-ops-card span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.booking-ops-card strong{color:var(--text);font-size:16px;line-height:1.2}.booking-ops-card p{color:var(--muted);margin:0;font-size:13px;font-weight:700}.booking-ops-card.is-warning{background:#fffbeb;border-color:#fde68a}.booking-ops-card.is-ok{background:#ecfdf5;border-color:#bbf7d0}.booking-ops-card.is-muted{background:#f8fafc;border-color:#cbd5e1}.guest-communication-card{gap:16px;margin-bottom:18px;display:grid}.communication-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.communication-channel-grid div{border-radius:var(--radius);background:var(--surface-soft);border:1px solid #65758b38;padding:12px}.communication-channel-grid span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900;display:block}.communication-channel-grid strong{color:var(--text);margin-top:3px;font-size:15px;line-height:1.25;display:block}.communication-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.communication-template-panel{border-radius:var(--radius);background:#fff;border:1px solid #65758b38;align-content:start;gap:12px;padding:14px;display:grid}.communication-template-panel h3{margin:0 0 4px}.communication-template-panel p{color:var(--muted);margin:0;font-size:13px;font-weight:700}.communication-template-text{white-space:pre-wrap;border-radius:var(--radius);color:#1f2a3d;background:#f8fafc;border:1px solid #65758b2e;min-height:180px;max-height:260px;padding:12px;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45;overflow:auto}.communication-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.communication-actions-wrap{gap:7px;display:grid}.communication-actions .btn,.communication-actions .copy-button-wrap{min-width:122px}.communication-action-note{color:var(--muted);font-size:12px;font-weight:800}.communication-action-note.is-error{color:#991b1b}.btn.is-disabled{pointer-events:none;opacity:.46;cursor:not-allowed;box-shadow:none}.communication-queue-summary{background:linear-gradient(135deg,#edfdfad1,#fffffff0),#fff;border-color:#0f766e3d;justify-content:space-between;align-items:center;gap:18px;display:flex}.communication-queue-summary span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900;display:block}.communication-queue-summary strong{color:var(--text);margin:2px 0;font-size:42px;line-height:1;display:block}.communication-queue-summary p{max-width:760px;color:var(--muted);margin:0;font-weight:700}.communication-queue-section{gap:14px;display:grid}.communication-queue-list{gap:10px;display:grid}.communication-queue-card{border-radius:var(--radius);color:var(--text);background:#fff;border:1px solid #65758b38;grid-template-columns:1.05fr 1fr .85fr .95fr 1.05fr;align-items:center;gap:12px;padding:12px;transition:border-color .16s,background .16s,transform .16s;display:grid}.communication-queue-card:hover{background:#fbfefd;border-color:#0f766e7a}.communication-queue-card strong,.communication-queue-card span{display:block}.communication-queue-card strong{font-size:14px;line-height:1.2}.communication-queue-card span{color:var(--muted);margin-top:3px;font-size:12px}.communication-queue-main strong{color:var(--primary-dark)}.booking-form{gap:14px;display:grid}.radio-grid{gap:10px;margin:8px 0 12px;display:grid}.radio-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.radio-card input{margin-top:3px}.radio-card strong,.radio-card span{display:block}.radio-card span{color:var(--muted);font-size:13px;font-weight:600}.dashboard-stack{gap:18px;display:grid}.mini-booking-list{gap:10px;display:grid}.mini-booking-card{border-radius:var(--radius);color:var(--text);background:#fff;border:1px solid #65758b38;grid-template-columns:1.2fr .8fr 1fr 1fr .9fr;align-items:center;gap:12px;padding:12px;transition:border-color .16s,background .16s,transform .16s;display:grid}.mini-booking-card:hover{background:#fbfefd;border-color:#0f766e7a}.mini-booking-card strong{font-size:14px;line-height:1.2;display:block}.mini-booking-card span{color:var(--muted);margin-top:3px;font-size:12px;display:block}.quick-actions{flex-wrap:wrap;gap:6px;min-width:210px;display:flex}.quick-actions form{margin:0}.status-pill-group{gap:6px;display:grid}.status-pill{border-radius:var(--radius);width:fit-content;color:var(--text);background:#fff;border:1px solid #65758b42;align-items:center;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.payment-state-debt{color:#991b1b;background:#fef2f2;border-color:#fecaca}.payment-state-partial{color:#92400e;background:#fffbeb;border-color:#fde68a}.payment-state-paid{color:#166534;background:#ecfdf5;border-color:#bbf7d0}.payment-state-overpaid{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.payment-state-cancelled{color:#475569;background:#eef2f7;border-color:#cbd5e1}.booking-row-waiting td{background:#fffbeb94}.booking-row-partial td,.booking-row-paid td{background:#ecfdf57a}.booking-row-living td{background:#eff6ff80}.booking-row-out td{background:#f1f5f9b8}.booking-row-cancelled td,.room-row-inactive td{color:#64748b;background:#f1f5f9d1}.report-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.report-grid.compact{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.report-label{color:var(--muted);margin:0;font-size:13px;font-weight:800}.report-value{color:var(--text);margin:10px 0 6px;font-size:28px;font-weight:800;line-height:1.1}.report-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.35}.finance-intro-card{grid-template-columns:minmax(280px,1fr) minmax(320px,.8fr);gap:18px;margin-bottom:18px;display:grid}.finance-intro-main h1{margin-bottom:10px}.finance-filter-form{align-content:end}.finance-summary-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.finance-card-good{background:linear-gradient(#fff 0%,#f0fdf4 100%);border-color:#15803d3d}.finance-card-warning{background:linear-gradient(#fff 0%,#fff7ed 100%);border-color:#b453093d}.finance-entry-card{margin-top:18px}.finance-expense-form{grid-template-columns:150px 190px 150px minmax(220px,1fr);align-items:end;gap:14px;display:grid}.finance-expense-title,.finance-expense-comment{grid-column:span 2}.finance-category-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.finance-share-form{grid-template-columns:minmax(170px,1fr) 96px auto;align-items:end;gap:8px;min-width:360px;display:grid}.finance-share-form label{margin:0}.finance-share-form label span{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.finance-share-form .input{min-height:36px;padding:8px 10px}.login-page{background:#eef4f6;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);background:#fff;padding:28px}.login-logo{border-radius:var(--radius);color:var(--primary-dark);background:#edfdfa;margin-bottom:12px;padding:8px 11px;font-weight:800;display:inline-flex}.login-card p{color:var(--muted)}.price-input{min-width:120px;font-weight:800}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.backup-preview{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-top:18px;padding:18px}.backup-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.backup-preview-grid div{border-radius:var(--radius);background:var(--surface-soft);border:1px solid #65758b38;padding:12px}.backup-preview-grid span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.backup-preview-grid strong{color:var(--text);font-size:16px;display:block}.release-check-section{gap:14px;display:grid}.release-check-list{gap:10px;display:grid}.release-check-row{border-radius:var(--radius);background:#fff;border:1px solid #65758b38;grid-template-columns:minmax(0,1fr) minmax(220px,.35fr);align-items:center;gap:14px;padding:12px;display:grid}.release-check-row strong,.release-check-row span{display:block}.release-check-row>div:last-child{text-align:right;justify-items:end;gap:5px;display:grid}.release-check-row>div:first-child span{color:var(--muted);margin-top:3px;font-size:13px}.release-check-status{border-radius:var(--radius);border:1px solid #65758b3d;width:fit-content;padding:4px 8px;font-size:12px;font-weight:900}.release-check-status.is-ok{color:#166534;background:#ecfdf5;border-color:#bbf7d0}.release-check-status.is-warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.release-check-status.is-bad{color:#991b1b;background:#fef2f2;border-color:#fecaca}.booking-log-list{gap:10px;display:grid}.payment-item{border-bottom:1px solid var(--line);margin-bottom:12px;padding:0 0 12px}.payment-item:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.booking-log-item{border-radius:var(--radius);background:#fff;border:1px solid #65758b3d;justify-content:space-between;gap:16px;padding:12px;display:flex}.booking-log-item strong{color:var(--text);display:block}.booking-log-item p{color:#475569;margin:4px 0 0}.booking-log-item span{color:var(--muted);white-space:nowrap;font-size:12px}.switch-line{border-radius:var(--radius);background:var(--surface-soft);border:1px solid #65758b3d;align-items:center;gap:8px;width:fit-content;padding:8px 10px;font-weight:800;display:inline-flex}.switch-line input{width:18px;height:18px}.room-chip-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.room-chip{border-radius:var(--radius);color:var(--text);background:#fff;border:1px solid #65758b42;align-items:center;padding:6px 9px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.room-chip:hover{background:#edfdfa;border-color:#0f766e7a}.room-chip.muted{color:var(--muted);background:#f1f5f9}.quick-months{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.calendar-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.calendar-controls label{width:min(225px,100%)}.quick-months a{border-radius:var(--radius);color:var(--text);background:#fff;border:1px solid #65758b47;padding:7px 10px;font-size:13px;font-weight:800}.quick-months a:hover{color:var(--primary-dark);background:#edfdfa;border-color:#0f766e7a}.calendar-card{overflow:auto visible}.calendar-board{border-radius:var(--radius);background:#fff;border:1px solid #65758b4d;min-width:3040px;overflow:hidden}.calendar-board-header,.calendar-board-row{grid-template-columns:160px repeat(30,96px);display:grid}.calendar-board-header{z-index:20;position:sticky;top:0}.calendar-board-row{min-height:62px;position:relative}.calendar-board-room-header,.calendar-board-room-cell,.calendar-board-date-header,.calendar-board-day-cell{border-bottom:1px solid #65758b38;border-right:1px solid #65758b38}.calendar-board-room-header,.calendar-board-date-header{min-height:62px;color:var(--text);text-align:center;background:#f8fafc;padding:10px 8px;font-size:13px;font-weight:800}.calendar-board-date-header small{color:var(--muted);text-transform:capitalize;margin-top:4px;font-weight:700;display:block}.calendar-board-room-header,.calendar-board-room-cell{z-index:15;position:sticky;left:0;box-shadow:5px 0 12px #1720330f}.calendar-board-room-cell strong{font-size:15px}.calendar-board-room-cell small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.calendar-board-day-cell{color:#0000;background:#fff;justify-content:center;align-items:center;min-height:62px;text-decoration:none;display:flex;position:relative}.calendar-board-day-cell span{border-radius:var(--radius);opacity:0;border:1px dashed #0f766e73;justify-content:center;align-items:center;width:26px;height:26px;font-weight:800;display:flex}.calendar-board-day-cell:hover{color:var(--primary-dark);background:#edfdfa}.calendar-board-day-cell:hover span{opacity:1}.calendar-legend{color:#334155;flex-wrap:wrap;gap:10px;margin-top:16px;font-size:13px;display:flex}.calendar-legend span{border-radius:var(--radius);background:#fff;border:1px solid #65758b3d;align-items:center;gap:7px;padding:7px 9px;display:inline-flex}.legend-dot{background:var(--booking-color);border:1px solid #17203329;border-radius:999px;width:13px;height:13px;display:inline-block}.calendar-booking-bar{z-index:10;background:var(--booking-color);color:#071321;white-space:nowrap;border-top:1px solid #1720331f;border-bottom:1px solid #1720331f;height:32px;padding:3px 12px 0 14px;text-decoration:none;display:block;position:absolute;top:16px;overflow:hidden;box-shadow:0 3px 8px #17203329}.calendar-booking-bar:hover{z-index:30;filter:brightness(.97);box-shadow:0 6px 16px #17203338}.calendar-booking-rounded-both{border-radius:999px}.calendar-booking-rounded-left{border-top-left-radius:999px;border-bottom-left-radius:999px}.calendar-booking-rounded-right{border-top-right-radius:999px;border-bottom-right-radius:999px}.calendar-booking-square{border-radius:0}.calendar-booking-bar strong,.calendar-booking-bar small{text-overflow:ellipsis;line-height:1.1;display:block;overflow:hidden}.calendar-booking-bar small{color:#071321c7;margin-top:1px;font-size:10px}.calendar-room-block-bar{z-index:6;color:#fff;background:repeating-linear-gradient(135deg,#64748b,#64748b 8px,#475569 8px 16px);border:1px solid #475569}.calendar-room-block-bar small,.calendar-room-block-bar strong{color:#fff}.room-block-dot{background:#64748b}.calendar-board-day-blocked{color:#64748b;cursor:not-allowed;background:#e2e8f0}.calendar-board-day-blocked span{color:#64748b;opacity:1}.calendar-board-row-inactive .calendar-board-room-cell{color:#475569;background:#eef2f7}.calendar-room-status{border-radius:var(--radius);color:#334155;background:#cbd5e1;width:fit-content;margin-top:5px;padding:3px 7px;font-weight:800;display:inline-flex}.calendar-board-day-inactive{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.calendar-board-day-inactive span{color:#94a3b8;opacity:1}.inactive-room-dot{background:#94a3b8}@media (max-width:900px){.page{padding:20px}.header{flex-direction:column}.nav{justify-content:flex-start}.hero{min-height:260px;padding:26px}.booking-search-card .form-row,.checkout-grid,.success-grid,.booking-ops-strip,.communication-channel-grid,.communication-template-grid,.settings-grid,.backup-preview-grid,.finance-intro-card,.finance-expense-form{grid-template-columns:1fr}.finance-expense-title,.finance-expense-comment{grid-column:span 1}.mini-booking-card{grid-template-columns:1fr}.communication-queue-summary{flex-direction:column;align-items:flex-start}.communication-queue-card,.release-check-row{grid-template-columns:1fr}.release-check-row>div:last-child{text-align:left;justify-items:start}.booking-log-item{flex-direction:column}}@media (max-width:640px){.page,.card,.report-card{padding:16px}.btn,.mini-btn,.action-row,.page-toolbar{width:100%}.communication-actions{grid-template-columns:1fr;display:grid}.communication-actions .btn,.communication-actions .copy-button-wrap{width:100%}}.calendar-housekeeping-badge{width:fit-content;max-width:100%;color:var(--text);background:#fff;border:1px solid #65758b3d;border-radius:999px;align-items:center;gap:4px;margin-top:6px;padding:3px 8px;font-size:11px;font-weight:800;line-height:1.1;display:inline-flex}.calendar-housekeeping-ready{color:#166534;background:#ecfdf5;border-color:#86efac}.calendar-housekeeping-dirty{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.calendar-housekeeping-cleaning{color:#854d0e;background:#fefce8;border-color:#fde68a}.calendar-housekeeping-inspection{color:#9a3412;background:#fff7ed;border-color:#fdba74}.housekeeping-ready-dot{background:#22c55e}.housekeeping-dirty-dot{background:#ef4444}.housekeeping-cleaning-dot{background:#eab308}.housekeeping-inspection-dot{background:#f97316}.calendar-board-row-housekeeping-dirty .calendar-board-room-cell{background:#fff7f7;border-left:4px solid #ef4444}.calendar-board-row-housekeeping-cleaning .calendar-board-room-cell{background:#fffdf0;border-left:4px solid #eab308}.calendar-board-row-housekeeping-inspection .calendar-board-room-cell{background:#fff7ed;border-left:4px solid #f97316}.calendar-board-row-housekeeping-dirty .calendar-board-day-cell{background:#fef2f294}.calendar-board-row-housekeeping-cleaning .calendar-board-day-cell{background:#fefce894}.calendar-board-row-housekeeping-inspection .calendar-board-day-cell{background:#fff7ed9e}.calendar-board-row-housekeeping-dirty .calendar-board-day-cell:hover,.calendar-board-row-housekeeping-cleaning .calendar-board-day-cell:hover,.calendar-board-row-housekeeping-inspection .calendar-board-day-cell:hover{background:#edfdfa}.calendar-housekeeping-actions{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.calendar-housekeeping-actions form{margin:0}.calendar-housekeeping-action{color:#166534;cursor:pointer;background:#ecfdf5;border:1px solid #86efac;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:3px 7px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.calendar-housekeeping-action:hover{background:#dcfce7}.calendar-housekeeping-action.danger{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.calendar-housekeeping-action.danger:hover{background:#fee2e2}.calendar-housekeeping-action.warning{color:#854d0e;background:#fefce8;border-color:#fde68a}.calendar-housekeeping-action.warning:hover{background:#fef3c7}.calendar-housekeeping-action.orange{color:#9a3412;background:#fff7ed;border-color:#fdba74}.calendar-housekeeping-action.orange:hover{background:#ffedd5}.calendar-housekeeping-actions{display:none!important}.booking-public-hero{max-width:1180px;margin:0 auto;padding:26px 24px 18px}.booking-public-topline{justify-content:space-between;align-items:center;gap:16px;margin-bottom:34px;display:flex}.booking-public-topline div{gap:2px;display:grid}.booking-public-topline strong{color:var(--text);font-size:22px;font-weight:900}.booking-public-topline span{color:var(--muted);font-size:13px;font-weight:700}.booking-public-topline a{color:var(--primary-dark);background:#fff;border:1px solid #0f766e59;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:900}.booking-hero-content{color:#fff;max-width:860px;box-shadow:var(--shadow);background:linear-gradient(135deg,#123f46f5,#0f766ed6),linear-gradient(135deg,#123f46,#0f766e);border:1px solid #0f3f442e;border-radius:18px;gap:18px;padding:38px;display:grid}.booking-eyebrow{color:#ffffffe0;text-transform:uppercase;border:1px solid #ffffff47;border-radius:999px;width:fit-content;padding:6px 10px;font-size:12px;font-weight:900}.booking-hero-content h1{color:#fff;max-width:760px;margin:0}.booking-hero-content p{color:#ffffffd6;max-width:720px;margin:0;font-size:18px}.booking-hero-points{flex-wrap:wrap;gap:8px;display:flex}.booking-hero-points span{color:#ffffffeb;background:#ffffff1f;border-radius:999px;padding:8px 10px;font-size:13px;font-weight:800}.booking-public-shell{max-width:1180px;margin:0 auto;padding:0 24px 44px}.booking-search-card-public{border-radius:18px;margin-top:10px;padding:24px}.booking-search-heading{margin-bottom:16px}.booking-search-heading h2{margin-bottom:4px}.booking-search-heading p{color:var(--muted);margin:0}.booking-search-form{grid-template-columns:1fr 1fr minmax(130px,.65fr) auto;align-items:end;gap:14px;display:grid}.booking-search-btn{white-space:nowrap;min-height:44px}.booking-benefits{grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 26px;display:grid}.booking-benefits article{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:16px;padding:18px}.booking-benefits strong{margin-bottom:4px;font-size:15px;display:block}.booking-benefits span{color:var(--muted);font-size:14px}.booking-results-heading{margin-top:4px}.booking-category-card{border-radius:18px;padding:0;display:grid;overflow:hidden}.booking-category-visual{background:#123f46;justify-content:flex-start;align-items:flex-end;min-height:138px;padding:18px;display:flex}.booking-category-visual span{color:var(--text);background:#ffffffe0;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.booking-category-media{background:#fff;gap:8px;padding:8px 8px 0;display:grid}.booking-category-cover{aspect-ratio:4/3;background:#e2e8f0;border-radius:12px;position:relative;overflow:hidden}.booking-category-cover img,.booking-category-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.booking-category-cover span{color:var(--text);background:#ffffffe6;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;position:absolute;bottom:12px;left:12px;box-shadow:0 8px 20px #0f172a29}.booking-category-thumbs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.booking-category-thumbs img{aspect-ratio:4/3;background:#e2e8f0;border-radius:8px}.booking-visual-sea{background:linear-gradient(135deg,#123f462e,#0f766e73),linear-gradient(135deg,#dbeafe,#0f766e)}.booking-visual-sand{background:linear-gradient(135deg,#c27a2c2e,#b4530975),linear-gradient(135deg,#fff7ed,#c27a2c)}.booking-visual-sunset{background:linear-gradient(135deg,#0f766e33,#c27a2c80),linear-gradient(135deg,#ccfbf1,#f97316)}.booking-category-content{gap:14px;padding:22px;display:grid}.booking-category-content h2{margin:0}.booking-category-features{flex-wrap:wrap;gap:7px;display:flex}.booking-category-features span{color:var(--muted);background:#f8fafc;border:1px solid #65758b38;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.booking-price-box{margin-top:0}.booking-deposit-note{font-size:13px}.booking-card-button{width:100%}.booking-empty-card,.booking-large-group-card{border-radius:18px}.booking-conditions{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;margin-top:28px;padding:24px}.booking-conditions>div{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:12px;display:grid}.booking-conditions article{background:#f8fafc;border-radius:14px;padding:14px}.booking-conditions strong{margin-bottom:5px;display:block}.booking-conditions span{color:var(--muted);font-size:13px}@media (max-width:860px){.booking-search-form,.booking-benefits,.booking-conditions>div{grid-template-columns:1fr}.booking-hero-content{padding:28px}.booking-public-topline{flex-direction:column;align-items:flex-start}}.checkout-public-hero{max-width:1180px;margin:0 auto;padding:26px 24px 18px}.checkout-hero-card{color:#fff;max-width:860px;box-shadow:var(--shadow);background:linear-gradient(135deg,#123f46f5,#0f766ed1),#123f46;border:1px solid #0f3f442e;border-radius:18px;gap:14px;padding:34px;display:grid}.checkout-hero-card h1{color:#fff;margin:0}.checkout-hero-card p{color:#ffffffd6;max-width:760px;margin:0;font-size:17px}.checkout-public-shell{padding-bottom:46px}.checkout-public-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:18px;display:grid}.checkout-form-card,.checkout-summary-card,.checkout-rules-card,.booking-problem-card{border-radius:18px}.checkout-section-title{margin-bottom:18px}.checkout-section-title h2{margin-bottom:4px}.checkout-section-title span{color:var(--muted);font-size:14px}.booking-small-label{color:var(--accent);text-transform:uppercase;letter-spacing:.02em;margin:0 0 6px;font-size:12px;font-weight:900}.checkout-public-form{gap:16px;display:grid}.checkout-payment-title{border-top:1px solid var(--line);margin-top:12px;padding-top:18px}.checkout-choice-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkout-choice-card{border-radius:16px;min-height:108px}.checkout-choice-card>span{gap:4px;display:grid}.checkout-choice-card small{color:var(--muted);font-size:12px;font-weight:600}.checkout-submit-box{border-top:1px solid var(--line);gap:10px;margin-top:6px;padding-top:18px;display:grid}.checkout-submit-btn{width:100%;min-height:48px}.checkout-submit-box p{color:var(--muted);margin:0;font-size:13px}.checkout-summary-column{gap:18px;display:grid;position:sticky;top:18px}.checkout-summary-card h2{margin-bottom:10px}.checkout-summary-media{aspect-ratio:4/3;background:#e2e8f0;border-radius:12px;margin-bottom:8px;overflow:hidden}.checkout-summary-media img,.checkout-summary-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.checkout-summary-thumbs{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.checkout-summary-thumbs img{aspect-ratio:4/3;background:#e2e8f0;border-radius:8px}.checkout-stay-pill{width:fit-content;color:var(--primary-dark);background:#edfdfa;border-radius:999px;margin-bottom:16px;padding:7px 10px;font-size:12px;font-weight:900}.checkout-total-box{color:#fff;background:#123f46;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:16px;display:flex}.checkout-total-box span{color:#ffffffc7;font-size:13px;font-weight:800}.checkout-total-box strong{white-space:nowrap;font-size:22px}.checkout-rules-card ul{color:var(--muted);margin:10px 0 0;padding-left:18px;font-size:14px}.checkout-rules-card li+li{margin-top:8px}.booking-problem-shell{padding-top:46px}.booking-problem-card{max-width:720px;margin:0 auto}@media (max-width:980px){.checkout-public-grid{grid-template-columns:1fr}.checkout-summary-column{position:static}}@media (max-width:720px){.checkout-choice-grid{grid-template-columns:1fr}.checkout-hero-card{padding:28px}}.success-public-hero{max-width:1180px;margin:0 auto;padding:26px 24px 18px}.success-hero-card{color:#fff;max-width:860px;box-shadow:var(--shadow);background:linear-gradient(135deg,#123f46f5,#0f766ed1),#123f46;border:1px solid #0f3f442e;border-radius:18px;gap:16px;padding:34px;display:grid}.success-hero-card h1{color:#fff;margin:0}.success-hero-card p{color:#ffffffd6;max-width:760px;margin:0;font-size:17px}.success-booking-number{background:#ffffff1f;border-radius:16px;gap:4px;width:fit-content;min-width:220px;padding:14px 16px;display:grid}.success-booking-number span{color:#ffffffb8;text-transform:uppercase;font-size:12px;font-weight:900}.success-booking-number strong{color:#fff;letter-spacing:.02em;font-size:26px}.success-public-shell{padding-bottom:46px}.success-public-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:18px;display:grid}.success-main-card,.success-summary-card,.success-note-card{border-radius:18px}.success-status-box{background:#ecfdf5;border:1px solid #86efac;border-radius:16px;align-items:flex-start;gap:16px;padding:18px;display:flex}.success-status-icon{color:#fff;background:#16a34a;border-radius:999px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:22px;font-weight:900;display:inline-flex}.success-status-box h2{color:#166534;margin-bottom:4px}.success-status-box p{color:#166534;margin:0}.success-payment-card{background:#f8fafc;border-radius:16px;margin-top:18px;padding:20px}.success-payment-card h2{margin-bottom:8px}.success-payment-card>strong{color:var(--text);margin-bottom:6px;font-size:34px;line-height:1;display:block}.success-payment-card>span{color:var(--muted);font-size:14px;font-weight:800}.success-next-steps{margin-top:22px}.success-next-steps>div{gap:12px;margin-top:12px;display:grid}.success-next-steps article{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px}.success-next-steps strong{margin-bottom:4px;display:block}.success-next-steps span{color:var(--muted);font-size:14px}.success-actions{margin-top:22px}.success-summary-column{gap:18px;display:grid;position:sticky;top:18px}.success-note-card p{color:var(--muted)}.success-number-copy{color:#fff;text-align:center;letter-spacing:.03em;background:#123f46;border-radius:14px;margin-top:12px;padding:14px;font-size:22px;font-weight:900}@media (max-width:980px){.success-public-grid{grid-template-columns:1fr}.success-summary-column{position:static}}@media (max-width:720px){.success-hero-card{padding:28px}.success-status-box{flex-direction:column}}.success-pay-btn{width:100%;min-height:48px;margin-top:16px}.payment-public-message{border-radius:14px;margin-top:14px;padding:12px 14px;font-size:13px;font-weight:700}.payment-public-message.warning{color:#9a3412;background:#fff7ed;border:1px solid #fdba74}.payment-public-message.error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.payment-public-message.success{color:#166534;background:#ecfdf5;border:1px solid #86efac}.success-check-btn{width:100%;min-height:44px}.payment-fallback-card{background:linear-gradient(135deg,#0f766e14,#0000 55%),#f8fbfb;border:1px solid #0f3f4424;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin-top:2px;padding:16px;display:flex}.payment-fallback-card strong{color:#102f37;margin-bottom:5px;font-size:15px;display:block}.payment-fallback-card p{color:#64748b;margin:0;font-size:13px;font-weight:750;line-height:1.45}.payment-fallback-card p span{color:#0f766e;font-weight:950}.payment-fallback-card .btn{white-space:nowrap;flex:none;min-height:40px;padding:9px 12px;font-size:12px}@media (max-width:720px){.payment-fallback-card{flex-direction:column;align-items:stretch}.payment-fallback-card .btn{width:100%}}.booking-public-page{background:linear-gradient(#f4f0e8 0%,#fff 38%,#eef7f6 100%);min-height:100vh}.booking-public-hero,.checkout-public-hero,.success-public-hero{isolation:isolate;color:#fff;background:#0b373c;max-width:none;min-height:510px;padding:22px max(24px,50vw - 566px) 84px;position:relative;overflow:hidden}.checkout-public-hero,.success-public-hero{min-height:386px;padding-bottom:70px}.booking-public-hero:before,.checkout-public-hero:before,.success-public-hero:before{content:"";z-index:-2;background-image:url(/brand/hero-sea.jpg);background-position:50% 54%;background-size:cover;position:absolute;inset:0;transform:scale(1.02)}.booking-public-hero:after,.checkout-public-hero:after,.success-public-hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#08252ae0 0%,#08252aa8 44%,#08252a42 100%),linear-gradient(#0312186b 0%,#0312181f 48%,#f4f0e8eb 100%);position:absolute;inset:0}.booking-public-topline{z-index:1;max-width:1180px;margin:0 auto 46px;position:relative}.booking-brand{color:#fff;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;width:fit-content;min-width:0;padding:0;display:inline-flex}.booking-public-topline .booking-brand{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.booking-brand img{object-fit:contain;flex:none;width:38px;height:24px;max-height:none;display:block}.booking-brand span{color:#ffffffd1;gap:3px;font-size:13px;font-weight:800;display:grid}.booking-brand strong{color:#fff;text-shadow:0 6px 16px #0312182e;white-space:nowrap;font-size:16px;font-weight:900;line-height:1}.booking-brand small{color:#ffffffd1;white-space:nowrap;font-size:10px;font-weight:800;line-height:1.2}.booking-public-topline .booking-topline-action{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff29;border:1px solid #ffffff57;border-radius:999px;padding:10px 16px;box-shadow:0 12px 28px #03121829}.booking-public-topline .booking-topline-action:hover{background:#ffffff3d;border-color:#ffffff9e}.booking-hero-content,.checkout-hero-card,.success-hero-card{z-index:1;color:#fff;max-width:780px;box-shadow:none;background:0 0;border:0;border-radius:0;gap:18px;padding:0;position:relative}.booking-hero-content h1{color:#fff;text-shadow:0 14px 42px #0312185c;max-width:740px;font-size:50px;line-height:1.02}.checkout-hero-card h1,.success-hero-card h1{color:#fff;text-shadow:0 12px 34px #0312184d;font-size:44px;line-height:1.04}.booking-hero-content p,.checkout-hero-card p,.success-hero-card p{color:#ffffffdb;max-width:690px;font-size:18px}.booking-eyebrow{color:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff24;border-color:#ffffff57}.booking-hero-points{max-width:720px}.booking-hero-points span{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff24;border:1px solid #ffffff2e;box-shadow:0 10px 24px #0312181f}.booking-public-shell{z-index:2;position:relative}.booking-search-card-public{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fffffffa 0%,#f4f9f9f5 100%);border:1px solid #0f3f4429;border-radius:20px;margin-top:-58px;padding:18px;box-shadow:0 24px 70px #17203326}.booking-search-card-public:before{content:"";background:linear-gradient(90deg,#123f46 0%,#0f766e 54%,#7dd3c7 100%);border-radius:20px 20px 0 0;height:3px;margin:-18px -18px 16px;display:block}.booking-search-card-public .booking-search-heading{margin-bottom:14px;padding:0 6px}.booking-search-form{background:linear-gradient(#fff 0%,#f3fbfa 100%);border:1px solid #0f3f441f;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(150px,.62fr) minmax(210px,.72fr);align-items:stretch;gap:8px;padding:8px;box-shadow:inset 0 1px #ffffffe0,0 14px 34px #17203314}.booking-search-form label+label,.booking-search-field+.booking-search-field{margin-top:0}.booking-search-field{cursor:pointer;background:linear-gradient(#fff 0%,#fbfdfe 100%);border:1px solid #0f3f441c;border-radius:14px;grid-template-columns:34px minmax(0,.86fr) minmax(106px,1fr);align-items:center;column-gap:10px;min-height:76px;padding:12px 14px;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;display:grid;position:relative}.booking-search-field-guests{grid-template-columns:34px minmax(0,1fr);grid-template-areas:"icon copy""icon guest";row-gap:4px}.booking-search-field-guests .booking-search-icon{grid-area:icon}.booking-search-field-guests .booking-search-copy{grid-area:copy;align-self:end}.booking-search-field-guests .booking-search-hint{display:none}.booking-search-field-guests .booking-search-input{grid-area:guest;align-self:start;width:100%;font-size:18px}.booking-search-field:hover,.booking-search-field:focus-within{background:#fff;border-color:#0f766e61;transform:translateY(-1px);box-shadow:0 12px 28px #0f3f4417}.booking-search-icon{color:#0f766e;background:#edfdfa;border:1px solid #0f766e38;border-radius:50%;width:34px;height:34px;position:relative}.booking-search-icon-calendar:before{content:"";border:2px solid;border-top-width:4px;border-radius:4px;width:14px;height:13px;position:absolute;top:10px;left:9px}.booking-search-icon-calendar:after{content:"";border-left:2px solid;border-right:2px solid;width:8px;height:5px;position:absolute;top:7px;left:13px}.booking-search-icon-guests:before,.booking-search-icon-guests:after{content:"";background:currentColor;border-radius:999px;position:absolute}.booking-search-icon-guests:before{width:10px;height:10px;top:8px;left:12px;box-shadow:-5px 4px 0 -2px,5px 4px 0 -2px}.booking-search-icon-guests:after{width:18px;height:8px;top:20px;left:8px}.booking-search-copy{gap:3px;min-width:0;display:grid}.booking-search-label{color:#64748b;text-transform:uppercase;font-size:11px;font-weight:900;line-height:1}.booking-search-hint{color:#102f37;white-space:nowrap;font-size:14px;font-weight:900;line-height:1.15}.booking-search-input{color:#102f37;min-height:34px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:16px;font-weight:900;line-height:1}.booking-search-input:focus{box-shadow:none;border-color:#0000}.booking-search-input[type=date]:invalid:not(:focus){color:#0000}.booking-search-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}.booking-search-input[type=number]{-moz-appearance:textfield}.booking-search-input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.booking-search-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.booking-search-input::placeholder{color:#8aa0a4;opacity:.9}.booking-date-field{padding:0;display:block}.booking-date-trigger{width:100%;min-height:74px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr);grid-template-areas:"icon copy""icon value";align-items:center;gap:4px 10px;padding:12px 14px;display:grid}.booking-date-trigger .booking-search-icon{grid-area:icon}.booking-date-trigger .booking-search-copy{grid-area:copy;align-self:end}.booking-date-trigger .booking-search-hint{display:none}.booking-date-value{color:#102f37;text-align:left;text-transform:lowercase;white-space:nowrap;grid-area:value;align-self:start;font-size:18px;font-weight:900;line-height:1.05}.booking-calendar-popover{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffffa;border:1px solid #0f3f4424;border-radius:18px;width:min(360px,100vw - 40px);padding:14px;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 24px 58px #1720332e}.booking-date-field-checkout .booking-calendar-popover{left:auto;right:0}.booking-calendar-header{grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.booking-calendar-header strong{color:#102f37;text-align:center;text-transform:capitalize;font-size:15px;font-weight:900}.booking-calendar-header button{color:#0f766e;cursor:pointer;background:#f3fbfa;border:1px solid #0f766e2e;border-radius:50%;width:36px;height:36px;font-size:24px;font-weight:700;line-height:1}.booking-calendar-header button:hover{background:#edfdfa;border-color:#0f766e61}.booking-calendar-weekdays,.booking-calendar-days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.booking-calendar-weekdays{margin-bottom:7px}.booking-calendar-weekdays span{color:#71858a;text-align:center;font-size:11px;font-weight:900}.booking-calendar-blank{min-height:36px}.booking-calendar-day{color:#17343c;cursor:pointer;background:#f7fbfb;border:1px solid #0000;border-radius:12px;min-height:36px;font-size:13px;font-weight:900}.booking-calendar-day:hover{background:#edfdfa;border-color:#0f766e47}.booking-calendar-day.is-in-range{color:#0f766e;background:#e7f7f5}.booking-calendar-day.is-selected{color:#fff;background:#0f766e;border-color:#0f766e;box-shadow:0 8px 16px #0f766e33}.booking-calendar-day:disabled{color:#bdc8cb;cursor:not-allowed;background:#f3f6f7}.booking-calendar-footer{color:#42666c;text-align:center;background:#f3fbfa;border-radius:12px;margin-top:12px;padding:9px 10px;font-size:12px;font-weight:800}.booking-search-inline-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;grid-column:1/-1;padding:10px 12px;font-size:13px;font-weight:800}.booking-search-btn{background:linear-gradient(135deg,#c49a5b2e,#0000 48%),linear-gradient(135deg,#0f766e,#0b5659);border-color:#0b6f66;border-radius:14px;gap:4px;width:100%;min-height:76px;display:grid;box-shadow:0 14px 30px #0f766e3b}.booking-search-btn span{font-size:15px;font-weight:900}.booking-search-btn small{color:#ffffffb8;font-size:11px;font-weight:800;line-height:1.1}.booking-benefits article{background:linear-gradient(#fff 0%,#fbf7ef 100%);border-color:#c49a5b47;border-radius:18px;box-shadow:0 12px 32px #17203312}.booking-category-card{background:#fff;border:1px solid #c49a5b42;border-radius:20px;grid-template-rows:auto 1fr;align-self:stretch;height:100%;box-shadow:0 18px 48px #17203317;margin:0!important}.booking-category-card+.booking-category-card{margin-top:0!important}.booking-category-media{background:#fff;gap:10px;padding:10px 10px 0}.booking-category-cover{aspect-ratio:16/11;border-radius:16px}.booking-category-cover:after{content:"";pointer-events:none;background:linear-gradient(#0000 52%,#0312185c 100%);position:absolute;inset:0}.booking-category-cover span{z-index:1;color:#123f46;background:#ffffffeb}.booking-category-thumbs{gap:10px}.booking-category-thumbs img{aspect-ratio:16/11;border-radius:12px}.booking-category-content{flex-direction:column;gap:14px;padding:24px;display:flex}.booking-category-content h2{color:#112b34;align-items:flex-end;min-height:54px;display:flex}.category-description{min-height:66px}.booking-category-features span{color:#5f4930;background:#fffaf1;border-color:#c49a5b57}.booking-category-content>.notice,.booking-price-box{margin-top:auto}.booking-card-button{background:linear-gradient(135deg,#0f766e,#0b5659);border-color:#0b6f66;min-height:46px;box-shadow:0 14px 28px #0f766e29}.booking-conditions{background:linear-gradient(#fff 0%,#fbf7ef 100%);border-color:#c49a5b47;border-radius:20px}.checkout-public-shell,.success-public-shell{margin-top:-42px}.checkout-form-card,.checkout-summary-card,.checkout-rules-card,.booking-problem-card,.success-main-card,.success-summary-card,.success-note-card{border-color:#c49a5b42;border-radius:20px;box-shadow:0 18px 48px #17203314}.checkout-total-box,.success-number-copy{background:linear-gradient(135deg,#123f46,#0b5659)}.admin-calendar-page{background:linear-gradient(#f5f1e9 0%,#f8fbfb 46%,#eef7f6 100%);max-width:1640px}.admin-calendar-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border:1px solid #c49a5b42;border-radius:18px;align-items:center;min-height:0;padding:14px 16px;box-shadow:0 16px 44px #17203314}.admin-calendar-title{color:#102f37;min-width:130px;font-size:18px;line-height:1}.admin-calendar-brand{flex:none;align-items:center;gap:10px;width:fit-content;min-width:0;display:inline-flex}.admin-calendar-brand img{object-fit:contain;flex:none;width:62px;height:40px;display:block}.admin-calendar-brand span{color:#0f3f44;gap:2px;font-size:13px;font-weight:900;display:grid}.admin-calendar-brand strong{color:#102f37;white-space:nowrap;font-size:20px;font-weight:900;line-height:1}.admin-calendar-brand small{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:900;line-height:1.15}.calendar-command-card{background:linear-gradient(135deg,#fffffff5,#fffaf1e6);border-color:#c49a5b47;border-radius:20px;margin-bottom:18px;box-shadow:0 18px 50px #17203314}.calendar-command-card h1{color:#102f37;margin-bottom:8px}.calendar-summary-strip{grid-template-columns:1.35fr repeat(3,minmax(150px,1fr));gap:12px;margin:18px 0;display:grid}.calendar-summary-strip article{background:#fff;border:1px solid #c49a5b47;border-radius:16px;gap:4px;min-height:78px;padding:14px;display:grid;box-shadow:0 10px 28px #1720330f}.calendar-summary-strip span{color:var(--muted);font-size:12px;font-weight:900}.calendar-summary-strip strong{color:#0f3f44;font-size:24px;line-height:1.12}.calendar-controls{align-items:end}.calendar-controls .input{border-color:#0f3f4429}.quick-months a,.calendar-legend span{background:#ffffffe0;border-color:#c49a5b47;border-radius:999px}.calendar-card{background:#ffffffeb;border-color:#c49a5b47;border-radius:20px;padding:14px;overflow:auto visible;box-shadow:0 20px 58px #1720331c}.calendar-board-title{justify-content:space-between;align-items:flex-start;gap:14px;min-width:760px;margin-bottom:12px;display:flex;position:sticky;left:0}.calendar-board-title h2{color:#102f37;margin:0}.calendar-board-title span{color:var(--primary-dark);background:#edfdfa;border:1px solid #0f766e3d;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.calendar-board{background:#fff;border-color:#0f3f4424;border-radius:16px;min-width:3080px;box-shadow:inset 0 0 0 1px #ffffffb3}.calendar-board-header,.calendar-board-row{grid-template-columns:200px repeat(30,96px)}.calendar-board-header{z-index:25}.calendar-board-row{min-height:76px}.calendar-board-room-header,.calendar-board-room-cell,.calendar-board-date-header,.calendar-board-day-cell{border-bottom-color:#0f3f441c;border-right-color:#0f3f441c}.calendar-board-room-header,.calendar-board-date-header{color:#17343c;background:linear-gradient(#fffbf3 0%,#f4f8f8 100%);min-height:66px}.calendar-board-room-header{z-index:30;text-align:left;padding-left:14px}.calendar-board-date-header small{color:#6c7a89}.calendar-board-room-cell{background:linear-gradient(#fff 0%,#fbf7ef 100%);min-height:76px;padding:12px 14px}.calendar-board-room-cell strong{color:#102f37;font-size:16px}.calendar-board-day-cell{background:linear-gradient(#fff 0%,#fbfdfe 100%);min-height:76px}.calendar-board-row:hover .calendar-board-room-cell,.calendar-board-row:hover .calendar-board-day-cell{background-color:#f3fbfa}.calendar-board-day-cell span{background:#ffffffc7;border-color:#0f766e47;border-radius:999px;width:28px;height:28px}.calendar-board-day-cell:hover{background:#edfdfa}.calendar-booking-bar{background:linear-gradient(180deg, #ffffff8c, #ffffff1f), var(--booking-color);color:#082f38;border:1px solid #1720331a;height:40px;padding:6px 14px 0;top:18px;box-shadow:0 10px 24px #1720332e}.calendar-booking-bar:hover{filter:none;transform:translateY(-1px);box-shadow:0 16px 30px #1720333d}.calendar-booking-bar strong{font-size:13px}.calendar-booking-bar small{color:#082f38b8;font-size:10px}.calendar-booking-needs-prepayment{border-color:#991b1b47;box-shadow:inset 4px 0 #b91c1cc7,0 10px 24px #1720332e}.calendar-booking-needs-prepayment:hover{box-shadow:inset 4px 0 #b91c1ce0,0 16px 30px #1720333d}.booking-new,.booking-waiting{--booking-color:#f7d479}.booking-paid-partial{--booking-color:#9be7bd}.booking-paid{--booking-color:#67d98f}.booking-confirmed{--booking-color:#8fc8f7}.booking-living{--booking-color:#73ddcc}.booking-out{--booking-color:#c7d2df}.booking-cancelled{--booking-color:#f4a6a6}.today-column-header{color:#07566b;background:linear-gradient(#e8fbff 0%,#d4f3fb 100%);box-shadow:inset 0 0 0 2px #0e749033}.today-column-cell{background-color:#e8fbff9e}.calendar-room-block-bar{color:#fff;background:repeating-linear-gradient(135deg,#64748b,#64748b 8px,#475569 8px 16px);border-color:#475569bd}.calendar-board-day-blocked{background:#e7ebf0}.calendar-housekeeping-badge{border-radius:999px;box-shadow:0 4px 10px #1720330f}.calendar-board-row-housekeeping-dirty .calendar-board-room-cell{background:linear-gradient(snow 0%,#fff2f2 100%)}.calendar-board-row-housekeeping-cleaning .calendar-board-room-cell{background:linear-gradient(#fffef4 0%,#fff8d8 100%)}.calendar-board-row-housekeeping-inspection .calendar-board-room-cell{background:linear-gradient(#fffaf4 0%,#ffefdd 100%)}@media (max-width:980px){.booking-public-hero,.checkout-public-hero,.success-public-hero{min-height:455px;padding:22px 20px 86px}.checkout-public-hero,.success-public-hero{min-height:350px}.booking-public-topline{margin-bottom:42px}.booking-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-search-btn{grid-column:1/-1}.booking-hero-content h1{font-size:38px}.checkout-hero-card h1,.success-hero-card h1{font-size:36px}.calendar-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.booking-public-hero,.checkout-public-hero,.success-public-hero{min-height:468px;padding:16px 16px 72px}.booking-public-topline{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:34px}.booking-brand img{width:34px;height:22px}.booking-brand strong{font-size:15px}.booking-brand small{font-size:10px}.booking-public-topline .booking-topline-action{width:fit-content}.booking-hero-content h1{font-size:32px}.booking-hero-content p,.checkout-hero-card p,.success-hero-card p{font-size:16px}.booking-search-card-public{border-radius:18px;margin-top:-48px;padding:18px}.booking-search-form{border-radius:16px;grid-template-columns:1fr}.booking-search-field{grid-template-columns:32px minmax(0,1fr);row-gap:4px;min-height:72px;padding:12px}.booking-date-field{padding:0}.booking-date-trigger{grid-template-columns:32px minmax(0,1fr);row-gap:5px;min-height:72px;padding:12px}.booking-search-icon{width:32px;height:32px}.booking-date-value,.booking-search-input{text-align:left;grid-column:2;width:100%;min-height:28px;font-size:15px}.booking-date-value.is-empty{font-size:14px}.booking-calendar-popover,.booking-date-field-checkout .booking-calendar-popover{width:100%;margin-top:8px;padding:12px;position:static;left:0;right:auto;box-shadow:0 16px 36px #17203324}.booking-calendar-weekdays,.booking-calendar-days{gap:4px}.booking-calendar-day,.booking-calendar-blank{min-height:34px}.booking-search-btn{min-height:66px}.booking-category-content h2,.category-description{min-height:0}.calendar-summary-strip{grid-template-columns:1fr}.admin-calendar-header{border-radius:16px}}.booking-search-form{background:#f7fbfb;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) minmax(150px,.58fr) minmax(220px,.76fr);gap:10px;position:relative;overflow:visible}.booking-search-field,.booking-date-field,.booking-search-field-guests{min-height:72px;padding:0;display:block;overflow:visible}.booking-search-form .booking-search-icon{display:none!important}.booking-date-trigger,.booking-search-field-guests{flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;width:100%;min-height:72px;padding:14px 18px;display:flex}.booking-date-trigger .booking-search-copy,.booking-search-field-guests .booking-search-copy{width:100%;min-width:0;display:block}.booking-date-trigger .booking-search-hint,.booking-search-field-guests .booking-search-hint{display:none}.booking-date-trigger .booking-search-label,.booking-search-field-guests .booking-search-label{color:#6f8290;text-transform:uppercase;font-size:11px;font-weight:900;line-height:1;display:block}.booking-date-value,.booking-search-field-guests .booking-search-input{color:#132f37;text-align:left;text-transform:lowercase;white-space:nowrap;width:100%;height:auto;min-height:0;font-size:18px;font-weight:900;line-height:1.15;display:block}.booking-date-value.is-empty{color:#4d626b;text-transform:none;font-size:18px;font-weight:800}.booking-search-field-guests .booking-search-input{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.booking-search-field-guests .booking-search-input:focus{box-shadow:none}.booking-calendar-popover{top:calc(100% + 8px)}@media (max-width:980px){.booking-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-search-btn{grid-column:1/-1}}@media (max-width:720px){.booking-search-form{grid-template-columns:1fr}.booking-date-trigger,.booking-search-field-guests{min-height:70px;padding:13px 14px}.booking-date-value,.booking-date-value.is-empty,.booking-search-field-guests .booking-search-input{grid-column:auto;font-size:17px}.booking-calendar-popover,.booking-date-field-checkout .booking-calendar-popover{width:100%;margin-top:8px;position:static}}.booking-search-card-public{background:linear-gradient(#fff 0%,#f5faf9 100%);border-color:#0f3f4424}.booking-search-card-public:before{background:linear-gradient(90deg,#123f46 0%,#0f766e 58%,#a7f3e8 100%)}.booking-search-card-public .booking-search-heading h2{color:#142333}.booking-search-card-public .booking-search-heading p{color:#68798a}.booking-search-card-public .booking-search-form{background:#f7fbfb;border-color:#0f3f441c;align-items:stretch}.booking-search-card-public .booking-search-field,.booking-search-card-public .booking-date-field,.booking-search-card-public .booking-search-field-guests{background:#fff;border-color:#0f3f441f;min-height:72px;padding:0;display:block}.booking-search-card-public .booking-search-icon,.booking-search-card-public .booking-search-icon:before,.booking-search-card-public .booking-search-icon:after{content:none!important;width:0!important;height:0!important;display:none!important}.booking-search-card-public .booking-date-trigger,.booking-search-card-public .booking-search-field-guests{flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-height:72px;padding:14px 18px;display:flex}.booking-search-card-public .booking-date-trigger .booking-search-copy,.booking-search-card-public .booking-search-field-guests .booking-search-copy{width:100%;display:block}.booking-search-card-public .booking-date-trigger .booking-search-label,.booking-search-card-public .booking-search-field-guests .booking-search-label{color:#6d7f8d;font-size:11px;font-weight:900;line-height:1}.booking-search-card-public .booking-date-trigger .booking-search-hint,.booking-search-card-public .booking-search-field-guests .booking-search-hint{display:none}.booking-search-card-public .booking-date-value,.booking-search-card-public .booking-date-value.is-empty,.booking-search-card-public .booking-search-field-guests .booking-search-input{color:#132f37;text-align:left;white-space:nowrap;width:100%;min-height:0;font-size:18px;font-weight:900;line-height:1.15;display:block}.booking-search-card-public .booking-date-value.is-empty{color:#516671;text-transform:none;font-weight:800}.booking-search-card-public .booking-search-field-guests .booking-search-input{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.booking-search-card-public .booking-search-btn{background:linear-gradient(135deg,#0f766e 0%,#0b5659 100%);border-color:#0b6f66;box-shadow:0 16px 32px #0f766e3d}.booking-search-card-public .booking-calendar-popover{background:#fffffffc;border-color:#0f3f4424;top:calc(100% + 8px)}.booking-benefits article{background:linear-gradient(#fff 0%,#f7fbfb 100%);border-color:#0f3f441f}@media (max-width:720px){.booking-search-card-public .booking-date-trigger,.booking-search-card-public .booking-search-field-guests{min-height:70px;padding:13px 14px}.booking-search-card-public .booking-date-value,.booking-search-card-public .booking-date-value.is-empty,.booking-search-card-public .booking-search-field-guests .booking-search-input{font-size:17px}.booking-search-card-public .booking-calendar-popover,.booking-search-card-public .booking-date-field-checkout .booking-calendar-popover{width:100%;margin-top:8px;position:static}}.availability-card-public,.booking-search-card-public,.booking-public-shell{overflow:visible}.availability-card-public,.booking-search-card-public{z-index:30;position:relative}.availability-card-public{isolation:isolate;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#fff 0%,#fffffffa 42%,#eef8f7 100%);border:1px solid #ffffffdb;border-radius:22px;outline:1px solid #0f3f4429;margin-top:-28px;margin-bottom:24px;padding:20px;box-shadow:0 4px #ffffffb8,0 18px 44px #0f3f4424,0 46px 120px #1720333d}.availability-card-public:before{z-index:-1;content:"";background:linear-gradient(#ffffff9e,#ecf9f7d1);border-radius:28px;display:block;position:absolute;inset:-10px -8px -12px;box-shadow:0 28px 70px #0f3f442e,0 60px 140px #17203333}.availability-card-public:after{content:"";pointer-events:none;border-radius:21px;display:block;position:absolute;inset:1px;box-shadow:inset 0 1px #fffffff5,inset 0 -1px #0f3f440f}.availability-card-public .booking-search-heading{margin-bottom:14px;padding:0 6px}.availability-card-public .booking-search-heading h2{color:#142333}.availability-card-public .booking-search-heading p{color:#68798a}.booking-search-icon,.booking-search-icon:before,.booking-search-icon:after{content:none!important;width:0!important;height:0!important;display:none!important}.booking-search-hint{display:none!important}.availability-search-form{background:#f7fbfb;border:1px solid #0f3f441c;border-radius:18px;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) minmax(130px,.58fr) minmax(220px,.76fr);align-items:stretch;gap:10px;padding:8px;display:grid;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffffe6,0 14px 34px #17203314}.availability-search-form.is-calendar-open{margin-bottom:288px}.availability-field{background:#fff;border:1px solid #0f3f441f;border-radius:14px;min-height:74px;transition:border-color .16s,box-shadow .16s,transform .16s;position:relative;overflow:visible;box-shadow:0 1px #ffffffd6}.availability-field:hover,.availability-field:focus-within{border-color:#0f766e61;transform:translateY(-1px);box-shadow:0 12px 28px #0f3f4417}.availability-date-trigger,.availability-guests-field{width:100%;min-height:72px;color:inherit;text-align:left;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;margin:0;padding:14px 18px;display:flex}.availability-date-trigger{cursor:pointer}.availability-field-label{color:#68798a;text-transform:uppercase;font-size:11px;font-weight:900;line-height:1}.availability-date-value,.availability-guests-input{color:#132f37;white-space:nowrap;width:100%;min-height:21px;font-size:18px;font-weight:900;line-height:1.15}.availability-date-value.is-empty{color:#526673;text-transform:none;font-weight:800}.availability-guests-input{box-shadow:none;background:0 0;border:0;outline:none;margin:0;padding:0}.availability-guests-input:focus{box-shadow:none}.availability-guests-input::placeholder{color:#8aa0a4;opacity:.9}.availability-guests-input[type=number]{-moz-appearance:textfield}.availability-guests-input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.availability-guests-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.availability-search-submit{background:linear-gradient(135deg,#0f766e 0%,#0b5659 100%);border-color:#0b6f66;border-radius:14px;gap:4px;width:100%;min-height:74px;display:grid;box-shadow:0 16px 32px #0f766e3d}.availability-search-submit span{font-size:15px;font-weight:900}.availability-search-submit small{color:#ffffffb8;font-size:11px;font-weight:800;line-height:1.1}.availability-calendar{z-index:500;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffffc;border:1px solid #0f3f4424;border-radius:16px;width:min(318px,100vw - 32px);padding:12px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 24px 60px #17203333}.availability-checkout-field .availability-calendar{left:auto;right:0}.availability-calendar-header{grid-template-columns:32px 1fr 32px;align-items:center;gap:8px;margin-bottom:10px;display:grid}.availability-calendar-header strong{color:#102f37;text-align:center;text-transform:capitalize;font-size:14px;font-weight:900}.availability-calendar-nav{color:#0f766e;cursor:pointer;background:#f3fbfa;border:1px solid #0f766e2e;border-radius:50%;width:32px;height:32px;font-size:21px;font-weight:800;line-height:1}.availability-calendar-nav:hover{background:#edfdfa;border-color:#0f766e61}.availability-calendar-weekdays,.availability-calendar-days{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.availability-calendar-weekdays{margin-bottom:6px}.availability-calendar-weekdays span{color:#71858a;text-align:center;font-size:10px;font-weight:900;line-height:1}.availability-calendar-blank,.availability-calendar-day{min-height:32px}.availability-calendar-day{color:#17343c;cursor:pointer;background:#f7fbfb;border:1px solid #0000;border-radius:10px;font-size:12px;font-weight:900}.availability-calendar-day:hover{background:#edfdfa;border-color:#0f766e47}.availability-calendar-day.is-in-range{color:#0f766e;background:#e7f7f5}.availability-calendar-day.is-selected{color:#fff;background:#0f766e;border-color:#0f766e;box-shadow:0 8px 16px #0f766e33}.availability-calendar-day:disabled{color:#bdc8cb;cursor:not-allowed;background:#f3f6f7}.availability-calendar-footer{color:#42666c;text-align:center;background:#f3fbfa;border-radius:11px;margin-top:10px;padding:8px 10px;font-size:11px;font-weight:800;line-height:1.25}.availability-inline-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;grid-column:1/-1;padding:10px 12px;font-size:13px;font-weight:800}@media (max-width:980px){.availability-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-search-submit{grid-column:1/-1}}@media (max-width:720px){.availability-card-public{border-radius:18px;margin-top:-48px;padding:18px}.availability-search-form{border-radius:16px;grid-template-columns:1fr;gap:8px;padding:8px}.availability-search-form.is-calendar-open{margin-bottom:0}.availability-field,.availability-date-trigger,.availability-guests-field{min-height:68px}.availability-date-trigger,.availability-guests-field{padding:13px 14px}.availability-date-value,.availability-date-value.is-empty,.availability-guests-input{font-size:17px}.availability-calendar,.availability-checkout-field .availability-calendar{width:100%;margin-top:8px;padding:11px;position:static;box-shadow:0 16px 36px #17203324}.availability-calendar-weekdays,.availability-calendar-days{gap:4px}.availability-calendar-blank,.availability-calendar-day{min-height:31px}}.booking-search-card-public:before{content:none!important;display:none!important}#booking-results{scroll-margin-top:28px}.availability-results-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;justify-content:start;align-items:stretch;gap:22px;display:grid}.availability-results-grid>.card{margin-top:0!important}.availability-results-grid .booking-category-card{align-self:stretch;height:100%}.availability-results-grid .booking-category-media{gap:8px}.availability-results-grid .booking-category-cover,.availability-results-grid .booking-category-thumbs img{aspect-ratio:16/9}.availability-results-grid .booking-category-content{gap:12px;padding:18px}.availability-results-grid .booking-category-content h2{min-height:0}.availability-results-grid .category-description{min-height:44px;margin:0}.availability-results-grid .booking-category-features{gap:6px}.availability-results-grid .booking-category-features span{padding:5px 8px;font-size:11px}.availability-results-grid .booking-price-box{margin-top:2px}.availability-results-grid .booking-card-action{padding-top:12px}@media (max-width:900px){.availability-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){#booking-results{scroll-margin-top:16px}.availability-results-grid{grid-template-columns:1fr}}.public-booking-steps{z-index:34;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border:1px solid #0f3f441f;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:620px;margin:-34px 0 18px;padding:8px;display:grid;position:relative;box-shadow:0 18px 42px #1720331f}.checkout-public-shell .public-booking-steps,.success-public-shell .public-booking-steps{margin-top:0}.public-booking-step{color:#64748b;border:1px solid #0000;border-radius:12px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-height:48px;padding:8px 10px;display:grid}.public-booking-step span{color:#64748b;background:#eef4f4;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:inline-flex}.public-booking-step strong{color:inherit;font-size:13px;line-height:1.1}.public-booking-step.is-active{color:#0f3f44;background:#f0fbfa;border-color:#0f766e33}.public-booking-step.is-active span,.public-booking-step.is-done span{color:#fff;background:#0f766e}.public-booking-step.is-done{color:#0f766e}.public-booking-steps+.availability-card-public{margin-top:0}.booking-category-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-category-title-row h2{flex:auto;min-height:0;margin:0;display:block}.booking-category-title-row>span{color:#0f766e;white-space:nowrap;background:#edfdfa;border:1px solid #0f766e33;border-radius:999px;flex:none;padding:6px 9px;font-size:11px;font-weight:900;line-height:1}.booking-card-meta-row{flex-wrap:wrap;gap:8px;display:flex}.booking-card-meta-row span{color:#46616a;background:#f3f7f7;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.booking-card-action{border-top:1px solid #0f3f441a;gap:12px;margin-top:auto;padding-top:14px;display:grid}.booking-card-action>div{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.booking-card-action span{color:#68798a;font-size:12px;font-weight:900}.booking-card-action strong{color:#102f37;white-space:nowrap;font-size:22px;line-height:1}.checkout-alert{color:#991b1b;background:#fff7f7;border:1px solid #fecaca;border-radius:14px;margin-bottom:18px;padding:12px 14px;font-size:13px;font-weight:800}#checkout-form{scroll-margin-top:24px}.form-field-hint{color:#6a7d88;margin-top:6px;font-size:12px;font-weight:700;line-height:1.35;display:block}.checkout-payment-panel{background:linear-gradient(135deg,#edfdfaeb,#fffffff2);border:1px solid #0f3f441f;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.checkout-payment-panel>div{background:#fff;border-radius:14px;padding:14px;box-shadow:0 8px 22px #1720330f}.checkout-payment-panel span{color:#68798a;margin-bottom:5px;font-size:12px;font-weight:900;display:block}.checkout-payment-panel strong{color:#102f37;font-size:24px;line-height:1}.checkout-payment-panel p{color:#45636b;grid-column:1/-1;margin:0;font-size:13px;font-weight:700}.checkout-assurance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.checkout-assurance-grid article{background:#fbfdfd;border:1px solid #0f3f441a;border-radius:16px;padding:14px}.checkout-assurance-grid strong{color:#102f37;margin-bottom:4px;font-size:14px;display:block}.checkout-assurance-grid span{color:#68798a;font-size:13px;font-weight:700}@media (max-width:720px){.public-booking-steps{grid-template-columns:1fr;margin:-30px 0 16px}.checkout-public-shell .public-booking-steps,.success-public-shell .public-booking-steps{margin-top:0}.public-booking-step{min-height:44px}.booking-category-title-row{gap:8px;display:grid}.booking-category-title-row>span{width:fit-content}.checkout-payment-panel,.checkout-assurance-grid{grid-template-columns:1fr}}.confirmation-status-card{background:linear-gradient(135deg,#edfdfaf5,#fffffffa);border:1px solid #0f766e29;border-radius:20px;grid-template-columns:46px minmax(0,1fr) minmax(250px,310px);align-items:center;gap:16px;padding:18px;display:grid;box-shadow:0 16px 40px #17203314}.confirmation-status-icon{color:#fff;background:#0f766e;border-radius:999px;justify-content:center;align-items:center;width:46px;height:46px;font-size:24px;font-weight:900;display:inline-flex;box-shadow:0 14px 28px #0f766e3d}.confirmation-status-card span{color:#0f766e;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:900;display:block}.confirmation-status-card h2{color:#102f37;margin:0 0 5px}.confirmation-status-card p{color:#536a74;margin:0;font-size:14px;font-weight:700}.confirmation-number-card{background:#fff;border:1px solid #0f3f441a;border-radius:18px;gap:8px;padding:14px;display:grid;box-shadow:0 10px 24px #17203312}.confirmation-number-card span{color:#68798a;margin:0}.confirmation-number-card strong{color:#102f37;letter-spacing:0;font-size:22px;line-height:1}.confirmation-number-card .btn,.confirmation-help-card .btn{min-height:38px;padding:9px 12px;font-size:12px}.confirmation-payment-card{background:#fff;border:1px solid #0f3f441f;border-radius:22px;gap:16px;margin-top:18px;padding:20px;display:grid;box-shadow:0 18px 46px #17203314}.confirmation-payment-heading h2{color:#102f37;margin:0 0 5px}.confirmation-payment-heading>span{color:#68798a;font-size:14px;font-weight:800}.confirmation-amount-panel{color:#fff;background:linear-gradient(135deg,#c49a5b29,#0000 48%),linear-gradient(135deg,#123f46,#0b5659);border-radius:20px;padding:22px;box-shadow:0 18px 36px #0f3f4438}.confirmation-amount-panel span{color:#ffffffc2;margin-bottom:8px;font-size:13px;font-weight:900;display:block}.confirmation-amount-panel strong{color:#fff;font-size:42px;line-height:1;display:block}.confirmation-amount-panel p{color:#ffffffd1;max-width:580px;margin:12px 0 0;font-size:14px;font-weight:700}.confirmation-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.confirmation-breakdown div{background:#f8fbfb;border:1px solid #0f3f441a;border-radius:16px;padding:14px}.confirmation-breakdown span{color:#68798a;margin-bottom:6px;font-size:12px;font-weight:900;display:block}.confirmation-breakdown strong{color:#102f37;white-space:nowrap;font-size:18px;line-height:1}.confirmation-next-steps{margin-top:22px}.confirmation-next-steps h2{margin-bottom:12px}.confirmation-next-steps>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.confirmation-next-steps article{background:linear-gradient(#fff 0%,#f7fbfb 100%);border:1px solid #0f3f441a;border-radius:18px;align-content:start;gap:8px;padding:16px;display:grid}.confirmation-next-steps article>span{color:#0f766e;background:#edfdfa;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:inline-flex}.confirmation-next-steps strong{color:#102f37;font-size:15px;line-height:1.15}.confirmation-next-steps p{color:#68798a;margin:0;font-size:13px;font-weight:700}.confirmation-summary-card h2{margin-bottom:10px}.confirmation-summary-pill{color:#0f766e;background:#edfdfa;border:1px solid #0f766e2e;border-radius:999px;width:fit-content;margin-bottom:16px;padding:7px 10px;font-size:12px;font-weight:900}.confirmation-help-card{gap:12px;display:grid}.confirmation-help-card h2,.confirmation-help-card p,.confirmation-help-card .success-number-copy{margin:0}.copy-button-wrap{gap:6px;display:grid}.copy-button-error{color:#991b1b;font-size:12px;font-weight:800}@media (max-width:980px){.confirmation-status-card{grid-template-columns:46px minmax(0,1fr)}.confirmation-number-card{grid-column:1/-1}.confirmation-next-steps>div{grid-template-columns:1fr}}@media (max-width:720px){.confirmation-status-card{grid-template-columns:1fr;gap:12px;padding:16px}.confirmation-payment-card{padding:16px}.confirmation-amount-panel{padding:18px}.confirmation-amount-panel strong{font-size:34px}.confirmation-breakdown{grid-template-columns:1fr}}.booking-empty-state{background:linear-gradient(135deg,#edfdfaf5,#fffffffa);border:1px solid #0f3f441f;border-radius:22px;grid-template-columns:54px minmax(0,1fr);gap:18px;margin-bottom:24px;padding:22px;display:grid;box-shadow:0 18px 46px #17203314}.booking-empty-icon,.booking-recovery-icon{color:#b45309;background:#fff7ed;border-radius:999px;justify-content:center;align-items:center;width:54px;height:54px;font-size:26px;font-weight:900;display:inline-flex;box-shadow:0 14px 28px #b453091f}.booking-empty-content h2,.booking-recovery-main h1{color:#102f37;margin:0 0 8px}.booking-empty-content p,.booking-recovery-main p{color:#536a74;max-width:720px;margin:0;font-size:15px;font-weight:700}.booking-empty-actions,.booking-recovery-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.booking-empty-actions .btn,.booking-recovery-actions .btn{min-height:44px}.booking-empty-suggestions{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:4px;display:grid}.booking-empty-suggestions article,.booking-recovery-side article{background:#ffffffc7;border:1px solid #0f3f441a;border-radius:16px;padding:14px}.booking-empty-suggestions strong,.booking-recovery-side strong{color:#102f37;margin-bottom:5px;font-size:14px;display:block}.booking-empty-suggestions span,.booking-recovery-side span{color:#68798a;font-size:13px;font-weight:700}.booking-recovery-card{background:#fff;border:1px solid #0f3f441f;border-radius:22px;grid-template-columns:54px minmax(0,1fr) minmax(260px,360px);align-items:start;gap:18px;max-width:1040px;padding:22px;display:grid;box-shadow:0 20px 52px #1720331a}.booking-recovery-main .booking-small-label{margin-bottom:8px}.booking-recovery-hint{color:#0f3f44;background:#edfdfa;border:1px solid #0f766e29;border-radius:16px;margin-top:14px;padding:12px 14px;font-size:13px;font-weight:800}.booking-recovery-side{gap:12px;display:grid}@media (max-width:980px){.booking-empty-suggestions,.booking-recovery-card,.booking-empty-state{grid-template-columns:1fr}}@media (max-width:720px){.booking-empty-state,.booking-recovery-card{padding:18px}.booking-empty-actions .btn,.booking-recovery-actions .btn{width:100%}.booking-public-hero{min-height:388px;padding:14px 16px 58px}.checkout-public-hero,.success-public-hero{min-height:318px;padding:14px 16px 54px}.booking-public-topline{gap:8px;margin-bottom:22px}.booking-public-topline .booking-topline-action{padding:8px 12px;font-size:12px}.booking-hero-content,.checkout-hero-card,.success-hero-card{gap:12px}.booking-hero-content h1{font-size:29px;line-height:1.06}.checkout-hero-card h1,.success-hero-card h1{font-size:30px}.booking-hero-content p,.checkout-hero-card p,.success-hero-card p{font-size:14px;line-height:1.45}.booking-hero-points{gap:7px}.booking-hero-points span{padding:7px 10px;font-size:11px}.public-booking-steps{border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-width:none;margin:-22px 0 12px;padding:5px;box-shadow:0 14px 32px #1720331f}.checkout-public-shell .public-booking-steps,.success-public-shell .public-booking-steps{margin-top:-6px}.public-booking-step{text-align:left;border-radius:12px;grid-template-columns:24px minmax(0,1fr);justify-items:stretch;gap:5px;min-height:44px;padding:6px 7px}.public-booking-step span{width:24px;height:24px;font-size:10px}.public-booking-step strong{white-space:nowrap;font-size:10px;line-height:1}.availability-card-public{margin-top:0;padding:14px}.availability-card-public .booking-search-heading{margin-bottom:10px;padding:0 2px}.availability-card-public .booking-search-heading h2{font-size:24px}.availability-card-public .booking-search-heading p{font-size:14px}.availability-field,.availability-date-trigger,.availability-guests-field,.availability-search-submit{min-height:62px}.availability-date-trigger,.availability-guests-field{padding:11px 13px}}.confirm-submit{gap:10px;max-width:100%;display:inline-grid}.confirm-submit-panel{color:#7f1d1d;background:#fff7f7;border:1px solid #b91c1c2e;border-radius:14px;gap:10px;width:min(100%,360px);padding:12px;font-size:13px;font-weight:800;line-height:1.35;display:grid;box-shadow:0 14px 32px #7f1d1d1a}.confirm-submit-actions{flex-wrap:wrap;gap:8px;display:flex}.confirm-submit-actions .mini-btn{color:#fff;background:#b91c1c;border-color:#b91c1c42}.confirm-submit-actions .mini-btn.secondary{color:#7f1d1d;background:#fff}
