/*
 * Tema visual del backoffice (docs/12-PLAN-MEJORA-UX.md).
 * Lo carga WEB-INF/jspf/tema.jspf despues de style.css y style_tab.css, solo con tema_enabled=1
 * en general.properties. Solo cambia el aspecto (letra, colores, bordes, sombras, menu, campos,
 * botones, tablas, mensajes y login), no el tamano ni la posicion de los bloques.
 * Fichero en ASCII: style.css esta en ISO-8859-1.
 *
 * Paleta: azul marino #1d4e74 (principal), #24547a (cabeceras), texto #1f2933,
 * etiquetas #3e6d8e (contraste 5,5:1 sobre blanco), bordes #d9e2ec, fondo #eef2f6.
 */

/* ---------- Letra y fondo ---------- */
body {
	font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	color: #1f2933;
	/* Degradado suave, algo mas oscuro tras la cabecera, y en ella el simbolo del logotipo como marca de agua:
	   asoma por detras del menu, a la izquierda del buscador, y lo corta la barra azul del submenu */
	background: #eef2f6;
	background-image: url(../img/marca_agua_cabecera.svg), linear-gradient(180deg, #dfe7f0 0, #eef2f6 300px);
	background-repeat: no-repeat;
	background-position: right 600px top 8px, 0 0;
	background-size: 160px 160px, auto;
}
input, select, textarea, button {
	font-family: inherit;
	font-size: 13px;
}
label, .reserva_label, .reserva_label1, .reserva_label2 {
	font-family: inherit;
	color: #3e6d8e;
}

/* ---------- Cabecera ---------- */
#head {
	height: auto;
	min-height: 44px;
}
.login {
	height: auto;
	padding: 8px 12px;
	background: #ffffff;
	border: 1px solid #d9e2ec;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(16, 42, 67, 0.06);
}
.login_usuario {
	font-weight: 600;
	color: #1f2933;
}

/* ---------- Menu de pestanas ---------- */
#divnav {
	border-bottom: 3px solid #1d4e74;
	height: 30px;
}
#nav {
	font-family: inherit;
}
#nav li, #nav li.on, #nav li.off, #nav li:hover.on, #nav li:hover.off {
	background: none !important;
}
#nav li a, #nav li.on a, #nav li.off a {
	background: none !important;
	height: 23px;
	padding-top: 7px;
	color: #52606d;
	font-weight: 600;
	letter-spacing: 0.04em;
	border-radius: 6px 6px 0 0;
}
#nav li.off > a:hover {
	color: #1d4e74;
	background: #dfe7ef !important;
}
#nav li.on > a, #nav li.on > a:hover {
	color: #ffffff;
	background: #1d4e74 !important;
}
/* El submenu empieza justo bajo las pestanas y tapa el borde, sin rendija blanca entre los dos */
#nav li.on ul, #nav li.off ul, #nav li.over ul {
	background: #1d4e74 !important;
	top: 30px;
	margin-top: 0;
}
#nav li.on ul a, #nav li.off ul a, #nav li.on ul a:hover, #nav li.off ul a:hover {
	height: 20px;
	padding-top: 2px;
	color: #c9dbea;
	font-weight: 500;
	letter-spacing: 0.03em;
	background: transparent !important;
	border-radius: 0;
}
#nav li.on ul a:hover, #nav li.off ul a:hover {
	color: #ffffff;
}

/* ---------- Contenedor, titulo y pie ---------- */
.container {
	margin-top: 26px;
	border: 1px solid #d9e2ec;
	border-top: 0;
	border-radius: 0 0 10px 10px;
	box-shadow: 0 2px 6px rgba(16, 42, 67, 0.08);
	/* Marca de agua: el simbolo del logotipo, muy tenue, abajo a la derecha de la tarjeta. Las filas de los grids
	   la dejan ver (las alternas llevan un velo azul en vez de un gris opaco); las cajas quedan por encima */
	background: #ffffff url(../img/marca_agua.svg) no-repeat;
	background-position: right 32px bottom 36px;
	background-size: 300px 300px;
}
.titulo {
	font-size: 17px;
	font-weight: 600;
	color: #1d4e74;
	margin-top: 14px !important;
	margin-bottom: 8px;
}
.footer, .footer a {
	color: #7b8794;
}

