.auth-account-btn { background:#eef2ff!important; border-color:#c7d2fe!important; color:#3730a3!important; }
.auth-account-btn.is-registered { background:#ecfdf5!important; border-color:#a7f3d0!important; color:#047857!important; }

.auth-modal { position:fixed; inset:0; z-index:100200; display:none; align-items:center; justify-content:center; padding:18px; }
.auth-modal.open { display:flex; }
.auth-modal__backdrop { position:absolute; inset:0; background:rgba(15,23,42,.68); backdrop-filter:blur(3px); }
.auth-card { position:relative; z-index:1; width:min(620px,100%); max-height:94dvh; overflow-y:auto; padding:22px; border-radius:18px; background:#fff; color:#0f172a; box-shadow:0 24px 70px rgba(15,23,42,.38); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
.auth-card__close { position:absolute; right:12px; top:10px; width:34px; height:34px; border:0; border-radius:50%; background:#f1f5f9; color:#475569; font-size:25px; line-height:1; cursor:pointer; }
.auth-card__head { display:flex; gap:13px; align-items:flex-start; padding-right:32px; }
.auth-card__icon { display:grid; place-items:center; flex:0 0 46px; width:46px; height:46px; border-radius:14px; background:#eef2ff; font-size:23px; }
.auth-card h2 { margin:0 0 5px; font-size:21px; line-height:1.25; }
.auth-card p { margin:0; color:#64748b; font-size:13px; line-height:1.5; }
.auth-guest-note { margin:15px 0; padding:11px 13px; border:1px solid #fde68a; border-radius:10px; background:#fffbeb; color:#92400e; font-size:12px; font-weight:650; line-height:1.5; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:14px 0; padding:5px; border-radius:11px; background:#f1f5f9; }
.auth-tab { border:0; border-radius:8px; padding:10px; background:transparent; color:#64748b; font-weight:800; cursor:pointer; }
.auth-tab.active { background:#fff; color:#2563eb; box-shadow:0 2px 8px rgba(15,23,42,.08); }
.auth-form { display:none; gap:11px; }
.auth-form.active { display:flex; flex-direction:column; }
.auth-form label { display:flex; flex-direction:column; gap:5px; color:#334155; font-size:12px; font-weight:800; }
.auth-form label small { color:#94a3b8; font-weight:600; }
.auth-form input[type=text],.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=tel] { width:100%; min-height:43px; padding:9px 11px; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:#0f172a; font-size:14px; outline:none; }
.auth-form input:focus { border-color:#3b82f6; box-shadow:0 0 0 3px rgba(59,130,246,.13); }
.auth-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.auth-row { display:flex; gap:10px; align-items:center; }
.auth-row--between { justify-content:space-between; }
.auth-check { display:flex!important; flex-direction:row!important; align-items:flex-start!important; gap:7px!important; color:#475569!important; font-weight:650!important; cursor:pointer; }
.auth-check input { margin-top:2px; accent-color:#2563eb; }
.auth-check--block { padding:8px 9px; border:1px solid #e2e8f0; border-radius:9px; background:#f8fafc; line-height:1.4; }
.auth-help { margin:-3px 0 0!important; font-size:11px!important; }
.auth-link { color:#2563eb; font-size:12px; font-weight:750; text-decoration:none; }
.auth-primary,.auth-secondary { width:100%; min-height:44px; border-radius:10px; padding:10px 14px; font-size:14px; font-weight:850; cursor:pointer; }
.auth-primary { border:0; background:#2563eb; color:#fff; box-shadow:0 5px 14px rgba(37,99,235,.22); }
.auth-primary:disabled { opacity:.6; cursor:wait; }
.auth-secondary { margin-top:10px; border:1px solid #cbd5e1; background:#f8fafc; color:#475569; }
.auth-message { display:none; margin:0 0 11px; padding:10px 12px; border-radius:9px; font-size:12px; font-weight:750; line-height:1.45; }
.auth-message.show { display:block; }
.auth-message.error { border:1px solid #fecaca; background:#fef2f2; color:#b91c1c; }
.auth-message.success { border:1px solid #bbf7d0; background:#f0fdf4; color:#166534; }
.auth-message.info { border:1px solid #bfdbfe; background:#eff6ff; color:#1d4ed8; }

@media (max-width:560px) {
  .auth-modal { align-items:flex-end; padding:0; }
  .auth-card { width:100%; max-height:92dvh; border-radius:18px 18px 0 0; padding:18px 15px calc(18px + env(safe-area-inset-bottom)); }
  .auth-card h2 { font-size:18px; }
  .auth-grid { grid-template-columns:1fr; }
}
