/* Cabanas DS 2.4 — presentation only. Calendar grid, hit areas, ordering,
   positioning, data attributes and application event handlers are preserved. */
@font-face{font-family:Poppins;src:url('fonts/poppins-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('fonts/poppins-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('fonts/poppins-600.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--ink:#242424;--muted:#696961;--line:#e8e6df;--paper:#fff;--canvas:#fbfaf8;--accent:#111;--accent-dark:#000;--soft:#f5f4f0;--success:#e9eadf;--danger:#f9e7e2;--radius:28px;--shadow:0 8px 20px rgba(36,36,24,.08),0 24px 56px rgba(36,36,24,.14);--ds-olive:#565b3f;--ds-terracotta:#984c3d;--ds-ease:cubic-bezier(.22,1,.36,1)}
body{font-family:Poppins,sans-serif;font-size:16px;background:var(--canvas);color:var(--ink)}
button,input,select,textarea{font-family:inherit}input,select,textarea{font-size:16px}
h1,h2,h3{font-weight:600;letter-spacing:-.035em}h1{line-height:1.12}h2,h3{line-height:1.3}
.muted,.stat-label{color:var(--muted)}
.card,.panel,.reservas-overview,.agenda-side-card{border-color:transparent;border-radius:28px;background:#fff;box-shadow:var(--shadow)}
.card,.panel{border-width:0}.stat{font-weight:500}.stat-label{font-size:14px}
.page-head h1,.reservas-title-row h1{font-weight:600}.eyebrow{color:var(--ds-olive);font-weight:500;letter-spacing:.1em}
.btn,.btn.small{min-height:44px;font-weight:500;border-radius:999px;transition:background 160ms,box-shadow 160ms,transform 160ms var(--ds-ease)}
.btn:not(.secondary):not(.danger){background:#111;color:#fff;border-color:#111}
.btn:not(.secondary):not(.danger):hover{background:#000;color:#fff;box-shadow:0 6px 16px #0002}
.btn.secondary{background:#fff;color:#111;border-color:var(--line);box-shadow:none}.btn.secondary:hover{background:#f5f4f0;border-color:#b9b8ae;box-shadow:none}
.btn.light{background:#f0efe9!important;color:#111!important;border-color:transparent!important}.btn.light .ui-icon,.btn.secondary .ui-icon{filter:brightness(0)}
.btn.danger{background:var(--ds-terracotta);border-color:var(--ds-terracotta);color:#fff}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}
.reservas-icon-btn,.sidebar-collapse,.sidebar-mobile-toggle{background:#f0efe9;color:#111;border-color:transparent}
.reservas-add-btn{background:#111;color:#fff}.reservas-add-btn .ui-icon{filter:brightness(0) invert(1)}
.app-sidebar{background:#fff;border-right:0;box-shadow:8px 0 32px #2424180b}
.side-nav a,.side-nav-button{border-radius:999px;font-weight:500}.side-nav a.active,.side-nav-bottom .side-nav-button.active{background:#111;color:#fff}.side-nav a.active .ui-icon,.side-nav-bottom .side-nav-button.active .ui-icon{filter:brightness(0) invert(1)}
.side-nav a:hover:not(.active),.side-nav-button:hover{background:#f0efe9;color:#111}
.topbar,.agenda-header-sticky{background:var(--canvas)}
.reservation-tabs,.reservation-view-switch,.agenda-quote-tabs{background:#fff;border-color:transparent;border-radius:999px;box-shadow:0 5px 18px #24241812;padding:5px}
.reservation-tab,.reservation-view-switch a,.agenda-quote-tabs button{border-radius:999px;font-weight:500;transition:background 220ms var(--ds-ease),color 160ms}
.reservation-tab.active,.reservation-view-switch a.active,.agenda-quote-tabs button.active{background:#111;color:#fff}
.reservation-tab.active .ui-icon,.reservation-view-switch a.active .ui-icon{filter:brightness(0) invert(1)}
.agenda-more-actions-menu{background:#fff;border:0;border-radius:22px;box-shadow:var(--shadow)}
.modal-backdrop,.document-modal,.sidebar-mobile-backdrop,.topbar-drawer-backdrop,.agenda-side-backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
dialog{border:0;border-radius:28px;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.notice{background:#e9eadf;color:#343a24;border:0;border-radius:24px;box-shadow:0 5px 18px #2424180c;font-size:15px}.notice.error{background:#f9e7e2;color:#793b2e}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{border-color:var(--line);border-radius:14px;background:#fff;color:var(--ink)}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #565b3f;outline-offset:3px}
/* Calendar: do not override grid rows/columns, gaps, event margins, heights,
   overflow, transforms, pointer-events or z-index: these encode stay geometry. */
.agenda-month-head h2{font-weight:500;color:#242424;letter-spacing:-.035em}
.agenda-weekdays{color:var(--muted);font-weight:500}
.agenda-day{background:#fff;border-color:#e8e6df;border-radius:20px;box-shadow:0 3px 10px #24241805}
.agenda-day:hover:not(.is-occupied){border-color:#777b58;box-shadow:0 6px 16px #24241812}
.agenda-day.is-occupied{background:#f5f4f0;border-color:#e8e6df}
.agenda-day-number{font-weight:500}.agenda-day-price{color:#696961;font-size:14px}
.agenda-day.is-today .agenda-day-number{background:#565b3f;color:#fff}
.agenda-day.is-selected-start,.agenda-day.is-selected-end{background:#111;border-color:#111;color:#fff}
.agenda-day.is-in-range{background:#e9eadf;border-color:#777b58;color:#242424;box-shadow:inset 0 0 0 1px #777b58}
.agenda-day.is-in-range .agenda-day-price{color:#343a24}
.agenda-day.is-selected-start .agenda-day-price,.agenda-day.is-selected-end .agenda-day-price{color:#fff}
.agenda-event{background:#565b3f;color:#fff;box-shadow:0 4px 12px #24241818}
.agenda-event.airbnb{background:#984c3d;color:#fff}.agenda-event.block{background:#696961;color:#fff}.agenda-event.note{background:#f2c66f;color:#443717}
.agenda-event.is-current-stay{background:#111!important;border-color:#111!important;color:#fff!important}
.agenda-event.is-past-segment,.agenda-event.is-finished-stay{background:#e5e3dc!important;color:#5c5c55!important}
.agenda-event-avatar{background:#fff;color:#343a24}.agenda-event.is-current-stay .agenda-event-avatar{color:#111}
.legend-direct{background:#565b3f!important}.legend-airbnb{background:#984c3d!important}.legend-block{background:#696961!important}.legend-note{background:#f2c66f!important}.legend-today{background:#565b3f!important}
.agenda-day:focus-visible{outline:2px solid #565b3f;outline-offset:2px;box-shadow:inset 0 0 0 2px #fff}
.agenda-scroll-calendar{box-shadow:var(--shadow);border-radius:28px}
.modal-card{border:0;border-radius:28px;box-shadow:var(--shadow)}
.agenda-load-more{color:#696961}.agenda-year-divider span{background:#e9eadf;color:#343a24;border-radius:999px}
.login-view{background:radial-gradient(ellipse at 15% 10%,#e9eadf,transparent 45%),radial-gradient(ellipse at 90% 90%,#f2c66f28,transparent 45%),#fbfaf8}
@media(max-width:760px){.page-head h1,.reservas-title-row h1{font-size:28px}.card,.panel{border-radius:24px}.reservation-tabs{max-width:100%;overflow-x:auto}.reservation-tab{white-space:nowrap}.btn{max-width:100%}}
/* Keep the existing seven-column compact calendar density on phones. */
@media(max-width:760px){.agenda-day{border-radius:11px}.agenda-day-price{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.card,.panel,.reservas-overview{box-shadow:none}.app-sidebar{box-shadow:none}}
