.wirks-avcal-wrapper, #wirks-avcal-admin { max-width: 520px; }

.wirks-avcal-controls, .wirks-admin-controls {
  display:flex; align-items:center; gap:10px; margin:10px 0;
}
.wirks-month-label { font-weight: 600; min-width: 160px; text-align:center; }

.wirks-legend { display:flex; gap:8px; flex-wrap:wrap; margin: 8px 0; }
.wirks-badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 8px; border-radius:999px; font-size:12px; border:1px solid #ddd;
}
.wirks-badge.open { background:#fff; }
.wirks-badge.limited { background:#fff3cd; border-color:#ffe69c; }
.wirks-badge.booked { background:#f8d7da; color: #4a1a1e; border-color:#f1aeb5; }
.wirks-badge.preferred { background:
#f5fffa
; color:#198754; border-color:#c3e6cb; }

.wirks-calendar {
  border:1px solid #ddd; border-radius:10px; overflow:hidden;
}
.wirks-cal-header, .wirks-cal-row {
  display:grid; grid-template-columns: repeat(7, 1fr);
}
.wirks-cal-header div {
  padding:8px; font-size:12px; font-weight:600; text-align:center;
  background:#f7f7f7; border-bottom:1px solid #ddd;
}
.wirks-cal-day {
  min-height:56px;
  padding:8px;
  border-right:1px solid #eee;
  border-bottom:1px solid #eee;
  cursor:pointer;
  position:relative;
  user-select:none;
}
.wirks-cal-day:nth-child(7n) { border-right:none; }
.wirks-cal-day.is-empty { background:#fafafa; cursor:default; }
.wirks-cal-day .num { font-weight:600; }

.wirks-cal-day.is-disabled {
  background: #e9ecef;
  color: #6c757d;
  cursor: not-allowed;
  opacity: 0.8;
}

.wirks-cal-day.open { background:#fff; }
.wirks-cal-day.limited { background:#fff3cd; }
.wirks-cal-day.booked { background:#f8d7da; color: #4a1a1e; cursor:not-allowed; opacity:0.9; }
.wirks-cal-day.preferred { background:#f5fffa; color:#198754; }


.wirks-cal-day.selected {
  outline:2px solid #0d6efd;
  outline-offset:-2px;
}

.wirks-cal-day.in-range {
  box-shadow: inset 0 0 0 9999px rgba(13,110,253,0.08);
}

.wirks-avcal-prompt {
  white-space: pre-wrap;
  background:#f8f9fa;
  border:1px solid #e9ecef;
  border-radius:10px;
  padding:10px;
  margin: 8px 0;
}

.wirks-selection { margin-top:10px; }
.wirks-selected-label { font-weight:600; margin-bottom:6px; }
.wirks-message-panel {
  border:1px solid #e9ecef;
  background:#fff;
  border-radius:10px;
  padding:10px;
}