*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Segoe UI",sans-serif;
}

body{
    min-height:100vh;

    background:
    radial-gradient(circle at top left,
    rgba(40,90,255,.35),
    transparent 35%),
    url("/static/img/cedifondo.jpg"),
    linear-gradient(
        135deg,
        #0f172a,
        #111827 45%,
        #020617
    );

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    display:flex;
    justify-content:center;
    align-items:center;

    color:white;
}

.login-wrapper{

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

    min-height:650px;

    display:grid;
    grid-template-columns:1.1fr .9fr;

    background:var(--card-bg);

    border-radius:var(--radius-lg);

    border:1px solid var(--border);

    overflow:hidden;

    box-shadow:var(--shadow-card);

    backdrop-filter:blur(18px);
}

.left-panel{

    padding:60px;

    background:
    linear-gradient(
    135deg,
    rgba(37,99,235,.30),
    rgba(124,58,237,.18));
}

.logo{

    width:150px;
    height:auto;

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

.logo img{
    width:100%;
    height:auto;
    display:block;
}

.hero-title{

    margin-top:50px;

    font-size:46px;

    line-height:1.1;
}

.hero-description{

    margin-top:20px;

    color:var(--text-secondary);

    line-height:1.7;
}

.right-panel{

    padding:60px;

    display:flex;
    flex-direction:column;
    justify-content:center;
}

.login-title{

    font-size:32px;

    margin-bottom:8px;
}

.login-subtitle{

    color:var(--text-muted);

    margin-bottom:35px;
}

.form-group{

    margin-bottom:20px;
}

.form-group label{

    display:block;

    margin-bottom:8px;

    font-size:14px;
}

.form-group input{

    width:100%;
    height:52px;

    border-radius:14px;

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

    background:#0f172a;

    color:white;

    padding:0 16px;

    outline:none;
}

.form-group input:focus{

    border-color:var(--primary);

    box-shadow:
    0 0 0 4px rgba(37,99,235,.15);
}

.btn-login{

    width:100%;
    height:55px;

    border:none;

    border-radius:16px;

    cursor:pointer;

    font-size:16px;
    font-weight:600;

    color:white;

    background:
    linear-gradient(
    135deg,
    var(--primary),
    var(--secondary));
}

.btn-login:hover{

    opacity:.95;
}

.error-box{

    margin-bottom:20px;

    padding:14px;

    border-radius:14px;

    background:
    rgba(239,68,68,.12);

    border:
    1px solid rgba(239,68,68,.35);

    color:#fecaca;
}

@media(max-width:900px){

    .login-wrapper{

        grid-template-columns:1fr;
    }

    .left-panel{

        display:none;
    }
}
