/* POMT — Login compacto */
.login-page {
    min-height: 100dvh;
    background: #0C1C34;
    background-image:
        radial-gradient(ellipse at 20% 40%, #152C52 0%, transparent 55%),
        radial-gradient(ellipse at 80% 10%, #1a2f4a 0%, transparent 45%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    padding: 16px;
}

.login-wrap {
    width: 100%;
    max-width: 360px;
}

.login-theme-row {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.login-logo {
    text-align: center;
    margin-bottom: 20px;
}

.login-logo img {
    height: 32px;
    width: auto;
}

.login-card {
    background: rgba(21, 44, 82, 0.72);
    border: 1px solid rgba(208, 167, 71, 0.14);
    border-radius: 14px;
    padding: 22px 20px 20px;
    backdrop-filter: blur(10px);
}

.login-card h1 {
    font-size: 17px;
    color: #fff;
    font-weight: 600;
    margin-bottom: 4px;
}

.login-card .sub {
    font-size: 12px;
    color: #7a8fa6;
    margin-bottom: 16px;
}

.login-error {
    background: rgba(220, 53, 69, 0.12);
    border: 1px solid rgba(220, 53, 69, 0.25);
    border-radius: 8px;
    padding: 8px 10px;
    color: #ff6b7a;
    font-size: 12px;
    margin-bottom: 12px;
}

.login-field {
    margin-bottom: 12px;
}

.login-field label {
    display: block;
    font-size: 11px;
    color: #a0b0c4;
    margin-bottom: 5px;
    font-weight: 500;
}

.login-field input {
    width: 100%;
    padding: 10px 12px;
    background: rgba(12, 28, 52, 0.85);
    border: 1px solid rgba(208, 167, 71, 0.18);
    border-radius: 8px;
    color: #fff;
    font-size: 14px;
    outline: none;
}

.login-field input:focus {
    border-color: #D0A747;
    box-shadow: 0 0 0 2px rgba(208, 167, 71, 0.12);
}

.login-pass-wrap { position: relative; }

.login-pass-wrap .toggle-pass {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #7a8fa6;
    cursor: pointer;
    font-size: 13px;
    padding: 2px;
}

.login-forgot {
    display: block;
    text-align: right;
    font-size: 11px;
    color: #D0A747;
    text-decoration: none;
    margin-top: 6px;
}

.login-btn {
    width: 100%;
    padding: 11px;
    background: linear-gradient(135deg, #D0A747, #B27D2D);
    border: none;
    border-radius: 8px;
    color: #0C1C34;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    margin-top: 14px;
}

.login-btn:hover { opacity: 0.92; }

.login-foot {
    text-align: center;
    color: #3d5470;
    font-size: 10px;
    margin-top: 14px;
}

@media (max-height: 640px) {
    .login-logo { margin-bottom: 12px; }
    .login-logo img { height: 26px; }
    .login-card { padding: 16px; }
    .login-card .sub { margin-bottom: 12px; }
    .login-field { margin-bottom: 10px; }
}
