/*
 * Solicitudes BC y PAV — usa los mismos estilos de los módulos de SISEMAA
 * (Control Académico, Equiparación de Títulos): mismos colores, tarjetas y tablas.
 */
.btn-ver      { background:#0C3B5D; color:#fff; border:none; border-radius:8px; }
.btn-ver:hover { background:#0a2f4a; color:#fff; }
.btn-editar   { background:#9ca3af; color:#fff; border:none; border-radius:8px; }
.btn-editar:hover { background:#8b949e; color:#fff; }
.btn-eliminar { background:#dc2626; color:#fff; border:none; border-radius:8px; }
.btn-eliminar:hover { background:#b91c1c; color:#fff; }
.btn-nuevo  { background:#0C3B5D; color:#fff; border:none; border-radius:8px; font-size:13px; padding:7px 16px; }
.btn-nuevo:hover { background:#0a2f4a; color:#fff; }
.btn-buscar { background:#41ADE7; color:#fff; border:none; border-radius:8px; font-size:13px; }
.btn-buscar:hover { background:#2d9fd8; color:#fff; }
.btn-exito  { background:#168b54; color:#fff; border:none; border-radius:8px; }
.btn-exito:hover { background:#127446; color:#fff; }
.btn-claro  { background:#fff; color:#0C3B5D; border:0.5px solid #d1d5db; border-radius:8px; }
.btn-claro:hover { background:#f3f4f6; color:#0C3B5D; }

table th { font-size:13px; color:#0C3B5D; padding:12px 16px; font-weight:600; }
table td { font-size:13px; padding:12px 16px; vertical-align:middle; }
.num { text-align:right; white-space:nowrap; font-variant-numeric: tabular-nums; }

.module-banner { background:#0C3B5D; border-radius:16px; padding:20px 28px; display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:1.5rem; }
.module-banner-breadcrumb { font-size:12px; color:#9fc9ea; margin-bottom:8px; }
.module-banner-breadcrumb a { color:#9fc9ea; text-decoration:none; }
.module-banner-breadcrumb a:hover { color:#fff; }
.module-banner-title { display:flex; align-items:center; gap:14px; }
.module-icon { width:44px; height:44px; border-radius:50%; background:#41ADE7; color:#fff; display:flex;
  align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.module-banner-title h2 { color:#fff; font-size:22px; font-weight:700; margin:0; }
.module-banner-title p { color:#c3dcf0; font-size:13px; margin:2px 0 0; }
.module-banner-stats { display:flex; gap:10px; flex-wrap:wrap; }
.stat-pill { background:rgba(255,255,255,.12); border-radius:10px; padding:10px 18px; text-align:center; min-width:90px; }
.stat-num { color:#fff; font-size:20px; font-weight:700; }
.stat-lbl { color:#c3dcf0; font-size:11px; margin-top:2px; }

.resumen-card { background:#0C3B5D; border-radius:12px; padding:18px 20px 16px; position:relative; overflow:hidden;
  min-height:96px; height:100%; }
.resumen-card .stripe { position:absolute; left:0; right:0; bottom:0; height:5px; }
.resumen-card .stripe.rojo { background:#dc2626; } .resumen-card .stripe.ambar { background:#d97706; }
.resumen-card .stripe.celeste { background:#41ADE7; } .resumen-card .stripe.verde { background:#168b54; }
.resumen-card .label { color:#bed2e6; font-size:13px; margin-bottom:6px; }
.resumen-card h2 { color:#fff; font-weight:700; font-size:22px; margin:0; white-space:nowrap; }
.resumen-card .sub { color:#bed2e6; font-size:11px; margin-top:4px; }

.badge-estado { font-size:11px; padding:4px 12px; border-radius:20px; font-weight:600; display:inline-block; white-space:nowrap; }
.estado-REC { background:#eff6ff; color:#1d4ed8; border:0.5px solid #bfdbfe; }
.estado-BOR { background:#f3f4f6; color:#4b5563; border:0.5px solid #d1d5db; }
.estado-TRA { background:#fff8e6; color:#b45309; border:0.5px solid #fde68a; }
.estado-APR { background:#f0fdf4; color:#168b54; border:0.5px solid #bbf7d0; }
.estado-RCH { background:#fff0f0; color:#dc2626; border:0.5px solid #fecaca; }
.estado-DES { background:#f3f4f6; color:#374151; border:0.5px solid #9ca3af; }
.estado-CER { background:#e8f1f8; color:#0C3B5D; border:0.5px solid #b9d3e8; }

.exp-page { max-width: 1200px; margin: 0 auto; }
.exp-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:1.25rem; flex-wrap:wrap;
  gap:1rem; border-left:5px solid #0C3B5D; padding-left:16px; }
.exp-header h1 { font-size:1.35rem; font-weight:700; color:#0C3B5D; margin:0 0 3px; }
.exp-header p  { font-size:13px; color:#6b7280; margin:0; }
.info-banner { background:#eff6ff; border:0.5px solid #bfdbfe; border-radius:8px; padding:10px 14px; font-size:13px;
  color:#1d4ed8; display:flex; align-items:center; gap:8px; margin-bottom:1.25rem; }
.error-banner { background:#fff0f0; border:0.5px solid #fecaca; border-radius:8px; padding:12px 14px; font-size:13px;
  color:#b91c1c; display:flex; align-items:flex-start; gap:8px; margin-bottom:1.25rem; }
.aviso-banner { background:#fff8e6; border:0.5px solid #fde68a; border-radius:8px; padding:12px 14px; font-size:13px;
  color:#92400e; display:flex; align-items:flex-start; gap:8px; margin-bottom:1.25rem; }

.panel { background:#fff; border:0.5px solid #e5e7eb; border-radius:12px; overflow:hidden; margin-bottom:1rem; }
.panel-hdr { padding:12px 16px; font-size:13px; font-weight:700; border-bottom:0.5px solid #e5e7eb; display:flex;
  align-items:center; gap:8px; background:#f8fafc; color:#0C3B5D; }
.panel-hdr .derecha { margin-left:auto; font-weight:500; color:#6b7280; font-size:12px; }
.panel-body { padding:14px 16px; }
.frow { display:grid; grid-template-columns:260px 1fr; border-bottom:0.5px solid #f3f4f6; }
.frow:last-child { border-bottom:none; }
.flbl { background:#f9fafb; padding:10px 14px; font-size:12px; font-weight:600; color:#6b7280; border-right:0.5px solid #f3f4f6;
  display:flex; align-items:flex-start; padding-top:12px; }
.flbl .req { color:#dc2626; margin-left:3px; }
.fval { padding:8px 12px; font-size:13px; color:#111827; min-height:38px; }
.fval.vacio { color:#9ca3af; }
.fval input:not([type=checkbox]):not([type=radio]), .fval select, .fval textarea { width:100%; font-size:13px; padding:6px 10px;
  border:0.5px solid #d1d5db; border-radius:8px; background:#fff; color:#111827; font-family:inherit; }
.fval input:focus, .fval select:focus, .fval textarea:focus { outline:none; border-color:#0C3B5D;
  box-shadow:0 0 0 3px rgba(12,59,93,.1); }
.fval input:disabled, .fval select:disabled { background:#f3f4f6; color:#6b7280; }
.fval .is-invalid, .fval .campo-error input, .fval .campo-error select { border-color:#dc2626 !important; }
.fval .error { font-size:12px; color:#dc2626; margin-top:4px; }
.help-block { font-size:11px; color:#9ca3af; margin-top:4px; }
.fval .multiple > div { columns:2; }
.fval .multiple label { font-size:13px; display:flex; gap:6px; align-items:flex-start; padding:2px 0; break-inside:avoid; }
.fval .multiple input, .fval input[type=radio] { width:auto !important; accent-color:#0C3B5D; margin-top:3px; }
.radios > div { display:flex; flex-direction:column; gap:6px; }
.radios label { font-size:13px; display:flex; gap:8px; align-items:flex-start; }
.check-radio label { margin-right:14px; font-size:13px; }

.pestanas { border-bottom:1px solid #e5e7eb; gap:4px; flex-wrap:wrap; margin-bottom:1rem; }
.pestanas .nav-link { font-size:13px; color:#6b7280; border:none; border-bottom:3px solid transparent; border-radius:0;
  padding:10px 12px; font-weight:600; }
.pestanas .nav-link:hover { color:#0C3B5D; }
.pestanas .nav-link.active { color:#0C3B5D; border-bottom-color:#0C3B5D; background:transparent; }
.pestanas .nav-link .punto-error { width:8px; height:8px; border-radius:50%; background:#dc2626; display:inline-block; margin-left:6px; }
.pestanas .nav-link .num-pestana { display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%;
  background:#e5e7eb; color:#374151; font-size:11px; margin-right:6px; }
.pestanas .nav-link.active .num-pestana { background:#0C3B5D; color:#fff; }

.exp-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:1.25rem; padding-top:1rem; border-top:0.5px solid #e5e7eb;
  flex-wrap:wrap; }
.acciones-tramite { display:flex; flex-wrap:wrap; gap:8px; }
.historial { list-style:none; padding:0; margin:0; }
.historial li { padding:10px 16px; border-bottom:0.5px solid #f3f4f6; font-size:13px; display:flex; gap:12px; }
.historial li:last-child { border-bottom:none; }
.historial .icono { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; flex:none; font-size:13px; }
.historial .estado .icono { background:#e8f1f8; color:#0C3B5D; }
.historial .pago .icono { background:#f0fdf4; color:#168b54; }
.historial .meta { font-size:11px; color:#9ca3af; }
.negativo { color:#dc2626; }
.positivo { color:#168b54; }

@media (max-width: 640px) {
  .frow { grid-template-columns: 1fr; }
  .flbl { border-right:none; border-bottom:0.5px solid #f3f4f6; }
  .fval .multiple > div { columns:1; }
}
.frow.compacta { grid-template-columns: 1fr auto; }
.frow.compacta .fval { padding-left:16px; }
