:root{
  --cnef-navy:#00334E;
  --cnef-navy-2:#00263A;
  --cnef-accent:#D4AF37;
  --cnef-accent-2:#B8912E;
  --cnef-text:#0F172A;
  --cnef-muted:#64748B;
  --cnef-border:#E2E8F0;
  --cnef-surface:#FFFFFF;
  --cnef-bg:#F6F8FB;
  --cnef-shadow:0 10px 25px rgba(2,6,23,.08);
  --cnef-radius:14px;
}

html,body{height:100%;}
body{
  background:var(--cnef-bg)!important;
  color:var(--cnef-text);
  font-family:'Roboto',system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}

h1,h2,h3,h4,h5,h6{
  font-family:'Montserrat',system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.01em;
}

a{color:#0B5ED7;}
a:hover{color:#094BAF;text-decoration:none;}

.site-content{margin-top:80px!important;}

#header.fixed-top{
  background:var(--cnef-navy)!important;
  box-shadow:0 6px 20px rgba(2,6,23,.22);
}

#header .navbar{
  background:transparent!important;
  padding-top:14px!important;
  padding-bottom:14px!important;
}

#header .navbar .navbar-brand{display:flex;align-items:center;}
#header .logo-img{max-width:290px;width:auto;height:54px;}

@media (max-width:576px){
  #header .logo-img{max-width:230px;height:46px;}
}

#header .navbar-nav .nav-link{
  color:rgba(255,255,255,.92)!important;
  font-weight:600;
  font-size:.92rem;
  padding:.55rem .7rem!important;
  border-radius:10px;
  transition:background-color .15s ease,color .15s ease;
  white-space:nowrap;
}

#header .navbar-nav .nav-link:hover,
#header .navbar-nav .nav-item.show>.nav-link{
  background:rgba(255,255,255,.10);
  color:#fff!important;
}

#header .dropdown-menu{
  background:var(--cnef-navy)!important;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  box-shadow:0 14px 30px rgba(2,6,23,.26);
  padding:.5rem;
}

#header .navbar-nav .dropdown:hover > .dropdown-menu,
#header .navbar-nav .dropdown:focus-within > .dropdown-menu{
  display:block;
}

#header .dropdown-item{
  color:rgba(255,255,255,.92)!important;
  border-radius:10px;
  padding:.55rem .75rem;
  font-weight:500;
}

#header .dropdown-item:hover,
#header .dropdown-item:focus{
  background:rgba(255,255,255,.10);
  color:#fff!important;
}

#header .navbar-toggler{
  border:1px solid rgba(255,255,255,.25)!important;
  padding:.35rem .55rem;
}

#header .navbar-toggler:focus{outline:0;box-shadow:0 0 0 .2rem rgba(212,175,55,.35);}

.contenedor{
  background:transparent!important;
}

.container,.container-fluid{max-width:1360px;}

.card,.panel,.box{
  border-radius:var(--cnef-radius)!important;
}

.panel{
  border:1px solid var(--cnef-border);
  background:var(--cnef-surface);
  box-shadow:var(--cnef-shadow);
}
.panel>.panel-heading{
  background:transparent;
  border-bottom:1px solid var(--cnef-border);
  padding:16px 18px;
}
.panel>.panel-heading .panel-title{
  color:var(--cnef-text);
  font-weight:700;
  margin:0;
}
.panel>.panel-body{padding:18px;}

.btn-primary{
  background:var(--cnef-navy)!important;
  border-color:var(--cnef-navy)!important;
}
.btn-primary:hover{
  background:var(--cnef-navy-2)!important;
  border-color:var(--cnef-navy-2)!important;
}
.btn-warning{
  background:var(--cnef-accent)!important;
  border-color:var(--cnef-accent)!important;
  color:#fff!important;
}
.btn-warning:hover{
  background:var(--cnef-accent-2)!important;
  border-color:var(--cnef-accent-2)!important;
}

.form-control{
  border-radius:12px;
  border-color:var(--cnef-border);
  padding:.7rem .9rem;
}
.form-control:focus{
  border-color:rgba(0,51,78,.35);
  box-shadow:0 0 0 .2rem rgba(0,51,78,.12);
}

.cnef-sidebar{
  background:var(--cnef-navy);
  border-radius:var(--cnef-radius);
  box-shadow:var(--cnef-shadow);
  overflow:hidden;
}

.cnef-sidebar .sidebar-header{
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:#fff;
}

