/* BFP Campus 2.7.3.1 — Centro de accesibilidad: composición compacta y responsive */
.a11y-center{display:grid;gap:16px;min-width:0}
.a11y-center .page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;min-width:0}
.a11y-center .page-head>div{min-width:0}
.a11y-center .page-head h1{margin:.2rem 0 .35rem}
.a11y-center .page-head p{max-width:900px;margin-bottom:0}
.a11y-center .page-head form{flex:0 0 auto;margin:0}

/* KPI: resumen, no paneles gigantes */
.a11y-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.a11y-kpis article{background:#fff;border:1px solid #dfe7ee;border-top:3px solid #7d91a3;border-radius:14px;padding:12px 15px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"label value" "hint value";column-gap:12px;row-gap:2px;align-items:center;min-height:74px}
.a11y-kpis article.danger{border-top-color:#c84b4b}.a11y-kpis article.warning{border-top-color:#d79b2b}.a11y-kpis article.success{border-top-color:#4b9b70}
.a11y-kpis small{grid-area:label;font-weight:800;letter-spacing:.07em;color:#617384;font-size:.74rem}
.a11y-kpis strong{grid-area:value;font-size:1.65rem;line-height:1;color:#173f5f}
.a11y-kpis span{grid-area:hint;font-size:.78rem;color:#71808d}

/* Panorama compacto */
.a11y-summary{padding:16px 18px!important}
.a11y-summary .section-head{margin-bottom:10px!important}
.a11y-summary .section-head h2{margin:.15rem 0 0;font-size:1.12rem}
.course-a11y-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.course-a11y{border:1px solid #e1e8ee;border-radius:12px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;background:#fff}
.course-a11y div{display:grid;gap:2px;min-width:0}.course-a11y b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-a11y small{color:#73818e;font-size:.78rem}
.a11y-score{flex:0 0 auto;font-size:.72rem;font-weight:800;border-radius:999px;padding:5px 9px;background:#eef2f5;color:#566674}.a11y-score.ok{background:#e9f6ef;color:#24714a}.a11y-score.warn{background:#fff5df;color:#8a6417}.a11y-score.bad{background:#fdeaea;color:#a13939}

/* Filtros: siempre contenidos dentro de la tarjeta */
.a11y-center section.card{min-width:0}
.a11y-filters{display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(160px,.9fr) minmax(150px,.85fr) minmax(165px,.9fr) auto;gap:9px;align-items:center;margin:12px 0 16px;min-width:0}
.a11y-filters input,.a11y-filters select{width:100%;min-width:0;margin:0}
.a11y-filters button{white-space:nowrap;margin:0}
.a11y-filters .buttonlike{white-space:nowrap;margin:0;min-height:40px;padding:0 6px;background:transparent;border:0;color:#176fae;text-decoration:underline;box-shadow:none}
.buttonlike{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* Hallazgos */
.a11y-findings{display:grid;gap:9px}.a11y-finding{border:1px solid #e0e7ed;border-radius:13px;padding:13px 14px;display:flex;justify-content:space-between;gap:16px;align-items:center;min-width:0;background:#fff}
.finding-main{min-width:0}.finding-top{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:5px}.severity,.rule{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800}.severity.high{background:#fdeaea;color:#a13939}.severity.medium{background:#fff4dd;color:#896116}.severity.low{background:#edf3f7;color:#526d80}.rule{background:#edf4fb;color:#35648b}.a11y-finding h3{margin:0 0 4px;font-size:1rem}.a11y-finding p{margin:0 0 6px;color:#526473}.a11y-finding small{color:#75828e}.finding-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.finding-actions form{margin:0}.a11y-empty{padding:24px 18px;text-align:center;display:grid;gap:4px;color:#60717f}.a11y-note{background:#edf5fb;border:1px solid #d6e6f2;border-radius:13px;padding:12px 15px;display:grid;gap:3px;color:#36566f}.a11y-note span{font-size:.86rem}

@media(max-width:1280px){.a11y-filters{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(145px,1fr));}.a11y-filters button,.a11y-filters .buttonlike{justify-self:start}}
@media(max-width:1050px){.a11y-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.a11y-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.course-a11y-grid{grid-template-columns:1fr}.a11y-filters button,.a11y-filters .buttonlike{justify-self:stretch}}
@media(max-width:700px){.a11y-center .page-head,.a11y-finding{align-items:stretch;flex-direction:column}.a11y-center .page-head form button{width:100%}.a11y-kpis{grid-template-columns:1fr}.a11y-filters{grid-template-columns:1fr}.finding-actions{justify-content:flex-start}.a11y-summary{padding:14px!important}}

/* BFP Campus 2.7.3.2 — normalización con KPI/espaciado del Campus */
/* KPI: mismas proporciones visuales que Alertas tempranas / Seguimiento */
.a11y-kpis{gap:14px;margin:14px 0 18px}
.a11y-kpis article{
  position:relative;
  display:block;
  min-height:104px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-top:4px solid #9badba;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(25,55,75,.04)
}
.a11y-kpis article.danger{border-top-color:#c95353}
.a11y-kpis article.warning{border-top-color:#e7a425}
.a11y-kpis article.success{border-top-color:#249d72}
.a11y-kpis small{display:block;font-size:.75rem;font-weight:800;letter-spacing:0;color:var(--ink)}
.a11y-kpis strong{display:block;margin:6px 0 2px;font-size:1.65rem;line-height:1;color:var(--ink)}
.a11y-kpis span{display:block;font-size:.68rem;color:var(--muted)}

/* Hallazgos: mismo margen interior que el resto de paneles del Campus */
.a11y-center section.card:not(.a11y-summary){padding:20px!important;overflow:hidden}
.a11y-center section.card:not(.a11y-summary)>.section-head{margin:0 0 16px!important;align-items:flex-start}
.a11y-center section.card:not(.a11y-summary)>.section-head .eyebrow,
.a11y-center section.card:not(.a11y-summary)>.section-head h2{margin-left:0}
.a11y-center section.card:not(.a11y-summary)>.section-head h2{margin-top:3px;margin-bottom:0;font-size:1.12rem}

/* Filtros: una única banda, acciones agrupadas y sin franja residual */
.a11y-filters{
  grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(145px,.72fr)) auto auto;
  gap:10px;
  align-items:center;
  margin:0 0 14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#f8fbfd
}
.a11y-filters input,.a11y-filters select{height:40px;background:#fff}
.a11y-filters button,.a11y-filters .buttonlike{height:40px;min-height:40px;justify-self:auto}
.a11y-filters .buttonlike{padding:0 10px;text-decoration:none;background:#edf5fa;color:#164c6c;border-radius:10px;font-weight:800}
.a11y-empty{padding:30px 18px 28px}

@media(max-width:1280px){
  .a11y-filters{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(145px,1fr)) auto auto}
}
@media(max-width:1120px){
  .a11y-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .a11y-filters button,.a11y-filters .buttonlike{width:100%;justify-self:stretch}
}
@media(max-width:700px){
  .a11y-center section.card:not(.a11y-summary){padding:14px!important}
  .a11y-kpis article{min-height:96px;padding:16px 17px}
  .a11y-filters{grid-template-columns:1fr;padding:10px}
}
