﻿/*

Paleta corporativa:
  Primario    #5EB5D9  azul cielo (botones de acción, iconos, bordes)
  Secundario  #102851  marino oscuro (menú, cabeceras, estructura)
  Mid-dark    #1A3A6B  marino medio (hovers, textos secundarios)
  Pri-hover   #3A9EC5  azul oscuro (hover de botones primarios)
  Background  #EAF5FB  azul muy claro (fondo de página y filas)
  Deep dark   #0D1F3E  marino profundo (submenús, bordes oscuros)

*/

body
{
color: #102851;
background-color: #EAF5FB;
font-family: 'Noto Sans', arial;
font-size: 13px;
width: 100%;
height: 100%;
margin: 0px;
padding: 0 0 24px 0;
position: relative;
}

input
{
color: #102851;
background-color: #f8fafc;
width: 125px;
font-size: 11px;
padding: 4px 6px;
border: 1px solid #5EB5D9;
border-radius: 3px;
transition: border-color 0.15s;
}

input:focus
{
border-color: #102851;
outline: none;
background-color: #fff;
}

a.submenu
{
font-size: 11px; 
color: #999999;
border-bottom: 1px dotted #aaaaaa;
padding-left: 6px;
}

a.submenu:hover
{
font-size: 11px; 
color: #eeeeee;
}

#form_editar textarea
{
color: #332D2D;
background-color: #e9e9e9;
width: 125px;
font-size: 10px;
padding: 3px;
border: 1px solid #332D2D;
}

#form_login input[type=text], #form_login input[type=password]
{
background-color: #f8fafc;
font-size: 14px;
padding: 10px 12px;
border: 1px solid #5EB5D9;
border-radius: 4px;
width: 100%;
color: #102851;
transition: border-color 0.15s;
box-sizing: border-box;
}

#form_login input[type=text]:focus, #form_login input[type=password]:focus
{
border-color: #102851;
outline: none;
background-color: #fff;
}

#form_login input[type=button]
{
margin-top: 20px;
background-color: #5EB5D9;
font-size: 14px;
font-weight: 600;
padding: 10px;
width: 100%;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
letter-spacing: 0.03em;
transition: background-color 0.15s;
box-sizing: border-box;
}

#form_login input[type=button]:hover
{
background-color: #3A9EC5;
}

#div_login
{
width: 340px;
margin: 80px auto;
text-align: left;
}

#div_login_cabecera
{
background-color: #102851;
color: #EAF5FB;
padding: 18px 20px;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.03em;
border-radius: 6px 6px 0 0;
text-align: center;
}

#div_login_contenido
{
padding: 24px 20px 20px;
background-color: #fff;
border: 1px solid #EAF5FB;
border-top: none;
border-radius: 0 0 6px 6px;
box-shadow: 0 4px 16px rgba(16,40,81,0.12);
}

#div_login_contenido label
{
display: block;
float: none;
text-align: left;
width: auto;
font-size: 11px;
font-weight: 600;
color: #1A3A6B;
text-transform: uppercase;
letter-spacing: 0.04em;
margin-bottom: 5px;
margin-top: 14px;
}

#div_login_contenido label:first-child
{
margin-top: 0;
}

label
{
margin-right: 7px;
font-size: 12px;
width: 150px;
display: block;
text-align: right;
float: left;
}

select
{
color: #102851;
background-color: #f8fafc;
font-size: 11px;
padding: 4px 6px;
border: 1px solid #5EB5D9;
border-radius: 3px;
transition: border-color 0.15s;
}

select:focus
{
border-color: #102851;
outline: none;
}

#contenedor
{
width: 100%;
background-color: white;
min-height: 100vh;
}

#pie
{
position: fixed;
bottom: 0;
left: 0;
width: 100%;
height: 24px;
padding: 0 14px;
display: flex;
align-items: center;
justify-content: flex-end;
font-size: 10px;
font-weight: 500;
letter-spacing: 0.03em;
color: #EAF5FB;
background-color: #102851;
border-top: 1px solid #0D1F3E;
z-index: 50;
box-sizing: border-box;
}

#pie strong
{
color: #fff;
font-weight: 700;
margin-left: 4px;
}