.cnef-sidebar .sidebar-header h5{margin:0;font-weight:800;}
.cnef-sidebar .sidebar-padding{padding:14px 16px;}

.cnef-sidebar .search-box{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:8px 10px;
}

.cnef-sidebar .search-box input{
  width:100%;
  border:0;
  background:transparent;
  color:#fff;
  outline:0;
}
.cnef-sidebar .search-box input::placeholder{color:rgba(255,255,255,.65);}
.cnef-sidebar .search-box button{color:rgba(255,255,255,.85);}

.cnef-sidebar .sidebar-group-title{
  color:rgba(255,255,255,.92);
  font-weight:800;
  margin:0 0 10px;
}

.cnef-sidebar .sidebar-menu{
  list-style:none;
  margin:0;
  padding:0;
}
.cnef-sidebar .sidebar-menu li+li{margin-top:6px;}
.cnef-sidebar .sidebar-menu a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  color:rgba(255,255,255,.92)!important;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}
.cnef-sidebar .sidebar-menu a:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.16);
}
.cnef-sidebar .sidebar-divider{
  border-color:rgba(255,255,255,.18);
  margin:14px 0;
}

.cnef-blog-sidebar .card{
  border:1px solid var(--cnef-border);
  border-radius:var(--cnef-radius);
  box-shadow:var(--cnef-shadow);
  overflow:hidden;
}
.cnef-blog-sidebar .card-header{
  background:var(--cnef-surface);
  border-bottom:1px solid var(--cnef-border);
  padding:14px 16px;
}
.cnef-section-title{
  color:var(--cnef-navy);
  font-weight:800;
  border-bottom:1px solid var(--cnef-border);
  padding-bottom:10px;
}

.cnef-inst-card{
  border:1px solid var(--cnef-border)!important;
  box-shadow:0 10px 25px rgba(2,6,23,.08)!important;
  transition:transform .15s ease,box-shadow .15s ease;
}
.cnef-inst-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 35px rgba(2,6,23,.14)!important;
}

.cnef-inst-logo{
  height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.cnef-inst-name{
  font-weight:800;
  font-size:.95rem;
  color:var(--cnef-text);
}

.cnef-inst-desc{
  color:var(--cnef-muted);
  font-size:.86rem;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-height:5.4em;
  min-height:5.4em;
}

.cnef-inst-actions .btn+.btn{
  margin-top:.55rem;
}

.cnef-inst-modal-body{
  color:var(--cnef-text);
  line-height:1.55;
}

.cnef-filterbar{
  background:#F1F5F9;
  border:1px solid var(--cnef-border);
  border-radius:14px;
  padding:12px;
}
.cnef-filterbar .input-group-text{
  background:#EAF0F7;
  border-color:var(--cnef-border);
  border-top-left-radius:12px;
  border-bottom-left-radius:12px;
  color:rgba(2,6,23,.68);
}
.cnef-filterbar .form-control{
  background:#fff;
}
.cnef-filterbar .form-control,
.cnef-filterbar select.form-control{
  border-radius:12px;
}
.cnef-filterbar .input-group .form-control{
  border-top-right-radius:12px;
  border-bottom-right-radius:12px;
}
.cnef-filter-btn{
  border-radius:12px;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.cnef-doc-table .table{
  margin-bottom:0;
}
.cnef-blog-sidebar .card-header a{
  color:var(--cnef-text);
  font-weight:800;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.cnef-blog-sidebar .list-group-item{
  border-color:var(--cnef-border);
  padding:12px 16px;
}

.cnef-sidebar-modulos{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.cnef-side-mod-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.92)!important;
  overflow:hidden;
}
.cnef-side-mod-card:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
}
.cnef-side-mod-thumb{
  width:56px;
  height:44px;
  border-radius:12px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  background-size:cover;
  background-position:center;
  flex:0 0 auto;
}
.cnef-side-mod-body{flex:1 1 auto;min-width:0;}
.cnef-side-mod-title{
  display:block;
  font-weight:800;
  font-size:.88rem;
  line-height:1.15;
}
.cnef-side-mod-desc{
  display:block;
  font-size:.78rem;
  color:rgba(255,255,255,.72);
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cnef-side-mod-cta{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

@media (max-width: 575.98px){
  .site-content{margin-top:74px!important;}
  #header .logo-img{max-width:160px;}
  #header .navbar-nav .nav-link{white-space:normal;}
}
