/* پنل مشتری — صفحه ورود و ثبت‌نام (S01).
   فقط توکن‌های ratin-tokens.css؛ رنگ، اندازه یا شعاع تازه ساخته نشود (handoff، قاعده ۸).
   مرجع ظاهر: design_handoff_ratin_panel/prototype/01 ورود و ثبتنام.dc.html */

@font-face{font-family:YekanBakh;font-weight:300;font-display:swap;src:url('../../Ratin/assets/fonts/woff2/yekanBakh-light.woff2') format('woff2'),url('../../Ratin/assets/fonts/woff/yekanBakh-light.woff') format('woff')}
@font-face{font-family:YekanBakh;font-weight:400;font-display:swap;src:url('../../Ratin/assets/fonts/woff2/yekanBakh-regular.woff2') format('woff2'),url('../../Ratin/assets/fonts/woff/yekanBakh-regular.woff') format('woff')}
@font-face{font-family:YekanBakh;font-weight:500;font-display:swap;src:url('../../Ratin/assets/fonts/woff2/yekanBakh-regular.woff2') format('woff2'),url('../../Ratin/assets/fonts/woff/yekanBakh-regular.woff') format('woff')}
@font-face{font-family:YekanBakh;font-weight:600;font-display:swap;src:url('../../Ratin/assets/fonts/woff2/yekanBakh-semiBold.woff2') format('woff2'),url('../../Ratin/assets/fonts/woff/yekanBakh-semiBold.woff') format('woff')}
@font-face{font-family:YekanBakh;font-weight:700;font-display:swap;src:url('../../Ratin/assets/fonts/woff2/yekanBakh-bold.woff2') format('woff2'),url('../../Ratin/assets/fonts/woff/yekanBakh-bold.woff') format('woff')}
@font-face{font-family:YekanBakh;font-weight:900;font-display:swap;src:url('../../Ratin/assets/fonts/woff2/yekanBakh-black.woff2') format('woff2'),url('../../Ratin/assets/fonts/woff/yekanBakh-black.woff') format('woff')}

*{box-sizing:border-box}
body{font-size:14.5px;line-height:1.9}
button,input,select,textarea{font-family:inherit}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ---------- کنترل‌ها ---------- */
.rt-field{display:flex;flex-direction:column;gap:8px}
.rt-field--tight{gap:6px}
.rt-label{font:var(--text-label);color:var(--color-text);display:flex;justify-content:space-between;align-items:center}
.rt-hint{font-size:12px;color:var(--color-text-secondary);line-height:1.8}
.rt-err{font-size:12px;color:var(--color-error-text);line-height:1.8}
.rt-input{height:48px;width:100%;padding:0 16px;border-radius:var(--radius-12);border:1px solid var(--color-border-input);background:var(--color-surface);font-size:15px;color:var(--color-text);outline:none;transition:border-color var(--motion-fast) ease}
.rt-input:focus{border-color:var(--color-navy-900);box-shadow:var(--focus-ring)}
.rt-input[aria-invalid="true"]{border-color:var(--color-error-base)}
.rt-input--ltr{direction:ltr;text-align:left;font-family:var(--font-latin)}
.rt-pass{position:relative;display:block}
.rt-pass .rt-input{padding-left:48px}
.rt-pass__eye{position:absolute;left:4px;top:4px;width:40px;height:40px;border:0;border-radius:var(--radius-10);background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--motion-fast) ease}
.rt-pass__eye:hover{background:var(--color-gray-50)}

.rt-btn{height:48px;border-radius:var(--radius-12);border:0;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--motion-fast) ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;text-decoration:none}
.rt-btn--primary{background:var(--color-action);color:var(--color-white)}
.rt-btn--primary:hover{background:var(--color-action-hover);color:var(--color-white)}
.rt-btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-input)}
.rt-btn--secondary:hover{border-color:var(--color-navy-900);color:var(--color-navy-900)}
.rt-btn:disabled,.rt-btn[aria-disabled="true"]{background:var(--color-gray-100);color:var(--color-gray-400);cursor:not-allowed;border-color:transparent}
.rt-btn--sm{height:40px;border-radius:var(--radius-10);font-size:14px;padding:0 16px}
.rt-btn.is-busy{pointer-events:none;opacity:.75}

