.dda-ml-login { max-width: 420px; margin: 0 auto; }
.dda-ml-login-form { display: flex; flex-direction: column; gap: 10px; }
.dda-ml-label { font-weight: 600; color: #191998; font-size: 15px; }
.dda-ml-input { width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1px solid #d5d7e0; border-radius: 8px; font-size: 16px; }
.dda-ml-input:focus { outline: 2px solid #191998; outline-offset: 1px; }
.dda-ml-button { background: #ffc600; color: #191998; font-weight: 700; border: 0; border-radius: 8px; padding: 14px 20px; font-size: 16px; cursor: pointer; }
.dda-ml-button:disabled { opacity: .6; cursor: default; }
.dda-ml-hint { font-size: 13px; color: #6b6f80; margin: 0; }
.dda-ml-message { font-size: 14px; margin: 0; min-height: 1.2em; color: #7a1d1d; }
.dda-ml-message.is-success { color: #1d6b35; }
.dda-ml-notice { padding: 12px 14px; border-radius: 8px; font-size: 14px; margin: 0 0 16px; }
.dda-ml-notice.is-warning { background: #fff3cc; color: #7a5a00; }
.dda-ml-notice.is-success { background: #e3f4e8; color: #1d6b35; }
.dda-ml-spinner { display: inline-block; width: 18px; height: 18px; border: 2px solid #d5d7e0; border-top-color: #191998; border-radius: 50%; animation: dda-ml-spin .8s linear infinite; vertical-align: middle; }
@keyframes dda-ml-spin { to { transform: rotate(360deg); } }
/* Booking form: no "Already have an account?" password tab – a known email gets the login link from the
   normal form (the password login route is refused server-side anyway). */
.latepoint-w .step-customer-w .os-step-tabs { display: none; }
