/* Biblioteca y Seguimiento: composición compacta y controles compartidos. */
/* Iconos decorativos: conservan el texto accesible y heredan el color de la pestaña. */
#cbd-main-tabs .cbd-pestana-biblioteca::before,
#cbd-main-tabs .cbd-pestana-seguimiento::before { content:""; display:inline-block; width:1em; height:1em; flex-shrink:0; margin-right:.5em; vertical-align:-.08em; background:currentColor; mask:var(--cbd-icono-pestana) center / contain no-repeat; }
.cbd-pestana-biblioteca { --cbd-icono-pestana:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h7l2 2h9v13H3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.cbd-pestana-seguimiento { --cbd-icono-pestana:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Cpath d='M2 20v-2a7 7 0 0 1 14 0v2M17 4a3 3 0 0 1 0 6M19 13a6 6 0 0 1 3 5v2'/%3E%3C/g%3E%3C/svg%3E"); }
.cbd-resumen-fila { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; padding:8px 20px; background:#fff; }
.cbd-navegacion-biblioteca { position:relative; }
.cbd-acciones-cabecera { position:absolute; top:0; right:20px; display:flex; flex-wrap:wrap; align-items:center; gap:9px; min-height:44px; }
.cbd-navegacion-biblioteca #cbd-main-tabs.nav-tabs,.cbd-navegacion-biblioteca #cbd-main-tabs .nav-tabs { max-width:calc(100% - 320px); }
@media(max-width:1100px) {
 .cbd-acciones-cabecera { position:static; justify-content:flex-end; min-height:0; margin:12px 20px 0; }
 .cbd-navegacion-biblioteca #cbd-main-tabs.nav-tabs,.cbd-navegacion-biblioteca #cbd-main-tabs .nav-tabs { max-width:calc(100% - 40px); }
}
.cbd-resumen { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:.8rem; color:#64748B; }
.cbd-resumen strong { color:#003875; font-variant-numeric:tabular-nums; }
.cbd-selector-vista { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.cbd-vistas-titulo { color:#475569; font-size:.74rem; font-weight:600; }
:is(#cbd-kpi-strip-wrapper,#modal-listado-campogramas) #camp-trash-open,
#listas-library-trash { color:#334155; background:#fff; border-color:#B9C4D2; }
:is(#cbd-kpi-strip-wrapper,#modal-listado-campogramas) #camp-trash-open > i,
#listas-library-trash > .fa-trash-alt { display:none; }
:is(#cbd-kpi-strip-wrapper,#modal-listado-campogramas) #camp-trash-open::before,
#listas-library-trash:not(:has(.fa-arrow-left))::before { content:""; width:16px; height:16px; flex-shrink:0; background:url("/assets/icons/cbd-papelera.svg") center/contain no-repeat; }
:is(#cbd-kpi-strip-wrapper,#modal-listado-campogramas) #camp-trash-open:hover,
#listas-library-trash:hover { color:#1E293B; background:#F1F5F9; border-color:#94A3B8; }
:is(#cbd-kpi-strip-wrapper,#modal-listado-campogramas) #camp-drafts-open { color:#334155; background:#F1F5F9; border-color:#94A3B8; }
:is(#cbd-kpi-strip-wrapper,#modal-listado-campogramas) #camp-drafts-open:hover { color:#1E293B; background:#E2E8F0; border-color:#64748B; }
:is(#cbd-kpi-strip-wrapper,#modal-listado-campogramas) #camp-drafts-count { display:inline-flex; align-items:center; justify-content:center; min-width:1.5em; padding:1px 5px; border-radius:4px; background:#475569; color:#fff; font-size:.68rem; font-weight:700; line-height:1.2; font-variant-numeric:tabular-nums; }
.cbd-etiqueta-geografica { display:inline-flex; align-items:center; gap:6px; max-width:100%; vertical-align:middle; }
.cbd-etiqueta-geografica > span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.cbd-bandera { width:18px; height:12px; object-fit:cover; border-radius:2px; flex-shrink:0; }
.cbd-info-ligas .cbd-etiqueta-geografica > span { white-space:normal; overflow:visible; }
.cbd-vistas { display:flex; gap:3px; padding:3px; border:1px solid #A9B8CA; border-radius:8px; background:#E8EDF3; }
.cbd-vista-opcion { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:28px; min-width:64px; margin:0; padding:4px 9px; color:#334155; background:#F8FAFC; border:1px solid #C4CFDC; font-size:.8rem; font-weight:600; border-radius:5px; cursor:pointer; }
.cbd-vista-opcion > span { display:inline-flex; align-items:center; gap:6px; }
.cbd-vista-opcion i { font-size:.72rem; }
.cbd-vista-opcion:hover { border-color:#9BB3CE; background:#E8F0FB; }
.cbd-vista-opcion:has(input:checked) { background:#00489A; border-color:#00489A; color:#fff; }
.cbd-vista-opcion[aria-pressed="true"] { background:#00489A; border-color:#00489A; color:#fff; }
.cbd-vista-opcion[aria-pressed="true"]:hover,.cbd-vista-opcion:has(input:checked):hover { background:#003875!important; border-color:#003875!important; color:#fff!important; }
.cbd-vista-opcion:focus-visible { outline:2px solid #C79B00; outline-offset:3px; }
.cbd-vista-opcion input,.cbd-tipo-opcion input { position:absolute; opacity:0; width:1px; height:1px; margin:0; clip-path:inset(50%); }
.cbd-vista-opcion:has(input:focus-visible),.cbd-tipo-opcion:has(input:focus-visible) { outline:2px solid #C79B00; outline-offset:3px; }
.cbd-barra-biblioteca { padding:8px 10px; margin:0 -10px 10px; border:0; border-radius:8px; background:#F7F9FC; box-shadow:none; }
.cbd-busqueda-fila { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.cbd-buscador { flex:1 1 240px; min-width:0; height:32px; border:1px solid #DDE3EE; border-radius:6px; padding:0 11px; font:inherit; font-size:.85rem; background:#fff; color:#003875; }
.cbd-buscador::placeholder { color:#7A8798; }
#cbd-filtro-busqueda { flex:0 1 360px; width:360px; max-width:100%; }
.cbd-propios { display:flex; align-items:center; font-size:.79rem; color:#475569; max-width:100%; }
.cbd-propios label { box-sizing:border-box; display:inline-flex!important; align-items:center!important; gap:6px; min-height:32px; padding:4px 9px; margin:0; border:1px solid #B9C4D2; border-radius:6px; background:#fff; font-weight:600; line-height:1.2; cursor:pointer; }
.cbd-propios label:hover { background:#F1F5F9; border-color:#94A3B8; }
.cbd-propios label:has(input:checked) { background:#EAF1FA; border-color:#8FAED0; color:#003875; }
.cbd-propios label:has(input:focus-visible) { outline:2px solid #C79B00; outline-offset:3px; }
.cbd-propios input { accent-color:#00489A; margin:0!important; width:13px; height:13px; flex:0 0 13px; align-self:center; position:static; transform:none!important; }
.cbd-propios-texto { display:block; line-height:1.2; }
.cbd-tipos { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:8px 0; }
.cbd-tipo-opcion { --cbd-tipo-fondo:#E8F0FB; --cbd-tipo-color:#00489A; --cbd-tipo-borde:#B8D4F5; position:relative; box-sizing:border-box; display:inline-flex!important; align-items:center!important; justify-content:center!important; height:30px; min-height:30px; padding:0 9px; border:1px solid var(--cbd-tipo-borde); border-radius:6px; background:var(--cbd-tipo-fondo); color:var(--cbd-tipo-color); font-size:.78rem; font-weight:600; line-height:1.2; cursor:pointer; margin:0; }
.cbd-tipo-opcion:has([data-tipo="Dato"]) { --cbd-tipo-fondo:#DDE8FF; --cbd-tipo-color:#3730A3; --cbd-tipo-borde:#AFBEFF; }
.cbd-tipo-opcion:has([data-tipo="Algoritmo auto"]) { --cbd-tipo-fondo:#F8FAFC; --cbd-tipo-color:#0E7490; --cbd-tipo-borde:#99D6E9; }
.cbd-tipo-opcion:has([data-tipo="Scout"]) { --cbd-tipo-fondo:#FFF7D6; --cbd-tipo-color:#856404; --cbd-tipo-borde:#FFE7A8; }
.cbd-tipo-opcion:has([data-tipo="Scout 11"]) { --cbd-tipo-fondo:#EDE9FE; --cbd-tipo-color:#5B21B6; --cbd-tipo-borde:#A78BFA; }
.cbd-tipo-opcion:hover { border-color:var(--cbd-tipo-color); }
.cbd-tipo-opcion:has(input:checked) { border-color:var(--cbd-tipo-color); box-shadow:inset 0 0 0 2px var(--cbd-tipo-color); }
.cbd-tipo-opcion:has(input:checked) small { opacity:1; }
.cbd-tipo-etiqueta { display:inline-flex; align-self:center; align-items:center; gap:7px; margin:0; padding:0; line-height:1.2; }
.cbd-tipo-etiqueta > span,.cbd-tipo-etiqueta > small { display:block; margin:0; padding:0; line-height:1; }
.cbd-tipo-etiqueta small { font-size:.74rem; opacity:.8; font-weight:400; font-variant-numeric:tabular-nums; }
.cbd-filtros-fila { display:flex; flex-wrap:wrap; align-items:end; gap:8px 10px; }
.seg-filtros { display:flex; flex-wrap:wrap; justify-content:flex-start; }
.seg-filtros-acciones { margin-top:8px; }
.seg-filtros-pie { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:10px; margin-top:8px; }
.seg-avanzados-panel[hidden] { display:none!important; }
.cbd-filtros-pie { display:flex; justify-content:flex-start; align-items:center; gap:12px; margin-top:8px; }
.cbd-filtros-pie > .cbd-fecha-secundaria { margin-top:0; }
.seg-avanzados-boton { display:flex; align-items:center; gap:7px; cursor:pointer; width:fit-content; min-height:30px; padding:4px 12px; border:1px solid #475569; border-radius:6px; background:#475569; color:#fff; font:inherit; font-size:.79rem; font-weight:600; list-style:none; box-shadow:0 1px 2px #25364C18; }
.seg-avanzados-boton::before { content:""; width:14px; height:14px; flex-shrink:0; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 6h4m4 0h10M3 12h10m4 0h4M3 18h4m4 0h10'/%3E%3Ccircle cx='9' cy='6' r='2'/%3E%3Ccircle cx='15' cy='12' r='2'/%3E%3Ccircle cx='9' cy='18' r='2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.seg-avanzados-boton::after { content:""; width:6px; height:6px; flex-shrink:0; margin-left:2px; margin-right:4px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.seg-avanzados-boton[aria-expanded="true"]::after { transform:translateY(2px) rotate(225deg); }
.seg-avanzados-boton[aria-expanded="true"] { background:#334155; border-color:#334155; }
.seg-avanzados-boton:hover { background:#334155; border-color:#334155; }
.seg-avanzados-boton:focus-visible { outline:2px solid #C79B00; outline-offset:3px; }
#seg-btn-limpiar,#cbd-btn-limpiar { display:inline-flex; align-items:center; gap:6px; min-height:30px; border:1px solid #E5A3A3; background:#FFF1F1; color:#B4232C; flex-shrink:0; }
#seg-btn-limpiar::before,#cbd-btn-limpiar::before { content:"↺"; font-size:1.15em; line-height:1; }
#seg-btn-limpiar:hover,#cbd-btn-limpiar:hover { border-color:#C85A5A; background:#FDE2E2; color:#991B1B; }
.seg-filtros-avanzados { display:flex; flex-wrap:wrap; justify-content:flex-start; margin-top:6px; }
.seg-filtros-activos { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.seg-filtros-activos:not(:empty) { margin-top:8px; padding:6px 9px; background:#EAF1FA; border-left:3px solid #C9A227; border-radius:0 5px 5px 0; }
.cbd-filtros-contador { display:inline-flex; align-items:center; gap:6px; color:#003875; font-size:.74rem; font-weight:700; margin-right:5px; }
.cbd-filtros-contador::before { content:""; display:inline-block; width:.85em; height:.85em; flex-shrink:0; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18l-7 8v7l-4 2v-9z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.seg-filtro-etiqueta { padding:3px 7px; border:1px solid #A9BFD9; border-radius:5px; background:#fff; font-size:.7rem; color:#003875; overflow-wrap:anywhere; }
.seg-vistas-orden { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.seg-vistas-orden > label,.cbd-resultados-fila > label { display:flex; align-items:center; gap:6px; margin:0; color:#475569; font-size:.75rem; font-weight:600; }
#seg-vista { width:135px; max-width:100%; }
#seg-orden { width:155px; max-width:100%; }
#cbd-orden { width:150px; max-width:100%; }
.seg-vistas-orden .Select-control,#cbd-orden .Select-control { border-color:#B9C4D2; background:#F8FAFC; border-radius:6px; box-shadow:0 1px 2px #25364C0A; }
.seg-vistas-orden .Select-value-label,#cbd-orden .Select-value-label { color:#25364C!important; font-weight:600; }
.seg-vistas-orden .Select-control:hover,#cbd-orden .Select-control:hover { border-color:#A77E00; background:#FFFDF7; }
.seg-vistas-orden .is-focused > .Select-control,#cbd-orden.is-focused > .Select-control { border-color:#A77E00!important; box-shadow:0 0 0 2px #C9A22722!important; }
.seg-ranking-jugadores { border:1px solid #C9A227; border-radius:8px; overflow:hidden; }
.seg-ranking-cabecera { background:#EAF1FA; padding:6px 12px; color:#003875; font-size:.74rem; font-weight:700; }
#seg-lista-jugadores { container-type:inline-size; }
.seg-player-row > div:first-child > div:first-child > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.seg-player-row > div:first-child > div:first-child > span + span { flex-shrink:0; }
.seg-player-row,.seg-columnas { display:grid; grid-template-columns:minmax(0,1fr) 235px 180px 96px; align-items:center; gap:12px; }
.seg-columnas { padding:6px 12px; color:#64748B; font-size:.7rem; border-bottom:1px solid #DDE3EE; }
.seg-fila-meta { display:flex; align-items:center; flex-wrap:wrap; gap:0 6px; }
.seg-fila-meta > span + span::before { content:"·"; padding-right:6px; color:#64748B; }
.seg-jugador-identidad { position:relative; padding-left:52px; }
.seg-jugador-retrato { position:absolute; left:0; top:50%; transform:translateY(-50%); width:42px; height:calc(100% + 4px); max-height:42px; border:1px solid #dce5ef; border-radius:8px; background:#f0f5fa; overflow:hidden; }
.seg-jugador-foto { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; opacity:0; }
.seg-jugador-foto[data-seg-loaded="1"] { opacity:1; }
.seg-jugador-retrato:has(.seg-jugador-foto[data-seg-loaded="1"]) .seg-jugador-silueta { visibility:hidden; }
.seg-jugador-silueta { position:absolute; inset:20%; background:#91a5bd; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M3 23v-3a9 9 0 0 1 18 0v3z'/%3E%3C/svg%3E") center/contain no-repeat; }
.seg-jugador-nombre { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.seg-jugador-identidad .seg-fila-meta { flex-wrap:nowrap; min-width:0; white-space:nowrap; }
.seg-meta-club { display:inline-flex; align-items:center; gap:4px; min-width:0; flex:0 1 auto; }
.seg-jugador-club-texto { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.seg-jugador-escudo { width:16px; height:16px; object-fit:contain; flex-shrink:0; }
.seg-meta-liga { display:inline-flex; align-items:center; flex-shrink:0; }
.seg-meta-liga .cbd-bandera { width:16px; height:11px; }
.seg-meta-ultima { min-width:0; flex:0 4 auto; overflow:hidden; text-overflow:ellipsis; }
.seg-fila-fuentes { display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.seg-fuente { display:inline-flex; border:1px solid; border-radius:5px; padding:1px 5px; font-size:.68rem; font-weight:600; white-space:nowrap; }
.seg-autores { color:#64748B; font-size:.7rem; }
.cbd-accion.seg-historial-boton { justify-self:start; width:max-content; max-width:100%; justify-content:center; gap:4px; padding:4px 6px; color:#59451F; background:#FFF9EB; border-color:#C9A227; box-shadow:0 1px 2px #59451F12; font-variant-numeric:tabular-nums; }
.cbd-accion.seg-historial-boton:hover { color:#49350F; background:#FFF0CF; border-color:#A77E00; }
.seg-calendario { width:180px; min-width:0; }
.seg-calendario-inactivo { font-size:.68rem; color:#64748B; }
.seg-calendario-celdas,.seg-eje-anios,.seg-eje-meses { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:3px; }
.seg-calendario-celda { height:16px; border:1px solid #CBD5E1; border-radius:2px; }
.seg-calendario-numero { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.seg-eje-anios,.seg-eje-meses { font-size:.62rem; line-height:1.2; text-align:center; }
.seg-eje-anios > div { overflow:visible; white-space:nowrap; text-align:left; }
.seg-perfiles-detalle { display:inline-flex; margin-left:8px; flex-shrink:0; }
.seg-perfiles-boton { display:inline-flex; align-items:center; gap:5px; margin:0; padding:1px 7px; border:1px solid #A9BFD9; border-radius:999px; background:#EAF1FA; color:#003875; font-family:inherit; font-size:.7rem; font-weight:700; line-height:1.4; white-space:nowrap; cursor:pointer; }
.seg-perfiles-boton:hover { background:#DBE8F7; border-color:#004080; }
.seg-perfiles-boton:focus-visible { outline:2px solid #C9A227; outline-offset:2px; }
.seg-perfiles-resumen { list-style:none; margin:0; padding:0; }
.seg-perfiles-resumen li { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.seg-perfiles-resumen li + li { margin-top:6px; }
.seg-perfiles-resumen strong { color:#003875; font-size:.7rem; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; }
.seg-perfiles-pendientes { margin-top:10px; padding-top:10px; border-top:1px solid #dce5f0; }
.seg-perfiles-pendientes:first-child { margin-top:0; padding-top:0; border-top:0; }
.seg-perfiles-pendientes-titulo { margin-bottom:6px; font-size:.7rem; font-weight:700; color:#542099; }
.seg-perfiles-pendientes .seg-perfiles-resumen > li > span { color:#64748b; overflow-wrap:anywhere; min-width:0; }
.seg-historial-jugador { font-family:inherit; font-size:.74rem; color:#003875; background:#fff; }
.seg-historial-cabecera { display:flex; align-items:center; gap:14px; padding:14px 18px; }
.seg-historial-retrato { position:relative; flex-shrink:0; }
.seg-historial-foto { display:block; width:48px; height:60px; object-fit:contain; background:#EAF1FA; border:1px solid #C9A227; border-radius:6px; }
.seg-sin-foto { display:flex; align-items:center; justify-content:center; font-size:.6rem; color:#64748B; }
.seg-historial-escudo { position:absolute; bottom:-3px; right:-4px; width:22px; height:22px; object-fit:contain; background:#fff; border-radius:50%; }
.seg-historial-identidad { min-width:0; }
.seg-historial-nombre { font-size:.85rem; font-weight:700; }
.seg-historial-club { display:flex; flex-wrap:wrap; gap:5px 10px; margin:3px 0; font-size:.74rem; font-weight:600; }
.seg-historial-basicos { color:#64748B; font-size:.7rem; }
.seg-historial-contexto { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 18px; background:#EAF1FA; border-left:3px solid #C9A227; font-size:.74rem; }
.seg-historial-alcance { padding:0 18px 7px; color:#64748B; font-size:.68rem; }
.seg-historial-resumen { display:flex; align-items:center; flex-wrap:wrap; gap:5px 10px; padding:8px 18px; border-top:1px solid #DDE3EE; border-bottom:1px solid #DDE3EE; color:#64748B; font-size:.7rem; }
.seg-historial-resumen > strong { color:#003875; font-size:.74rem; }
.seg-historial-mes { display:flex; align-items:center; justify-content:center; width:84px; min-height:28px; flex-shrink:0; padding:3px 6px; border:1px solid #B9C9DC; border-radius:5px; background:#EAF1FA; color:#003875; font-size:.7rem; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }
.seg-historial-accion { flex-shrink:0; }
.seg-modal-camp-row { display:flex; align-items:center; gap:10px; padding:8px 12px; min-height:48px; background:#fff; border-bottom:1px solid #E6ECF4; }
.seg-modal-camp-row:last-child { border-bottom:0; }
.seg-historial-info { flex:1; min-width:0; }
.seg-historial-titulo { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.76rem; font-weight:700; color:#003875; margin-bottom:4px; }
.seg-historial-titulo.automatico { color:#526987; font-weight:600; }
.seg-historial-meta { display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; color:#64748B; font-size:.7rem; }
.seg-historial-puesto { color:#003875; font-weight:600; }
.seg-icono-ver { display:inline-block; width:1em; height:1em; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
@media(max-width:1100px) { .seg-player-row,.seg-columnas { grid-template-columns:minmax(0,1fr) 180px 180px 96px; gap:8px; } }
@container(max-width:850px) {
 .seg-columnas { display:none; }
 .seg-player-row { grid-template-columns:minmax(0,1fr) 180px; }
 .seg-player-row > div:first-child { grid-column:1; grid-row:1; }
 .seg-player-row > .seg-fila-fuentes { grid-column:1; grid-row:2; }
 .seg-player-row > .seg-calendario { grid-column:2; grid-row:2; }
 .seg-player-row > .seg-historial-boton { grid-column:2; grid-row:1; justify-self:end; }
}
@container(max-width:500px) {
 .seg-player-row { grid-template-columns:minmax(0,1fr) auto; }
 .seg-player-row > div:first-child { grid-column:1 / -1; }
 .seg-player-row > .seg-historial-boton { grid-column:2; grid-row:2; }
 .seg-player-row > .seg-calendario { grid-column:1 / -1; grid-row:3; }
}
@media(max-width:700px) {
 .seg-modal-camp-row { flex-wrap:wrap; }
 .seg-historial-mes { width:72px; }
}
.cbd-campo { --cbd-ancho-campo:180px; display:flex; flex-direction:column; gap:4px; flex:0 1 var(--cbd-ancho-campo); width:var(--cbd-ancho-campo); max-width:100%; min-width:0; margin:0; font-size:.8rem; font-weight:700; color:#003875; }
.cbd-campo:has(#seg-filtro-busqueda) { --cbd-ancho-campo:190px; }
.cbd-campo:has(#seg-filtro-posicion) { --cbd-ancho-campo:185px; }
.cbd-campo:has(#seg-filtro-pais,#cbd-filtro-pais) { --cbd-ancho-campo:145px; }
.cbd-campo:has(#seg-filtro-desde,#seg-filtro-hasta) { --cbd-ancho-campo:150px; }
.cbd-campo:has(#seg-filtro-liga,#cbd-filtro-liga) { --cbd-ancho-campo:175px; }
.cbd-campo:has(#cbd-filtro-periodo) { --cbd-ancho-campo:155px; }
.cbd-campo:has(#seg-filtro-tipo) { --cbd-ancho-campo:150px; }
.cbd-campo .cbd-dropdown { font-size:.82rem; font-weight:400; color:#003875; }
.cbd-barra-biblioteca .cbd-dropdown .Select-control { border-color:#C9A227!important; background:#fff!important; box-shadow:none!important; min-height:30px!important; height:30px!important; }
.cbd-barra-biblioteca .cbd-dropdown .Select-placeholder,.cbd-barra-biblioteca .cbd-dropdown .Select-value-label { line-height:28px!important; font-size:.8rem!important; }
.cbd-barra-biblioteca .cbd-dropdown.is-focused .Select-control { border-color:#A77E00!important; box-shadow:0 0 0 2px #C9A22722!important; }
.cbd-limpiar { min-height:30px; padding:4px 9px; border:0; border-radius:5px; background:transparent; color:#00489A; font:inherit; font-size:.79rem; font-weight:600; cursor:pointer; }
.cbd-limpiar:hover { background:#F0F4FA; }
.cbd-fecha-secundaria { margin-top:6px; font-size:.74rem; color:#64748B; }
.cbd-fecha-secundaria summary { cursor:pointer; width:fit-content; }
.cbd-fecha-secundaria .cbd-date-range { margin-top:8px; }
.cbd-filtro-fecha > summary { display:inline-flex; align-items:center; gap:6px; min-height:30px; padding:4px 8px!important; border:1px solid #C9A227; border-radius:6px; background:#fff; color:#003875; font-size:.79rem; font-weight:600; list-style:none; }
.cbd-filtro-fecha > summary::-webkit-details-marker { display:none; }
.cbd-filtro-fecha > summary::before { content:""; width:14px; height:14px; flex-shrink:0; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4m10-4v4M3 11h18M7 15h2m4 0h2m-8 3h2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.cbd-filtro-fecha > summary::after { content:""; width:6px; height:6px; margin:0 0 3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); flex-shrink:0; }
.cbd-filtro-fecha[open] > summary::after { transform:rotate(225deg); margin-bottom:0; }
.cbd-filtro-fecha > summary:hover,.cbd-filtro-fecha[open] > summary { background:#FFFDF7; border-color:#A77E00; }
.cbd-filtro-fecha > summary:focus-visible { outline:2px solid #C79B00!important; outline-offset:3px; }
.cbd-resultados-fila { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; margin-bottom:9px; font-size:.79rem; color:#64748B; }
.cbd-resultados-fila > label { display:flex; align-items:center; gap:7px; margin:0; }
.cbd-contador-con-carga { display:flex; align-items:center; flex-wrap:wrap; gap:6px 14px; }
.cbd-actualizando { display:inline-flex; align-items:center; gap:6px; min-height:20px; visibility:hidden; color:#004080; font-size:.75rem; white-space:nowrap; }
.cbd-actualizando .spinner-ring { position:static; width:16px; height:16px; border-width:2px; flex-shrink:0; }
html.cbd-actualizando-resultados .cbd-actualizando { visibility:visible; }
html.cbd-actualizando-resultados .loading-overlay.loading-overlay--interno { display:none !important; }
@media(prefers-reduced-motion:reduce) { .cbd-actualizando .spinner-ring { animation:none; } }
.cbd-resultados-fila .dash-dropdown { width:220px; font-size:.79rem; }
.cbd-resultados-fila .Select-control { min-height:30px; height:30px; }
.cbd-resultados-fila .Select-placeholder,.cbd-resultados-fila .Select-value-label { line-height:28px; }
:root { --biblioteca-accion-fuente:.67rem; --biblioteca-accion-alto:26px; --biblioteca-autor-fuente:.67rem; --biblioteca-etiqueta-fuente:.7rem; --biblioteca-insignia-fuente:.57rem; }
.cbd-lista { --cbd-columnas:175px minmax(190px,1fr) minmax(150px,.48fr) 160px; background:#fff; border:1px solid #C9A227; border-radius:8px; overflow:hidden; container-type:inline-size; }
.cbd-lista-cabecera,.cbd-ficha-compacta { display:grid; grid-template-columns:var(--cbd-columnas); gap:8px 12px; padding:6px 12px; min-width:0; }
.cbd-lista-cabecera { align-items:center; text-align:center; font-size:.72rem; color:#64748B; background:#fff; border-radius:0; }
.cbd-mes-grupo > summary { display:flex; align-items:center; gap:8px; list-style:none; padding:6px 12px!important; background:#EAF1FA; border:0; color:#003875; font-size:.74rem; font-weight:700; cursor:pointer; }
.cbd-mes-grupo > summary:focus-visible { outline:2px solid #C79B00!important; outline-offset:-2px; }
.cbd-mes-grupo > summary::-webkit-details-marker { display:none; }
.cbd-mes-grupo > summary i { width:10px; font-size:.65rem; transition:transform .15s; }
.cbd-mes-grupo[open] > summary i { transform:rotate(90deg); }
.cbd-mes-grupo > summary span { color:#64748B; font-weight:400; font-size:.7rem; font-variant-numeric:tabular-nums; }
.cbd-ficha-compacta { align-items:center; text-align:center; min-height:48px; border:0; background:#fff; }
.cbd-mes-grupo > .cbd-ficha-compacta + .cbd-ficha-compacta { box-shadow:inset 0 1px 0 #E6ECF4; }
.cbd-ficha-compacta:hover { background:#F8FAFD; }
.cbd-ficha-titulo { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; text-align:left; }
.cbd-ficha-secundaria { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:3px 10px; min-width:0; max-width:100%; }
.cbd-lista-cabecera > :nth-child(2),.cbd-lista-cabecera > :nth-child(4) { text-align:left; }
.cbd-ficha-nombre { max-width:100%; font-size:.76rem; color:#003875; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.4; font-weight:700; }
.cbd-ficha-tipo { box-sizing:border-box; justify-self:center; justify-content:center; display:inline-flex; align-items:center; gap:6px; max-width:100%; font-size:var(--biblioteca-etiqueta-fuente)!important; line-height:1.4; white-space:normal!important; }
.cbd-ficha-tipo > i { flex-shrink:0; }
.cbd-ficha-tipo:has(> .fa-robot) { white-space:nowrap!important; font-size:.62rem!important; padding:4px 5px!important; letter-spacing:0!important; gap:4px; }
@container(max-width:420px) {
 .cbd-ficha-tipo:has(> .fa-robot) { font-size:.55rem!important; padding:4px 3px!important; gap:3px; }
}
.cbd-info-detalle { display:inline-flex; }
.cbd-info-boton { display:inline-flex; align-items:center; justify-content:center; min-height:22px; padding:1px 3px; margin:0; border:0; border-radius:3px; background:transparent; color:#526987; font:inherit; font-size:.7rem; line-height:1.3; cursor:pointer; }
.cbd-info-boton:hover,.cbd-info-boton:focus-visible { color:#00489A; background:#EDF3FA; text-decoration:underline; text-underline-offset:2px; }
.cbd-info-boton:focus-visible { outline:2px solid #C79B00; outline-offset:2px; }
.cbd-info-popover { --bs-popover-max-width:380px; max-width:min(380px,calc(100vw - 24px)); border-color:#DDE3EE; font-family:'Inter','Segoe UI',sans-serif; box-shadow:0 4px 16px #00327016; }
.cbd-info-popover .popover-header { background:#F0F5FC; color:#003875; font-size:.78rem; font-weight:700; padding:8px 10px; }
.cbd-info-popover .popover-body { max-height:min(280px,55vh); overflow-y:auto; color:#374151; font-size:.76rem; padding:9px 12px; overflow-wrap:anywhere; }
.cbd-info-ligas { margin:0; padding-left:16px; }
.cbd-info-ligas li + li { margin-top:4px; }
.cbd-info-nota { white-space:pre-wrap; }

/* Ligas al lado de título/privacidad: dos niveles dentro de la altura existente. */
.cbd-ficha-titulo.cbd-ficha-con-ligas { display:grid; grid-template-columns:minmax(0,160px) minmax(0,228px); column-gap:10px; row-gap:3px; align-items:center; }
.cbd-ficha-con-ligas > .cbd-nombre-visibilidad { grid-column:1; grid-row:1; }
.cbd-ficha-con-ligas > .cbd-ficha-secundaria { grid-column:1; grid-row:2; flex-wrap:nowrap; gap:4px; }
.cbd-ficha-con-ligas > .cbd-ligas-resumen { grid-column:2; grid-row:1 / 3; min-width:0; align-self:center; }
.cbd-ligas-resumen > .cbd-info-boton.cbd-ligas-trigger { display:flex; justify-content:flex-start; gap:4px; width:100%; min-width:0; min-height:0; padding:0; text-align:left; text-decoration:none; }
.cbd-ligas-cuadricula { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 4px; min-width:0; max-width:228px; flex:1; }
.cbd-liga-mini { display:block; min-width:0; padding:1px 4px; border:1px solid #DFE7F0; border-radius:3px; background:#F4F7FB; color:#425B77; font-size:.60rem; font-weight:500; line-height:13px; }
.cbd-liga-mini > .cbd-etiqueta-geografica { display:flex; align-items:center; gap:3px; min-width:0; }
.cbd-liga-mini .cbd-bandera { width:12px; height:8px; flex-shrink:0; object-fit:cover; }
.cbd-liga-mini .cbd-etiqueta-geografica > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cbd-ligas-mas { flex-shrink:0; padding:2px 4px; border-radius:4px; background:#EAF1FA; color:#004080; font-size:.61rem; font-weight:700; line-height:14px; }
.cbd-ligas-vacias { color:#7A899A; font-size:.65rem; font-weight:400; }
.cbd-ligas-trigger:hover .cbd-liga-mini,.cbd-ligas-trigger:focus-visible .cbd-liga-mini { border-color:#A9BFD9; background:#EDF3FA; }
.cbd-ficha-con-ligas .cbd-ficha-nombre { white-space:nowrap; }
@container(max-width:1100px) {
 .cbd-ficha-titulo.cbd-ficha-con-ligas { column-gap:6px; }
}
.cbd-ficha-con-ligas > .cbd-nombre-visibilidad { gap:4px; }
.cbd-nota-titulo { flex-shrink:0; }
.cbd-nota-titulo > .cbd-info-boton { width:18px; height:16px; min-height:16px; padding:0; color:#7A899A; border-radius:3px; }
.cbd-nota-titulo > .cbd-info-boton:hover,.cbd-nota-titulo > .cbd-info-boton:focus-visible { color:#00489A; background:#EAF1FA; }
.cbd-nota-icono { display:block; width:12px; height:12px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' d='M5 3h10l4 4v14H5zM15 3v5h4M9 12h6m-6 4h6'/%3E%3C/svg%3E") center/contain no-repeat; }

.cbd-ficha-autor { display:flex; justify-content:center; align-items:baseline; flex-wrap:wrap; gap:4px 6px; min-width:0; color:#536880; font-weight:500; font-size:.74rem; line-height:1.4; }
.cbd-ficha-autor.propia .cbd-autor-nombre { color:#003875; font-weight:700; }
.cbd-autor-tu { padding:1px 5px; border-radius:4px; background:#EAF1FA; color:#365777; font-size:.61rem; font-weight:600; }
.cbd-ficha-autor > span { min-width:0; overflow-wrap:break-word; }
.cbd-ficha-autor > i { font-size:.66rem; flex-shrink:0; color:#91A3B9; }
.cbd-ficha-acciones { display:grid; grid-template-columns:max-content 28px; justify-content:start; align-items:center; gap:5px; min-width:0; }
.cbd-ficha-acciones > .cbd-descarga-feedback { grid-column:1 / -1; }
.cbd-nombre-visibilidad { display:flex; align-items:center; justify-content:flex-start; max-width:100%; min-width:0; gap:4px 8px; }
.cbd-visibilidad-control { display:inline-flex; align-items:center; flex-wrap:wrap; gap:5px; }
.cbd-visibilidad-etiqueta { display:inline-flex; align-items:center; gap:5px; box-sizing:border-box; min-height:26px; padding:3px 6px; border:1px solid #94BEB8; border-radius:5px; background:#EAF5F2; color:#185B53; font-size:.68rem; font-weight:600; line-height:1.3; white-space:nowrap; }
.cbd-visibilidad-etiqueta.privada,.cbd-visibilidad-etiqueta:has(select[data-visibilidad="solo_yo"]) { background:#F1F3F6; border-color:#B6C0CD; color:#3C4A5D; }
.cbd-visibilidad-etiqueta:has(select[data-visibilidad="compartido"]) { background:#EAF5F2; border-color:#94BEB8; color:#185B53; }
.cbd-privacidad-icono { display:inline-block; width:13px; height:13px; flex-shrink:0; background:currentColor; pointer-events:none; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M1 21v-3a8 8 0 0 1 16 0v3zm17-10a4 4 0 0 0 0-8v3a1 1 0 0 1 0 2zm1 10h4v-3a8 8 0 0 0-5-7v3a5 5 0 0 1 1 4z'/%3E%3C/svg%3E") center/contain no-repeat; }
.privada .cbd-privacidad-icono,.cbd-visibilidad-etiqueta:has(select[data-visibilidad="solo_yo"]) .cbd-privacidad-icono { background:#A77B12; mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' d='M6 10V7a6 6 0 0 1 12 0v3'/%3E%3Crect x='3' y='9' width='18' height='14' rx='3'/%3E%3C/svg%3E"); }
.cbd-visibilidad-etiqueta:has(select[data-visibilidad="compartido"]) .cbd-privacidad-icono { background:#185B53; mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M1 21v-3a8 8 0 0 1 16 0v3zm17-10a4 4 0 0 0 0-8v3a1 1 0 0 1 0 2zm1 10h4v-3a8 8 0 0 0-5-7v3a5 5 0 0 1 1 4z'/%3E%3C/svg%3E"); }
.cbd-visibilidad-etiqueta.editable { position:relative; padding:0; }
.cbd-visibilidad-etiqueta.editable > .cbd-privacidad-icono { position:absolute; left:6px; }
.cbd-visibilidad-selector { appearance:none; box-sizing:content-box; width:10ch; min-height:24px; padding:0 20px 0 24px; border:0; border-radius:4px; background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23506983' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 6px center; color:inherit; font:inherit; cursor:pointer; }
.cbd-visibilidad-selector[data-visibilidad="solo_yo"] { width:7ch; }
.cbd-visibilidad-selector option { color:#253A4D; background:#fff; }
.cbd-visibilidad-etiqueta.editable:hover { border-color:#8FAACB; }
.cbd-visibilidad-selector:focus-visible { outline:2px solid #00489A; outline-offset:3px; }
.cbd-visibilidad-selector:disabled { cursor:wait; opacity:.7; }
.cbd-visibilidad-estado { font-size:.65rem; font-weight:400; color:#627792; }
.cbd-visibilidad-estado:empty { display:none; }
.cbd-visibilidad-estado.error { color:#B91C1C; }
@media(pointer:coarse) { .cbd-visibilidad-selector { min-height:44px; } }
.cbd-privacidad-trigger { display:none; }
.cbd-privacidad-chevron { display:inline-block; width:10px; height:10px; flex-shrink:0; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.cbd-privacidad-trigger[aria-expanded="true"] .cbd-privacidad-chevron { transform:rotate(180deg); }
.cbd-visibilidad-etiqueta.enhanced > select { display:none; }
.cbd-visibilidad-etiqueta.enhanced > .cbd-privacidad-trigger { display:inline-flex; align-items:center; gap:8px; padding:3px 6px 3px 24px; min-height:26px; border:0; border-radius:4px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.cbd-privacidad-trigger:focus-visible { outline:2px solid #00489A; outline-offset:3px; }
.cbd-privacidad-trigger:disabled { cursor:wait; opacity:.65; }
.cbd-privacidad-panel { position:fixed; margin:0; box-sizing:border-box; width:245px; max-width:calc(100vw - 16px); padding:5px; border:1px solid #CCD8E5; border-radius:9px; background:#fff; color:#253A4D; box-shadow:0 10px 30px #00285025; z-index:11000; font-family:'Inter','Segoe UI',sans-serif; }
.cbd-privacidad-opcion { display:flex; align-items:center; gap:9px; width:100%; min-height:44px; padding:8px; border:0; border-radius:5px; background:transparent; color:#3C4A5D; text-align:left; font:inherit; cursor:pointer; }
.cbd-privacidad-opcion .cbd-privacidad-icono { width:15px; height:15px; }
.cbd-privacidad-opcion > span:nth-child(2) { flex:1; }
.cbd-privacidad-opcion strong { display:block; font-size:.75rem; font-weight:600; }
.cbd-privacidad-opcion small { display:block; margin-top:2px; color:#64748B; font-size:.65rem; }
.cbd-privacidad-opcion:hover,.cbd-privacidad-opcion:focus-visible { background:#F0F5FA; outline:0; }
.cbd-privacidad-opcion[aria-checked="true"] { background:#EAF5F2; }
.cbd-privacidad-opcion.privada[aria-checked="true"] { background:#F1F3F6; }
.cbd-privacidad-marca { color:#185B53; font-size:.8rem; }
@media(pointer:coarse) { .cbd-visibilidad-etiqueta.enhanced > .cbd-privacidad-trigger { min-height:44px; } }
.cbd-acciones-menu { position:relative; }
.cbd-mas-acciones { list-style:none; min-width:28px; font-size:1rem!important; background:#EAF1FA!important; border-color:#A9BFD9!important; }
.cbd-mas-acciones::-webkit-details-marker { display:none; }
.cbd-menu-panel { display:none; padding:8px; border:1px solid #B9C9DC; border-radius:8px; background:#fff; color:#003875; box-shadow:0 8px 28px #00285026; width:210px; max-width:calc(100vw - 32px); }
.cbd-acciones-menu[open] > .cbd-menu-panel { display:flex; flex-direction:column; gap:5px; }
.cbd-menu-panel[popover] { position:fixed; margin:0; max-height:calc(100vh - 24px); overflow:auto; }
.cbd-menu-panel[popover]:not(:popover-open) { display:none; }
.cbd-menu-panel:popover-open { display:flex; flex-direction:column; gap:5px; }
.cbd-menu-panel .cbd-accion { width:100%!important; justify-content:flex-start; min-height:32px; padding:6px 9px; }
.cbd-menu-panel .descargar::after { content:"Descargar"; }
.cbd-menu-panel .eliminar { margin-top:5px; border-top:1px solid #E5A3A3; }
.cbd-menu-panel .eliminar::after { content:"Mover a la papelera"; }
.cbd-accion { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:28px; padding:4px 8px; border:1px solid #DDE3EE; border-radius:6px; background:#fff; color:#00489A; font:inherit; font-size:.72rem; line-height:1.2; font-weight:600; cursor:pointer; text-decoration:none; white-space:nowrap; transition:background-color .15s ease,border-color .15s ease,color .15s ease; }
.cbd-accion.principal { color:#fff; background:#00489A; border-color:#00489A; min-width:85px; }
/* Misma jerarquía en Biblioteca general y contextual; no depender sólo del color. */
.cbd-accion.editar { background:#FFF5D6; border-color:#C9A227; color:#765500; }
.cbd-accion.comparar { background:#E8F1FC; border-color:#9BB9DC; color:#00489A; }
.cbd-accion.descargar { background:#E8F6EE; border-color:#8AB89C; color:#17623B; width:28px; padding:4px; }
.cbd-accion.descargar::before { content:""; width:14px; height:14px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v12m-5-5 5 5 5-5M5 20h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.cbd-accion.descargar > i { display:none; }
.cbd-accion.descargar[aria-busy="true"]::before { mask:none; background:none; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; width:12px; height:12px; animation:cbd-descarga-giro .8s linear infinite; }
@keyframes cbd-descarga-giro { to { transform:rotate(360deg); } }
.cbd-descarga-feedback { flex-basis:100%; text-align:center; font-size:.7rem; color:#00489A; }
.cbd-descarga-feedback.error { color:#B91C1C; }
.cbd-accion.eliminar { background:#FDECEC; border-color:#E5A3A3; color:#B91C1C; width:28px; padding:4px; }
.cbd-accion:hover { border-color:#A9BFD9; background:#EDF3FA; color:#003875; text-decoration:none; }
.cbd-accion.principal:hover { background:#003875; border-color:#003875; color:#fff; }
.cbd-accion.editar:hover { background:#FFEABD; border-color:#A87E00; color:#674A00; }
.cbd-accion.comparar:hover { background:#D8E7FA; border-color:#588BCA; color:#003875; }
.cbd-accion.descargar:hover { background:#D8EFE2; border-color:#50956C; color:#124D2F; }
.cbd-accion.descargar:disabled { cursor:wait; opacity:.75; }
.cbd-accion.eliminar:hover { background:#FBDADA; border-color:#C85A5A; color:#991B1B; }
.cbd-accion:active:not(:disabled) { box-shadow:inset 0 1px 2px #00285020; }
@media(prefers-reduced-motion:reduce) { .cbd-accion { transition:none; } .cbd-accion.descargar[aria-busy="true"]::before { animation:none; } }
.cbd-carpetas { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,215px)); gap:9px; }
.cbd-carpeta { display:flex; align-items:center; gap:9px; min-height:44px; padding:8px 11px; border:1px solid #DDE3EE; border-radius:7px; background:#fff; color:#00489A; font:inherit; font-size:.82rem; font-weight:600; text-align:left; cursor:pointer; }
.cbd-carpeta > i { color:#C79B00; font-size:1rem; }
.cbd-carpeta-bandera { width:22px; height:15px; object-fit:cover; border-radius:2px; flex-shrink:0; }
.cbd-carpeta-contador { margin-left:auto; color:#64748B; font-size:.76rem; font-weight:400; font-variant-numeric:tabular-nums; }
.cbd-carpeta:hover { border-color:#A9BFD9; background:#F8FAFD; }
.cbd-migas { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:0 0 10px; color:#64748B; font-size:.8rem; }
.cbd-miga { display:inline-flex; gap:7px; align-items:center; border:0; background:transparent; color:#00489A; padding:4px; font:inherit; cursor:pointer; }
.cbd-miga i { font-size:.6rem; color:#94A3B8; }
.cbd-vacio { padding:25px 12px; text-align:center; color:#64748B; font-size:.85rem; }
.cbd-carpeta:focus-visible,.cbd-miga:focus-visible,.cbd-accion:focus-visible,.cbd-limpiar:focus-visible,.cbd-buscador:focus-visible { outline:2px solid #C79B00; outline-offset:3px; }
@container(max-width:1100px) {
 .cbd-lista-cabecera,.cbd-ficha-compacta { grid-template-columns:160px minmax(160px,1fr) minmax(125px,.45fr) 150px; }
}
@container(max-width:850px) {
 .cbd-lista-cabecera,.cbd-ficha-compacta { grid-template-columns:145px minmax(130px,1fr) minmax(110px,.45fr) 145px; gap:8px 10px; }
 .cbd-ficha-acciones { gap:4px; }
 .cbd-accion { padding:5px 7px; }
}
@container(max-width:780px) {
 .cbd-lista-cabecera { display:none; }
 .cbd-ficha-compacta { grid-template-columns:155px minmax(0,1fr); gap:4px 10px; }
 .cbd-ficha-nombre { white-space:normal; overflow-wrap:break-word; }
 .cbd-ficha-autor { grid-column:2; grid-row:2; padding-top:0; }
 .cbd-ficha-acciones { grid-column:2; grid-row:3; padding-top:4px; }
}
@media(max-width:650px) {
 .cbd-filtros-pie { flex-wrap:wrap; }
 .cbd-resumen-fila { padding:10px; }
 .cbd-carpetas { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cbd-resultados-fila .dash-dropdown { width:190px; }
}
@container(max-width:420px) {
 .cbd-ficha-compacta { grid-template-columns:100px minmax(0,1fr); }
 .cbd-ficha-acciones { grid-column:1 / -1; }
}
/* Reparto compacto exclusivo de Campogramas; Listas conserva sus columnas. */
.cbd-lista:has(.cbd-ficha-con-ligas) { --cbd-biblioteca-columnas:150px minmax(0,1fr) 150px 112px; }
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-lista-cabecera,
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-compacta { grid-template-columns:var(--cbd-biblioteca-columnas); column-gap:10px; padding-right:6px; }
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-con-ligas { grid-template-columns:minmax(0,340px) minmax(0,220px); }
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-autor { font-size:var(--biblioteca-autor-fuente); gap:3px 5px; }
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-autor-tu { font-size:var(--biblioteca-insignia-fuente); padding:1px 4px; }
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-acciones { grid-template-columns:max-content 24px; justify-content:end; gap:4px; }
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-acciones > .principal,
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-acciones > .cbd-acciones-menu > .cbd-mas-acciones { min-height:var(--biblioteca-accion-alto); padding:3px 6px; font-size:var(--biblioteca-accion-fuente); }
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-acciones > .principal { min-width:76px; }
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-acciones > .cbd-acciones-menu > .cbd-mas-acciones { min-width:24px; padding:3px; }
.cbd-lista:has(.cbd-ficha-con-ligas) .cbd-lista-cabecera > :last-child { text-align:right; }
@container(max-width:1100px) {
 .cbd-lista:has(.cbd-ficha-con-ligas) .cbd-lista-cabecera,
 .cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-compacta { grid-template-columns:140px minmax(0,1fr) 130px 112px; column-gap:8px; }
}
@container(max-width:780px) {
 .cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-compacta { grid-template-columns:145px minmax(0,1fr); }
 .cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-con-ligas { grid-template-columns:minmax(0,1fr) minmax(0,.9fr); }
}
@container(max-width:420px) {
 .cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-compacta { grid-template-columns:100px minmax(0,1fr); }
}
@media(pointer:coarse) {
 .cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-acciones > .principal,
 .cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-acciones > .cbd-acciones-menu > .cbd-mas-acciones { min-height:44px; }
 .cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-acciones { grid-template-columns:max-content 44px; }
 .cbd-lista:has(.cbd-ficha-con-ligas) .cbd-ficha-acciones > .cbd-acciones-menu > .cbd-mas-acciones { min-width:44px; }
}
@media(pointer:coarse) {
 .cbd-propios label,#cbd-filtro-busqueda { min-height:44px; }
 .cbd-filtro-fecha > summary { min-height:44px; }
 .seg-avanzados-boton,#seg-btn-limpiar,#cbd-btn-limpiar { min-height:44px; }
 .seg-perfiles-boton { min-height:44px; }
 .cbd-accion,.cbd-carpeta,.cbd-vista-opcion,.cbd-tipo-opcion,.cbd-info-boton { min-height:44px; }
 .cbd-accion.eliminar,.cbd-accion.descargar { width:44px; }
}
@media(prefers-reduced-motion:reduce) { .cbd-mes-grupo > summary i { transition:none; } }

/* La Biblioteca contextual utiliza las mismas filas, carpetas y acciones. */
/* Formulario compartido Crear/Guardar: misma cabecera, márgenes y controles. */
.camp-save-modal .modal-dialog,.modal-dialog.camp-save-modal { width:min(480px,calc(100vw - 32px))!important; max-width:480px!important; margin:16px auto!important; overflow:visible!important; }
#modal-guardar-campograma .modal-content { box-sizing:border-box; min-width:0; max-height:calc(100dvh - 32px); overflow:hidden!important; border:1px solid #C79B00; border-radius:12px; background:#fff; }
#modal-guardar-campograma .camp-save-header { flex-shrink:0; padding:10px 18px!important; background:#003875!important; border-bottom:1px solid #C79B00; box-shadow:none; }
#modal-guardar-campograma .camp-library-title { min-width:0; gap:8px; }
#modal-guardar-campograma #camp-save-modal-title { margin:0; font-size:.95rem!important; font-weight:700!important; color:#fff!important; }
#modal-guardar-campograma .camp-library-close { flex:0 0 30px; cursor:pointer; }
#modal-guardar-campograma .camp-library-close:hover { background:#FFFFFF14; border-color:#C9A227; }
#modal-guardar-campograma .camp-library-close:focus-visible { outline:2px solid #C9A227; outline-offset:2px; }
#modal-guardar-campograma .camp-save-body { box-sizing:border-box; min-width:0; min-height:0; padding:16px 18px!important; overflow-y:auto; }
#modal-guardar-campograma .camp-save-body > * { min-width:0; max-width:100%; }
#modal-guardar-campograma .camp-save-label { display:block; margin:0 0 5px; font-size:.76rem; font-weight:600; line-height:1.3; color:#003875; }
#modal-guardar-campograma .camp-save-periodo { display:grid; grid-template-columns:150px 78px 150px; align-items:start; gap:10px; margin-bottom:8px; }
#modal-guardar-campograma :is(#input-guardar-campograma-nombre,#camp-guardar-anio,#input-guardar-campograma-notas) { box-sizing:border-box; width:100%; max-width:100%; border:1px solid #C9A227!important; border-radius:6px!important; background:#fff; color:#25364C; font:inherit; font-size:.8rem!important; box-shadow:none; }
#modal-guardar-campograma :is(#input-guardar-campograma-nombre,#camp-guardar-anio) { height:34px!important; padding:0 10px!important; }
#modal-guardar-campograma #input-guardar-campograma-nombre { margin-bottom:14px!important; }
#modal-guardar-campograma #input-guardar-campograma-notas { display:block; height:70px!important; min-height:70px; padding:8px 10px!important; }
#modal-guardar-campograma .Select-control { height:34px!important; min-height:34px!important; border:1px solid #C9A227!important; border-radius:6px!important; background:#fff!important; box-shadow:none!important; }
#modal-guardar-campograma .Select-value,#modal-guardar-campograma .Select-placeholder { line-height:32px!important; font-size:.8rem!important; }
#modal-guardar-campograma .Select-input { height:32px!important; }
#modal-guardar-campograma .Select-value-label { color:#25364C!important; }
#modal-guardar-campograma .Select-menu-outer { border-color:#C9A227; font-size:.8rem; }
#modal-guardar-campograma :is(#input-guardar-campograma-nombre,#camp-guardar-anio,#input-guardar-campograma-notas):hover,#modal-guardar-campograma .Select-control:hover { border-color:#A77E00!important; }
#modal-guardar-campograma :is(#input-guardar-campograma-nombre,#camp-guardar-anio,#input-guardar-campograma-notas):focus-visible { outline:2px solid #C79B00!important; outline-offset:2px; }
/* La búsqueda interna pertenece al selector: el foco se dibuja sólo en Select-control. */
#modal-guardar-campograma .Select-input > input,
#modal-guardar-campograma .Select-input > input:is(:hover,:focus,:focus-visible) { border:0!important; border-radius:0!important; outline:none!important; box-shadow:none!important; background:transparent!important; margin:0!important; padding:0!important; height:auto!important; min-height:0!important; font:inherit!important; line-height:32px!important; }
#modal-guardar-campograma .is-focused > .Select-control { outline:2px solid #C79B00; outline-offset:2px; }
#modal-guardar-campograma .camp-save-help { margin:5px 0 14px; font-size:.72rem; line-height:1.4; color:#64748B; }
#modal-guardar-campograma #campograma-guardar-feedback:empty { display:none; }
#modal-guardar-campograma .camp-save-footer { flex-shrink:0; justify-content:flex-end; gap:8px; padding:10px 18px!important; border-top:1px solid #DDE3EE; }
#modal-guardar-campograma .camp-save-footer > * { margin:0; }
#modal-guardar-campograma .fas,#modal-guardar-campograma .fas::before { font-family:"Font Awesome 6 Free"!important; font-weight:900!important; }
/* Misma paleta e iconografía semántica que las etiquetas de Biblioteca. */
#modal-guardar-campograma #camp-guardar-visibilidad { --camp-vis-bg:#F1F3F6; --camp-vis-border:#B6C0CD; --camp-vis-text:#3C4A5D; --camp-vis-hover:#E8EDF3; }
#modal-guardar-campograma #camp-guardar-visibilidad .camp-save-vis-select.compartida { --camp-vis-bg:#EAF5F2; --camp-vis-border:#94BEB8; --camp-vis-text:#185B53; --camp-vis-hover:#DDEFEA; }
#modal-guardar-campograma #camp-guardar-visibilidad .Select-control { background:var(--camp-vis-bg)!important; border-color:var(--camp-vis-border)!important; }
#modal-guardar-campograma #camp-guardar-visibilidad .Select-value-label { color:var(--camp-vis-text)!important; font-weight:600; }
#modal-guardar-campograma #camp-guardar-visibilidad .Select-control:hover { background:var(--camp-vis-hover)!important; border-color:#8FAACB!important; }
.camp-save-vis-opcion { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.camp-save-vis-opcion.privada i { color:#A77B12; }
.camp-save-vis-opcion.compartida i { color:#185B53; }
@media(max-width:500px) {
 #modal-guardar-campograma .camp-save-periodo { grid-template-columns:minmax(0,150px) 78px; gap:12px 10px; }
 #modal-guardar-campograma .camp-save-vis-campo { grid-column:1 / -1; width:150px; max-width:100%; }
}
@media(max-width:300px) { #modal-guardar-campograma .camp-save-periodo { grid-template-columns:minmax(0,1fr); } }
/* Alta desde un editor abierto: campos separados para no alterar su borrador al cancelar. */
#modal-nuevo-campograma .modal-content { max-height:calc(100dvh - 32px); overflow:hidden; border:1px solid #C79B00; border-radius:12px; background:#fff; }
#modal-nuevo-campograma .camp-save-header { padding:10px 18px!important; background:#003875!important; border-bottom:1px solid #C79B00; }
#modal-nuevo-campograma .camp-library-title { gap:8px; color:#fff; font-size:.95rem; font-weight:700; }
#modal-nuevo-campograma .fas,#modal-nuevo-campograma .fas::before { font-family:"Font Awesome 6 Free"!important; font-weight:900!important; }
#modal-nuevo-campograma .camp-save-body { min-width:0; padding:16px 18px!important; overflow-y:auto; }
#modal-nuevo-campograma .camp-save-label { display:block; margin:0 0 5px; font-size:.76rem; font-weight:600; line-height:1.3; color:#003875; }
#modal-nuevo-campograma .camp-new-field { box-sizing:border-box; width:100%; height:34px; padding:0 10px; border:1px solid #C9A227; border-radius:6px; background:#fff; color:#25364C; font:inherit; font-size:.8rem; }
#modal-nuevo-campograma #camp-new-nombre { margin-bottom:14px; }
#modal-nuevo-campograma #camp-new-notas { display:block; height:70px; min-height:70px; padding:8px 10px; resize:vertical; }
#modal-nuevo-campograma .camp-save-periodo { display:grid; grid-template-columns:150px 78px 150px; gap:10px; align-items:start; margin-bottom:8px; }
#modal-nuevo-campograma .Select-control { height:34px!important; min-height:34px!important; border:1px solid #C9A227!important; border-radius:6px!important; background:#fff!important; box-shadow:none!important; }
#modal-nuevo-campograma .Select-value,#modal-nuevo-campograma .Select-placeholder { line-height:32px!important; font-size:.8rem!important; }
#modal-nuevo-campograma .Select-input { height:32px!important; }
#modal-nuevo-campograma .Select-input > input,#modal-nuevo-campograma .Select-input > input:is(:hover,:focus,:focus-visible) { border:0!important; outline:none!important; box-shadow:none!important; background:transparent!important; padding:0!important; margin:0!important; height:auto!important; line-height:32px!important; font:inherit!important; }
#modal-nuevo-campograma .Select-value-label { color:#25364C!important; }
#modal-nuevo-campograma .Select-menu-outer { border-color:#C9A227; font-size:.8rem; }
#modal-nuevo-campograma .camp-new-field:hover,#modal-nuevo-campograma .Select-control:hover { border-color:#A77E00!important; }
#modal-nuevo-campograma .camp-new-field:focus-visible,#modal-nuevo-campograma .is-focused > .Select-control { outline:2px solid #C79B00!important; outline-offset:2px; }
#modal-nuevo-campograma .camp-save-help { margin:5px 0 14px; font-size:.72rem; line-height:1.4; color:#64748B; }
#camp-new-feedback:empty { display:none; }
#camp-new-feedback { margin-top:8px; font-size:.74rem; color:#B4232C; }
#modal-nuevo-campograma .camp-save-footer { justify-content:flex-end; gap:8px; padding:10px 18px!important; border-top:1px solid #DDE3EE; }
#modal-nuevo-campograma .camp-save-footer > * { margin:0; }
#modal-nuevo-campograma .camp-new-cancel { min-height:30px; padding:4px 9px; border:1px solid #A9B8CA; border-radius:6px; background:#F8FAFC; color:#334155; font:inherit; font-size:.72rem; font-weight:600; }
#modal-nuevo-campograma .camp-new-cancel:enabled:hover { background:#E8EDF3; }
#modal-nuevo-campograma .camp-new-cancel:focus-visible { outline:2px solid #C79B00; outline-offset:2px; }
#camp-new-visibilidad .Select-control { background:#F1F3F6!important; border-color:#B6C0CD!important; }
#camp-new-visibilidad .Select-value-label { color:#3C4A5D!important; font-weight:600; }
#camp-new-visibilidad .compartida .Select-control { background:#EAF5F2!important; border-color:#94BEB8!important; }
#camp-new-visibilidad .compartida .Select-value-label { color:#185B53!important; }
@media(max-width:500px) { #modal-nuevo-campograma .camp-save-periodo { grid-template-columns:minmax(0,150px) 78px; gap:12px 10px; } #modal-nuevo-campograma .camp-save-vis-campo { grid-column:1 / -1; width:150px; max-width:100%; } }
@media(max-width:300px) { #modal-nuevo-campograma .camp-save-periodo { grid-template-columns:minmax(0,1fr); } }
@media(pointer:coarse) { #modal-nuevo-campograma .camp-new-cancel { min-height:44px; } }
@media(pointer:coarse) {
 #modal-guardar-campograma .camp-library-close { min-width:44px; height:44px; }
 #modal-guardar-campograma :is(#input-guardar-campograma-nombre,#camp-guardar-anio),#modal-guardar-campograma .Select-control { min-height:44px!important; }
 #modal-guardar-campograma .Select-value,#modal-guardar-campograma .Select-placeholder { line-height:42px!important; }
}
.camp-library-modal .modal-dialog,.modal-dialog.camp-library-modal { width:min(1120px,calc(100vw - 48px))!important; max-width:1120px!important; margin:1.5rem auto!important; }
.camp-library-modal .modal-content { border:1px solid #C79B00; border-radius:12px; overflow:hidden; background:#fff; }
#modal-listado-campogramas .fas, #modal-listado-campogramas .fas::before { font-family:"Font Awesome 6 Free"!important; font-weight:900!important; }
.camp-library-header { display:flex; align-items:center; justify-content:space-between; padding:12px 18px; background:#003875; color:#fff; border-bottom:1px solid #C79B00; }
.camp-library-title { display:flex; align-items:center; gap:9px; font-size:1rem; font-weight:700; }
.camp-library-close { width:30px; height:30px; border:1px solid #8DA9CA; border-radius:6px; background:transparent; color:#fff; font-size:22px; line-height:1; }
/* Confirmación de Biblioteca: misma escala compacta que las del editor. */
#cbd-modal-eliminar.modal-dialog { width:fit-content!important; min-width:0; max-width:min(440px,calc(100vw - 32px))!important; margin:16px auto; }
#cbd-modal-eliminar .modal-content { font-family:Arial,sans-serif; border:1px solid #C9A227!important; border-radius:12px!important; overflow:hidden; box-shadow:0 18px 60px #00184030; }
#cbd-modal-eliminar .modal-header { flex-shrink:0; gap:16px; padding:10px 16px!important; background:#003875!important; color:#fff!important; border-bottom:1px solid #C79B00!important; }
#cbd-modal-eliminar .modal-title { min-width:0; margin:0; font-size:.95rem!important; font-weight:700!important; line-height:1.3; color:#fff!important; }
#cbd-modal-eliminar .fas, #cbd-modal-eliminar .fas::before { font-family:"Font Awesome 6 Free"!important; font-weight:900!important; }
#cbd-modal-eliminar .modal-header .btn-close { margin:0!important; --camp-close-ink:#fff; --camp-close-border:#8DA9CA; --camp-close-hover:#FFFFFF14; }
#cbd-modal-eliminar .modal-body { min-width:0; padding:14px 16px!important; }
#cbd-modal-eliminar .camp-trash-confirm-name { display:block; margin:0 0 8px; color:#303944; font-size:.84rem; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
#cbd-modal-eliminar .camp-trash-note { margin:0; color:#718096; font-family:inherit!important; font-size:.78rem; line-height:1.45; }
#cbd-modal-eliminar .modal-footer { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; padding:0 16px 14px!important; border-top:0!important; }
#cbd-modal-eliminar .modal-footer > button { flex:0 0 auto; width:auto; min-height:30px; margin:0; padding:6px 9px; border:1px solid; border-radius:6px; font:inherit; font-size:.78rem; font-weight:600; line-height:1.2; cursor:pointer; box-shadow:none; transition:background-color .15s ease,border-color .15s ease; }
#cbd-modal-eliminar .camp-trash-confirm-cancel { background:#FFF9EB; border-color:#C9A227; color:#765500; }
#cbd-modal-eliminar .camp-trash-confirm-cancel:enabled:hover { background:#FFF0CF; border-color:#A77E00; color:#674A00; }
#cbd-modal-eliminar .camp-trash-confirm-submit { background:#FFF1F1; border-color:#E7BDC0; color:#9F3941; }
#cbd-modal-eliminar .camp-trash-confirm-submit:enabled:hover { background:#FDE2E2; border-color:#D5949A; color:#922B34; }
#cbd-modal-eliminar .modal-footer > button:focus-visible { outline:2px solid #C79B00; outline-offset:2px; }
@media(pointer:coarse) { #cbd-modal-eliminar .modal-footer > button { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { #cbd-modal-eliminar .modal-footer > button { transition:none; } }
.camp-library-body { padding:16px 18px; background:#fff; min-height:220px; }
.camp-library-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; margin:0 -10px 12px; border-radius:8px; background:#F7F9FC; }
.camp-library-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:9px; }
.camp-library-filters { flex:0 1 360px; min-width:0; max-width:100%; }
.camp-library-drafts-slot { flex:0 0 auto; min-height:30px; }
.camp-library-drafts-slot > button { width:auto; }
.camp-library-drafts-slot:has(> button[hidden]) { display:none; }
.camp-library-modal .camp-library-header { padding:10px 18px!important; }
.camp-library-modal .camp-library-title { font-size:.9rem; }
.camp-library-modal .camp-library-body { box-sizing:border-box; min-width:0; padding:16px 18px!important; }
.camp-library-modal .modal-content { box-sizing:border-box; min-width:0; }
/* La regla global de modal-open elimina el padding derecho y crea scrolls anidados. */
body.modal-open .camp-library-modal .modal-content { overflow:hidden!important; }
body.modal-open .camp-library-modal .camp-library-body { padding-right:18px!important; }
.camp-library-body > *,#campogramas-guardados-list { min-width:0; }
#camp-library-search { box-sizing:border-box; flex:0 1 360px; width:360px; max-width:100%; margin:0; }
.camp-library-results { margin-bottom:10px; }
#camp-library-open-label { display:inline-block; min-width:5.7em; text-align:left; }
.camp-library-body > .cbd-buscador { width:100%; margin-bottom:12px; }
.camp-library-loading { display:flex; gap:9px; align-items:center; padding:10px; background:#fff; border-radius:6px; }
.camp-library-loading .malaga-spinner { width:24px; height:24px; margin:0; }
.camp-library-loading .spinner-ring { width:24px; height:24px; border-width:2px; }
.camp-library-loading .spinner-logo { width:16px; height:16px; }
.camp-library-loading .loading-text { font-size:.8rem; }

.camp-library-confirm { width:calc(100% - 32px); max-width:440px; padding:24px; border:1px solid #C9A227; border-radius:12px; background:#fff; color:#004080; box-shadow:0 18px 60px #00184030; font-family:inherit; }
.camp-library-confirm::backdrop { background:#00184066; }
.camp-library-confirm h2 { margin:0 0 12px; font-size:1.05rem; font-weight:700; color:#004080; }
.camp-library-confirm p { margin:0 0 20px; font-size:.875rem; line-height:1.5; color:#627792; }
.camp-library-confirm-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.camp-library-confirm-actions .btn { font-size:.875rem; border-radius:7px; padding:8px 12px; }

.camp-trash-open { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.camp-trash-modal .modal-dialog { max-width:1000px; }
.camp-trash-modal .fas, .camp-trash-modal .fas::before { font-family:"Font Awesome 6 Free"!important; font-weight:900!important; }
.camp-trash-note, .camp-trash-meta { color:#627792; font-size:.78rem; line-height:1.5; }
.camp-trash-note { margin:0 0 14px; }
#camp-trash-status:not(:empty) { padding:8px 12px; margin-bottom:12px; border-left:3px solid #C9A227; background:#E8F0FB; color:#004080; font-size:.8rem; }
.camp-trash-table { border:1px solid #C9A227; border-radius:10px; overflow:hidden; }
.camp-trash-row { display:flex; align-items:center; gap:16px; padding:12px 16px; border-bottom:1px solid #E2EAF5; }
.camp-trash-row:last-child { border-bottom:0; }
.camp-trash-row:nth-child(even) { background:#F7F9FC; }
.camp-trash-info { flex:1; min-width:0; }
.camp-trash-info strong { display:block; color:#004080; font-size:.84rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.camp-trash-days { color:#856404; background:#FFF7D6; padding:4px 8px; border-radius:6px; font-size:.76rem; white-space:nowrap; }
@media(max-width:600px) { .camp-trash-row { flex-wrap:wrap; gap:8px; } .camp-trash-info { flex-basis:100%; } }

.camp-drafts-dialog { width:calc(100% - 32px); max-width:1000px; max-height:85vh; padding:0; border:1px solid #C9A227; border-radius:12px; background:#fff; color:#004080; box-shadow:0 18px 60px #00184030; font-family:inherit; }
.camp-drafts-dialog::backdrop { background:#00184066; }
.camp-drafts-header { display:flex; align-items:center; justify-content:space-between; padding:12px 18px; }
.camp-drafts-header h2 { margin:0; font-size:.95rem; font-weight:700; color:#fff; }
.camp-drafts-dialog .camp-library-body { padding:16px 18px; }
.camp-drafts-dialog { box-sizing:border-box; overflow:hidden; }
.camp-drafts-dialog[open] { display:flex; flex-direction:column; }
.camp-drafts-header { flex-shrink:0; }
.camp-drafts-title { display:flex; align-items:center; gap:8px; }
.camp-drafts-total { padding:2px 6px; border-radius:4px; background:#FFFFFF24; color:#fff; font-size:.72rem; font-variant-numeric:tabular-nums; }
.camp-drafts-dialog .camp-library-body { min-height:0; overflow-y:auto; }
.camp-drafts-list { border:1px solid #DCE4EF; border-radius:8px; overflow:hidden; }
.camp-drafts-row { display:grid; grid-template-columns:minmax(0,1fr) max-content max-content; align-items:center; gap:14px; padding:12px 14px; border-bottom:1px solid #E2EAF5; }
.camp-drafts-row:last-child { border-bottom:0; }
.camp-drafts-row:hover { background:#F7F9FC; }
.camp-drafts-info { min-width:0; }
.camp-drafts-heading { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.camp-drafts-heading strong { color:#003875; font-size:.84rem; overflow-wrap:anywhere; }
.camp-drafts-state { color:#475569; background:#E8EDF3; padding:2px 6px; border-radius:4px; font-size:.68rem; }
.camp-drafts-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:6px; font-size:.74rem; color:#64748B; }
.camp-drafts-type { display:inline-flex; align-items:center; gap:5px; padding:2px 6px; border:1px solid #CBD5E1; border-radius:5px; background:#F1F5F9; color:#475569; font-size:.68rem; font-weight:600; }
.camp-drafts-type.dato { background:#CAD8FF; color:#30288E; border-color:#879EE8; }
.camp-drafts-type.auto { background:#CDECF5; color:#075F78; border-color:#5BB4CB; }
.camp-drafts-type.scout { background:#FFE7A0; color:#735100; border-color:#D8AE3D; }
.camp-drafts-type.scout11 { background:#DFD0FC; color:#542099; border-color:#A17ADD; }
.camp-drafts-days { color:#64748B; font-size:.72rem; white-space:nowrap; }
.camp-drafts-days.urgente { color:#856404; background:#FFF7D6; padding:4px 7px; border-radius:5px; }
.camp-drafts-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.camp-drafts-dialog .camp-drafts-discard { color:#B4232C; background:#FFF1F1; border-color:#E5A3A3; }
.camp-drafts-dialog .camp-drafts-discard:hover { color:#991B1B; background:#FDE2E2; border-color:#C85A5A; }
.camp-drafts-dialog .cbd-accion:disabled { opacity:.55; cursor:wait; }
.camp-drafts-dialog .fas,.camp-drafts-dialog .fas::before { font-family:"Font Awesome 6 Free"!important; font-weight:900!important; }
@media(max-width:700px) {
 .camp-drafts-row { grid-template-columns:minmax(0,1fr) max-content; gap:10px; }
 .camp-drafts-info { grid-column:1 / -1; }
 .camp-drafts-actions { justify-content:flex-end; }
}
@media(max-width:380px) { .camp-drafts-row { grid-template-columns:minmax(0,1fr); } .camp-drafts-actions { justify-content:flex-start; } }
.camp-drafts-message:not(:empty) { padding:8px 12px; margin-bottom:10px; background:#E8F0FB; border-left:3px solid #C9A227; font-size:.8rem; }
.camp-draft-notice { display:flex; align-items:center; justify-content:space-between; gap:12px; max-width:1320px; width:94%; margin:6px auto; padding:8px 12px; background:#F3F7FC; border-left:3px solid #C9A227; border-radius:0 6px 6px 0; color:#004080; font-size:.8rem; }
.camp-draft-notice[hidden], #camp-drafts-open[hidden] { display:none!important; }
.camp-draft-status { max-width:1320px; width:94%; margin:4px auto; text-align:right; color:#627792; font-size:.74rem; min-height:1.1em; }
.camp-draft-status.error { color:#B91C1C; }
#campograma-scout-11-section { padding-bottom:32px; }
.scout11-perfiles-panel { margin:12px 0 0; padding:0 14px; border:1px solid #C9A227; border-radius:8px; background:#fff; color:#253A4D; font-size:.78rem; }
.scout11-perfiles-panel[open] { padding-bottom:6px; }
.scout11-perfiles-panel summary { display:flex; align-items:center; gap:10px; margin:0 -14px; padding:11px 14px!important; border-radius:8px; background:#FFFCF3; color:#293443; cursor:pointer; font-weight:700; list-style:none; }
.scout11-perfiles-panel summary::before { content:''; flex:0 0 3px; height:18px; border-radius:2px; background:#C9A227; }
.scout11-perfiles-panel[open] summary { border-radius:8px 8px 0 0; border-bottom:1px solid #EDE4CB; }
.scout11-perfiles-panel summary::-webkit-details-marker { display:none; }
.scout11-perfiles-panel summary:focus-visible { outline:2px solid #004080!important; outline-offset:4px; border-radius:3px; }
.scout11-perfiles-panel summary i { margin-left:auto; color:#8D6D11; transition:transform .15s ease; font-size:.65rem; }
.scout11-perfiles-panel[open] summary i { transform:rotate(180deg); }
.scout11-perfiles-contador { padding:2px 7px; border:1px solid #E9DCB2; border-radius:4px; background:#FFF8E4; color:#705A22; font-size:.72rem; font-weight:500; }
@media(max-width:600px) { .scout11-perfiles-panel summary { flex-wrap:wrap; } }
.scout11-perfiles-panel p { margin:10px 0; color:#627792; font-size:.74rem; }
.scout11-perfil-fila { display:grid; grid-template-columns:minmax(150px,1fr) minmax(210px,340px); gap:16px; align-items:center; padding:6px 0; border-top:1px solid #E7EDF5; }
.scout11-perfil-identidad { min-width:0; }
.scout11-perfil-identidad strong,.scout11-perfil-identidad small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.scout11-perfil-identidad small { color:#627792; }
.scout11-perfil-selector { margin:0; min-width:0; font-weight:400; }
.scout11-perfil-selector .Select-control { height:32px!important; min-height:32px!important; background:#fff!important; box-shadow:none!important; }
.scout11-perfil-selector .Select-placeholder,.scout11-perfil-selector .Select-value-label { line-height:30px!important; font-size:.75rem!important; }
.scout11-perfil-selector .Select-input { height:30px!important; padding-top:0!important; padding-bottom:0!important; }
.scout11-perfil-selector .Select-input>input { line-height:30px!important; padding-top:0!important; padding-bottom:0!important; font-size:.75rem!important; }
.scout11-perfil-selector .is-focused>.Select-control { border-color:#A77E00!important; box-shadow:0 0 0 2px #C9A22722!important; }
@media(max-width:600px) { .scout11-perfil-fila { grid-template-columns:1fr; gap:4px; } }
.camp-trash-days.urgente { color:#B45309; border:1px solid #E9BC60; }
@media(max-width:700px) { .camp-drafts-dialog .camp-trash-row { flex-wrap:wrap; gap:8px; } .camp-drafts-dialog .camp-trash-info { flex-basis:100%; } }
@media(max-width:600px) {
 .camp-library-modal .modal-dialog,.modal-dialog.camp-library-modal { width:calc(100vw - 24px)!important; margin:12px auto!important; }
 .camp-library-toolbar { flex-wrap:wrap; }
 .camp-library-modal .camp-library-body { padding:12px!important; }
 body.modal-open .camp-library-modal .camp-library-body { padding-right:12px!important; }
}

/* Biblioteca: sólo las fichas de la página actual se montan en el navegador. */
.cbd-paginacion { display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;color:#004080;font-size:.82rem; }
.cbd-paginacion .btn { border-radius:6px; }