#logo
{
float: left;
padding: 10px;
}

#contenidos
{
display: flex;
flex-direction: row;
height: calc(100vh - 114px);
overflow: hidden;
}

#breadcrumb
{
background: #1A3A6B;
color: #EAF5FB;
padding: 4px 12px;
font-size: 12px;
border-bottom: 1px solid #142E5C;
height: 30px;
display: flex;
align-items: center;
}

#top_texto
{
padding-right: 20px;
color: #dddddd;
font-size: 36px;
float: right;
height: 60px;
margin-top: 25px;
margin-bottom: auto;
}

#menu
{
height: 100%; min-width: 0; width: 225px; flex-shrink: 0;
background-color: #1C3D74;
overflow-y: auto; overflow-x: hidden;
border-right: none;
}

#principal
{
list-style: none;
padding: 0;
margin: 0;
width: auto;
}

#principal ul
{
width: 100%;
display: none;
padding: 0;
margin: 0;
list-style: none;
background-color: #17325E;
}

#principal ul li:last-child
{
border-bottom: none;
}

#principal ul li
{
border: none;
padding: 8px 12px 8px 12px;
margin: 0;
background-color: transparent;
color: #EAF5FB;
font-weight: 500;
font-size: 14px;
text-transform: none;
letter-spacing: 0.01em;
border-radius: 6px;
transition: background-color 0.15s, color 0.15s;
}

#principal ul li:hover
{
background-color: #2E57A3;
color: #EAF5FB;
}

#principal ul li.sub
{
color: #fcb81a;
text-transform: uppercase;
font-size: 15px;
font-weight: 600;
}

#principal li
{
border-bottom: 1px solid #17325E;
padding: 11px 12px;
margin: 2px 4px;
border-radius: 6px;
cursor: pointer;
transition: background-color 0.15s;
}

#principal li:hover
{
background-color: #2E57A3;
}

#principal li:hover i
{
color: #EAF5FB;
}

#principal li:hover > a
{
color: #EAF5FB;
}

#principal li i
{
font-size: 15px;
display: block;
width: 28px;
float: left;
color: #5EB5D9;
transition: color 0.15s;
}

#principal li a
{
color: #EAF5FB;
text-decoration: none;
font-size: 14px;
font-weight: 500;
letter-spacing: 0.02em;
}

#titulos
{
display: none;
}

#principal li ul li a
{
color: #EAF5FB;
font-weight: 400;
text-decoration: none;
text-transform: none;
font-size: 13px;
}

#principal li ul li a:hover
{
color: #fff;
}

#marco
{
flex: 1 1 0; min-width: 0; height: 100%; padding: 10px; overflow: auto;
}
/*
#resultados
{
margin-left: auto;
margin-right: auto;
}

#resultados th
{
background-color: #ac9884;
padding: 5px;
color: #332D2D;
}

#resultados tr
{
background-color: #ffffff;
}

#resultados td
{
padding: 5px;
border-bottom: 1px dotted #dedede;
}
*/
.contenido_dialogo input, .contenido_dialogo select
{
background-color: #fafafa;
font-size: 11px;
padding: 1px;
margin-right: 10px;
border: 1px solid #dedede;
}

.form_editar span
{
color: red;
font-size: 9px;
}

.cont_filtros select, .cont_filtros input
{
background-color: #f8fafc;
font-size: 11px;
color: #102851;
border: 1px solid #5EB5D9;
padding: 4px 8px;
border-radius: 3px;
transition: border-color 0.15s;
}

.cont_filtros select:focus, .cont_filtros input:focus
{
border-color: #102851;
outline: none;
background-color: #fff;
}

.cont_filtros
{
color: #102851;
padding: 10px 12px;
background-color: #fff;
position: relative;
z-index: 10;
}

.cont_filtros span
{
padding-right: 12px;
font-size: 11px;
color: #1A3A6B;
}

.filtros div
{
padding: 4px;
}

.filtros img
{
margin-right: 5px;
}

.cab_filtros
{
background-color: #102851;
color: #EAF5FB;
padding: 7px 12px;
font-size: 11px;
font-weight: 600;
letter-spacing: 0.03em;
text-transform: uppercase;
cursor: pointer;
display: flex;
align-items: center;
gap: 6px;
transition: background-color 0.15s;
}

