#dbp-booking-form-wrap { max-width: 480px; margin: 0 auto; }
#dbp-booking-form label { display: block; font-weight: 600; margin-bottom: 4px; }
#dbp-booking-form input, #dbp-booking-form select, #dbp-booking-form textarea {
    width: 100%; padding: 8px; margin-bottom: 4px; border: 1px solid #ccc; border-radius: 4px;
}
#dbp-booking-form button[type=submit] {
    background: #0f766e; color: #fff; border: none; padding: 10px 20px;
    border-radius: 4px; cursor: pointer; font-weight: 600;
}
#dbp-booking-form button[type=submit]:disabled { opacity: .6; cursor: not-allowed; }
#dbp-slots { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.dbp-slot { padding: 6px 10px; border: 1px solid #0f766e; background: #fff; color: #0f766e; border-radius: 4px; cursor: pointer; }
.dbp-slot-taken { border-color: #ccc; color: #999; background: #f3f3f3; cursor: not-allowed; text-decoration: line-through; }
.dbp-slot-active { background: #0f766e; color: #fff; }
.dbp-error { color: #b91c1c; }
.dbp-success { color: #15803d; font-weight: 600; }

#dbp-calendar { max-width: 640px; margin: 0 auto; text-align: center; }
.dbp-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-top: 12px; }
.dbp-cal-head { font-weight: 700; padding: 6px 0; }
.dbp-cal-cell { border-radius: 6px; padding: 10px 4px; min-height: 54px; font-size: 13px; }
.dbp-cal-empty { background: transparent; }
.dbp-cal-daynum { display: block; font-weight: 700; }
.dbp-cal-open { background: #dcfce7; }
.dbp-cal-partial { background: #fef9c3; }
.dbp-cal-full { background: #fee2e2; color: #7f1d1d; }
.dbp-cal-past { background: #f3f4f6; color: #aaa; }
.dbp-cal-legend { margin-top: 12px; font-size: 13px; display: flex; justify-content: center; gap: 16px; }
.dbp-cal-legend span::before { content: "●"; margin-right: 4px; }
.dbp-legend-open::before { color: #16a34a; }
.dbp-legend-partial::before { color: #ca8a04; }
.dbp-legend-full::before { color: #dc2626; }
