.mmb-container { max-width: 450px; margin: 20px auto; padding: 20px; background: #f9f9f9; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.mmb-progress-bar { display: flex; justify-content: space-between; margin-bottom: 20px; border-bottom: 2px solid #ddd; padding-bottom: 10px; }
.mmb-step-indicator { color: #999; font-weight: 600; font-size: 14px; }
.mmb-step-indicator.active { color: #007bff; }
.mmb-form input, .mmb-form button { width: 100%; padding: 12px; margin-bottom: 15px; border: 1px solid #ddd; border-radius: 8px; font-size: 16px; box-sizing: border-box; }
.mmb-form button { background: #007bff; color: #fff; border: none; font-weight: 600; cursor: pointer; transition: 0.3s; }
.mmb-form button:hover { background: #0056b3; }
.mmb-btn-group { display: flex; gap: 10px; margin-top: 10px; }
.mmb-btn-group button { margin-bottom: 0; }
.mmb-btn-secondary { background: #6c757d !important; flex: 1; }
.mmb-btn-secondary:hover { background: #5a6268 !important; }
.mmb-btn-primary { flex: 2; }

.mmb-success-msg { color: #155724; background-color: #d4edda; border: 1px solid #c3e6cb; padding: 15px; border-radius: 8px; text-align: center; font-weight: bold; margin-bottom: 20px; }
.mmb-error-msg { color: #721c24; background-color: #f8d7da; border: 1px solid #f5c6cb; padding: 15px; border-radius: 8px; text-align: center; font-weight: bold; margin-bottom: 20px; }

.flatpickr-calendar { width: 100% !important; max-width: 315px; }

.mmb-time-slots-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(75px, 1fr)); gap: 10px; margin-top: 15px; }
.mmb-time-slot { padding: 10px 5px; text-align: center; background: #fff; border: 1px solid #007bff; color: #007bff; border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 500; transition: 0.2s; }
.mmb-time-slot:hover:not(.booked) { background: #007bff; color: #fff; }
.mmb-time-slot.selected { background: #0056b3; color: #fff; border-color: #0056b3; font-weight: bold; box-shadow: 0 0 5px rgba(0,0,0,0.2); }
.mmb-time-slot.booked { background: #ffe6e6; color: #cc0000; border-color: #ffcccc; cursor: not-allowed; text-decoration: line-through; opacity: 0.7; }
.booked-date { background-color: #ff4d4d !important; color: white !important; border-radius: 5px !important; border-color: transparent !important; cursor: not-allowed !important; }