/* ---------- Bloques (fieldset) ---------- */
.fieldset {
	border: 1px solid #d9e2ec;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(16, 42, 67, 0.05);
}
/* Titulos de seccion de los informes (legend1) */
div.legend1 span {
	background: #ffffff;
	border-left: 0;
	color: #1d4e74;
	font-size: 13px;
	font-weight: 600;
}
div.legend span {
	padding: 0 6px;
	border-left: 0;
	background: #ffffff;
	color: #1d4e74;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
/* El titulo se sube sobre el borde, pero conserva su alto para no pisar la primera linea */
div.legend {
	top: -9px;
	left: 4px;
}
/* Separacion vertical entre bloques. Con #reserva_ficha se imponen a los margenes por id de style.css */
.fieldset, #reserva_ficha .fieldset {
	margin-top: 18px;
	margin-bottom: 4px;
}
.div_table {
	border: 1px solid #d9e2ec;
	border-radius: 10px;
	background: #ffffff;
}
.div_content {
	background: #f7f9fb;
	border-radius: 10px 0 0 10px;
}
.div_buttons {
	background: #f0f4f8;
	border-left: 1px solid #d9e2ec;
	border-radius: 0 10px 10px 0;
}

/* ---------- Campos ---------- */
input[type="text"], input[type="password"], input:not([type]), select, textarea {
	border: 1px solid #c3cfdb;
	border-radius: 4px;
	background: #ffffff;
	color: #1f2933;
}
input[type="text"]:focus, input[type="password"]:focus, input:not([type]):focus, select:focus, textarea:focus {
	outline: none;
	border-color: #1d4e74;
	box-shadow: 0 0 0 3px rgba(29, 78, 116, 0.18);
}
.input_disable, input.readonly, input[readonly] {
	background: #f0f3f6;
	border-color: #e4e9ef;
	color: #616e7c;
}

/* ---------- Botones ---------- */
input[class^="btn_"], input[class*=" btn_"] {
	min-height: 24px;
	border: 1px solid #b6c6d6;
	border-radius: 5px;
	background-color: #ffffff;
	color: #1d4e74;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	box-shadow: 0 1px 1px rgba(16, 42, 67, 0.05);
}
input[class^="btn_"]:hover, input[class*=" btn_"]:hover {
	border-color: #1d4e74;
	background-color: #e6eef5;
	color: #102a43;
}
/* "Ver Planning" y "Exportar CSV" (btn_login fuera del login): con esta letra no caben en 90 px */
input.btn_login {
	width: auto;
	min-width: 90px;
	padding-right: 8px;
}
/* Accion principal: Grabar y Buscar */
input.btn_submit, input.btn_buscar {
	border-color: #1d4e74;
	background-color: #e3edf6;
	color: #102a43;
	font-weight: 700;
}

