/* Calendário V2 — Maré Alta / Vértice Temporada
   Cores semânticas consistentes entre site e painel. */
.booking-calendar-panel,
.calendar-admin-card {
  --cal-navy:#102f45;
  --cal-navy-deep:#092235;
  --cal-white:#f5f9fa;
  --cal-coral:#f3b2a6;
  --cal-blue:#84d9ed;
  --cal-slate:#94a9b9;
  --cal-muted:#bdcdd7;
  background:linear-gradient(145deg,#153e55 0%,#0b293d 68%,#091e31 100%);
  color:#f6fafb;
  border:1px solid #24566b;
  box-shadow:0 24px 55px rgba(9,40,56,.20);
  border-radius:16px;
  padding:30px;
  overflow:hidden;
}
.booking-calendar-panel .eyebrow {color:#9dc6d5;}
.calendar-intro {display:flex;gap:9px;align-items:center;margin-bottom:17px;font:700 10px/1.2 var(--heading,Arial,sans-serif);letter-spacing:2px;color:#afd0de;}
.calendar-live-dot{width:8px;height:8px;border-radius:50%;background:#83d7c3;box-shadow:0 0 0 4px rgba(131,215,195,.12);flex-shrink:0;}
.booking-calendar-panel .calendar-head,.calendar-admin-card .dash-card-head {margin-bottom:22px;}
.booking-calendar-panel .calendar-head h3 {color:#fff;font-size:30px;letter-spacing:-.6px;}
.calendar-admin-card .dash-card-head h2 {color:#fff;font:400 29px/1.2 var(--serif,Georgia,serif);letter-spacing:-.3px;}
.booking-calendar-panel .calendar-arrows button,
.calendar-admin-card .calendar-arrows button {width:39px;height:39px;background:#22485c;border:1px solid #537185;color:#fff;border-radius:10px;font-size:20px;transition:background .18s,border-color .18s;}
.booking-calendar-panel .calendar-arrows button:hover:not(:disabled),
.calendar-admin-card .calendar-arrows button:hover:not(:disabled){background:#35647c;border-color:#a4c7d3;}
.booking-calendar-panel .calendar-arrows button:disabled,
.calendar-admin-card .calendar-arrows button:disabled {color:#8ba6b5;opacity:.55;}
.booking-calendar-panel .calendar-weekdays,
.calendar-admin-card .calendar-weekdays {margin-bottom:8px;gap:7px;}
.booking-calendar-panel .calendar-weekdays span,
.calendar-admin-card .calendar-weekdays span {color:#cadbe5;font-size:11px;letter-spacing:.3px;padding:8px 0 10px;}
.booking-calendar-panel .calendar-days,
.calendar-admin-card .calendar-days {gap:7px;}
.booking-calendar-panel .calendar-day,
.calendar-admin-card .calendar-day {aspect-ratio:auto;min-height:63px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:1.5px solid transparent;border-radius:9px;font-size:15px;font-weight:700;background:#f3f7f9;color:#17394c;position:relative;cursor:pointer;transition:transform .13s ease,box-shadow .13s ease,background .13s ease;}
.booking-calendar-panel .calendar-day .day-number,
.calendar-admin-card .calendar-day .day-number{font-family:var(--heading,Arial,sans-serif);font-size:16px;line-height:1;font-variant-numeric:tabular-nums;}
.booking-calendar-panel .calendar-day .day-caption,
.calendar-admin-card .calendar-day .day-caption{display:block;white-space:nowrap;font-size:8.5px;letter-spacing:.1px;font-weight:800;line-height:1.2;text-transform:uppercase;}
.booking-calendar-panel .calendar-day.is-free:hover,
.calendar-admin-card .calendar-day.is-free:hover {background:#dff5fa;transform:translateY(-2px);box-shadow:0 6px 14px #041f2a55;}
.booking-calendar-panel .calendar-day.is-free .day-caption,
.calendar-admin-card .calendar-day.is-free .day-caption{color:#557789;}
.booking-calendar-panel .calendar-day.is-reserved,
.calendar-admin-card .calendar-day.is-reserved {background:#f8d7ce;color:#813b34;border:1.5px solid #e9a69c;cursor:not-allowed;text-decoration:none;}
.booking-calendar-panel .calendar-day.is-reserved .day-caption,
.calendar-admin-card .calendar-day.is-reserved .day-caption{color:#8d4237;}
.booking-calendar-panel .calendar-day.is-maintenance,
.calendar-admin-card .calendar-day.is-maintenance {background:#bac8d2;color:#314a5d;border:1.5px solid #8fa3b3;cursor:not-allowed;text-decoration:none;}
.booking-calendar-panel .calendar-day.is-maintenance .day-caption,
.calendar-admin-card .calendar-day.is-maintenance .day-caption{color:#344e5e;}
.booking-calendar-panel .calendar-day.is-past,
.calendar-admin-card .calendar-day.is-past {background:#23465b;color:#a5bdcb;border:1.5px solid #345369;cursor:not-allowed;opacity:.75;}
.booking-calendar-panel .calendar-day.is-selected {background:#83d7ec;border:2px solid #d1f7ff;color:#062a40;box-shadow:0 0 0 2px #529db840;}
.booking-calendar-panel .calendar-day.is-selected .day-caption{color:#0c4053;}
.booking-calendar-panel .calendar-day.is-inrange {background:#c6e8ee;color:#174457;border:1.5px solid #97cbd7;border-radius:9px;}
.booking-calendar-panel .calendar-day.is-inrange .day-caption{color:#325c6e;}
.booking-calendar-panel .calendar-day.is-empty,
.calendar-admin-card .calendar-day.is-empty {background:transparent;border-color:transparent;min-height:63px;cursor:default;box-shadow:none;}
.booking-calendar-panel .calendar-legend,
.calendar-admin-card .calendar-legend {display:flex;flex-wrap:wrap;column-gap:18px;row-gap:12px;margin-top:24px;padding:19px 0 0;border-top:1px solid #37586a;}
.booking-calendar-panel .calendar-legend span,
.calendar-admin-card .calendar-legend span {display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.3;font-weight:600;color:#e0eaf0;}
.booking-calendar-panel .calendar-legend i,
.calendar-admin-card .calendar-legend i{height:13px;width:13px;border:1px solid #e7edf4;border-radius:4px;flex:none;}
.booking-calendar-panel .legend-free,.calendar-admin-card .legend-free{background:#f3f7f9;}
.booking-calendar-panel .legend-reserved,.calendar-admin-card .legend-reserved{background:#f8d7ce;border-color:#e9a69c;}
.booking-calendar-panel .legend-maintenance,.calendar-admin-card .legend-maintenance{background:#bac8d2;border-color:#8fa3b3;}
.booking-calendar-panel .legend-selected,.calendar-admin-card .legend-selected{background:#83d7ec;border-color:#d1f7ff;}
.booking-calendar-panel .calendar-instruction,
.calendar-admin-card .calendar-instruction {display:flex;gap:11px;align-items:flex-start;margin:20px 0 0;padding:15px 16px;border-radius:9px;background:rgba(139,194,219,.11);border:1px solid rgba(161,210,233,.20);color:#eaf6fb;font-size:12px;line-height:1.7;}
.calendar-instruction-icon {font-size:17px;color:#83d7ec;line-height:1.4;}
.booking-calendar-panel .calendar-note{color:#afc4d0;margin:17px 0 0;font-size:11px;line-height:1.6;}
.booking-calendar-panel .calendar-day:focus-visible,
.calendar-admin-card .calendar-day:focus-visible,
.booking-calendar-panel .calendar-arrows button:focus-visible,
.calendar-admin-card .calendar-arrows button:focus-visible {outline:3px solid #81d8ed;outline-offset:3px;}
@media(max-width:1200px){.booking-calendar-panel,.calendar-admin-card{padding:24px}.booking-calendar-panel .calendar-day,.calendar-admin-card .calendar-day {min-height:53px}.booking-calendar-panel .calendar-day.is-empty,.calendar-admin-card .calendar-day.is-empty{min-height:53px}}
@media(max-width:620px){
 .booking-calendar-panel,.calendar-admin-card{padding:20px 13px;border-radius:13px;}
 .booking-calendar-panel .calendar-head h3,.calendar-admin-card .dash-card-head h2{font-size:24px;}
 .booking-calendar-panel .calendar-arrows button,.calendar-admin-card .calendar-arrows button{width:34px;height:34px;}
 .booking-calendar-panel .calendar-weekdays,.calendar-admin-card .calendar-weekdays,.booking-calendar-panel .calendar-days,.calendar-admin-card .calendar-days {gap:4px;}
 .booking-calendar-panel .calendar-day,.calendar-admin-card .calendar-day {min-height:49px;border-radius:7px;gap:3px;}
 .booking-calendar-panel .calendar-day.is-empty,.calendar-admin-card .calendar-day.is-empty {min-height:49px;}
 .booking-calendar-panel .calendar-day .day-number,.calendar-admin-card .calendar-day .day-number {font-size:14px;}
 .booking-calendar-panel .calendar-day .day-caption,.calendar-admin-card .calendar-day .day-caption{font-size:7px;letter-spacing:-.3px;}
 .booking-calendar-panel .calendar-legend span,.calendar-admin-card .calendar-legend span{font-size:10px;}
 .booking-calendar-panel .calendar-legend,.calendar-admin-card .calendar-legend{gap:12px 17px;margin-top:18px;padding-top:16px;}
 .booking-calendar-panel .calendar-instruction,.calendar-admin-card .calendar-instruction{font-size:11px;}
}
@media(max-width:360px){.booking-calendar-panel .calendar-day,.calendar-admin-card .calendar-day{min-height:44px}.booking-calendar-panel .calendar-day .day-caption,.calendar-admin-card .calendar-day .day-caption{font-size:6.5px}}
@media(prefers-reduced-motion:reduce){.booking-calendar-panel .calendar-day,.calendar-admin-card .calendar-day{transition:none;}}
