/* ======================================================
   Global
====================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;
}

body{
    background:#f4f7fb;
    color:#2d3748;
}

/* ======================================================
   Container
====================================================== */

.container{

    width:100%;
    max-width:850px;
    margin:60px auto;
    padding:0 20px;

}

/* ======================================================
   Main Card
====================================================== */

.card{

    background:#fff;

    border:none;

    border-radius:18px;

    padding:35px 45px;

    box-shadow:0 15px 40px rgba(15,23,42,.08);

}

/* ======================================================
   Header
====================================================== */

.page-header{

    text-align:center;

    margin-bottom:40px;

}

.page-header h1{

    font-size:42px;

    font-weight:800;

    color:#1e3a5f;

    margin-bottom:8px;

}

.subtitle{

    font-size:17px;

    color:#64748b;

}

/* ======================================================
   Form
====================================================== */

.form-group{

    margin-bottom:28px;

}

label{

    display:block;

    font-size:17px;

    font-weight:700;

    margin-bottom:12px;

    color:#374151;

}

select{

    width:100%;

    height:52px;

    border:1px solid #d8dee9;

    border-radius:12px;

    padding:0 18px;

    font-size:16px;

    background:#fff;

    outline:none;

}

select:focus{

    border-color:#2563eb;

    box-shadow:0 0 0 4px rgba(37,99,235,.12);

}

.form-section{

    max-width:700px;

    margin:0 auto;

}

/* ======================================================
   Checkbox Group
====================================================== */

.checkbox-group{

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;

}

.checkbox-item{

    width:260px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:16px 20px;

    background:#fff;

    border:1px solid #dce3ed;

    border-radius:12px;

    cursor:pointer;

    transition:.25s;

}

.checkbox-item:hover{

    border-color:#2563eb;

    background:#eef5ff;

}

.checkbox-item input{

    transform:scale(1.2);

    cursor:pointer;

}

/* ======================================================
   Evaluate Button
====================================================== */

button{

    width:260px;

    height:50px;

    margin:35px auto;

    display:block;

    border:none;

    border-radius:12px;

    background:#2563eb;

    color:#fff;

    font-size:17px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

button:hover{

    background:#1d4ed8;

    transform:translateY(-2px);

}

button:disabled{

    opacity:.7;

}

/* ======================================================
   Loading
====================================================== */

.loading-card{

    margin-top:30px;

    text-align:center;

    padding:30px;

    border-radius:15px;

    background:white;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.spinner{

    width:60px;

    height:60px;

    border:6px solid #ddd;

    border-top:6px solid #2563eb;

    border-radius:50%;

    animation:spin 1s linear infinite;

    margin:auto;

}

@keyframes spin{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}

.loading-card h3{

    margin-top:20px;

}

.loading-card p{

    margin-top:10px;

    color:#6b7280;

}

/* ======================================================
   Footer
====================================================== */

.footer{

    margin-top:35px;

    padding-top:20px;

    border-top:1px solid #eceff3;

    text-align:center;

    color:#64748b;

    font-size:15px;

}

/* ======================================================
   Responsive
====================================================== */

@media(max-width:992px){

    .container{

        max-width:95%;

    }

    .card{

        padding:30px;

    }

}

@media(max-width:768px){

    .page-header h1{

        font-size:30px;

    }

    .subtitle{

        font-size:15px;

    }

    .checkbox-group{

        flex-direction:column;

    }

    .checkbox-item{

        width:100%;

    }

    button{

        width:100%;

    }

}

/* ===========================
   Validation Message
=========================== */

.error-message{

    display:none;

    margin:18px auto 0;

    width:420px;

    padding:14px 18px;

    background:#fff8f0;

    border:1px solid #ffd8a8;

    border-left:5px solid #f59e0b;

    color:#92400e;

    border-radius:10px;

    font-size:15px;

    font-weight:600;

    box-shadow:0 6px 20px rgba(0,0,0,.08);

    animation:fadeIn .25s ease;

}

.error-icon{

    font-size:18px;

    margin-right:8px;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(-8px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}