.hakim-otp-widget { max-width: 460px; margin: 24px auto; color: #172033; font-family: Vazirmatn, Tahoma, sans-serif; }
.hakim-otp-card { padding: 24px; border: 1px solid #e2e8f0; border-radius: 16px; background: #fff; box-shadow: 0 12px 30px rgba(15,23,42,.08); }
.hakim-otp-heading { margin-bottom: 20px; text-align: right; }
.hakim-otp-kicker { color: #3155d9; font-size: 12px; font-weight: 700; }
.hakim-otp-heading h2 { margin: 4px 0 0; font-size: 22px; }
.hakim-otp-form { display: grid; gap: 13px; }
.hakim-otp-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.hakim-otp-form input:not([type="checkbox"]) { width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid #cbd5e1; border-radius: 9px; background: #fff; }
.hakim-otp-form input:focus { border-color: #3155d9; outline: 2px solid rgba(49,85,217,.15); }
.hakim-otp-form button { min-height: 43px; border: 0; border-radius: 9px; background: #3155d9; color: #fff; cursor: pointer; font: inherit; font-weight: 700; }
.hakim-otp-form button:hover { background: #2444bd; }
.hakim-otp-check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 7px; font-weight: 400 !important; }
.hakim-otp-alert, .hakim-otp-success { margin-bottom: 14px; padding: 10px 12px; border-radius: 8px; font-size: 13px; }
.hakim-otp-alert { border: 1px solid #fecaca; background: #fef2f2; color: #991b1b; }
.hakim-otp-success { border: 1px solid #bbf7d0; background: #f0fdf4; color: #166534; }
.hakim-otp-muted { color: #991b1b; font-size: 13px; }
@media (max-width: 520px) { .hakim-otp-widget { margin: 12px; } .hakim-otp-card { padding: 18px; } }
