/* Login & Auth Style - KOMVOS Maker */

body {
    background: linear-gradient(115deg, #184179 0%, #2470b8 100%);
    min-height: 100vh;
}

.auth-container {
    width: 100%;
    max-width: 370px;
    margin: 0 auto;
    padding: 2.5rem 2.1rem 2rem 2.1rem;
    border-radius: 1.1rem;
    background: #fff;
    box-shadow: 0 4px 24px -6px rgba(40,60,110,0.19);
    border: 1.5px solid #e6eafa;
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.logo-custom {
    font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif;
    font-size: 1.6rem;
    color: #184179;
    font-weight: 700;
    margin-bottom: .65rem;
    letter-spacing: .5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
}
.logo-custom i {
    font-size: 2.1rem;
    color: #2470b8;
    margin-bottom:2px;
}

.auth-container h3 {
    font-weight: 700;
    letter-spacing: .5px;
    color: #193b71;
    margin-bottom: 1rem;
}

.form-control {
    border-radius: 8px;
    border: 1.2px solid #c4d1e1;
    box-shadow: none;
    font-size: 1.07rem;
    padding: .55rem .94rem;
    background: #f8fbff;
    color: #193b71;
}
.form-control:focus{
    border-color: #2470b8;
    background: #f4faff;
    box-shadow: 0 2px 14px 0 rgba(36,112,184,.04);
}

.btn-main {
    background: linear-gradient(91deg, #2470b8 30%, #184179 75%);
    border: none;
    color: #fff;
    font-weight: 600;
    font-size: 1.07rem;
    letter-spacing:.8px;
    border-radius: 8px;
    box-shadow: 0 2px 10px 0 rgba(36,112,184,0.10);
    transition: background .15s, box-shadow .15s;
    padding: .7rem 0;
}
.btn-main:hover,
.btn-main:focus {
    background: #184179;
    color: #fff;
}

.link-secondary {
    color: #567090 !important;
    text-decoration: none;
    font-weight: 500;
    transition: color .12s;
}
.link-secondary:hover {
    color: #184179 !important;
    text-decoration: underline;
}

.link-primary {
    color: #2470b8 !important;
    font-weight: 600;
    text-decoration: none;
    margin-left:.25rem;
}
.link-primary:hover {
    color: #184179 !important;
    text-decoration: underline;
}

.divider {
    margin: 1.15rem 0 .8rem 0;
    border-bottom: 1.5px dashed #e4e7ef;
}

.alert {
    margin-bottom: .5rem;
    border-radius: 0.65rem;
    font-weight: 500;
    font-size: 1.02rem;
    padding: .7rem 1rem;
}
.alert-danger {
    background: #fff5f7;
    color: #de5069;
    border: 1.2px solid #f7c3cc;
}

@media (max-width: 500px) {
    .auth-container {
        padding: 1.35rem 0.8rem 1rem 0.8rem;
        max-width: 98vw;
        border-radius: .8rem;
        font-size: .98rem;
    }
    .logo-custom { font-size: 1.15rem; }
    .logo-custom i { font-size: 1.6rem; }
}