/* تم ورود، هم‌خانواده با بخش گزارش‌ها (Gozaresh) — پس‌زمینه‌ی تیره‌ی سرمه‌ای و
   لهجه‌ی طلایی/کهربایی رسمی gpsmobile.ir (#ECC205 + گرادیان #FF6F00→#ECC205). */

:root {
    --lg-bg: #0a1220;
    --lg-surface: #101b30;
    --lg-surface-2: #16233e;
    --lg-border: #22345a;
    --lg-text: #eaf0fa;
    --lg-text-dim: #9fadc7;
    --lg-text-faint: #6b7a99;
    --lg-accent: #ecc205;
    --lg-accent-2: #ff6f00;
    --lg-accent-dark: #111c2a;
    --lg-on-accent: #0d1117;
}

body.hold-transition.login-page {
    background-color: var(--lg-bg) !important;
    background-image: none !important;
    color: var(--lg-text);
    font-family: Tahoma, "B Nazanin", sans-serif;
    min-height: 100vh;
}
.login-page a {
    color: var(--lg-accent);
}
.login-page a:hover {
    color: var(--lg-accent-2);
}

.lg-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-bottom: 22px;
}
.lg-brand .dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--lg-accent);
}
.lg-brand span {
    color: var(--lg-text);
    font-size: 19px;
    font-weight: bold;
}

.login-box {
    margin-top: 8vh;
}

.login-box-body {
    position: relative;
    background: var(--lg-surface);
    border: 1px solid var(--lg-border);
    border-radius: 14px;
    padding: 26px 24px;
    box-shadow: none;
}

/* ردیف بالای کادر ورود (تغییر زبان + تماس با ما) - قبلاً هر دو badge با position:absolute
   جدا (یکی left:12px پیش‌فرض، یکی با inline style روی right:12px) روی هم موقعیت‌یابی می‌شدن که
   شکننده بود و باعث چسبیدن/روی‌هم‌افتادن دوتاشون می‌شد. حالا هر دو داخل یه ردیف flex هستن که
   خودش با justify-content:space-between فاصله‌شون رو مدیریت می‌کنه - چه یکی باشه چه دوتا،
   و جهت (راست/چپ) خودش با direction صفحه (فارسی/انگلیسی) هماهنگ می‌شه. */
.lg-top-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 18px;
}
.lg-contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    color: var(--lg-accent);
    text-decoration: none;
    background: rgba(236,194,5,.1);
    border: 1px solid rgba(236,194,5,.3);
    border-radius: 20px;
    padding: 5px 12px;
    cursor: pointer;
    white-space: nowrap;
}
.lg-contact-badge:hover {
    background: rgba(236,194,5,.18);
    color: var(--lg-accent);
}
.lg-lang-icon {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
}

.login-box-msg {
    color: var(--lg-text-dim);
    text-align: center;
    margin-bottom: 18px;
}

.login-page .form-control {
    background: var(--lg-surface-2);
    border: 1px solid var(--lg-border);
    color: var(--lg-text);
    border-radius: 8px;
    height: 42px;
    box-shadow: none;
}
.login-page .form-control:focus {
    border-color: var(--lg-accent);
    box-shadow: 0 0 0 2px rgba(236,194,5,.2);
    background: var(--lg-surface-2);
    color: var(--lg-text);
}
.login-page .form-control::placeholder {
    color: var(--lg-text-faint);
}

/* کادرهای نام‌کاربری/رمز/سریال و مواردی که داده‌شون فارسی نیست، چپ‌به‌راست باشن */
.login-page .ltr-input {
    direction: ltr;
    text-align: left;
}

