/* Availability page styles. F-014: extracted from inline <style> in
   templates/web/pages/availability.html so the page no longer ships an
   88-line inline style block. */

.hourly-day-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0 12px; }
.hourly-day-tab {
  flex: 1 1 auto; min-width: 52px;
  padding: 8px 12px;
  border: 1px solid var(--stroke, #e1dbd2);
  background: var(--card, #fffcf8);
  color: var(--text, #2a241d);
  border-radius: 8px;
  cursor: pointer; font-size: 13px; font-weight: 600;
  transition: all .15s;
}
.hourly-day-tab:hover { border-color: var(--c-caramel, #14B8A6); }
.hourly-day-tab--active { background: var(--c-caramel, #14B8A6); color: #fff; border-color: var(--c-caramel, #14B8A6); }
.hourly-quick-actions { display: flex; gap: 8px; margin: 0 0 14px; flex-wrap: wrap; }
.hourly-band { margin: 12px 0; }
.hourly-band__label {
  font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: var(--muted, #8c8275); margin-bottom: 6px;
}
.hourly-band__cells { display: flex; flex-wrap: wrap; gap: 4px; }
.hourly-band__cells .hourly-cell { flex: 1 1 0; min-width: 52px; }
.hourly-cell {
  min-height: 34px;
  border: 1px solid var(--stroke-light, #f0ebe5);
  background: var(--card2, #faf6ef);
  color: var(--text, #2a241d);
  border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 600; padding: 0;
  transition: all .15s;
}
.hourly-cell:hover { border-color: var(--c-caramel, #14B8A6); }
.hourly-cell--active { background: var(--c-caramel, #14B8A6); color: #fff; border-color: var(--c-caramel, #14B8A6); }
.hourly-cell--added { background: var(--c-success, #4caf50); color: #fff; border-color: var(--c-success, #4caf50); }
.hourly-cell--removed { background: var(--c-error, #c0392b); color: #fff; border-color: var(--c-error, #c0392b); }
.overrides-list { margin: 10px 0; }
.override-row {
  display: flex; align-items: center; gap: 8px; padding: 8px 0;
  border-bottom: 1px solid var(--stroke-light, #f0ebe5);
}
.override-row:last-child { border-bottom: none; }
.override-row__info { flex: 1; }
.override-row__date { font-weight: 700; font-size: 14px; }
.override-row__summary { font-size: 12px; color: var(--muted, #8c8275); margin-top: 2px; }
.override-add { display: flex; gap: 8px; align-items: center; margin: 12px 0 0; flex-wrap: wrap; }
.override-add input[type="date"] {
  padding: 8px 10px;
  border: 1px solid var(--stroke, #e1dbd2);
  border-radius: 8px;
  background: var(--card, #fffcf8);
  font-size: 14px;
}
.override-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.override-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.45); }
.override-modal__body {
  position: relative; background: var(--card, #fffcf8); padding: 24px;
  border-radius: 12px; width: min(560px, 92vw); max-height: 85vh; overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.override-modal__body h4 { margin: 0 0 8px; font-size: 18px; }
.btn.btn-sm { padding: 6px 10px; font-size: 12px; }
.btn.btn-link { background: transparent; border: none; color: var(--c-caramel, #14B8A6); padding: 6px 8px; font-size: 13px; cursor: pointer; }
.btn.btn-link:hover { text-decoration: underline; }
.distance-input { display: inline-flex; align-items: center; gap: 8px; }
.distance-input .form-input {
  width: 110px;
  padding: 8px 10px;
  font-size: 15px;
  border: 1px solid var(--stroke, #e1dbd2);
  background: var(--card, #fffcf8);
  border-radius: 8px;
}
.distance-suffix { font-size: 14px; color: var(--muted, #8c8275); font-weight: 600; }
.availability-save-status {
  display: inline-block;
  margin-left: 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted, #8c8275);
  min-height: 1em;
  transition: color .15s, opacity .15s;
}
.availability-save-status[data-state="saving"] { color: var(--muted, #8c8275); }
.availability-save-status[data-state="saved"] { color: var(--c-success, #4caf50); opacity: 0.8; }
.availability-save-status[data-state="error"] { color: var(--c-error, #c0392b); }
@media (max-width: 480px) {
  .hourly-band__cells .hourly-cell { min-width: 44px; flex: 1 1 44px; }
  .hourly-day-tab { min-width: 44px; padding: 8px 6px; font-size: 12px; }
}
