:root {
    --primary-dark: #0f2742;
    --primary-soft: #1b3f67;
    --accent: #d1a85f;
}

html, body {
    height: 100%;
}

body.bg-primary {
    background: linear-gradient(135deg, #0f2742 0%, #1b3f67 60%, #2b5687 100%) !important;
    min-height: 100vh;
}

#layoutAuthentication {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

#layoutAuthentication_content {
    min-width: 0;
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.login-card {
    overflow: hidden;
    backdrop-filter: blur(2px);
    background: rgba(255, 255, 255, 0.97);
}

.logo-img {
    width: 220px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.text-banking {
    color: var(--primary-dark);
    letter-spacing: .2px;
}

.card-footer {
    background: #f8fafc;
}

.btn-primary {
    background: linear-gradient(180deg, var(--primary-soft) 0%, var(--primary-dark) 100%);
    border-color: var(--primary-dark);
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(180deg, #173555 0%, #0d2138 100%);
    border-color: #0d2138;
}

.btn-success {
    background: #1b8f4c;
    border-color: #1b8f4c;
}

.btn-success:hover,
.btn-success:focus {
    background: #14713b;
    border-color: #14713b;
}

.form-control:focus,
.custom-control-input:focus ~ .custom-control-label::before {
    border-color: #7fa6cc;
    box-shadow: 0 0 0 0.2rem rgba(27, 63, 103, .15);
}

.input-group-text {
    cursor: pointer;
    background: #f8fafc;
}

.btn-link {
    color: var(--primary-soft);
}

.btn-link:hover {
    color: var(--accent);
    text-decoration: none;
}

.dashboard-bg {
    background: #f2f5fa;
    min-height: 100vh;
}

@media (max-width: 576px) {
    .logo-img {
        width: 180px;
    }
}
