body {
    font-family: 'Public Sans', sans-serif;
    background-color: #f8f9fa;
    color: #4b465c;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 12px;
}

.auth-card {
    max-width: 460px;
    width: 100%;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #ebe9f1;
    box-shadow: 0 4px 24px 0 rgba(34, 41, 47, 0.08);
}

.brand-logo {
    font-size: 24px;
    font-weight: 700;
    color: #7367f0;
    text-decoration: none;
    letter-spacing: -0.5px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.form-label {
    font-size: 13px;
    font-weight: 600;
    color: #5d596c;
    margin-bottom: 6px;
}

.form-control {
    border: 1px solid #dbdade;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 14px;
    transition: border-color 0.2s;
}

.form-control:focus {
    border-color: #7367f0;
    box-shadow: 0 0 0 0.2rem rgba(115, 103, 240, 0.15);
}

.btn-primary {
    background-color: #7367f0;
    border-color: #7367f0;
    border-radius: 8px;
    font-weight: 600;
    padding: 10px 20px;
    font-size: 14px;
    box-shadow: 0 2px 4px 0 rgba(115, 103, 240, 0.4);
    transition: all 0.2s;
}

.btn-primary:hover, .btn-primary:focus {
    background-color: #655bd3;
    border-color: #655bd3;
    box-shadow: 0 4px 12px 0 rgba(115, 103, 240, 0.5);
}

.input-group-text {
    background-color: #f8f9fa;
    border-color: #dbdade;
    cursor: pointer;
}

.helper-text {
    font-size: 12px;
    color: #a5a3ae;
}