/* ---------- Tablas y listados ---------- */
.table {
	border: 1px solid #d9e2ec;
	font-size: 0.95em;
}
.table td {
	padding: 3px 6px;
	border-right: 1px solid #edf1f5;
}
.table .head td, .table .head td:hover, .table .footer td, .table .footer td:hover {
	background: #24547a;
	color: #ffffff;
	padding: 5px 6px;
	border-bottom: 0;
	border-top: 0;
	font-weight: 600;
}
.table .paginado {
	background: #f7f9fb;
}
.table tr.lin1, .table tr.lin1rojo, .table tr.lin1verde, .table tr.lin1azul, .table tr.lin1naranja, .table tr.lin1noshow {
	background: rgba(29, 78, 116, 0.035);
}
.table tr:hover {
	background: #e7f0f7;
}
.table td:hover {
	background: transparent;
}
/* Estado: color del texto de toda la fila y, en el grid de reservas, una franja en el borde izquierdo */
.table tr.lin1verde, .table tr.lin2verde { color: #237a4b; }
.table tr.lin1azul, .table tr.lin2azul { color: #2c5fb8; }
.table tr.lin1naranja, .table tr.lin2naranja { color: #b7791f; }
.table tr.lin1rojo, .table tr.lin2rojo { color: #b42318; }
.table tr.lin1noshow, .table tr.lin2noshow { color: #d92d20; }
#reserva_listado tr[class$="verde"] td:first-child { box-shadow: inset 4px 0 0 #2f9e62; }
#reserva_listado tr[class$="azul"] td:first-child { box-shadow: inset 4px 0 0 #2c5fb8; }
#reserva_listado tr[class$="naranja"] td:first-child { box-shadow: inset 4px 0 0 #e3990b; }
#reserva_listado tr[class$="rojo"] td:first-child { box-shadow: inset 4px 0 0 #b42318; }
#reserva_listado tr[class$="noshow"] td:first-child { box-shadow: inset 4px 0 0 #d92d20; }
#reserva_listado tr.lin1 td:first-child, #reserva_listado tr.lin2 td:first-child { box-shadow: inset 4px 0 0 #9aa5b1; }
#reserva_listado tr td:first-child {
	padding-left: 9px;
}

/* Opcion activa del submenu */
#nav li ul a.sel, #nav li.on ul a.sel, #nav li.on ul a.sel:hover {
	color: #ffffff;
	font-weight: 700;
	box-shadow: inset 0 -2px 0 #e2a900;
}
/* En las tablas, los botones de cada fila siguen siendo compactos */
.table input[class^="btn_"], .table input[class*=" btn_"] {
	min-height: 0;
	box-shadow: none;
}
.table td {
	padding: 1px 6px;
}
.table input.btn_editar {
	height: 18px;
	padding-top: 0;
	padding-bottom: 0;
}

/* ---------- Mensajes (info.jsp) ---------- */
/* Solo color y borde: los iconos de style.css se mantienen */
#info_container, #warning_container, #error_container {
	margin: 6px 0;
	border: 1px solid;
	border-radius: 6px;
}
#info_container { background-color: #eaf2fb; border-color: #c5d9ee; }
#warning_container { background-color: #fdf6e3; border-color: #f0dca4; }
#error_container { background-color: #fbeaea; border-color: #efc2c2; }
.info { color: #1d4e74; }
.warning { color: #9a3412; }
.error { color: #b42318; }

/* ---------- Login (admin/login.jsp) ---------- */
/* El simbolo del logotipo grande, de fondo, abajo a la izquierda y saliendo de la ventana */
body.pagina_login {
	background-image: url(../img/marca_agua.svg), linear-gradient(180deg, #dfe7f0 0, #eef2f6 300px);
	background-position: left -150px bottom -170px, 0 0;
	background-size: 680px 680px, auto;
	background-attachment: fixed;
}
body.pagina_login > br {
	display: none;
}
.form_login {
	width: 340px;
	margin: 9vh auto 24px;
	padding: 28px 32px 26px;
	background: #ffffff;
	border: 1px solid #d9e2ec;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(16, 42, 67, 0.10);
}
.form_login .login_logo {
	text-align: center;
}
.form_login .tituloLogin {
	margin: 14px 0 18px;
	padding: 0;
	text-align: center;
	color: #1d4e74;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.form_login form > br, .form_login .loginForm br, .form_login .login_hueco, .form_login .box_btn_login {
	display: none;
}
.form_login .loginForm {
	width: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
}
.form_login .loginForm label {
	display: block;
	float: none;
	width: auto;
	margin: 14px 0 5px;
	padding: 0;
	text-align: left;
	color: #3e6d8e;
	font-size: 12px;
	font-weight: 600;
}
.form_login .loginForm input.login-input {
	display: block;
	width: 100%;
	height: 36px;
	box-sizing: border-box;
	padding: 6px 10px;
	font-size: 14px;
}
.form_login .login_ayuda {
	display: block;
	margin-top: 5px;
	color: #616e7c;
	font-size: 11.5px;
}
/* "Recordar la identificacion en este equipo" (js/login.js) */
.form_login .loginForm .login_recordar {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: 10px;
}
.form_login .loginForm .login_recordar input {
	margin: 0;
}
.form_login .loginForm .login_recordar label {
	display: inline;
	margin: 0;
	color: #52606d;
	font-size: 12px;
	font-weight: 400;
}
.form_login input.btn_login, .form_login input.btn_login:hover {
	display: block;
	width: 100%;
	height: 38px;
	margin-top: 22px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: #1d4e74;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.03em;
}
.form_login input.btn_login:hover {
	background: #163d5c;
}
.form_login input.btn_login:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(29, 78, 116, 0.30);
}
.form_login #info_container {
	background-color: #fdf3e7;
	border-color: #f3cf9f;
	margin: 0 0 4px;
}
.form_login .info {
	color: #8a4b08;
}

/* =====================================================================
   Componentes heredados con estilo propio: jQuery UI, DataTables, calendarios,
   planning, panel de control y precios. Mismos colores que el resto del tema:
   cabeceras #1d4e74 / #24547a, fondos claros #f7f9fb / #e3ecf4, bordes #d9e2ec.
   ===================================================================== */

/* ---------- Combos con color propio (hotel azul, agencia amarillo, tipo de contrato crema) ---------- */
select#hotel, select.hotel, select#agencia, select.agencia, select#tcontrato, select.tcontrato,
input#tcontrato, input.tcontrato, #hotel option, #agencia option, #tcontrato option {
	background-color: #ffffff;
}
select#hotel, select.hotel, select#agencia, select.agencia, select#tcontrato, select.tcontrato,
input#tcontrato, input.tcontrato {
	border-color: #c3cfdb;
}

/* ---------- jQuery UI: pestanas, calendario de fechas, dialogos y botones ---------- */
.ui-widget, .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
	font-family: inherit;
	font-size: 13px;
}
.ui-widget-content {
	border-color: #d9e2ec;
	background: #ffffff;
	color: #1f2933;
}
.ui-widget-header {
	border: 1px solid #1d4e74;
	background: #1d4e74;
	color: #ffffff;
	font-weight: 600;
}
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
	border: 1px solid #c3cfdb;
	background: #f0f4f8;
	color: #1d4e74;
	font-weight: 600;
}
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited {
	color: #1d4e74;
}
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover,
.ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus {
	border: 1px solid #1d4e74;
	background: #e6eef5;
	color: #102a43;
}
.ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited {
	color: #102a43;
}
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
	border: 1px solid #1d4e74;
	background: #1d4e74;
	color: #ffffff;
}
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
	color: #ffffff;
}
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
	border: 1px solid #e2a900;
	background: #fff6d9;
	color: #5f4b00;
}
.ui-corner-all, .ui-corner-top, .ui-corner-tl, .ui-corner-tr {
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
}
.ui-corner-all, .ui-corner-bottom, .ui-corner-bl, .ui-corner-br {
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
}
/* Iconos blancos sobre fondo oscuro y azul marino sobre fondo claro */
.ui-widget-header .ui-icon, .ui-state-active .ui-icon {
	filter: brightness(0) invert(1);
}
.ui-state-default .ui-icon, .ui-state-hover .ui-icon {
	filter: brightness(0) saturate(100%) invert(22%) sepia(40%) saturate(1400%) hue-rotate(180deg);
}

