/* متغیرها و تنظیمات مشترک صفحه‌های ورود، ثبت‌نام و پنل (موبایل‌محور) */
:root {
    --primary: #0284c7;
    --primary-dark: #0369a1;
    --ink: #123454;
    --muted: #6b849d;
    --bg: #f2f8fd;
    --line: #deebf6;
    --white: #fff;
    --font: 'Vazirmatn', Tahoma, sans-serif;
    --tap: 44px; /* حداقل اندازه‌ی هدف لمسی (WCAG 2.5.5 / Apple HIG) */
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
    margin: 0;
    font-family: var(--font);
    color: var(--ink);
    overflow-wrap: break-word;
}

/* هیچ رسانه‌ای از عرض صفحه بیرون نمی‌زند */
img, video, canvas, audio, svg { max-width: 100%; }
img, video { height: auto; }

a { color: inherit; text-decoration: none; }

button, input, select, textarea { font: inherit; }

button, a { -webkit-tap-highlight-color: transparent; }

/* قفل اسکرول پشت منوی کشویی موبایل (با panel.js فعال می‌شود) */
body.is-nav-open { overflow: hidden; }

.sr-only {
    position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; animation-duration: .01ms !important; }
}
