/* Sign-in: a light, modern panel that follows the theme (Light, Dark, Auto) */
.login-card { max-width:440px; margin:0 auto; background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:28px 28px 22px; box-shadow:0 24px 60px -34px rgba(0,0,0,.55); }
.login-card .card-header { background:transparent; border:0; padding:0 0 18px; }
.login-card .card-header h5 { color:var(--title); font-size:24px; font-weight:700; margin:0; letter-spacing:-.2px; }
.login-card .card-header h5::after { content:""; display:block; width:36px; height:3px; margin-top:10px; border-radius:3px; background:linear-gradient(90deg,#2ee6c0,#ffb33d); }
.login-card label { color:var(--muted); font-size:13px; font-weight:600; margin-bottom:6px; }
.login-card .form-control { background-color:var(--input-bg); color:var(--input-text); border:1px solid var(--input-border); border-radius:10px; padding:10px 14px; min-height:46px; box-shadow:none; }
.login-card .form-control:focus { background-color:var(--input-bg); color:var(--input-text); border-color:#2ee6c0; box-shadow:0 0 0 3px rgba(46,230,192,.18); }
.login-card .form-control::placeholder { color:var(--muted); opacity:.7; }
.login-card .btn-primary { border-radius:10px; padding:10px 22px; font-weight:600; }
.login-card a { color:#0b8a78; text-decoration:none; font-weight:500; }
html[data-theme="dark"] .login-card a { color:#2ee6c0; }
@media (prefers-color-scheme: dark) { html[data-theme="auto"] .login-card a { color:#2ee6c0; } }
.login-card a:hover { text-decoration:underline; }
.login-card hr { border-color:var(--border); opacity:1; margin:22px 0 18px; }
.login-card .form-check-label { color:var(--muted); }
.alert-success { background-color:var(--panel); color:#0b8a78; border:1px solid var(--border); border-radius:12px; }
html[data-theme="dark"] .alert-success { color:#2ee6c0; }
@media (prefers-color-scheme: dark) { html[data-theme="auto"] .alert-success { color:#2ee6c0; } }

    .password-input {
    position: relative;
    width: 100%;
}

.password-input .form-control {
    padding-right: 45px;
}

.eye-toggle {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);

    border: none;
    background: transparent;

    color: var(--muted);
    cursor: pointer;

    font-size: 18px;

    padding: 5px;

    transition: color 0.2s ease;
}

.eye-toggle:hover {
    color: #0e8f86;
}

.eye-toggle:focus {
    outline: none;
}



    .alert-error-soft {
        background-color: rgba(255, 123, 123, 0.12);
        color: #ffb3b3;
        border: 1px solid rgba(255, 123, 123, 0.4);
        border-radius: 12px;
    }

/* shown for a week after a main restore */
.lg-restore-note { margin: 0 0 16px; padding: 12px 14px; border-radius: 10px; background: #ffb33d; border: 1px solid #ffb33d; color: #1f1608; font-size: 14px; line-height: 1.5; }
.lg-restore-note a { color: #1f1608; text-decoration: underline; font-weight: 700; }

.login-card .card-body > p, .login-card .card-body > h5, .login-card .card-body .resend-line { font-size:15px; font-weight:500; color:var(--muted); }