.rt-link{font-weight:600;white-space:nowrap;background:none;border:0;padding:0;cursor:pointer;color:var(--color-link);font-size:inherit}
.rt-link:hover{color:var(--color-link-hover)}
.rt-link--normal{font-weight:500}

.rt-note{padding:10px 12px;border-radius:var(--radius-12);font-size:13px;font-weight:500;line-height:1.8}
.rt-note--info{background:var(--color-blue-tint);color:var(--color-info-text)}
.rt-note--success{background:var(--color-success-tint);color:var(--color-success-text);display:flex;align-items:center;gap:8px}
.rt-note--error{background:var(--color-error-tint);color:var(--color-error-text)}

.rt-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:var(--radius-10)}
.rt-tab{height:36px;border-radius:var(--radius-8);border:1px solid transparent;background:transparent;color:var(--color-text-secondary);font-size:13.5px;font-weight:500;cursor:pointer;transition:all var(--motion-fast) ease}
.rt-tab[aria-selected="true"]{background:var(--color-surface);border-color:var(--color-border-input);color:var(--color-navy-900);font-weight:600}

.rt-otp{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;direction:ltr}
.rt-otp input{height:56px;width:100%;border-radius:var(--radius-12);border:1px solid var(--color-border-input);background:var(--color-surface);text-align:center;font-family:var(--font-latin);font-size:22px;font-weight:600;color:var(--color-text);outline:none;transition:border-color var(--motion-fast) ease}
.rt-otp input:focus{border-color:var(--color-navy-900);box-shadow:var(--focus-ring)}
.rt-otp[aria-invalid="true"] input{border-color:var(--color-error-base)}

.rt-check{display:flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:transparent;cursor:pointer;text-align:start;font-size:13.5px;color:var(--color-text)}
.rt-check__box{width:20px;height:20px;border-radius:6px;border:1px solid var(--color-border-input);background:var(--color-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--motion-fast) ease}
.rt-check__box svg{opacity:0}
.rt-check[aria-checked="true"] .rt-check__box{background:var(--color-action);border-color:var(--color-action)}
.rt-check[aria-checked="true"] .rt-check__box svg{opacity:1}
.rt-check.is-invalid .rt-check__box{border-color:var(--color-error-base)}

/* ---------- صفحه ورود (S01) ---------- */
.auth-main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}
.auth-card{width:100%;max-width:400px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-16);padding:32px 24px;display:flex;flex-direction:column;gap:20px}
.auth-logo{height:28px;width:auto;display:block;align-self:flex-start}
.auth-head{display:flex;flex-direction:column;gap:4px}
.auth-head h1{margin:0;font-size:24px;font-weight:700;line-height:1.5;color:var(--color-navy-900)}
.auth-head p{margin:0;font-size:13px;color:var(--color-text-secondary)}
.auth-step{display:flex;flex-direction:column;gap:16px}
.auth-step--signup{gap:14px}
.auth-who{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:var(--radius-12);background:var(--color-gray-50);font-size:13px}
.auth-who__txt{display:flex;flex-direction:column;line-height:1.5}
.auth-who__txt span:first-child{color:var(--color-text-secondary)}
.auth-who__num{font-family:var(--font-latin);color:var(--color-text);font-weight:500;direction:ltr;text-align:right}
.auth-resend{display:flex;flex-direction:column;gap:2px;font-size:13px;align-items:flex-start}
.auth-resend .muted{color:var(--color-text-secondary);white-space:nowrap}
.ltr-num{font-family:var(--font-latin);direction:ltr;unicode-bidi:isolate}
/* طرح ۰۱: لیبل، راهنما، خطا و پیام داخل کارت ارتفاع خط ریشه (1.9) را دارند؛ فقط در کارت ورود (این فایل در پوسته پنل هم بار می‌شود) */
.auth-card .rt-label,.auth-card .rt-hint,.auth-card .rt-err,.auth-card .rt-note{line-height:1.9}

/* «فراموشی رمز»: بازگشت از گام کد به ورود معمولی */
.auth-back{align-self:center;font-size:13px}
.auth-back[hidden]{display:none}
