@charset "UTF-8";

.fp-auth-page,
.fp-auth-page * { box-sizing: border-box; }

.fp-auth-page {
    width: 100%;
    min-height: 62vh;
    display: grid;
    place-items: center;
    padding: 46px 16px 64px;
    direction: rtl;
    background: linear-gradient(180deg, rgba(255,248,242,.78), rgba(255,247,251,.9));
}

.fp-auth-card {
    width: min(100%, 500px);
    padding: 28px;
    border: 1px solid var(--line, #eadfd9);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 44px rgba(69, 45, 38, .09);
    text-align: right;
}

.fp-auth-card h1 {
    margin: 7px 0 8px;
    color: var(--text, #2b2330);
    font-size: 28px;
    line-height: 1.45;
}

.fp-auth-card > p {
    margin: 0 0 18px;
    color: var(--muted, #776f7d);
    line-height: 1.9;
}

.fp-auth-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #fff2ea;
    color: var(--orange, #d86a2f);
    font-weight: 800;
}

.fp-auth-form {
    display: grid;
    gap: 8px;
    width: 100%;
}

.fp-auth-form label {
    display: block;
    margin-top: 7px;
    color: #463d49;
    font-weight: 700;
}

.fp-auth-form input[type=text],
.fp-auth-form input[type=email],
.fp-auth-form input[type=password] {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #ded7db;
    border-radius: 11px;
    outline: 0;
    background: #fff;
    color: #2b2330;
    font: inherit;
    direction: rtl;
}

.fp-auth-form input[type=email] { direction: ltr; text-align: left; }

.fp-password-field {
    position: relative;
    display: block;
    width: 100%;
}

.fp-password-field input[type=password],
.fp-password-field input[type=text] {
    padding-left: 72px;
}

.fp-auth-form .fp-password-toggle {
    position: absolute;
    left: 7px;
    top: 50%;
    z-index: 2;
    min-width: 58px;
    min-height: 32px;
    padding: 4px 8px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 8px;
    background: #f2f5f6;
    color: #405b70;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.fp-auth-form .fp-password-toggle:hover,
.fp-auth-form .fp-password-toggle:focus-visible { background: #e7edef; outline: 2px solid rgba(64,91,112,.18); }

.fp-auth-form input:focus {
    border-color: var(--orange, #d86a2f);
    box-shadow: 0 0 0 3px rgba(216, 106, 47, .10);
}

.fp-auth-form button[type=submit] {
    width: 100%;
    min-height: 44px;
    margin-top: 12px;
    padding: 9px 14px;
    border: 0;
    border-radius: 11px;
    background: var(--dark, #241a29);
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.fp-auth-form button[type=submit]:hover { opacity: .94; }

.fp-auth-divider { display:flex;align-items:center;gap:10px;margin:17px 0;color:#948b90;font-size:12px; }
.fp-auth-divider::before,.fp-auth-divider::after { content:"";height:1px;flex:1;background:#eee6e2; }
.fp-external-login { margin:0; }
.fp-google-login { width:100%;min-height:44px;border:1px solid #d9dde2;border-radius:11px;background:#fff;color:#263640;font:inherit;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer; }
.fp-google-login:hover { background:#f8fafb;border-color:#c8d0d6; }
.fp-google-login:disabled { cursor:not-allowed;opacity:.64;background:#f4f6f7;color:#6d7880; }
.fp-google-login:disabled:hover { background:#f4f6f7;border-color:#d9dde2; }
.fp-google-mark { width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#4285f4;border:1px solid #e4e7eb;font-family:Arial,sans-serif;font-size:15px;font-weight:700; }
.fp-auth-provider-note { margin:8px 2px 0!important;color:#7a858c!important;font-size:12px!important;line-height:1.8;text-align:center; }

.fp-auth-check {
    display: flex !important;
    align-items: center;
    gap: 7px;
    margin-top: 10px !important;
    font-weight: 400 !important;
}

.fp-auth-check input { margin: 0; }
.fp-auth-errors, .field-validation-error { color: #b42318; line-height: 1.7; }
.fp-auth-errors ul { margin: 4px 0; padding-right: 18px; }

.fp-auth-message {
    margin: 12px 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: #ecfdf3;
    color: #067647;
}

.fp-auth-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid #f0e9e6;
}

.fp-auth-links a {
    color: #405b70;
    font-weight: 700;
    text-decoration: none;
}

.fp-auth-links a:hover { color: var(--orange, #d86a2f); }

@media (max-width: 560px) {
    .fp-auth-page { padding: 24px 10px 90px; align-items: start; }
    .fp-auth-card { padding: 20px 16px; border-radius: 16px; }
    .fp-auth-card h1 { font-size: 23px; }
}