/* Pestanas (idiomas de contratos, agencias, habitaciones, servicios...): como las del menu */
.ui-tabs {
	padding: 0;
	border: 1px solid #d9e2ec;
	border-radius: 8px;
	background: #ffffff;
}
.ui-tabs .ui-tabs-nav {
	padding: 6px 8px 0;
	border: 0;
	border-bottom: 3px solid #1d4e74;
	border-radius: 8px 8px 0 0;
	background: #f7f9fb;
}
.ui-tabs .ui-tabs-nav li, .ui-tabs .ui-tabs-nav li.ui-state-default {
	margin: 0 2px 0 0;
	border: 0;
	border-radius: 6px 6px 0 0;
	background: transparent;
}
.ui-tabs .ui-tabs-nav li a {
	padding: 6px 14px;
	color: #52606d;
	font-weight: 600;
}
.ui-tabs .ui-tabs-nav li.ui-state-hover {
	background: #dfe7ef;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active, .ui-tabs .ui-tabs-nav li.ui-tabs-active.ui-state-hover {
	margin-bottom: 0;
	padding-bottom: 0;
	background: #1d4e74;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active a {
	color: #ffffff;
}
.ui-tabs .ui-tabs-panel {
	padding: 10px 12px;
}

/* Calendario de fechas */
.ui-datepicker {
	padding: 4px;
	border-radius: 8px;
	box-shadow: 0 6px 18px rgba(16, 42, 67, 0.18);
}
.ui-datepicker .ui-datepicker-header {
	border-radius: 6px;
}
.ui-datepicker th {
	color: #3e6d8e;
	font-weight: 600;
}
.ui-datepicker td a.ui-state-default {
	border-color: #e4e9ef;
	background: #ffffff;
	font-weight: 500;
	text-align: center;
}
.ui-datepicker td a.ui-state-hover {
	background: #e6eef5;
}
.ui-datepicker td a.ui-state-highlight {
	border-color: #e2a900;
	background: #fff6d9;
}
.ui-datepicker td a.ui-state-active {
	background: #1d4e74;
	color: #ffffff;
}

/* Dialogos */
.ui-dialog {
	padding: 0;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(16, 42, 67, 0.20);
}
.ui-dialog .ui-dialog-titlebar {
	border-radius: 8px 8px 0 0;
}

