:root{

--primary:#0A2E5C;
--secondary:#C62828;

--success:#198754;

--warning:#FFC107;

--danger:#DC3545;

--background:#F4F7FC;

--card:#FFFFFF;

--text:#243447;

--border:#E4E8F0;

--radius:18px;

--shadow:0 12px 35px rgba(0,0,0,.08);

}

body{
    background:var(--background);
    font-family:'Poppins',sans-serif;
}

.upload-card{

    background:#fff;

    border-radius:20px;

    padding:30px;

    box-shadow:var(--shadow);

    transition:.30s;

}

.upload-card:hover{

    transform:translateY(-5px);

}

.upload-title{

    font-size:24px;

    font-weight:700;

    color:var(--primary);

}

.upload-subtitle{

    color:#777;

    font-size:14px;

    margin-bottom:25px;

}

.form-control,
.form-select{

    height:52px;

    border-radius:12px;

    border:1px solid var(--border);

}

.form-control:focus,
.form-select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 .15rem rgba(10,46,92,.15);

}

/*Zona Drag & Drop*/

.drop-zone{

    border:2px dashed #CAD5E2;

    border-radius:18px;

    padding:35px;

    text-align:center;

    cursor:pointer;

    transition:.30s;

    background:#FAFBFD;

}

.drop-zone:hover{

    border-color:var(--primary);

    background:#F2F7FF;

}

.drop-zone i{

    font-size:50px;

    color:var(--primary);

}

.drop-zone h5{

    margin-top:15px;

    font-weight:600;

}

.drop-zone p{

    color:#888;

}

/*Boton*/

.btn-upload{

    width:100%;

    height:55px;

    border:none;

    border-radius:14px;

    background:linear-gradient(90deg,#0A2E5C,#1B4D8A);

    color:white;

    font-weight:600;

    transition:.3s;

}

.btn-upload:hover{

    transform:translateY(-3px);

    box-shadow:0 12px 30px rgba(10,46,92,.25);

}

/*dashboard-card*/

.dashboard-card{

background:#fff;

border-radius:20px;

padding:25px;

box-shadow:0 10px 35px rgba(0,0,0,.08);

transition:.30s;

height:100%;

}

.dashboard-card:hover{

transform:translateY(-6px);

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

/*KPI*/

.kpi-card{

background:#fff;

border-radius:18px;

padding:25px;

text-align:center;

box-shadow:0 10px 30px rgba(0,0,0,.07);

transition:.3s;

}

.kpi-card:hover{

transform:scale(1.03);

}

.kpi-number{

font-size:34px;

font-weight:700;

color:#0A2E5C;

}

.kpi-icon{

font-size:45px;

color:#C62828;

margin-bottom:15px;

}

/*Avatar*/

.avatar{

width:60px;

height:60px;

border-radius:50%;

background:#0A2E5C;

display:flex;

align-items:center;

justify-content:center;

margin-right:15px;

color:white;

font-size:30px;

}


/*Teacher Card*/

.teacher-card{

background:#fff;

border-radius:20px;

padding:25px;

box-shadow:0 12px 30px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.teacher-card:hover{

transform:translateY(-8px);

}

.card-document{

    background:#fff;

    border-radius:16px;

    padding:20px;

    margin-bottom:20px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    transition:.3s;

}

/*ducument-card*/

.card-document:hover{

    transform:translateY(-4px);

}

.modal-header{

    background:linear-gradient(135deg,#0A2E5C,#154A8C);

}

.nav-pills .nav-link{

    border-radius:12px;

    padding:10px 20px;

    font-weight:600;

}

.nav-pills .nav-link.active{

    background:#0A2E5C;

}

.progress{

    height:8px;

    border-radius:20px;

}

/*avatar*/


.avatar-component{

width:60px;

height:60px;

border-radius:50%;

background:linear-gradient(135deg,#0A2E5C,#1B4D8A);

color:white;

display:flex;

justify-content:center;

align-items:center;

font-weight:700;

font-size:22px;

box-shadow:0 6px 18px rgba(0,0,0,.15);

}

/*button*/

.btn-modern{

border-radius:12px;

padding:12px 18px;

font-weight:600;

transition:.30s;

}

.btn-modern:hover{

transform:translateY(-2px);

}
