/*
 * Puente BS3 -> BS5 (rediseño FCC). Basado en veggo-bs5-compat.css de la referencia y ampliado con lo que usa FCC.
 * Las páginas migradas siguen llevando marcado Bootstrap 3 (y lo reciben por AJAX: includes/get*.php, detalle*.php).
 * Estas reglas lo mantienen legible dentro del tema BS5. Se carga justo después de bootstrap 5 / bootstrap-icons.
 * Los colores salen de las variables del tema (fcc.css); los valores de respaldo son la paleta FCC.
 */

/* ---------- Glyphicons -> Bootstrap Icons ----------
   Los 9 de la referencia van aquí con su código; bs3-puente.js añade además la clase bi-* equivalente
   a los 35 glyphicons que usa FCC (también en el marcado que llega por AJAX). */
.glyphicon { display: inline-block; font-family: "bootstrap-icons" !important; font-style: normal; font-weight: normal !important; line-height: 1; vertical-align: -.125em; -webkit-font-smoothing: antialiased; }
.glyphicon-trash::before { content: "\f5de"; }
.glyphicon-plus::before { content: "\f64d"; }
.glyphicon-edit::before { content: "\f4ca"; }
.glyphicon-file::before { content: "\f38b"; }
.glyphicon-th-list::before { content: "\f478"; }
.glyphicon-remove::before { content: "\f659"; }
.glyphicon-search::before { content: "\f52a"; }
.glyphicon-unchecked::before { content: "\f584"; }
.glyphicon-log-out::before { content: "\f1c3"; }