/* ---------- DataTables (listados con ordenacion y buscador) ---------- */
.dataTables_wrapper {
	font-size: 0.95em;
}
div.dataTables_wrapper .ui-toolbar, div.dataTables_wrapper .ui-widget-header {
	padding: 5px 8px;
	border: 1px solid #d9e2ec;
	background: #f7f9fb;
	color: #1f2933;
	font-weight: normal;
}
.dataTables_wrapper .dataTables_length select, .dataTables_wrapper .dataTables_filter input {
	margin: 0 4px;
}
.dataTables_wrapper table thead th, .dataTables_wrapper table thead th.ui-state-default {
	padding: 5px 6px;
	border: 0;
	border-right: 1px solid #2f6690;
	background: #24547a;
	color: #ffffff;
	font-weight: 600;
	text-align: left;
}
.dataTables_wrapper table thead th .ui-icon {
	filter: brightness(0) invert(1);
	opacity: 0.85;
}
.dataTables_wrapper tr.odd, .dataTables_wrapper tr.odd td {
	background-color: rgba(29, 78, 116, 0.035);
}
.dataTables_wrapper tr.even, .dataTables_wrapper tr.even td {
	background-color: transparent;
}
.dataTables_wrapper tr.odd, .dataTables_wrapper tr.even {
	border-bottom: 1px solid #edf1f5;
}
.dataTables_wrapper tbody td {
	padding: 2px 6px;
}
.dataTables_wrapper tbody tr:hover td {
	background-color: #e7f0f7;
}
.dataTables_wrapper td.sorting_1, .dataTables_wrapper td.sorting_2, .dataTables_wrapper td.sorting_3 {
	background-color: transparent;
}
.dataTables_wrapper .fg-button {
	margin-left: 3px;
	padding: 2px 8px;
	border: 1px solid #c3cfdb;
	border-radius: 5px;
	background: #ffffff;
	color: #1d4e74;
	font-weight: 500;
	cursor: pointer;
}
.dataTables_wrapper .fg-button.ui-state-hover {
	border-color: #1d4e74;
	background: #e6eef5;
}
.dataTables_wrapper .fg-button.ui-state-disabled {
	opacity: 0.45;
	cursor: default;
}

/* ---------- Calendarios: planning, panel de control y servicios ---------- */
/* Anyo y mes en azul marino; dias en azul claro con texto oscuro; festivos y fines de semana en rojo */
.planning_anno1, .planning_anno2, .pcontrol2_anno1, .pcontrol2_anno2 {
	border-color: #1d4e74;
	background: #1d4e74;
	color: #ffffff;
	font-weight: 600;
}
.planning_mes1, .planning_mes2, .pcontrol2_mes1, .pcontrol2_mes2, .mes, td.mes:hover {
	border-color: #24547a;
	background: #24547a;
	color: #ffffff;
	font-weight: 600;
}
.planning_dia1, .planning_dia2, .pcontrol2_dia1, .pcontrol2_dia2, .dia_sem, td.dia_sem:hover {
	border-color: #c9d6e3;
	background: #e3ecf4;
	color: #1d4e74;
}
.planning_dia1_festivo, .planning_dia2_festivo, .pcontrol2_dia1_festivo, .pcontrol2_dia2_festivo, .dia_sem.festivo {
	border-color: #c9d6e3;
	background: #e3ecf4;
	color: #b42318;
}
.calendario .tit-anno, .calendario .tit-mes {
	background: #24547a;
	color: #ffffff;
}
.calendario .tit-dia {
	background: #e3ecf4;
	color: #1d4e74;
}
.calendario .festivo .tit-dia {
	color: #b42318;
}
.calendario .lista-meses .lista-dias li.cierre-venta .tit-dia {
	background: #9aa5b1;
	color: #ffffff;
}

/* Panel de control: modificaciones masivas */
#pcontrol_box_mod .pcontrol_tit, #pcontrol_box_mod .pcontrol_tit2, #pcontrol_box_mod #pcontrol_seleccion .pcontrol_tit2 {
	color: #1d4e74;
	font-weight: 600;
}
#pcontrol_seleccion, #pcontrol_precios, #pcontrol_planning {
	border: 1px solid #d9e2ec;
	border-radius: 8px;
	background: #f7f9fb;
}
#pcontrol_stop_sales_box, #pcontrol_open_sales_box {
	border-color: #d9e2ec;
	border-radius: 6px;
	background: #ffffff;
}
#pcontrol_stop_sales_btn, #pcontrol_open_sales_btn {
	min-height: 24px;
	border: 1px solid #b6c6d6;
	border-radius: 5px;
	background-color: #ffffff;
	color: #1d4e74;
	font-weight: 600;
}
#pcontrol_stop_sales_btn:hover, #pcontrol_open_sales_btn:hover {
	border-color: #1d4e74;
	background-color: #e6eef5;
	color: #102a43;
}
.ctos_titulo {
	color: #1d4e74;
	font-weight: 600;
}

/* ---------- Precios de los contratos ---------- */
.ctos_precios_std_cab, .ctos_precios_std_cab1, .ctos_dtos_adultos_cab, .ctos_dtos_ninos1_cab, .ctos_dtos_ninos2_cab {
	border-color: #2f6690;
	background: #24547a;
	color: #ffffff;
	font-weight: 600;
}
#td_cont5 {
	background: #1d4e74;
}
#tipo_pax1_txt a, #tipo_pax2_txt a, #tipo_pax3_txt a {
	color: #ffffff;
}
#tipo_pax1_txt.checked a, #tipo_pax2_txt.checked a, #tipo_pax3_txt.checked a {
	border: 0;
	border-radius: 6px 6px 0 0;
	background: #e3ecf4;
	color: #1d4e74;
	font-weight: 600;
}