.login-page .btn-primary {
    background: linear-gradient(135deg, var(--lg-accent-2), var(--lg-accent));
    border-color: var(--lg-accent);
    color: var(--lg-on-accent);
    font-weight: bold;
    border-radius: 8px;
    height: 42px;
}
.login-page .btn-primary:hover,
.login-page .btn-primary:focus {
    background: linear-gradient(135deg, #ff8a24, #f5d23a);
    border-color: var(--lg-accent);
    color: var(--lg-on-accent);
}

.lg-links {
    display: flex;
    justify-content: space-between;
    margin-top: 16px;
    font-size: 12.5px;
}
.lg-links a {
    color: var(--lg-accent);
    text-decoration: none;
}
.lg-links a:hover {
    color: var(--lg-accent-2);
}

.lg-route-rule {
    height: 1px;
    margin: 16px 0;
    border: none;
    background-image: repeating-linear-gradient(to left, var(--lg-border) 0 6px, transparent 6px 12px);
}

.lg-back {
    display: block;
    text-align: center;
    margin-top: 14px;
    color: var(--lg-text-faint);
    font-size: 12.5px;
    text-decoration: none;
}
.lg-back:hover {
    color: var(--lg-accent);
}

.lg-note {
    color: var(--lg-text-faint);
    font-size: 12.5px;
    text-align: center;
    margin-bottom: 16px;
    line-height: 1.8;
}

.login-page label {
    color: var(--lg-text-dim);
    font-size: 12.5px;
    font-weight: bold;
}

/* برندسازی مجزای نمایندگان (لوگو + اطلاعات تماس اختصاصی) */
.lg-reseller-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}
.lg-reseller-logo img {
    width: 60px;
    height: 60px;
    border-radius: 14px;
    object-fit: cover;
    box-shadow: 0 4px 14px rgba(0,0,0,.35);
    border: 1px solid var(--lg-border);
}

.lg-contact-box {
    margin-top: 18px;
    padding: 14px 16px;
    background: var(--lg-surface-2);
    border: 1px solid var(--lg-border);
    border-radius: 10px;
}
.lg-contact-box .lg-contact-title {
    color: var(--lg-text-dim);
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 8px;
}
.lg-contact-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: var(--lg-text);
    margin-bottom: 6px;
}
.lg-contact-row:last-child {
    margin-bottom: 0;
}
.lg-contact-row a {
    color: var(--lg-text);
    text-decoration: none;
    direction: ltr;
    unicode-bidi: embed;
}
.lg-contact-row a:hover {
    color: var(--lg-accent);
}

/* پاپ‌آپ «تماس با ما» - با کلیک روی دکمه باز می‌شه، با دکمه‌ی بستن یا کلیک روی پس‌زمینه بسته می‌شه */
.lg-contact-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 3000;
    background: rgba(0, 0, 0, .55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    align-items: center;
    justify-content: center;
}
.lg-contact-overlay.open {
    display: flex;
}
.lg-contact-modal {
    width: min(340px, calc(100vw - 32px));
    background: var(--lg-surface);
    border: 1px solid var(--lg-accent);
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .6);
    overflow: hidden;
    direction: rtl;
}
.lg-contact-modal-header {
    background: linear-gradient(135deg, var(--lg-accent-2), var(--lg-accent));
    color: var(--lg-on-accent);
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: bold;
    font-size: 14px;
}
.lg-contact-modal-close {
    background: rgba(0, 0, 0, .15);
    border: none;
    color: var(--lg-on-accent);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lg-contact-modal-close:hover {
    background: rgba(0, 0, 0, .28);
}
.lg-contact-modal-body {
    padding: 18px;
}
.lg-contact-modal-body .lg-contact-row {
    background: var(--lg-surface-2);
    border: 1px solid var(--lg-border);
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 8px;
    font-size: 13px;
}
.lg-contact-modal-body .lg-contact-row:last-child {
    margin-bottom: 0;
}

/* پاپ‌آپ خطای لاگین - همون مکانیزم پاپ‌آپ «تماس با ما»، فقط با هدر قرمز به‌جای طلایی */
.lg-error-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 3100;
    background: rgba(0, 0, 0, .55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    align-items: center;
    justify-content: center;
}
.lg-error-overlay.open {
    display: flex;
}
.lg-error-modal {
    width: min(340px, calc(100vw - 32px));
    background: var(--lg-surface);
    border: 1px solid #e0665c;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .6);
    overflow: hidden;
    direction: rtl;
}
.lg-error-modal-header {
    background: linear-gradient(135deg, #c62828, #7b1a1a);
    color: #fff;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: bold;
    font-size: 14px;
}
.lg-error-modal-body {
    padding: 18px;
    color: var(--lg-text);
    font-size: 13px;
    line-height: 1.8;
    text-align: center;
}

.lg-field-error {
    display: none;
    color: #e0665c;
    font-size: 11.5px;
    margin: 4px 2px 0;
}

.lg-msg-error { color: #e0665c !important; }
.lg-msg-success { color: #4bbd85 !important; }

.lg-required {
    color: #e0665c;
}
