.booking-message {
  margin-bottom: 18px;
  padding: 13px 15px;
  border: 1px solid #e6b8b8;
  border-radius: 10px;
  background: #fff3f3;
  color: #8b3030;
  font-size: 13px;
  font-weight: 600;
}

.booking-confirmation {
  min-height: 440px;
  display: grid;
  place-items: center;
  padding: 36px;
  text-align: center;
}

.booking-confirmation .confirmation-check {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: #dff4eb;
  color: #156b51;
  font-size: 36px;
  font-weight: 800;
}

.booking-confirmation h3 { margin-bottom: 12px; font-size: 25px; }
.booking-confirmation p { margin: 5px 0; color: #64736e; }
.booking-confirmation .confirmation-details {
  margin-top: 24px;
  padding: 18px 24px;
  border-radius: 12px;
  background: #f2f8f5;
  color: #156b51;
  font-weight: 700;
}
.booking-confirmation small { display: block; margin-top: 22px; color: #7c8984; }

.duration-only { justify-content: flex-end; }

.client-search {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 620px;
  margin: -28px 0 22px;
  padding: 0 15px;
  border: 1px solid #dce5e1;
  border-radius: 12px;
  background: #fff;
}
.client-search span { color: #156b51; font-size: 24px; }
.client-search input { margin: 0; padding: 14px 0; border: 0; background: transparent; box-shadow: none; }
.client-search input:focus { box-shadow: none; }

.week-picker { margin-top: 22px; }
.week-navigation { display: grid; grid-template-columns: 38px minmax(0, 1fr) 38px; align-items: center; gap: 10px; }
.week-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; }
.week-arrow {
  width: 38px;
  height: 42px;
  border: 1px solid #dce5e1;
  border-radius: 10px;
  background: #fff;
  color: #156b51;
  font-size: 20px;
  font-weight: 700;
}
.week-arrow:hover:not(:disabled) { background: #dff4eb; }
.week-arrow:disabled { opacity: .3; cursor: not-allowed; }
.day-card {
  min-width: 0;
  padding: 10px 3px;
  border: 1px solid #dce5e1;
  border-radius: 10px;
  background: #fff;
  color: #12221d;
  text-align: center;
  line-height: 1.1;
}
.day-card .day-name { display: block; overflow: hidden; font-size: 9px; font-weight: 700; text-overflow: ellipsis; }
.day-card .day-number { display: block; margin: 7px 0 5px; font: 800 19px Manrope, sans-serif; }
.day-card .day-month { display: block; overflow: hidden; color: #64736e; font-size: 8px; text-overflow: ellipsis; }
.day-card:hover:not(:disabled) { border-color: #156b51; background: #f0f8f5; }
.day-card.selected { border-color: #156b51; background: #156b51; color: #fff; box-shadow: 0 7px 18px rgba(21,107,81,.2); }
.day-card.selected .day-month { color: #cce9de; }
.day-card:disabled { background: #f4f5f4; color: #aab2af; opacity: .65; cursor: not-allowed; }

@media (max-width: 700px) {
  .week-navigation { grid-template-columns: 32px minmax(0, 1fr) 32px; gap: 5px; }
  .week-days { gap: 3px; }
  .week-arrow { width: 32px; }
  .day-card { padding: 9px 1px; }
  .day-card .day-name { font-size: 7px; }
  .day-card .day-number { font-size: 16px; }
  .day-card .day-month { font-size: 7px; }
}

.terms-check { display: flex; align-items: flex-start; gap: 9px; font-weight: 500; }
.terms-check input { width: 17px; height: 17px; flex: none; margin: 2px 0 0; accent-color: #156b51; }
.terms-check a, .privacy-notice a, .legal-links a, .footer-legal a { color: #156b51; text-decoration: underline; text-underline-offset: 2px; }
.privacy-notice { margin: 0 0 16px; color: #64736e; font-size: 10px; line-height: 1.5; }
.legal-links { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; margin-top: 22px; font-size: 12px; font-weight: 700; }
.footer-legal { display: flex; gap: 14px; }
.footer-legal a { color: #b9cbc4; }
.admin-subtitle,.unavailability-admin>h3{margin:28px 0 15px}.unavailability-admin{margin-top:45px}.unavailability-form{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr auto;gap:10px;align-items:end;margin-bottom:18px;padding:20px;border-radius:14px;background:#fff;border:1px solid #dce5e1}.unavailability-form label{margin:0}.small-danger{border:1px solid #e4b5b5;border-radius:8px;background:#fff4f4;color:#a23939;padding:8px 11px;font-size:11px;font-weight:700}@media(max-width:1000px){.unavailability-form{grid-template-columns:1fr 1fr}}@media(max-width:620px){.unavailability-form{grid-template-columns:1fr}}