/* ---------- Pestanas de idioma propias (galas y ofertas) ---------- */
#galas_nombres_tabla ul, #of_tabla_publicacion ul {
	height: auto;
	border-bottom: 3px solid #1d4e74;
}
#galas_nombres_tabla li, #of_tabla_publicacion li {
	border: 0;
	border-radius: 6px 6px 0 0;
	background-color: transparent;
}
#galas_nombres_tabla li a, #of_tabla_publicacion li a {
	padding: 4px 0 3px 10px;
	color: #52606d;
	font-weight: 600;
}
#galas_nombres_tabla li.active, #of_tabla_publicacion li.active {
	background-color: #1d4e74;
}
#galas_nombres_tabla li.active a, #of_tabla_publicacion li.active a {
	color: #ffffff;
}

/* ---------- Cabeceras de los grids en una sola linea ---------- */
.table .head td, .table .head th, .table thead th, .dataTables_wrapper table thead th {
	white-space: nowrap;
}
/* Dias de la semana de las ofertas (LMXJVSD): letra de ancho fijo para que las columnas cuadren */
#of_listado td.dias_semana {
	font-family: Consolas, "Courier New", monospace;
	letter-spacing: 1px;
}
/* Icono de ordenacion de DataTables a la derecha del titulo, en la misma linea */
.dataTables_wrapper table thead th div.DataTables_sort_wrapper {
	position: relative;
	padding-right: 16px;
}
.dataTables_wrapper table thead th div.DataTables_sort_wrapper span.ui-icon {
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -8px;
	float: none;
}
/* Las columnas que no se ordenan (sin tabindex) no tienen icono: no se les reserva el hueco */
.dataTables_wrapper table thead th:not([tabindex]) div.DataTables_sort_wrapper {
	padding-right: 0;
}
/* Tablas dentro de las fichas (servicios extra de la reserva): misma cabecera que los grids */
#reserva_servicios th {
	background-color: #24547a;
	color: #ffffff;
	font-weight: 600;
	white-space: nowrap;
}