.cab_filtros:hover
{
background-color: #1A3A6B;
}

.enlacesf
{
background-color: #EAF5FB;
padding: 7px 12px;
border-top: 1px solid #5EB5D9;
font-size: 11px;
}

.enlacesf a
{
color: #102851;
text-decoration: none;
font-weight: 500;
margin-right: 16px;
transition: color 0.15s;
}

.enlacesf a:hover
{
color: #1A3A6B;
}

.filtros
{
border: 1px solid #EAF5FB;
border-radius: 4px;
margin-bottom: 10px;
background-color: #fff;
display: none;
box-shadow: 0 1px 4px rgba(16,40,81,0.07);
}

#filtros2 div
{
padding: 5px;
}

#filtros2 img
{
margin-right: 5px;
}

#cab_filtros2
{
background-color: #eaeaea;
}

#filtros2
{
text-align: left; border-bottom: 3px solid #cccccc; margin-bottom: 5px; background-color: #fafafa; display: none;
}

#form_img div
{
margin-top: 4px;
}

#form_img label
{
margin-right: 7px;
}

#form_img input, #form_img select, #form_img textarea
{
color: #332D2D;
background-color: #fdfdfd;
font-size: 11px;
padding: 1px;
border: 1px solid #999999;
}

#form_img span
{
color: red;
margin: 5px;
}

