/* Gestión ISS – mismo lenguaje visual que application.issvalencia.com (amarillo + rojo ISS) */
:root {
  --iss-yellow: #FFDB46;
  --iss-yellow-soft: #FFF6CF;
  --iss-red: #C8102E;
  --iss-red-dark: #A00D25;
  --iss-ink: #222;
  --iss-bg: #F6F5F1;
  --bs-link-color: var(--iss-red);
  --bs-link-hover-color: var(--iss-red-dark);
  --bs-link-color-rgb: 200, 16, 46;
  --bs-link-hover-color-rgb: 160, 13, 37;
}
body { background: var(--iss-bg); color: var(--iss-ink); }
body.bg-login { background: linear-gradient(180deg, var(--iss-yellow) 0, var(--iss-yellow) 210px, var(--iss-bg) 210px); }

/* Navegación */
.site-header { background: var(--iss-yellow); box-shadow: 0 2px 6px rgba(0,0,0,.08); }
.site-logo { height: 40px; width: auto; }
.brand-text { font-weight: 700; color: var(--iss-red); letter-spacing: .04em; text-transform: uppercase; font-size: .85rem; }
.site-header .nav-link { color: #222; font-weight: 500; }
.site-header .nav-link.active, .site-header .nav-link:hover { color: var(--iss-red); }
.site-header .dropdown-item:active { background: var(--iss-red); }
@media (min-width: 992px) {
  .site-header .nav-item.dropdown:hover > .dropdown-menu { display: block; margin-top: 0; }
}

/* Marca */
.text-brand { color: var(--iss-red) !important; }
.btn-brand {
  --bs-btn-color: #fff; --bs-btn-bg: var(--iss-red); --bs-btn-border-color: var(--iss-red);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--iss-red-dark); --bs-btn-hover-border-color: var(--iss-red-dark);
  --bs-btn-active-bg: var(--iss-red-dark); --bs-btn-active-border-color: var(--iss-red-dark);
  --bs-btn-focus-shadow-rgb: 200, 16, 46;
}
.form-control:focus, .form-select:focus { border-color: #e7a3ae; box-shadow: 0 0 0 .2rem rgba(200,16,46,.15); }
.form-check-input:checked { background-color: var(--iss-red); border-color: var(--iss-red); }

/* Tarjetas y secciones */
.section-head {
  background: var(--iss-yellow); font-weight: 700; padding: .55rem 1rem; font-size: .95rem;
  border-radius: var(--bs-card-border-radius) var(--bs-card-border-radius) 0 0;
}
.section-head .bi { margin-right: .3rem; }
.subhead {
  font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: #6b6b6b; margin: 1.25rem 0 .5rem; padding-top: 1rem; border-top: 1px solid #eee;
}
.form-label { font-size: .8rem; color: #555; margin-bottom: .15rem; }

/* KPIs */
.kpi .kpi-label { font-size: .8rem; color: #6b6b6b; }
.kpi .kpi-value { font-size: 1.9rem; font-weight: 700; line-height: 1.1; }
.kpi { border-left: 4px solid var(--iss-yellow) !important; }

/* Tablas */
.table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: #555; white-space: nowrap; }
.table-sortable th[data-sort] { cursor: pointer; user-select: none; }
.table-sortable th[data-sort]::after { content: " \2195"; color: #bbb; font-size: .75em; }
.table-sortable th[data-dir="asc"]::after { content: " \2191"; color: var(--iss-red); }
.table-sortable th[data-dir="desc"]::after { content: " \2193"; color: var(--iss-red); }
.cursos-table tr.quitado td { opacity: .35; text-decoration: line-through; }

/* Barra de acciones fija abajo */
.action-bar {
  position: sticky; bottom: 0; z-index: 10; display: flex; align-items: center; gap: 1rem;
  background: rgba(255,255,255,.96); backdrop-filter: blur(4px);
  padding: .65rem 1rem; border-radius: .5rem; box-shadow: 0 -2px 12px rgba(0,0,0,.08); margin-top: .5rem;
}
[hidden] { display: none !important; }
.form-control.is-done { background: #eef8ee; border-color: #b6dcb6; }

/* Cursos en listados */
.course-badge { background: var(--iss-yellow-soft); color: #222; border: 1px solid #f0d97a; font-weight: 600; cursor: help; margin: 1px 0; }
.course-badge.alt { background: #f1f1f1; border-color: #ddd; color: #777; font-weight: 500; }
.course-badge .nota { background: #222; color: #fff; border-radius: .25rem; padding: 0 .25rem; margin-left: .15rem; }
.iss-popover { --bs-popover-header-bg: var(--iss-yellow); --bs-popover-max-width: 340px; --bs-popover-font-size: .8rem; }

.kpi-alert { border-left-color: var(--iss-red) !important; }
.kpi-alert .kpi-value { color: var(--iss-red); }
.asignar-form .form-select { min-width: 0; }
@media print {
  .site-header, .no-print, .action-bar, .alert { display: none !important; }
  body { background: #fff; }
  .card { box-shadow: none !important; border: 1px solid #ccc !important; break-inside: avoid; }
  .familia-card td:last-child { display: none; }
  a { color: #000 !important; text-decoration: none !important; }
}
