/* =============================================
   VS Parser Admin — Auth Page Styles (Soft Rose)
   ============================================= */

/* === Base === */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: #4a4a4a;
}

/* === Background gradient === */
.auth-wrapper {
    background: linear-gradient(135deg, #f8e8ee 0%, #fdf6f0 50%, #f0e4ec 100%);
    min-height: 100vh;
    padding: 1rem;
}

/* === Card === */
.auth-card {
    width: 100%;
    max-width: 420px;
    border-radius: 1rem;
    overflow: hidden;
    animation: fadeInUp 0.5s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* === Icon === */
.auth-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #f3d1dc, #e8b4c8);
    color: #fff;
    font-size: 1.6rem;
    box-shadow: 0 4px 14px rgba(196, 139, 159, 0.35);
}

/* === Inputs === */
.form-control {
    border-radius: 0.625rem;
    border: 1.5px solid #e0d0d6;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.form-control:focus {
    border-color: #c48b9f;
    box-shadow: 0 0 0 0.2rem rgba(196, 139, 159, 0.2);
}

.form-control::placeholder {
    color: #c0b0b6;
}

/* === Input group — toggle button === */
.input-group .btn-outline-secondary {
    border-radius: 0 0.625rem 0.625rem 0;
    border: 1.5px solid #e0d0d6;
    border-left: 0;
    color: #9a8a90;
    transition: color 0.2s, background-color 0.2s;
}

.input-group .btn-outline-secondary:hover {
    color: #c48b9f;
    background-color: #fdf2f5;
    border-color: #e0d0d6;
}

.input-group .form-control:focus {
    z-index: 3;
}

/* === Submit button === */
.btn-auth {
    background: linear-gradient(135deg, #c48b9f, #d4a0b0);
    border: none;
    color: #fff;
    border-radius: 0.625rem;
    padding: 0.75rem;
    letter-spacing: 0.02em;
    transition: transform 0.15s, box-shadow 0.2s, background 0.3s;
    box-shadow: 0 4px 12px rgba(196, 139, 159, 0.3);
}

.btn-auth:hover {
    background: linear-gradient(135deg, #b77a90, #c8909f);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(196, 139, 159, 0.4);
}

.btn-auth:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(196, 139, 159, 0.3);
}

.btn-auth:disabled {
    opacity: 0.7;
    transform: none;
    cursor: not-allowed;
}

/* === Alert === */
.alert-danger {
    border-radius: 0.625rem;
    border: none;
    background-color: #fce4ec;
    color: #8b3a4a;
    font-size: 0.875rem;
}

/* === Footer === */
.auth-footer {
    background-color: transparent;
}

/* === Responsive === */
@media (max-width: 480px) {
    .auth-card .card-body {
        padding: 2rem 1.5rem !important;
    }

    .auth-icon {
        width: 52px;
        height: 52px;
        font-size: 1.3rem;
    }
}