 /* ==========================================
   HOSPITAL SANTA CRUZ - LOGIN PRO MAX 2026
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    min-height:100vh;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:20px;

    font-family:-apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;

    overflow:hidden;

    background:
    radial-gradient(circle at top left,
        rgba(0,212,255,.35),
        transparent 30%),

    radial-gradient(circle at bottom right,
        rgba(255,255,255,.12),
        transparent 35%),

    linear-gradient(
        135deg,
        #001f4d 0%,
        #003366 25%,
        #0056b3 60%,
        #0099ff 100%
    );

    position:relative;
}

/* EFECTOS DE FONDO */

body::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    top:-250px;
    left:-250px;

    background:
    rgba(255,255,255,.08);

    filter:blur(60px);

    animation:float1 12s ease-in-out infinite;
}

body::after{

    content:"";

    position:absolute;

    width:600px;
    height:600px;

    border-radius:50%;

    bottom:-200px;
    right:-200px;

    background:
    rgba(0,200,255,.15);

    filter:blur(80px);

    animation:float2 14s ease-in-out infinite;
}

@keyframes float1{

    0%{transform:translateY(0);}
    50%{transform:translateY(40px);}
    100%{transform:translateY(0);}
}

@keyframes float2{

    0%{transform:translateY(0);}
    50%{transform:translateY(-40px);}
    100%{transform:translateY(0);}
}

/* TARJETA */

.login-container{

    position:relative;
    z-index:10;

    width:100%;
    max-width:520px;

    padding:40px;

    border-radius:30px;

    background:
    rgba(255,255,255,.92);

    backdrop-filter:blur(25px);

    -webkit-backdrop-filter:blur(25px);

    border:1px solid
    rgba(255,255,255,.4);

    box-shadow:
    0 20px 60px rgba(0,0,0,.25);

    text-align:center;

    transition:.4s;
}

.login-container:hover{

    transform:translateY(-5px);

    box-shadow:
    0 30px 70px rgba(0,0,0,.35);
}

/* LOGO */

.login-container img{

    width:130px;
    height:130px;

    object-fit:cover;

    border-radius:50%;

    border:6px solid white;

    box-shadow:
    0 10px 30px rgba(0,0,0,.20);

    margin-bottom:15px;

    transition:.4s;
}

.login-container img:hover{

    transform:scale(1.05);
}

/* BADGE */

.hospital-badge{

    display:inline-block;

    padding:8px 20px;

    margin-bottom:18px;

    border-radius:50px;

    font-size:13px;

    font-weight:700;

    color:#0056b3;

    background:
    linear-gradient(
        135deg,
        #eef7ff,
        #dceeff
    );

    box-shadow:
    0 5px 15px rgba(0,0,0,.08);
}

/* TITULO */

.login-container h1{

    color:#003366;

    font-size:2rem;

    font-weight:700;

    margin-bottom:25px;

    letter-spacing:.5px;
}

/* LABELS */

.form-group{

    text-align:left;
}

.form-group label{

    font-weight:600;

    color:#003366;

    margin-bottom:8px;
}

/* INPUTS */

.form-control{

    height:58px;

    border-radius:18px;

    border:2px solid #dbe5f0;

    background:#fff;

    transition:.3s;

    font-size:15px;
}

.form-control:focus{

    border-color:#007bff;

    box-shadow:
    0 0 0 5px rgba(0,123,255,.15);

    transform:translateY(-1px);
}

/* BOTON */

.btn-primary{

    width:100%;

    height:58px;

    border:none;

    border-radius:18px;

    font-size:16px;

    font-weight:700;

    letter-spacing:.5px;

    background:
    linear-gradient(
        135deg,
        #007bff,
        #0056b3
    );

    box-shadow:
    0 10px 25px rgba(0,123,255,.30);

    transition:.3s;
}

.btn-primary:hover{

    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(0,123,255,.40);

    background:
    linear-gradient(
        135deg,
        #0062cc,
        #004799
    );
}

/* FOOTER */

.footer{

    margin-top:25px;

    font-size:13px;

    color:#6c757d;
}

/* RESPONSIVE */

@media(max-width:576px){

    .login-container{

        padding:30px 25px;
    }

    .login-container img{

        width:110px;
        height:110px;
    }

    .login-container h1{

        font-size:1.7rem;
    }
}
