/* BFP Campus 4.5.154 · pantallas de informes, recursos y preferencias */
.campus-secondary-page{display:grid;gap:10px;min-width:0}
/* Mantiene 10 px reales entre el hero y el primer panel; el ritmo global añade margen al hero. */
body.bfp-ds-290 .content .campus-secondary-page{row-gap:10px!important}
body.bfp-ds-290 .content .campus-secondary-page>.bfp-hero.bfp-hero{margin:0!important}
.campus-feature-panel{display:grid;gap:18px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}
.campus-feature-heading{display:grid;gap:6px;max-width:820px}
.campus-section-kicker{color:#1979a9;font-size:.68rem;font-weight:800;letter-spacing:.12em}
.campus-feature-heading h2{margin:0;color:var(--ink);font-size:1.2rem;line-height:1.25}
.campus-feature-heading p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
.campus-feature-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.campus-feature-actions .button,.campus-feature-actions button{min-height:42px}

.campus-file-upload{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px}
.campus-file-upload>label{display:grid;align-content:start;gap:6px;min-width:0;color:var(--ink);font-size:.82rem;font-weight:650}
.campus-file-upload input,.campus-file-upload select{width:100%;min-width:0}
.campus-file-upload .campus-file-input{grid-column:1/-1}
.campus-file-upload button{justify-self:start;min-height:42px}
.campus-resource-list{display:grid;gap:10px}
.campus-resource-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.campus-resource-copy{min-width:0}
.campus-resource-copy strong{display:block;color:var(--ink);font-size:.92rem;line-height:1.35}
.campus-resource-copy p{margin:4px 0 0;color:var(--muted);font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}
.campus-resource-row .button{flex:0 0 auto;min-height:40px}
.campus-empty-state{padding:18px;border:1px dashed #b9cad7;border-radius:14px;background:var(--soft);color:var(--muted)}
.campus-empty-state p{margin:0}

.campus-notification-form{display:grid;gap:16px;max-width:920px}
.campus-notification-master{display:flex!important;align-items:center;justify-content:flex-start!important;gap:12px!important;width:100%;margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--ink)}
.campus-notification-master input,.campus-notification-categories input{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:#087db8}
.campus-notification-master>span{display:grid;gap:2px}
.campus-notification-master strong{font-size:.88rem}
.campus-notification-master small{color:var(--muted);font-size:.78rem;font-weight:400}
.campus-notification-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:14px}
.campus-notification-categories legend{padding:0 6px;color:var(--ink);font-size:.82rem;font-weight:750}
.campus-notification-categories label{display:flex!important;align-items:center;justify-content:flex-start!important;gap:10px!important;min-width:0;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-size:.84rem;font-weight:600}
.campus-notification-categories label span{min-width:0}
.dark-mode:not(.contrast) .campus-feature-panel{border-color:#314a5a;background:#122a39}
.dark-mode:not(.contrast) :is(.campus-resource-row,.campus-notification-master,.campus-notification-categories label,.campus-empty-state){border-color:#344e5e;background:#172f3e}
.dark-mode:not(.contrast) .campus-section-kicker{color:#8bd5f0}
@media(max-width:700px){
  .campus-feature-panel{padding:17px;gap:14px}
  .campus-file-upload,.campus-notification-categories{grid-template-columns:1fr}
  .campus-file-upload .campus-file-input{grid-column:auto}
  .campus-resource-row{align-items:flex-start;flex-direction:column}
  .campus-resource-row .button{align-self:flex-start}
}