table.tablesorter {
	font-family: 'Noto Sans', arial;
	background-color: #fff;
	margin: 10px 0 15px;
	width: auto;
	text-align: left;
	border-collapse: collapse;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(0,0,0,0.07);
}
table.tablesorter thead tr th {
	background-color: #102851;
	border: none;
	border-right: 1px solid #1D4070;
	padding: 8px 20px 8px 8px;
	color: #EAF5FB;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

table.tablesorter tfoot tr th {
	background-color: #EAF5FB;
	border: none;
	border-top: 2px solid #5EB5D9;
	padding: 7px 8px;
	color: #102851;
	font-weight: 700;
	font-size: 11px;
}
table.tablesorter thead tr .header {
	background-image: url(../img/bg.gif);
	background-repeat: no-repeat;
	background-position: center right;
	cursor: pointer;
}
table.tablesorter tbody td {
	color: #102851;
	padding: 7px 8px;
	background-color: #fff;
	vertical-align: top;
	border-bottom: 1px solid #EAF5FB;
	font-size: 12px;
}
table.tablesorter tbody td img {
	margin-right: 4px;
}
table.tablesorter tbody tr:hover td {
	background-color: #edf2f7 !important;
}
table.tablesorter tbody tr.odd td {
	background-color: #f4f7fa;
}

table.tablesorter tbody tr.odd2 td {
	background-color: #fffbf0;
}

table.tablesorter thead tr .headerSortUp {
	background-image: url(../img/asc.gif);
}
table.tablesorter thead tr .headerSortDown {
	background-image: url(../img/desc.gif);
}
table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {
	background-color: #1A3A6B;
}

#limite
{
font-size: 9px;
}

#cont_filtros2 div
{
float: left;
margin-right: 10px;
height: 30px;
}

#cont_filtros2 select, #cont_filtros2 input  
{
background-color: #666666; font-size: 11px; color: #f0f0f0;
border:0; padding: 2px; margin-right: 5px;
}

#filtros2
{
margin-bottom: 10px;
background-color: #ffffff;
padding: 5px;
}

#cab_filtros2
{
border-bottom: 1px solid #f0f0f0;
margin-bottom: 5px;
}

#resultados2
{
margin-left: auto;
margin-right: auto;
font-size: 9px;
}

#resultados2 th
{
background-color: #878C50;
padding: 10px;
color: #ffffff;
font-weight: 800;
}

#resultados2 tr
{
background-color: #ffffff;
}

#resultados2 tr.odd
{
background-color: #fdfdfd;
}

#sub1 li a
{
color: #aaaaaa;
}

#ic div
{
margin-top: 5px;
margin-bottom: 5px;
padding-left: 10px;
padding-bottom: 5px;
border-bottom: 1px solid #dedede;
}

#ic span
{
color: red;
margin: 5px;
}

#boton_ic
{
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 18px;
font-size: 13px;
font-weight: 600;
cursor: pointer;
color: #fff;
background-color: #5EB5D9;
border: none;
border-radius: 5px;
margin-top: 15px;
transition: background-color 0.15s;
letter-spacing: 0.02em;
}

#boton_ic:hover
{
background-color: #3A9EC5;
}

#boton_ic img
{
vertical-align: middle;
filter: brightness(10);
}

.cabecera { margin: 0; padding: 0px; margin-bottom: 5px; padding: 3px; }
.nhead { display: block; width: 150px; background-color: #cccccc; padding: 3px; float: left; font-weight: 800; border: 1px solid #cccccc; }
.vhead { display: block; margin-left: 5px; width: 475px; padding: 3px; float: left; border: 1px solid #cccccc; font-size: 9px; }

div.campo_tabla_form
{
font-size: 12px;
float: none;
clear: both;
background-color: #f0f0f0;
padding-left: 5px;
border-left: 1px solid #cccccc;
width: 100%;
}

a.submenu
{
font-size: 11px; 
color: #999999;
border-bottom: 1px dotted #aaaaaa;
padding-left: 6px;
}

a.submenu:hover
{
font-size: 11px; 
color: #eeeeee;
}

.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
          box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-right: 15px;
  padding-left: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 3px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 3px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  margin-bottom: 0;
  border: 0;
}
.panel-group {
  margin-bottom: 20px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}

table.widget a:link {
	color: #666;
	font-weight: bold;
	text-decoration:none;
}
table.widget a:visited {
	color: #999999;
	font-weight:bold;
	text-decoration:none;
}
table.widget a:active,
table.widget a:hover {
	color: #bd5a35;
	text-decoration:underline;
}
table.widget {
	color:#666;
	text-shadow: 1px 1px 0px #fff;
	background:#eaebec;
	margin:15px;
	width: auto;
	border:#ccc 1px solid;

	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	border-radius:3px;

	-moz-box-shadow: 0 1px 2px #d1d1d1;
	-webkit-box-shadow: 0 1px 2px #d1d1d1;
	box-shadow: 0 1px 2px #d1d1d1;
}

div.frame
{
	border:#ccc 1px solid;

	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	border-radius:3px;

	-moz-box-shadow: 0 1px 2px #d1d1d1;
	-webkit-box-shadow: 0 1px 2px #d1d1d1;
	box-shadow: 0 1px 2px #d1d1d1;

}

table.widget th {
	padding:15px;
	border-top:1px solid #fafafa;
	border-bottom:2px solid #e0e0e0;

	background: #ededed;
	background: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#ebebeb));
	background: -moz-linear-gradient(top,  #ededed,  #ebebeb);
}
table.widget th:first-child {
	text-align: left;
	padding-left:10px;
}
table.widget tr:first-child th:first-child {
	-moz-border-radius-topleft:3px;
	-webkit-border-top-left-radius:3px;
	border-top-left-radius:3px;
}
table.widget tr:first-child th:last-child {
	-moz-border-radius-topright:3px;
	-webkit-border-top-right-radius:3px;
	border-top-right-radius:3px;
}
table.widget tr {
	text-align: left;
	vertical-align: top;
	padding-left:5px;
}
table.widget td:first-child {
	text-align: left;
	padding-left:5px;
	border-left: 0;
}
table.widget td {
	padding:5px;
	border-top: 1px solid #ffffff;
	border-bottom:1px solid #e0e0e0;
	border-left: 1px solid #e0e0e0;

	background: #fafafa;
	background: -webkit-gradient(linear, left top, left bottom, from(#fbfbfb), to(#fafafa));
	background: -moz-linear-gradient(top,  #fbfbfb,  #fafafa);
}
table.widget tr.even td {
	background: #f6f6f6;
	background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f6f6f6));
	background: -moz-linear-gradient(top,  #f8f8f8,  #f6f6f6);
}
table.widget tr:last-child td {
	border-bottom:0;
}
table.widget tr:last-child td:first-child {
	-moz-border-radius-bottomleft:3px;
	-webkit-border-bottom-left-radius:3px;
	border-bottom-left-radius:3px;
}
table.widget tr:last-child td:last-child {
	-moz-border-radius-bottomright:3px;
	-webkit-border-bottom-right-radius:3px;
	border-bottom-right-radius:3px;
}
table.widget tr:hover td {
	background: #f2f2f2;
	background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#f0f0f0));
	background: -moz-linear-gradient(top,  #f2f2f2,  #f0f0f0);	
}

span.error
{
margin-left: 10px;
background-color: #F4ADAD;
border: 1px solid #BC2C2C;
padding: 3px;
font-size: 10px;
color: #BC2C2C;
}

span.info
{
margin: 30px;
background-color: #00B4FF;
border: 1px solid #003CFF;
padding: 6px;
font-size: 14px;
color: #0D417C;
display: block;
}

span.info2
{
font-size: 11px; 
font-style: italic; 
color: #999999 !important;
}

div.btn-primary {
    color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4;
}

div.btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}

div.busqueda_libre
{
	margin: 0;
	padding: 8px 12px;
	border-bottom: 1px solid #EAF5FB;
	background-color: #f4f7fa;
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
}

div.busqueda_libre i
{
font-size: 14px;
color: #5EB5D9;
}

div.busqueda_libre span.resultados
{
	padding: 3px 8px;
	background: #102851;
	color: #fff;
	border-radius: 10px;
	font-size: 11px;
	display: none;
}

div.busqueda_libre div.resultados
{
position: absolute;
width: 99%;
max-height: 200px;
left: 0px;
top: 100%;
overflow: hidden;
z-index: 1000;
background-color: #fff;
border: 1px solid #5EB5D9;
border-top: none;
border-radius: 0 0 4px 4px;
display: none;
box-shadow: 0 4px 12px rgba(16,40,81,0.12);
cursor: default;
}

div.busqueda_libre div.resultados ul.bl_resultados_lista
{
	margin: 0;
	padding: 0;
}

div.busqueda_libre div.resultados ul.bl_resultados_lista li
{
	list-style: none;
	padding: 7px 12px;
	cursor: pointer;
	font-size: 12px;
	color: #102851;
	border-bottom: 1px solid #EAF5FB;
	transition: background-color 0.1s;
}

div.busqueda_libre div.resultados ul.bl_resultados_lista li:hover
{
	background-color: #EAF5FB;
}

div.busqueda_libre input
{
font-size: 13px;
border: 1px solid #5EB5D9;
border-radius: 3px;
width: 60%;
background-color: #fff;
padding: 5px 8px;
color: #102851;
transition: border-color 0.15s;
}

div.busqueda_libre input:focus
{
border-color: #102851;
outline: none;
}

.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
  margin: 5px;
}

.label-default {
  background-color: #C0C0C0;
}

.label-primary {
  background-color: #188CE5;
}

.label-danger {
  background-color: #E52718;
}

.alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}

.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

.alert {
    position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem;
}

.hidden { display: none; }

/* ── Tipografía ──────────────────────────────────────────────────────────── */

body
{
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}

/* Texto general del área de contenido */
#marco
{
font-size: 12px;
color: #102851;
}

/* Labels de formulario */
#marco label
{
font-size: 11px;
font-weight: 600;
color: #1A3A6B;
text-transform: uppercase;
letter-spacing: 0.04em;
}

/* Texto de info secundaria */
#marco small, #marco .small
{
font-size: 10px;
color: #1A3A6B;
}

/* Links dentro del contenido */
#marco a:not(.acc-btn):not(.pag-btn):not(.barra-btn)
{
color: #102851;
text-decoration: none;
border-bottom: 1px dotted #5EB5D9;
transition: color 0.15s, border-color 0.15s;
}

#marco a:not(.acc-btn):not(.pag-btn):not(.barra-btn):hover
{
color: #1A3A6B;
border-bottom-color: #1A3A6B;
}

/* Texto en celdas de tabla */
table.tablesorter tbody td
{
line-height: 1.4;
}

/* Totales y números destacados */
.data-ctotal, [class*="data-ctotal"]
{
font-weight: 700;
color: #102851;
}

/* Texto del breadcrumb */
#breadcrumb
{
font-size: 11px;
font-weight: 500;
letter-spacing: 0.03em;
text-transform: uppercase;
}

/* ── Barra de acciones (NUEVO / Limitado / Exportar) ─────────────────────── */

.barra-acciones
{
display: flex;
align-items: center;
gap: 8px;
padding: 7px 10px;
background-color: #f4f7fa;
border: 1px solid #EAF5FB;
border-radius: 4px;
margin-bottom: 8px;
flex-wrap: wrap;
}

.barra-btn
{
display: inline-flex;
align-items: center;
gap: 5px;
padding: 5px 12px;
font-size: 12px;
font-weight: 600;
border-radius: 4px;
text-decoration: none;
cursor: pointer;
transition: background-color 0.15s, color 0.15s;
border: 1px solid #5EB5D9;
background-color: #fff;
color: #102851;
}

.barra-btn:hover
{
background-color: #5EB5D9;
border-color: #5EB5D9;
color: #fff;
}

.barra-btn-nuevo
{
background-color: #5EB5D9;
border-color: #5EB5D9;
color: #fff;
}

.barra-btn-nuevo:hover
{
background-color: #3A9EC5;
border-color: #3A9EC5;
color: #fff;
}

.barra-limite
{
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 11px;
color: #1A3A6B;
margin-left: 4px;
}

.barra-limite label
{
width: auto !important;
float: none !important;
font-size: 11px;
color: #1A3A6B;
text-transform: none;
font-weight: 500;
margin: 0;
}

.barra-limite select
{
width: auto;
padding: 3px 6px;
font-size: 11px;
}

.barra-grupo
{
display: inline-flex;
align-items: center;
gap: 4px;
padding: 0 8px;
border-left: 1px solid #EAF5FB;
margin-left: 4px;
}

.barra-otras
{
flex: 1;
justify-content: center;
border-left: 1px solid #EAF5FB;
}

/* ── Botones de acción en tabla ──────────────────────────────────────────── */

td.acciones
{
white-space: nowrap;
width: 1px;
padding: 4px 6px !important;
}

.acc-btn
{
display: inline-flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border-radius: 4px;
font-size: 12px;
text-decoration: none;
transition: background-color 0.15s, color 0.15s;
margin: 1px;
}

.acc-edit
{
color: #102851;
background-color: #EAF5FB;
}

.acc-edit:hover
{
background-color: #102851;
color: #fff;
}

.acc-del
{
color: #a94442;
background-color: #f8e8e8;
}

.acc-del:hover
{
background-color: #a94442;
color: #fff;
}

/* ── Paginador ───────────────────────────────────────────────────────────── */

#paginador
{
display: inline-flex;
align-items: center;
gap: 6px;
margin-left: auto;
}

.pag-btn
{
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border-radius: 4px;
border: 1px solid #5EB5D9;
background-color: #fff;
color: #102851;
text-decoration: none;
font-size: 12px;
transition: background-color 0.15s, border-color 0.15s;
}

.pag-btn:hover
{
background-color: #5EB5D9;
border-color: #5EB5D9;
color: #fff;
}

.pag-info
{
font-size: 12px;
color: #1A3A6B;
padding: 0 6px;
}

.pag-info strong
{
color: #102851;
}

.pag-ir
{
display: inline-flex;
align-items: center;
gap: 4px;
margin-left: 6px;
}

.pag-input
{
width: 36px !important;
text-align: center;
padding: 3px 4px !important;
font-size: 12px;
border: 1px solid #5EB5D9;
border-radius: 4px;
background-color: #fff;
color: #102851;
}

.pag-go
{
padding: 3px 10px;
font-size: 12px;
font-weight: 600;
border: none;
border-radius: 4px;
background-color: #5EB5D9;
color: #fff;
cursor: pointer;
transition: background-color 0.15s;
}

.pag-go:hover
{
background-color: #3A9EC5;
}

/* ── Scrollbars personalizadas ───────────────────────────────────────────── */

#marco::-webkit-scrollbar,
#menu::-webkit-scrollbar
{
width: 6px;
height: 6px;
}

#marco::-webkit-scrollbar-track,
#menu::-webkit-scrollbar-track
{
background: #EAF5FB;
}

#marco::-webkit-scrollbar-thumb,
#menu::-webkit-scrollbar-thumb
{
background-color: #5EB5D9;
border-radius: 3px;
}

#marco::-webkit-scrollbar-thumb:hover,
#menu::-webkit-scrollbar-thumb:hover
{
background-color: #1A3A6B;
}

/* Firefox */
#marco,
#menu
{
scrollbar-width: thin;
scrollbar-color: #5EB5D9 #EAF5FB;
}

/* ── Cabeceras de sección ────────────────────────────────────────────────── */

#marco h2
{
font-size: 16px;
font-weight: 700;
color: #102851;
margin: 0 0 16px 0;
padding: 0 0 10px 0;
border-bottom: 2px solid #5EB5D9;
letter-spacing: 0.01em;
}

#marco h3
{
font-size: 14px;
font-weight: 600;
color: #102851;
margin: 12px 0 10px 0;
padding: 6px 10px;
background-color: #EAF5FB;
border-left: 3px solid #5EB5D9;
border-radius: 0 3px 3px 0;
}

#marco h4
{
font-size: 12px;
font-weight: 600;
color: #1A3A6B;
margin: 8px 0 8px 0;
padding: 0;
text-transform: uppercase;
letter-spacing: 0.04em;
}

/* ── jQuery UI dialog – paleta corporativa ───────────────────────────────── */

.ui-dialog
{
border: none !important;
border-radius: 6px !important;
box-shadow: 0 8px 32px rgba(16,40,81,0.18) !important;
padding: 0 !important;
overflow: hidden;
font-family: 'Noto Sans', arial !important;
font-size: 12px !important;
}

.ui-dialog .ui-dialog-titlebar
{
background: #102851 !important;
border: none !important;
border-radius: 0 !important;
padding: 10px 14px !important;
color: #EAF5FB !important;
font-size: 13px !important;
font-weight: 600 !important;
letter-spacing: 0.02em;
}

.ui-dialog .ui-dialog-title
{
color: #EAF5FB !important;
font-size: 13px !important;
font-weight: 600 !important;
}

.ui-dialog .ui-dialog-titlebar-close
{
background: transparent !important;
border: none !important;
color: #5EB5D9 !important;
top: 50% !important;
transform: translateY(-50%);
right: 10px !important;
margin: 0 !important;
transition: color 0.15s;
}

.ui-dialog .ui-dialog-titlebar-close:hover
{
background: rgba(255,255,255,0.1) !important;
color: #fff !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick
{
background-color: #5EB5D9;
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 1l10 10M11 1L1 11' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 1l10 10M11 1L1 11' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
background-image: none !important;
}

.ui-dialog .ui-dialog-content
{
background: #fff !important;
border: none !important;
padding: 16px !important;
color: #102851 !important;
font-size: 12px !important;
}

.ui-dialog .ui-dialog-buttonpane
{
background: #f4f7fa !important;
border: none !important;
border-top: 1px solid #EAF5FB !important;
padding: 10px 14px !important;
margin: 0 !important;
}

.ui-dialog .ui-dialog-buttonpane .ui-button
{
background: #102851 !important;
border: none !important;
border-radius: 4px !important;
color: #fff !important;
font-size: 12px !important;
font-weight: 600 !important;
padding: 6px 14px !important;
margin-left: 6px !important;
cursor: pointer !important;
transition: background-color 0.15s !important;
box-shadow: none !important;
text-shadow: none !important;
}

.ui-dialog .ui-dialog-buttonpane .ui-button:hover
{
background: #1A3A6B !important;
}

.ui-dialog .ui-dialog-buttonpane .ui-button:first-child
{
background: #102851 !important;
}

/* Overlay más suave */
.ui-widget-overlay
{
background: #102851 !important;
opacity: 0.4 !important;
}
.form-group { padding: 5px; }

/* En .input-group (Bootstrap flex row), la label debe ocupar toda la fila
   para no restar ancho al input y evitar que el valor salga recortado */
.form-group-default.input-group > label { flex: 0 0 100%; width: 100%; }