/*
Actualización 044 - Tema institucional COES360
Colores tomados del logo institucional: azul profundo, verde institucional y blanco.
Este archivo se carga al final para respetar la estructura existente sin reescribir páginas.
*/
:root{
    --coes-blue:#2f5fa8;
    --coes-blue-dark:#1f4f94;
    --coes-blue-soft:#eaf1fb;
    --coes-green:#72ad2b;
    --coes-green-dark:#5f9622;
    --coes-green-soft:#eef8e6;
    --coes-white:#ffffff;

    --primary:var(--coes-blue);
    --primary-dark:var(--coes-blue-dark);
    --soft:var(--coes-blue-soft);
    --success:var(--coes-green);
    --bg:#f4f7fb;
    --dark:#0f1f3a;
}

body{
    background:linear-gradient(180deg,#f7faf5 0%,#f4f7fb 36%,#eef3f9 100%);
}

a{color:var(--coes-blue)}
a:hover{color:var(--coes-blue-dark)}

.btn-primary,
button.btn-primary,
a.btn-primary{
    background:linear-gradient(135deg,var(--coes-blue),var(--coes-blue-dark));
    border-color:var(--coes-blue);
    color:#fff;
    box-shadow:0 12px 24px rgba(47,95,168,.18);
}
.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover{
    background:linear-gradient(135deg,var(--coes-blue-dark),#173f77);
    border-color:var(--coes-blue-dark);
    color:#fff;
}

.btn-success,
.badge.bg-success{
    background:var(--coes-green)!important;
    border-color:var(--coes-green)!important;
}

.topbar{
    background:rgba(255,255,255,.90);
    border-bottom:1px solid rgba(47,95,168,.14);
    box-shadow:0 8px 28px rgba(31,79,148,.05);
}
.top-search input:focus{
    border-color:rgba(47,95,168,.35);
    box-shadow:0 0 0 4px rgba(47,95,168,.10);
}

.brand-logo{
    width:42px;
    height:42px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#fff;
    border:2px solid rgba(114,173,43,.28);
    box-shadow:0 10px 22px rgba(47,95,168,.14);
    overflow:hidden;
    flex:0 0 auto;
}
.brand-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}
.brand-logo.big{
    width:72px;
    height:72px;
    border-radius:50%;
    border-width:3px;
}
.brand-icon{
    background:linear-gradient(135deg,var(--coes-blue),var(--coes-green));
    box-shadow:0 10px 22px rgba(47,95,168,.22);
}
.brand-text{
    color:var(--coes-blue-dark);
    font-weight:900;
}

.sidebar{
    border-right:1px solid rgba(47,95,168,.12);
}
.nav-item:hover{
    background:var(--coes-blue-soft);
    color:var(--coes-blue-dark);
}
.nav-item.active{
    background:linear-gradient(135deg,var(--coes-blue),var(--coes-blue-dark));
    color:#fff;
    box-shadow:0 12px 26px rgba(47,95,168,.24);
}
.nav-item.active i{color:#fff}
.nav-title{
    color:var(--coes-green-dark);
}

.profile-card{
    background:linear-gradient(180deg,#fff,var(--coes-blue-soft));
    border-color:rgba(47,95,168,.14);
}

.stat-icon.blue,
.avatar-mini,
.event-date{
    background:var(--coes-blue-soft);
    color:var(--coes-blue);
}
.stat-icon.green{
    background:var(--coes-green-soft);
    color:var(--coes-green-dark);
}
.stat-card,
.panel-card,
.right-card,
.form-card,
.table-card,
.receipt-card,
.card{
    border-color:rgba(47,95,168,.12)!important;
}

.fake-chart span{
    background:linear-gradient(180deg,#7ca9e6,var(--coes-blue));
    box-shadow:0 12px 22px rgba(47,95,168,.14);
}
.quick-actions a:hover,
.quick-list a:hover,
.student-row:hover,
.student-row.active{
    background:var(--coes-blue-soft);
    border-color:rgba(47,95,168,.28);
    color:var(--coes-blue-dark);
}

.alert-mini.info{
    background:var(--coes-blue-soft);
    color:var(--coes-blue-dark);
}
.alert-mini.success,
.badge-soft-success{
    background:var(--coes-green-soft);
    color:var(--coes-green-dark);
}

.eyebrow{
    color:var(--coes-green-dark);
}
.content-header h1,
.panel-head h5,
.right-card-head h6{
    color:#0f1f3a;
}

.login-body{
    background:
        radial-gradient(circle at 12% 18%,rgba(114,173,43,.18) 0 9%,transparent 28%),
        radial-gradient(circle at 84% 32%,rgba(47,95,168,.18) 0 12%,transparent 32%),
        linear-gradient(135deg,#f7faf5 0%,#eef3f9 48%,#eaf1fb 100%);
}
.login-preview{
    background:
        radial-gradient(circle at 30% 20%,rgba(114,173,43,.25) 0 12%,transparent 35%),
        radial-gradient(circle at 70% 58%,rgba(47,95,168,.24) 0 16%,transparent 39%),
        linear-gradient(135deg,#fff,#eaf1fb);
}
.preview-card b{color:var(--coes-blue-dark)}

.form-control:focus,
.form-select:focus{
    border-color:rgba(47,95,168,.38)!important;
    box-shadow:0 0 0 4px rgba(47,95,168,.10)!important;
}

.badge.bg-primary,
.text-bg-primary{
    background:var(--coes-blue)!important;
}
.text-primary{color:var(--coes-blue)!important}
.bg-primary{background:var(--coes-blue)!important}
.border-primary{border-color:var(--coes-blue)!important}

@media(max-width:760px){
    .brand-logo{width:38px;height:38px}
    .brand-logo.big{width:64px;height:64px}
    .brand-text{font-size:14px}
}