/* ---------- Botones ---------- */
.btn-default { --bs-btn-color: var(--fc-ink, #2E2E2E); --bs-btn-bg: #fff; --bs-btn-border-color: #D3D9E4;
  --bs-btn-hover-color: var(--fc-ink, #2E2E2E); --bs-btn-hover-bg: #EEF1F6; --bs-btn-hover-border-color: #C3CBDA;
  --bs-btn-active-color: var(--fc-ink, #2E2E2E); --bs-btn-active-bg: #E3E8F0; --bs-btn-active-border-color: #C3CBDA; }
.btn-xs { --bs-btn-padding-y: .15rem; --bs-btn-padding-x: .45rem; --bs-btn-font-size: .75rem; --bs-btn-border-radius: .3rem; }
.btn-xs:not(.btn) { display: inline-block; padding: .15rem .45rem; font-size: .75rem; border: 1px solid transparent; border-radius: .3rem; color: #fff; }
.btn-danger.btn-xs:not(.btn) { background: var(--fc-red, #C0392B); }
.btn-danger.btn-xs:not(.btn):disabled { opacity: .55; }
/* .btn-fcc / .button1 de estilos2.css (azul #4aa8d2 fijo) -> primario del tema */
.btn.btn-fcc, .btn.button1, .btn-fcc, .button1 {
  --bs-btn-color: #fff; --bs-btn-bg: var(--fc-navy, #18316A); --bs-btn-border-color: var(--fc-navy, #18316A);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--fc-navy-dark, #132857); --bs-btn-hover-border-color: var(--fc-navy-dark, #132857);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--fc-navy-darker, #0E1E42); --bs-btn-active-border-color: var(--fc-navy-darker, #0E1E42);
  background: var(--bs-btn-bg); }
.btn.btn-fcc:hover, .btn.btn-fcc:focus, .btn.btn-fcc:active, .btn.btn-fcc.active { background: var(--bs-btn-hover-bg); color: #fff; }
.btn-block { display: block; width: 100%; }
.btn-block + .btn-block { margin-top: .5rem; }
.btn-lg { --bs-btn-font-size: 1rem; }
.btn-link { --bs-btn-color: var(--fc-navy, #18316A); --bs-btn-hover-color: var(--fc-navy-darker, #0E1E42); }

/* ---------- Formularios / rejilla ---------- */
.form-group { margin-bottom: 1rem; }
.form-horizontal .form-group { display: flex; flex-wrap: wrap; margin-left: calc(var(--bs-gutter-x, 1.5rem) * -.5); margin-right: calc(var(--bs-gutter-x, 1.5rem) * -.5); }
.form-horizontal .form-group > [class*="col-"] { padding-left: calc(var(--bs-gutter-x, 1.5rem) * .5); padding-right: calc(var(--bs-gutter-x, 1.5rem) * .5); }
@media (min-width: 768px) { .form-horizontal .control-label { text-align: right; padding-top: .45rem; } }
.control-label { font-weight: 600; font-size: .8125rem; color: #565656; }
.form-group > label[class*="col-"], .form-group > [class*="col-"] { padding-left: calc(var(--bs-gutter-x, 1.5rem) * .5); padding-right: calc(var(--bs-gutter-x, 1.5rem) * .5); }
.form-group:has(> [class*="col-"]) { display: flex; flex-wrap: wrap; margin-left: calc(var(--bs-gutter-x, 1.5rem) * -.5); margin-right: calc(var(--bs-gutter-x, 1.5rem) * -.5); }
.input-md { font-size: .9375rem; }
.input-sm { padding: .25rem .5rem; font-size: .8125rem; border-radius: .3rem; }
.input-lg { padding: .6rem 1rem; font-size: 1.05rem; border-radius: .5rem; }
.input-group-addon { display: flex; align-items: center; padding: .375rem .75rem; font-size: .875rem; color: var(--fc-gray-700, #565656); background: #F5F7FA; border: 1px solid #D3D9E4; }
.input-group-addon:first-child { border-right: 0; border-radius: .5rem 0 0 .5rem; }
.input-group-addon:last-child { border-left: 0; border-radius: 0 .5rem .5rem 0; }
.input-group-btn { display: flex; }
.help-block { display: block; margin-top: .25rem; font-size: .8125rem; color: var(--fc-gray-600, #676767); }
.has-error .form-control { border-color: var(--fc-red, #C0392B); }
.has-error .control-label, .has-error .help-block { color: var(--fc-red, #C0392B); }
.has-success .form-control { border-color: var(--fc-green, #36783B); }
.form-inline { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.form-inline .form-group { margin-bottom: 0; }
.checkbox, .radio { display: block; margin: .5rem 0; }
.checkbox label, .radio label { display: inline-flex; align-items: center; gap: .4rem; font-weight: 400; cursor: pointer; }
.checkbox-inline, .radio-inline { display: inline-flex; align-items: center; gap: .4rem; margin-right: 1rem; font-weight: 400; cursor: pointer; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--fc-navy, #18316A); }
select.form-control:not([multiple]):not([size]) { padding-right: 2.25rem; background-image: var(--bs-form-select-bg-img); background-repeat: no-repeat; background-position: right .75rem center; background-size: 16px 12px; appearance: none; }

/* Rejilla xs (BS3: siempre activa) y offsets BS3.
   .col-xs-N = .col-N de BS5: ancho fijo en todas las anchuras. Va sin media query y DESPUÉS de bootstrap.min.css,
   así que con la misma especificidad (0,1,0) vence a .row > * (width:100%) de BS5 y, en .row-fluid, a :where(.row-fluid) > *. */
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { flex: 0 0 auto; padding-left: calc(var(--bs-gutter-x, 1.5rem) * .5); padding-right: calc(var(--bs-gutter-x, 1.5rem) * .5); }
.col-xs-1 { width: 8.333333%; } .col-xs-2 { width: 16.666667%; } .col-xs-3 { width: 25%; } .col-xs-4 { width: 33.333333%; }
.col-xs-5 { width: 41.666667%; } .col-xs-6 { width: 50%; } .col-xs-7 { width: 58.333333%; } .col-xs-8 { width: 66.666667%; }
.col-xs-9 { width: 75%; } .col-xs-10 { width: 83.333333%; } .col-xs-11 { width: 91.666667%; } .col-xs-12 { width: 100%; }
.col-xs-offset-0 { margin-left: 0; } .col-xs-offset-1 { margin-left: 8.333333%; } .col-xs-offset-2 { margin-left: 16.666667%; } .col-xs-offset-3 { margin-left: 25%; }
.col-xs-offset-4 { margin-left: 33.333333%; } .col-xs-offset-5 { margin-left: 41.666667%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-7 { margin-left: 58.333333%; }
.col-xs-offset-8 { margin-left: 66.666667%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-10 { margin-left: 83.333333%; } .col-xs-offset-11 { margin-left: 91.666667%; }
/* Orden mobile-first de BS3: como .col-xs-* va después de bootstrap.min.css, pisaba a .col-sm/md/lg-* en TODAS las anchuras
   ("col-lg-4 ... col-xs-12" de envios.php quedaba al 100 % y las dos columnas caían una debajo de otra; igual
   "col-md-3 col-sm-4 col-xs-6" en centros.php y "col-sm-3 col-xs-6" en personal.php, siempre al 50 %).
   Se repiten aquí, tras las xs, los anchos de BS5 en sus mismas media queries (576/768/992) para que el breakpoint mayor gane.
   Los offsets BS3 de sm/md/lg usan esos mismos breakpoints de BS5, para que el desplazamiento entre a la vez que el ancho. */
@media (min-width: 576px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { flex: 0 0 auto; }
  .col-sm-1 { width: 8.333333%; } .col-sm-2 { width: 16.666667%; } .col-sm-3 { width: 25%; } .col-sm-4 { width: 33.333333%; }
  .col-sm-5 { width: 41.666667%; } .col-sm-6 { width: 50%; } .col-sm-7 { width: 58.333333%; } .col-sm-8 { width: 66.666667%; }
  .col-sm-9 { width: 75%; } .col-sm-10 { width: 83.333333%; } .col-sm-11 { width: 91.666667%; } .col-sm-12 { width: 100%; }
  .col-sm-offset-0 { margin-left: 0; } .col-sm-offset-1 { margin-left: 8.333333%; } .col-sm-offset-2 { margin-left: 16.666667%; } .col-sm-offset-3 { margin-left: 25%; }
  .col-sm-offset-4 { margin-left: 33.333333%; } .col-sm-offset-5 { margin-left: 41.666667%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-7 { margin-left: 58.333333%; }
  .col-sm-offset-8 { margin-left: 66.666667%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-10 { margin-left: 83.333333%; } .col-sm-offset-11 { margin-left: 91.666667%; }
}
@media (min-width: 768px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { flex: 0 0 auto; }
  .col-md-1 { width: 8.333333%; } .col-md-2 { width: 16.666667%; } .col-md-3 { width: 25%; } .col-md-4 { width: 33.333333%; }
  .col-md-5 { width: 41.666667%; } .col-md-6 { width: 50%; } .col-md-7 { width: 58.333333%; } .col-md-8 { width: 66.666667%; }
  .col-md-9 { width: 75%; } .col-md-10 { width: 83.333333%; } .col-md-11 { width: 91.666667%; } .col-md-12 { width: 100%; }
  .col-md-offset-0 { margin-left: 0; } .col-md-offset-1 { margin-left: 8.333333%; } .col-md-offset-2 { margin-left: 16.666667%; } .col-md-offset-3 { margin-left: 25%; }
  .col-md-offset-4 { margin-left: 33.333333%; } .col-md-offset-5 { margin-left: 41.666667%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-7 { margin-left: 58.333333%; }
  .col-md-offset-8 { margin-left: 66.666667%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-10 { margin-left: 83.333333%; } .col-md-offset-11 { margin-left: 91.666667%; }
}
@media (min-width: 992px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { flex: 0 0 auto; }
  .col-lg-1 { width: 8.333333%; } .col-lg-2 { width: 16.666667%; } .col-lg-3 { width: 25%; } .col-lg-4 { width: 33.333333%; }
  .col-lg-5 { width: 41.666667%; } .col-lg-6 { width: 50%; } .col-lg-7 { width: 58.333333%; } .col-lg-8 { width: 66.666667%; }
  .col-lg-9 { width: 75%; } .col-lg-10 { width: 83.333333%; } .col-lg-11 { width: 91.666667%; } .col-lg-12 { width: 100%; }
  .col-lg-offset-0 { margin-left: 0; } .col-lg-offset-1 { margin-left: 8.333333%; } .col-lg-offset-2 { margin-left: 16.666667%; } .col-lg-offset-3 { margin-left: 25%; }
  .col-lg-offset-4 { margin-left: 33.333333%; } .col-lg-offset-5 { margin-left: 41.666667%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-7 { margin-left: 58.333333%; }
  .col-lg-offset-8 { margin-left: 66.666667%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-10 { margin-left: 83.333333%; } .col-lg-offset-11 { margin-left: 91.666667%; }
}
/* push/pull de BS3: ninguna página rediseñada ni fragmento AJAX los usa (audit 2026-11-03); no se mapean. */
/* .row-fluid (BS2) con hijos .col-* / .spanN: se comporta como una .row de BS5 (flex + wrap, gutter negativo).
   width:auto (no 100%) para que el margen negativo no la desplace; la regla con .app-bs5 vence a la de fcc.css (.app-card .row-fluid). */
.row-fluid, .app-bs5 .app-card .row-fluid { --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; display: flex; flex-wrap: wrap; width: auto; max-width: none; margin-top: calc(-1 * var(--bs-gutter-y)); margin-right: calc(-.5 * var(--bs-gutter-x)); margin-left: calc(-.5 * var(--bs-gutter-x)); }
/* Igual que .row > * de BS5, pero con :where (especificidad 0) para que .col-md-6 & cía. sigan fijando su ancho */
:where(.row-fluid) > * { flex-shrink: 0; width: 100%; max-width: 100%; margin-top: var(--bs-gutter-y); }
.row-fluid > [class*="col-"], .row-fluid > [class*="span"] { padding-left: calc(var(--bs-gutter-x) * .5); padding-right: calc(var(--bs-gutter-x) * .5); }
.span1, .span2, .span3, .span4, .span5, .span6, .span7, .span8, .span9, .span10, .span11, .span12 { flex: 0 0 auto; }
.span1 { width: 8.333333%; } .span2 { width: 16.666667%; } .span3 { width: 25%; } .span4 { width: 33.333333%; }
.span5 { width: 41.666667%; } .span6 { width: 50%; } .span7 { width: 58.333333%; } .span8 { width: 66.666667%; }
.span9 { width: 75%; } .span10 { width: 83.333333%; } .span11 { width: 91.666667%; } .span12 { width: 100%; }
/* Un .container heredado dentro del shell no vuelve a limitar el ancho: se trata como container-fluid, sin centrar */
.app-content .container, .app-card .container { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }
.pull-right { float: right !important; } .pull-left { float: left !important; }
.center-block { display: block; margin-left: auto; margin-right: auto; }
.text-right { text-align: right !important; } .text-left { text-align: left !important; }
.hidden { display: none !important; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
@media (max-width: 767.98px) { .hidden-xs { display: none !important; } }
@media (min-width: 768px) and (max-width: 991.98px) { .hidden-sm { display: none !important; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .hidden-md { display: none !important; } }
@media (min-width: 1200px) { .hidden-lg { display: none !important; } }
.visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; }
@media (max-width: 767.98px) { .visible-xs { display: block !important; } }
@media (min-width: 768px) and (max-width: 991.98px) { .visible-sm { display: block !important; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .visible-md { display: block !important; } }
@media (min-width: 1200px) { .visible-lg { display: block !important; } }
.img-responsive { max-width: 100%; height: auto; }
.img-circle { border-radius: 50%; }
.img-rounded { border-radius: .5rem; }
.thumbnail { display: block; padding: .25rem; background: #fff; border: 1px solid #E3E7EE; border-radius: .5rem; }
.caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px solid; border-right: 4px solid transparent; border-left: 4px solid transparent; }
.thead-inverse th { background: #F5F7FA; }
.table-condensed > :not(caption) > * > * { padding: .3rem .5rem; }
.page-header { padding-bottom: .5rem; margin: 1.5rem 0 1rem; border-bottom: 1px solid #E3E7EE; }
.well { min-height: 20px; padding: 1rem; margin-bottom: 1rem; background: #F5F7FA; border: 1px solid #E3E7EE; border-radius: .75rem; }
/* .affix (plugin BS3): fijo en su sitio; bajo el shell nuevo se hace sticky bajo la barra superior */
.affix { position: fixed; }
body.app-bs5 .affix { position: sticky; top: calc(var(--fc-topbar-h, 60px) + 1rem); width: auto !important; }

/* Etiquetas / badges BS3 */
.label { display: inline-block; padding: .25em .55em; font-size: .75em; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .375rem; background: var(--fc-gray-600, #676767); }
.label-primary { background: var(--fc-navy, #18316A); } .label-success { background: var(--fc-green, #36783B); }
.label-info { background: var(--fc-blue, #007299); } .label-warning { background: var(--fc-orange, #F39C12); color: #2E2E2E; }
.label-danger { background: var(--fc-red, #C0392B); } .label-default { background: var(--fc-gray-600, #676767); }
.badge:not([class*="bg-"]):not([class*="text-bg"]) { background: var(--fc-gray-600, #676767); color: #fff; }

/* ---------- Paneles ---------- */
.panel { margin-bottom: 1rem; background: #fff; border: 1px solid #E3E7EE; border-radius: .75rem; }
.panel-heading { padding: .75rem 1rem; border-bottom: 1px solid #E3E7EE; font-weight: 700; }
.panel-title { margin: 0; font-size: 1rem; font-weight: 700; }
.panel-body { padding: 1rem; }
.panel-footer { padding: .75rem 1rem; background: #F5F7FA; border-top: 1px solid #E3E7EE; border-radius: 0 0 .75rem .75rem; }
.panel-primary > .panel-heading { background: var(--fc-navy, #18316A); color: #fff; border-radius: .75rem .75rem 0 0; }
.panel-success > .panel-heading { background: #EAF3EA; color: #275628; }
.panel-info > .panel-heading { background: #E3F1F6; color: #00566F; }
.panel-warning > .panel-heading { background: #FDF1DC; color: #8A5A07; }
.panel-danger > .panel-heading, .modal-content.panel-danger .modal-header { background: #F9E7E5; color: #A93226; }

/* ---------- Modales BS3 ---------- */
/* "modal show" estático (avisos de acceso restringido) y botón .close */
.modal.show:not(.fade) { display: block; position: relative; z-index: auto; }
.close { float: right; font-size: 1.5rem; font-weight: 700; line-height: 1; color: inherit; opacity: .6; background: transparent; border: 0; padding: 0; text-shadow: none; }
.close:hover { opacity: 1; }
/* width en línea (style="width:90%") en .modal-dialog: BS5 lo limitaría con max-width */
.modal-dialog[style*="width"] { max-width: none; }
@media (min-width: 768px) { .modal-dialog[style*="width"] { margin-left: auto; margin-right: auto; } }
.modal-header { display: flex; align-items: center; gap: .75rem; }
.modal-header > h4.modal-title, .modal-header > h3 { margin: 0; }
.fade.in { opacity: 1; }
.tab-content > .tab-pane.in { opacity: 1; }

/* ---------- Pestañas BS3 (ul.nav-tabs > li.active > a) ---------- */
.nav > li > a { display: block; padding: .5rem 1rem; text-decoration: none; }
.nav-tabs > li { margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width, 1px)); }
.nav-tabs > li > a { border: 1px solid transparent; border-top-left-radius: .5rem; border-top-right-radius: .5rem; }
.nav-tabs > li > a:hover { border-color: #E9EDF3 #E9EDF3 #DFE3EB; }
.nav-tabs > li.active > a { background: #fff; border-color: #DFE3EB #DFE3EB #fff; }
.nav-pills > li.active > a { background: var(--fc-navy, #18316A); color: #fff; border-radius: .5rem; }
.tabbable .tab-content { padding-top: 1rem; }

/* ---------- Dropdown BS3 (ul.dropdown-menu > li > a) ---------- */
.dropdown-menu > li > a { display: block; padding: .4rem 1rem; clear: both; font-weight: 400; color: var(--fc-ink, #2E2E2E); white-space: nowrap; text-decoration: none; }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background: #EEF1F6; color: var(--fc-ink, #2E2E2E); }
.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover { background: var(--fc-navy, #18316A); color: #fff; }
.dropdown-menu > .disabled > a { color: #B3BACA; pointer-events: none; }
.dropdown-menu > li.divider, .dropdown-menu .divider { height: 1px; margin: .4rem 0; overflow: hidden; background: #E3E7EE; }
.dropdown-header { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }

/* ---------- bootstrap-multiselect 0.9 (plantillas BS3) dentro de BS5 ---------- */
.multiselect-container.dropdown-menu { max-height: 300px; overflow-y: auto; padding: .35rem 0; }
.multiselect-container > li > a { display: block; padding: .3rem .9rem; color: var(--fc-ink, #2E2E2E); text-decoration: none; }
.multiselect-container > li > a:hover { background: #EEF1F6; }
.multiselect-container > li > a > label { display: flex; align-items: center; gap: .5rem; margin: 0; padding: 0 !important; font-weight: 400; cursor: pointer; width: 100%; }
.multiselect-container > li > a > label > input[type="checkbox"] { margin: 0; accent-color: var(--fc-navy, #18316A); }
.multiselect-container > li.active > a { background: #E3E8F3; }
.btn-group > .multiselect.dropdown-toggle { text-align: left; }
/* la plantilla 0.9 ya pinta su <b class="caret">: sin la flecha ::after de BS5 (salía doble) */
.btn-group > .multiselect.dropdown-toggle:has(.caret)::after { display: none; }

/* ---------- bootstrap-select 1.12 (BS3) dentro de BS5 ---------- */
.bootstrap-select.btn-group > .dropdown-toggle { text-align: left; }
.bootstrap-select.btn-group > .dropdown-toggle:has(.caret)::after { display: none; }
.bootstrap-select .dropdown-menu > li > a { display: block; padding: .3rem .9rem; }
.bootstrap-select .dropdown-menu > li.selected > a { background: #E3E8F3; }
.bootstrap-select.open > .dropdown-menu, .bootstrap-select > .dropdown-menu.show { display: block; }

/* ---------- Paginación DataTables BS3 (li > a) ---------- */
.pagination > li > a, .pagination > li > span { display: block; padding: .35rem .7rem; text-decoration: none; }

/* ---------- bootstrap-timepicker 0.5 (BS3) ---------- */
.bootstrap-timepicker-widget.dropdown-menu.open { display: inline-block; }
.bootstrap-timepicker-widget table td a { color: var(--fc-navy, #18316A); text-decoration: none; }
.bootstrap-timepicker-widget .glyphicon-chevron-up::before { content: "\f286"; }
.bootstrap-timepicker-widget .glyphicon-chevron-down::before { content: "\f282"; }

/* ---------- Aviso de "acceso restringido" ----------
   Va en el puente (no en fcc.css) porque esa rama no llama a get_header_bs5(), que es quien carga el tema.
   Lo pinta la rama else de cada página (#loginModal.modal.show + .panel-danger):
   misma card que .fc-restricted de la referencia, sin tocar el marcado */
#loginModal.modal.show:not(.fade) { display: grid !important; place-items: center; min-height: calc(100vh - 5rem); padding: 1rem; font-family: var(--bs-body-font-family); }
#loginModal.modal.show:not(.fade) > .modal-dialog { width: 100%; max-width: 460px; margin: 0; }
#loginModal .modal-content.panel-danger { text-align: center; border: 1px solid #E3E7EE; border-radius: var(--fc-radius, .75rem); box-shadow: 0 1px 2px rgba(14,30,66,.04), 0 2px 8px rgba(14,30,66,.06); }
#loginModal .modal-content.panel-danger > .modal-header { display: block; background: #fff !important; color: var(--fc-ink, #2E2E2E); border: 0; padding: 2rem 1.5rem .5rem; }
#loginModal .modal-content.panel-danger > .modal-header::before { content: ""; display: block; width: 64px; height: 64px; border-radius: 50%; margin: 0 auto 1rem;
  background: #F9E7E5 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='%23A93226' viewBox='0 0 16 16'%3e%3cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2m3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2'/%3e%3c/svg%3e") no-repeat center; }
#loginModal .modal-content.panel-danger > .modal-header img { display: none; }
#loginModal .modal-content.panel-danger > .modal-header h1 { font-size: 1.35rem; font-weight: 700; margin: 0; color: var(--fc-ink, #2E2E2E); }
#loginModal .modal-content.panel-danger > .modal-body { color: var(--fc-gray-600, #676767); padding: .5rem 1.75rem 1rem; }
#loginModal .modal-content.panel-danger > .modal-footer { border: 0; padding: 0 1.75rem 1.75rem; }
#loginModal .modal-content.panel-danger > .modal-footer .btn { width: 100%; float: none; }