/* ---------- Reservas: leyenda, botonera y cabeceras fijas ---------- */
.reserva_leyenda {
	color: #52606d;
}
.reserva_leyenda .leyenda_peticion:before { background: #9aa5b1; }
.reserva_leyenda .leyenda_naranja { color: #b7791f; }
.reserva_leyenda .leyenda_naranja:before { background: #e3990b; }
.reserva_leyenda .leyenda_verde { color: #237a4b; }
.reserva_leyenda .leyenda_verde:before { background: #2f9e62; }
.reserva_leyenda .leyenda_azul { color: #2c5fb8; }
.reserva_leyenda .leyenda_azul:before { background: #2c5fb8; }
.reserva_leyenda .leyenda_rojo { color: #b42318; }
.reserva_leyenda .leyenda_rojo:before { background: #b42318; }
.reserva_leyenda .leyenda_noshow { color: #d92d20; }
.reserva_leyenda .leyenda_noshow:before { background: #d92d20; }
.div_buttons .botonera_grupo {
	border-bottom-color: #d9e2ec;
}
.div_buttons .botonera_peligro input[class^="btn_"], .div_buttons .botonera_peligro input[class*=" btn_"] {
	border-color: #e8b4ae;
	color: #b42318;
}
/* Cabeceras de todos los grids fijas al desplazarse */
.table tr.head > td, .table tr.head > th, .table > thead > tr > th {
	position: sticky;
	top: 0;
	z-index: 2;
}
/* El calendario de fechas, por encima de esas cabeceras: jQuery UI le pone el z-index del campo + 1, que fuera de un dialogo es 1.
   Por encima tambien de los mensajes flotantes (1000) y por debajo de los submenus de la cabecera (6000) */
#ui-datepicker-div {
	z-index: 1001 !important;
}
/* Mientras se envia el formulario, el boton pulsado se ve ocupado (js/formulario.js) */
input.enviando {
	opacity: 0.6;
	cursor: wait;
}

/* Mensajes de informacion flotantes abajo a la derecha: no se pierden al desplazarse (info.jsp los cierra) */
.container #info_container {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 1000;
	max-width: 420px;
	box-shadow: 0 6px 18px rgba(16, 42, 67, 0.20);
	cursor: pointer;
}

/* Estado de la reserva en la ficha: los mismos colores que la leyenda del grid */
.peticion { color: #52606d; }
.respuesta { color: #b7791f; }
.confirmada { color: #237a4b; }
.facturacion { color: #2c5fb8; }
.cancelada { color: #b42318; }
.estado_border {
	padding: 2px 8px;
	border-radius: 12px;
}
.estado0 .estado_border0 { background: #52606d; }
.estado1 .estado_border1 { background: #b7791f; }
.estado2 .estado_border2 { background: #237a4b; }
.estado3 .estado_border3 { background: #2c5fb8; }
.estado9 .estado_border9 { background: #b42318; }

/* ---------- Resumen del dia y busqueda por localizador ---------- */
.resumen_cifra {
	border-color: #d9e2ec;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(16, 42, 67, 0.06);
	color: #52606d;
}
.resumen_cifra:hover {
	border-color: #1d4e74;
}
.resumen_numero {
	color: #1d4e74;
}
.busqueda_localizador {
	margin-top: 14px;
}
.busqueda_localizador label {
	color: #3e6d8e;
	font-weight: 600;
}

/* ---------- Planning y panel de control ---------- */
/* Lo que se muestra en el planning (disponibilidad, cupo, release...) como pestanas */
#tipo_dato {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	padding: 4px 6px 0;
	border-bottom: 3px solid #1d4e74;
	border-radius: 6px 6px 0 0;
	background: #f7f9fb;
}
#tipo_dato input.input_radio {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}
#tipo_dato label.planning_label {
	margin: 0;
	padding: 5px 12px;
	border-radius: 6px 6px 0 0;
	color: #52606d;
	font-weight: 600;
	cursor: pointer;
}
#tipo_dato label.planning_label:hover {
	background: #dfe7ef;
	color: #1d4e74;
}
#tipo_dato label.lbl_checked, #tipo_dato label.lbl_checked:hover,
#tipo_dato input.input_radio:checked + label.planning_label {
	background: #1d4e74;
	color: #ffffff;
}
#tipo_dato input.input_radio:focus + label {
	box-shadow: 0 0 0 3px rgba(29, 78, 116, 0.25);
}
/* Etiqueta junto a las flechas de navegacion (Ano, Mes, Dia) */
.navegacion_etiqueta {
	margin-left: 4px;
	color: #52606d;
	font-size: 11px;
	font-weight: 600;
	vertical-align: middle;
}
#pcontrol2 td.pcontrol2_botones, #pcontrol2 td.pcontrol-labels {
	background: #ffffff;
	box-shadow: 2px 0 0 #d9e2ec;
}

/* Registros desactivados en los grids */
.table tr.inactiva td {
	color: #9aa5b1;
}
/* ---------- Acabado profesional: cabecera, reservas y panel de control ---------- */

/* Listado de reservas: toda la fila en el color de su estado (reglas .table tr.lin1verde... de arriba), con la
   franja de la izquierda y el localizador en negrita. La peticion, en el color normal del texto */
#reserva_listado tr[class^="lin"] td:first-child {
	font-weight: 600;
}
/* Ceros de ninos e infantes, atenuados: se leen mejor los que no lo son */
.table td .cero {
	color: #c3ccd5;
}
/* Fila de paginacion: rango y total, y flechas como botones */
.table .paginado .paginado_texto {
	color: #52606d;
}
.table .paginado .paginado_texto strong {
	color: #1f2933;
	font-weight: 600;
}
input.btn_priorpage, input.btn_nextpage {
	width: 28px;
	height: 24px;
	min-height: 0;
	padding: 0;
	border: 1px solid #c3cfdb;
	border-radius: 5px;
	background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M7.5 2.5 4 6l3.5 3.5' fill='none' stroke='%231d4e74' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
	background-size: 12px 12px;
	cursor: pointer;
}
input.btn_nextpage {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4.5 2.5 8 6l-3.5 3.5' fill='none' stroke='%231d4e74' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
input.btn_priorpage:hover, input.btn_nextpage:hover {
	border-color: #1d4e74;
	background-color: #e6eef5;
}
input.btn_priorpage[disabled], input.btn_nextpage[disabled] {
	opacity: 0.4;
	cursor: default;
}

/* Ficha de reserva: resumen arriba (localizador, estado, cliente, hotel, fechas, pax e importe) */
.reserva_resumen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 0;
	margin: 0 0 14px;
	padding: 10px 16px;
	border: 1px solid #d9e2ec;
	border-left: 4px solid #1d4e74;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(16, 42, 67, 0.05);
	color: #52606d;
}
.reserva_resumen {
	box-sizing: border-box;
	max-width: 1000px;
}
/* Desde 1880px la ficha pasa a dos columnas (style.css) y el resumen ocupa todo el ancho */
@media (min-width: 1880px) {
	.reserva_resumen {
		max-width: none;
	}
}
.reserva_resumen span {
	margin: 0;
}
.reserva_resumen .resumen_localizador {
	margin-right: 12px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #1d4e74;
}
.reserva_resumen .resumen_estado {
	margin-right: 18px;
	padding: 2px 10px;
	border-radius: 11px;
	font-size: 12px;
	font-weight: 600;
}
.resumen_peticion { background: #eef1f4; color: #52606d; }
.resumen_naranja { background: #fdf3e2; color: #9a5b0a; }
.resumen_verde { background: #e7f5ee; color: #1e6b41; }
.resumen_azul { background: #e8effb; color: #2a56a6; }
.resumen_rojo, .resumen_noshow { background: #fbeaea; color: #a3261b; }
.reserva_resumen .resumen_cliente {
	margin-right: 18px;
	font-weight: 600;
	color: #1f2933;
}
.reserva_resumen .resumen_dato {
	padding: 0 14px;
	border-left: 1px solid #e1e7ee;
}
.reserva_resumen .resumen_importe {
	margin-left: auto;
	padding-left: 14px;
	font-size: 16px;
	font-weight: 700;
	color: #1f2933;
}
/* Botonera de la ficha: siempre a la vista al desplazarse por el formulario */
.botonera_fija {
	position: sticky;
	top: 12px;
}

/* Panel de control: navegacion con chevrones */
#pcontrol2 input.pcontrol2_navegacion_prior, #pcontrol2 input.pcontrol2_navegacion_next {
	width: 24px;
	height: 20px;
	min-height: 0;
	margin: 1px;
	padding: 0;
	border: 1px solid #c3cfdb;
	border-radius: 4px;
	background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M7.5 2.5 4 6l3.5 3.5' fill='none' stroke='%231d4e74' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
	background-size: 11px 11px;
	cursor: pointer;
}
#pcontrol2 input.pcontrol2_navegacion_next {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4.5 2.5 8 6l-3.5 3.5' fill='none' stroke='%231d4e74' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
#pcontrol2 input.pcontrol2_navegacion_prior:hover, #pcontrol2 input.pcontrol2_navegacion_next:hover {
	border-color: #1d4e74;
	background-color: #e6eef5;
}
/* Anyo discreto; mes, con su nombre, en azul marino */
#pcontrol2 td.pcontrol2_anno1, #pcontrol2 td.pcontrol2_anno2 {
	height: 20px;
	border-color: #d9e2ec;
	background: #f0f4f8;
	color: #1d4e74;
	font-size: 11px;
	letter-spacing: 0.08em;
}
#pcontrol2 td.pcontrol2_mes1, #pcontrol2 td.pcontrol2_mes2 {
	letter-spacing: 0.03em;
}
/* Hoy: filo amarillo en su cabecera y en los lados de su columna */
#pcontrol2 td.pcontrol2_hoy {
	background: #ffffff;
	box-shadow: inset 0 3px 0 #e2a900;
	color: #102a43;
	font-weight: 700;
}
#pcontrol2 td.pcontrol2-datos.hoy {
	box-shadow: inset 1px 0 0 rgba(226, 169, 0, 0.65), inset -1px 0 0 rgba(226, 169, 0, 0.65);
}
/* Conceptos de la izquierda y precios de referencia del contrato */
#pcontrol2-labels-precios, .pcontrol2-datos-precios {
	background: #f7f9fb;
}
#pcontrol2-labels-precios td, #pcontrol2-labels-planning td {
	padding-right: 10px;
	color: #334e68;
	font-weight: 600;
}
.pcontrol2-precio-contrato {
	background: #eef3f8;
	color: #334e68;
}
.pcontrol2-tipo-precio {
	color: #829ab1;
}
.pcontrol2-datos.festivo .pcontrol2-precio-contrato {
	background: #fbf5ea;
}
.pcontrol2-datos.festivo .pcontrol2-tipo-precio {
	color: #b4534a;
}
/* Sin disponibilidad: rojo suave; ventas cerradas: gris y tachado */
.pcontrol2-datos-planning td.nodisp input {
	border-color: #e8b4ae !important;
	background: #fdecea;
	color: #b42318;
}
.pcontrol2-datos.cierre-ventas input,
.pcontrol2-datos.cierre-ventas .pcontrol2-datos-planning tr td.pcontrol2-dato-ocupacion input {
	border-color: #d3dae2;
	background: #eceff3;
	color: #8a96a3;
}
/* Grabar el calendario es la accion principal del panel */
input.btn_submit-pcontrol {
	border-color: #1d4e74;
	background-color: #e3edf6;
	color: #102a43;
	font-weight: 700;
}
