/* La Escuela Escucha · flujo administrativo unificado v1.2.5 */

.adminSidebarSection {
    display: grid;
    gap: 4px;
    margin: 12px 0;
    padding: 13px 0;
    border-top: 1px solid rgba(239,189,85,.28);
    border-bottom: 1px solid rgba(239,189,85,.28);
}

.adminSidebarSectionTitle,
.adminSidebarSectionSubtitle {
    display: block;
    padding: 0 13px 7px;
    color: var(--gold-300, #efbd55);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.adminSidebarSectionSubtitle {
    padding-top: 8px;
    padding-bottom: 3px;
    color: var(--muted, #9fb0c2);
    font-size: 9px;
}

.adminSidebar .schoolListensHomeButton,
.adminSidebar .schoolListensStepButton {
    display: grid;
    align-items: center;
    gap: 9px;
}

.adminSidebar .schoolListensHomeButton {
    grid-template-columns: auto 1fr;
    color: #fff;
    font-weight: 800;
}

.adminSidebar .schoolListensHomeButton > span {
    color: var(--gold-300, #efbd55);
    font-size: 18px;
}

.adminSidebar .schoolListensStepButton {
    grid-template-columns: 27px minmax(0,1fr);
}

.adminSidebar .schoolListensStepButton b {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(239,189,85,.48);
    border-radius: 50%;
    color: var(--gold-300, #efbd55);
    font-size: 11px;
}

.adminSidebar .schoolListensStepButton span {
    min-width: 0;
    line-height: 1.25;
}

.schoolListensMasterHero {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    align-items: center;
    gap: 22px;
    overflow: hidden;
    margin-bottom: 22px;
    padding: clamp(22px,4vw,38px);
    border: 1px solid rgba(239,189,85,.45);
    border-radius: 22px;
    background:
        radial-gradient(circle at 92% 10%, rgba(217,161,58,.18), transparent 30%),
        linear-gradient(140deg, #020b15, #082440 68%, #06182d);
    box-shadow: 0 24px 58px rgba(0,0,0,.28);
}

.schoolListensMasterIdentity {
    width: 82px;
    height: 82px;
    display: grid;
    place-items: center;
    border: 2px solid var(--gold-300, #efbd55);
    border-radius: 24px;
    color: var(--gold-300, #efbd55);
    background: #031326;
    box-shadow: inset 0 0 0 6px rgba(239,189,85,.055);
}

.schoolListensMasterIdentity span {
    font-size: 42px;
    transform: translateY(-2px);
}

.schoolListensMasterHero h3 {
    margin: 4px 0 9px;
    color: #fff;
    font: 800 clamp(32px,5vw,52px)/1 var(--font-display, "Montserrat", sans-serif);
}

.schoolListensMasterHero p {
    max-width: 800px;
    margin: 0;
    color: #c9d7e5;
    font-size: 16px;
    line-height: 1.55;
}

.schoolListensFlow {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

.schoolListensFlowCard {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    grid-template-rows: 1fr auto;
    gap: 13px;
    min-height: 245px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(150deg, #0b2946, #06182d);
    box-shadow: 0 16px 36px rgba(0,0,0,.2);
    text-align: left;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.schoolListensFlowCard:hover,
.schoolListensFlowCard:focus-visible {
    transform: translateY(-3px);
    border-color: var(--gold-300, #efbd55);
    box-shadow: 0 20px 44px rgba(0,0,0,.3);
}

.schoolListensFlowCard:focus-visible {
    outline: 3px solid rgba(239,189,85,.42);
    outline-offset: 3px;
}

.schoolListensFlowNumber {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--gold-300, #efbd55);
    border-radius: 50%;
    color: #061426;
    background: linear-gradient(145deg, #d99a24, #f4cf78);
    font-size: 17px;
    font-weight: 900;
}

.schoolListensFlowCopy {
    display: grid;
    align-content: start;
    gap: 7px;
}

.schoolListensFlowCopy small {
    color: var(--gold-300, #efbd55);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.schoolListensFlowCopy strong {
    color: #fff;
    font: 750 21px/1.16 var(--font-display, "Montserrat", sans-serif);
}

.schoolListensFlowCopy > span {
    color: #afc0d2;
    font-size: 13px;
    line-height: 1.5;
}

.schoolListensFlowStatus {
    grid-column: 1/-1;
    align-self: end;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.1);
    color: var(--gold-300, #efbd55);
    font-size: 12px;
    font-weight: 850;
}

.schoolListensFlowCard.isComplete .schoolListensFlowStatus { color: #72e1b1; }
.schoolListensFlowCard.hasIssues .schoolListensFlowStatus { color: #ffbb72; }
.schoolListensFlowCard.isLocked { opacity: .62; }

.schoolListensMasterNote {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 6px 18px;
    margin-top: 18px;
    padding: 17px 19px;
    border-left: 4px solid var(--gold-300, #efbd55);
    border-radius: 12px;
    color: #d7e2ec;
    background: rgba(217,161,58,.08);
}

.schoolListensMasterNote strong { color: var(--gold-300, #efbd55); }
.schoolListensMasterNote p { margin: 0; line-height: 1.5; }
.schoolListensQuickLinks { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

.schoolListensStepBar {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    margin-bottom: 22px;
    padding: 7px;
    border: 1px solid rgba(239,189,85,.25);
    border-radius: 15px;
    background: rgba(0,0,0,.17);
}

.schoolListensStepBar button {
    min-width: 0;
    display: grid;
    grid-template-columns: 29px minmax(0,1fr);
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 8px 11px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #9fb0c2;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.schoolListensStepBar button b {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 11px;
}

.schoolListensStepBar button span { line-height: 1.2; }
.schoolListensStepBar button:hover { color: #fff; background: rgba(255,255,255,.045); }
.schoolListensStepBar button.active { border-color: rgba(239,189,85,.48); color: var(--gold-300, #efbd55); background: rgba(217,161,58,.1); }

.teamsModuleTitle,
.classificationModuleTitle { align-items: flex-start; }

.teamsExplanation,
.classificationGate {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 16px;
    margin: 17px 0;
    padding: 17px 19px;
    border: 1px solid rgba(239,189,85,.35);
    border-radius: 15px;
    color: #d8e3ed;
    background: linear-gradient(145deg, rgba(217,161,58,.09), rgba(6,24,45,.72));
}

.teamsExplanationIcon,
.classificationGateIcon {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    border: 1px solid var(--gold-300, #efbd55);
    border-radius: 50%;
    color: var(--gold-300, #efbd55);
    font-size: 21px;
}

.teamsExplanation strong,
.classificationGate strong { color: #fff; font-size: 16px; }
.teamsExplanation p,
.classificationGate p { margin: 4px 0 0; color: #afc0d2; line-height: 1.45; }

.teamDepartmentInbox {
    display: grid;
    grid-template-columns: minmax(240px,.65fr) minmax(320px,1.35fr);
    gap: 20px;
    margin: 18px 0;
    padding: 18px;
    border: 1px solid rgba(99,165,221,.32);
    border-radius: 16px;
    background: rgba(20,65,99,.18);
}

.teamDepartmentInbox h4,
.teamsEditorHeading h4 { margin: 4px 0 7px; color: #fff; font-size: 22px; }
.teamDepartmentInbox p,
.teamsEditorHeading p { margin: 0; color: #aebfd0; line-height: 1.45; }
.teamDepartmentInboxContent { min-width: 0; display: grid; align-content: center; gap: 8px; }

.detectedDepartmentRow {
    display: grid;
    grid-template-columns: minmax(150px,1fr) auto auto;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    background: rgba(0,0,0,.16);
}

.teamsEditorHeading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin: 24px 0 13px;
}

#groupsAdmin .competitionGroupCard {
    border-color: rgba(239,189,85,.3);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(12,43,72,.95), rgba(5,24,43,.96));
    box-shadow: 0 15px 32px rgba(0,0,0,.16);
}

#groupsAdmin .competitionGroupHead {
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

#groupsAdmin .departmentEditor { background: rgba(0,0,0,.18); }

.teamsFormulaHelp,
.classificationExternalImport {
    margin-top: 18px;
    border: 1px solid rgba(239,189,85,.28);
    border-radius: 14px;
    background: rgba(0,0,0,.14);
}

.teamsFormulaHelp summary,
.classificationExternalImport > summary {
    padding: 16px 18px;
    color: var(--gold-300, #efbd55);
    font-weight: 850;
    cursor: pointer;
}

.teamsFormulaHelp p { margin: 0; padding: 0 18px 18px; color: #b6c6d5; line-height: 1.55; }
.teamsFooterAction { display: flex; justify-content: flex-end; margin-top: 18px; }

.schoolListensSectionHeading { margin: 22px 0 13px; }
.schoolListensSectionHeading h4 { margin: 4px 0 6px; color: #fff; font-size: 24px; }
.schoolListensSectionHeading p { max-width: 850px; margin: 0; color: #aebfd0; line-height: 1.5; }
.schoolListensAnnualSetup { margin-bottom: 26px; }
.schoolListensAnnualGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.schoolListensAnnualCard {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    align-items: center;
    gap: 5px 13px;
    min-height: 105px;
    padding: 17px;
    border: 1px solid rgba(239,189,85,.35);
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(145deg, rgba(217,161,58,.12), rgba(7,28,50,.95));
    text-align: left;
    cursor: pointer;
}
.schoolListensAnnualCard:hover,
.schoolListensAnnualCard:focus-visible { border-color: var(--gold-300,#efbd55); transform: translateY(-2px); }
.schoolListensAnnualCard > span { grid-row: 1/3; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(239,189,85,.58); border-radius: 13px; color: var(--gold-300,#efbd55); font-size: 21px; }
.schoolListensAnnualCard strong { font-size: 18px; }
.schoolListensAnnualCard small { color: #aebfd0; }
.schoolListensAnnualCard.isComplete small { color: #72e1b1; }
.schoolListensAnnualCard.hasIssues small { color: #ffbb72; }
.habitualHeading { padding-top: 21px; border-top: 1px solid rgba(255,255,255,.1); }

.annualSetupBanner {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    align-items: center;
    gap: 14px;
    margin-bottom: 19px;
    padding: 15px 18px;
    border: 1px solid rgba(239,189,85,.38);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(217,161,58,.13), rgba(6,24,45,.82));
}
.annualSetupBanner > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: #061426; background: linear-gradient(145deg,#d99a24,#f4cf78); font-weight: 900; }
.annualSetupBanner strong { color: #fff; }
.annualSetupBanner p { margin: 4px 0 0; color: #afc0d2; line-height: 1.45; }
.annualRosterCard { margin-top: 24px; border-color: rgba(99,165,221,.38); scroll-margin-top: 20px; }

.teamRowActions,
.departmentActions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
#groupsAdmin .competitionGroupHead {
    grid-template-columns: minmax(250px,1fr) minmax(175px,.34fr) 90px minmax(130px,.3fr) minmax(250px,auto);
}
#groupsAdmin .teamRowActions { justify-content: flex-end; }
.goldActionButton,
.dangerTextButton {
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid rgba(239,189,85,.62);
    border-radius: 9px;
    font: inherit;
    font-weight: 850;
    cursor: pointer;
}
.goldActionButton { color: #071524; background: linear-gradient(145deg,#d99a24,#f4cf78); }
.goldActionButton:hover { filter: brightness(1.08); }
.teamConfirmButton {
    min-height: 48px;
    padding-inline: 20px;
    border-width: 2px;
    box-shadow: 0 0 0 4px rgba(239,189,85,.12), 0 10px 24px rgba(0,0,0,.2);
}
.teamConfirmationState {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: 1px solid rgba(114,225,177,.55);
    border-radius: 10px;
    color: #bfffe3;
    background: rgba(22,116,79,.25);
    font-weight: 850;
    white-space: nowrap;
}
.dangerTextButton { color: #ffc0c0; border-color: rgba(255,130,130,.4); background: rgba(120,20,20,.12); }
#groupsAdmin .departmentRow { grid-template-columns: minmax(190px,1fr) minmax(130px,.35fr) minmax(130px,.3fr) minmax(240px,auto); }
#groupsAdmin .departmentRow input[readonly] { color: #d8e3ed; border-color: rgba(255,255,255,.08); background: rgba(0,0,0,.13); cursor: default; }
#groupsAdmin .departmentRow:not(.isEditing) [data-save-department] { opacity: .72; }
#groupsAdmin .departmentRow.isEditing { border-color: rgba(239,189,85,.45); background: rgba(217,161,58,.06); }

@media (max-width: 1180px) {
    #groupsAdmin .competitionGroupHead { grid-template-columns: minmax(220px,1fr) minmax(170px,.45fr) 90px minmax(120px,.35fr); }
    #groupsAdmin .teamRowActions { grid-column: 1/-1; justify-content: flex-start; }
}

@media (max-width: 700px) {
    #groupsAdmin .competitionGroupHead { grid-template-columns: 1fr 88px; }
    #groupsAdmin .competitionGroupHead > label:first-child,
    #groupsAdmin .competitionGroupHead > label:nth-child(2),
    #groupsAdmin .teamRowActions { grid-column: 1/-1; }
    #groupsAdmin .teamRowActions > * { width: 100%; justify-content: center; text-align: center; }
}

.classificationViewMenu {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 18px 0;
    padding: 7px;
    border: 1px solid rgba(239,189,85,.25);
    border-radius: 14px;
    background: rgba(0,0,0,.17);
}
.classificationViewMenu button { flex: 1 1 170px; min-height: 44px; padding: 9px 13px; border: 1px solid transparent; border-radius: 9px; color: #aebfd0; background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.classificationViewMenu button:hover { color: #fff; background: rgba(255,255,255,.045); }
.classificationViewMenu button.active { color: var(--gold-300,#efbd55); border-color: rgba(239,189,85,.5); background: rgba(217,161,58,.1); }
.classificationView { display: none; }
.classificationView.active { display: block; }
.classificationEventToolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 18px 0; padding: 18px; border: 1px solid rgba(99,165,221,.3); border-radius: 16px; background: rgba(9,38,64,.7); }
.classificationEventToolbar h4 { margin: 4px 0 0; color: #fff; font-size: 24px; }
.classificationEventToolbar label { min-width: min(480px,100%); color: #d8e3ed; }
.eventScoreboard { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 14px 0; }
.eventScoreboard article { min-width: 0; display: grid; gap: 4px; padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: linear-gradient(145deg,#0b2946,#071a2f); }
.eventScoreboard span { color: #b7c7d7; font-size: 12px; }
.eventScoreboard strong { color: var(--gold-300,#efbd55); font-size: 30px; }
.eventScoreboard small { overflow: hidden; color: #879aac; text-overflow: ellipsis; white-space: nowrap; }
.eventClassificationGrid { margin-top: 14px; }
.departmentContributionDetails { margin-top: 16px; border: 1px solid rgba(239,189,85,.3); border-radius: 14px; background: rgba(0,0,0,.15); }
.departmentContributionDetails > summary { padding: 15px 18px; color: var(--gold-300,#efbd55); font-weight: 850; cursor: pointer; }
#classificationEventDepartmentBreakdown { display: grid; gap: 13px; padding: 0 14px 14px; }
.departmentContributionTeam { overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; }
.departmentContributionTeam > header { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 12px; background: rgba(255,255,255,.035); }
.departmentContributionTeam > header > span { display: grid; gap: 3px; }
.departmentContributionTeam small { color: #93a5b7; }
.publicationPanel { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; margin-top: 18px; padding: clamp(20px,4vw,32px); border: 1px solid rgba(239,189,85,.42); border-radius: 18px; background: linear-gradient(145deg,rgba(217,161,58,.1),rgba(5,24,43,.96)); }
.publicationIcon { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--gold-300,#efbd55); border-radius: 50%; color: #061426; background: linear-gradient(145deg,#d99a24,#f4cf78); font-size: 25px; font-weight: 900; }
.publicationPanel h4 { margin: 4px 0 7px; color: #fff; font-size: 25px; }
.publicationPanel p { margin: 4px 0; color: #aebfd0; line-height: 1.5; }
.publicationStatus { color: var(--gold-300,#efbd55) !important; font-weight: 800; }
.publicationPreview { margin-top: 14px; padding: 18px; border: 1px solid rgba(99,165,221,.27); border-radius: 15px; background: rgba(9,38,64,.55); color: #b7c7d7; }
.publicationPreviewSummary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.publicationPreviewSummary article { display: grid; gap: 3px; padding: 14px; border-radius: 11px; background: rgba(0,0,0,.18); }
.publicationPreviewSummary strong { color: var(--gold-300,#efbd55); font-size: 27px; }

/* Logo opcional de cada equipo; el contenido se genera dinámicamente. */
.teamLogoPicker {
    display: grid;
    grid-template-columns: 72px minmax(150px,1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(0,0,0,.14);
}

.teamLogoPreview {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(239,189,85,.52);
    border-radius: 16px;
    color: var(--gold-300, #efbd55);
    background: #041426;
    font-size: 31px;
}

.teamLogoPreview img { width: 100%; height: 100%; object-fit: contain; }
.teamLogoPicker input[type="file"] { min-width: 0; width: 100%; }
.teamLogoRemove { color: #ffc0c0 !important; border-color: rgba(255,130,130,.46) !important; }

.classificationGate {
    border-color: rgba(255,179,95,.48);
    background: linear-gradient(145deg, rgba(129,62,20,.3), rgba(6,24,45,.9));
}

.classificationSummary {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
    margin: 18px 0;
}

.classificationSummary article {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: linear-gradient(145deg, #0b2946, #071a2f);
}

.classificationSummary span { color: #b7c7d7; font-size: 12px; }
.classificationSummary strong { color: var(--gold-300, #efbd55); font-size: 29px; line-height: 1; }
.classificationSummary small { color: #8195a9; }
.classificationIssuesCard { border-color: rgba(255,170,92,.45); }

.classificationResults {
    margin-top: 18px;
    padding: 19px;
    border: 1px solid rgba(99,165,221,.28);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(9,38,64,.78), rgba(3,17,32,.88));
}

.classificationResultsHeading h4 { margin: 4px 0 6px; color: #fff; font-size: 24px; }
.classificationResultsHeading p { margin: 0; color: #aebfd0; }
.classificationResultsGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 16px; }

.classificationResultCard {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 15px;
    background: rgba(0,0,0,.16);
}

.classificationResultCardHead {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    align-items: center;
    gap: 12px;
    padding: 15px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.classificationResultIcon {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(239,189,85,.5);
    border-radius: 50%;
    color: var(--gold-300, #efbd55);
}

.classificationResultCardHead small { color: var(--gold-300, #efbd55); text-transform: uppercase; letter-spacing: .08em; }
.classificationResultCardHead h5 { margin: 3px 0 0; color: #fff; font-size: 17px; }
.classificationTableContainer { min-width: 0; overflow-x: auto; padding: 13px; }
.compactClassificationTable { min-width: 500px; }
.compactClassificationTable td { vertical-align: middle; }
.compactClassificationTable td > small { display: block; margin-top: 4px; color: #879aac; }
.classificationTeamName { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 9px; min-width: 180px; }
.classificationTeamName > span:last-child { min-width: 0; display: grid; gap: 3px; }
.classificationTeamName small { color: #879aac; font-size: 10px; line-height: 1.3; }
.classificationTeamLogo,
.classificationTeamIcon { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(239,189,85,.42); border-radius: 10px; background: #041426; object-fit: contain; }
.classificationEmpty { display: grid; gap: 5px; padding: 18px; border: 1px dashed rgba(239,189,85,.32); border-radius: 11px; color: #9fb0c2; text-align: center; }
.classificationEmpty strong { color: var(--gold-300,#efbd55); }
.detectedDepartmentRow > span { display: grid; gap: 3px; }
.detectedDepartmentRow small { color: #8fa3b6; }
.rankIcon { overflow: hidden; }
.rankIcon img { width: 100%; height: 100%; object-fit: contain; }

.classificationExternalImport > summary {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 3px 12px;
    list-style-position: outside;
}

.classificationExternalImport > summary span { grid-column: 1/-1; color: #9fb0c2; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.classificationExternalImport > summary strong { color: var(--gold-300, #efbd55); }
.classificationExternalImport > summary small { align-self: center; color: #93a5b7; font-weight: 500; }
.classificationExternalImportBody { margin: 0 12px 12px; }

body[data-theme="light"] .schoolListensMasterHero,
body[data-theme="light"] .schoolListensFlowCard,
body[data-theme="light"] .classificationSummary article,
body[data-theme="light"] #groupsAdmin .competitionGroupCard,
body[data-theme="light"] .classificationResults { color: #17324c; border-color: #d4b467; background: #fff; }
body[data-theme="light"] .schoolListensMasterHero h3,
body[data-theme="light"] .schoolListensFlowCopy strong,
body[data-theme="light"] .teamsExplanation strong,
body[data-theme="light"] .classificationGate strong,
body[data-theme="light"] .teamDepartmentInbox h4,
body[data-theme="light"] .teamsEditorHeading h4,
body[data-theme="light"] .classificationResultsHeading h4,
body[data-theme="light"] .classificationResultCardHead h5 { color: #17324c; }
body[data-theme="light"] .schoolListensMasterHero p,
body[data-theme="light"] .schoolListensFlowCopy > span,
body[data-theme="light"] .teamDepartmentInbox p,
body[data-theme="light"] .teamsEditorHeading p,
body[data-theme="light"] .classificationResultsHeading p { color: #53687d; }
body[data-theme="light"] .schoolListensSectionHeading h4,
body[data-theme="light"] .annualSetupBanner strong,
body[data-theme="light"] .classificationEventToolbar h4,
body[data-theme="light"] .publicationPanel h4 { color: #17324c; }

@media (max-width: 980px) {
    .schoolListensFlow { grid-template-columns: 1fr; }
    .schoolListensFlowCard { min-height: 0; }
    .classificationSummary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .classificationResultsGrid { grid-template-columns: 1fr; }
    .teamDepartmentInbox { grid-template-columns: 1fr; }
    .eventScoreboard { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #groupsAdmin .departmentRow { grid-template-columns: 1fr 1fr; }
    #groupsAdmin .departmentRow > label:first-child,
    #groupsAdmin .departmentActions { grid-column: 1/-1; }
}

@media (max-width: 760px) {
    .adminSidebarSection {
        flex: 0 0 auto;
        display: flex;
        gap: 5px;
        margin: 0;
        padding: 0;
        border: 0;
    }
    .adminSidebarSectionTitle,
    .adminSidebarSectionSubtitle { display: none; }
    .adminSidebar .schoolListensStepButton { grid-template-columns: auto; }
    .adminSidebar .schoolListensStepButton b { display: none; }
    .schoolListensStepBar { grid-template-columns: 1fr; }
    .schoolListensStepBar button { min-height: 42px; }
    .teamsExplanation,
    .classificationGate { grid-template-columns: auto minmax(0,1fr); }
    .classificationGate .primaryButton { grid-column: 1/-1; width: 100%; }
}

@media (max-width: 620px) {
    .schoolListensMasterHero { grid-template-columns: 1fr; padding: 20px; }
    .schoolListensMasterIdentity { width: 64px; height: 64px; border-radius: 18px; }
    .schoolListensMasterHero h3 { font-size: 32px; }
    .schoolListensFlowCard { grid-template-columns: 38px minmax(0,1fr); padding: 16px; }
    .schoolListensFlowNumber { width: 36px; height: 36px; }
    .schoolListensMasterNote { grid-template-columns: 1fr; }
    .classificationSummary { grid-template-columns: 1fr 1fr; }
    .teamsEditorHeading { align-items: stretch; flex-direction: column; }
    .teamsEditorHeading .secondaryButton,
    .teamsFooterAction .primaryButton { width: 100%; }
    .detectedDepartmentRow { grid-template-columns: 1fr; }
    .teamLogoPicker { grid-template-columns: 60px minmax(0,1fr); }
    .teamLogoPreview { width: 60px; height: 60px; }
    .teamLogoRemove { grid-column: 1/-1; width: 100%; }
    .classificationExternalImport > summary { grid-template-columns: 1fr; }
    .schoolListensAnnualGrid { grid-template-columns: 1fr; }
    .classificationEventToolbar { align-items: stretch; flex-direction: column; }
    .publicationPanel { grid-template-columns: 1fr; }
    .publicationPanel .primaryButton { width: 100%; }
    .publicationPreviewSummary { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .schoolListensFlowCard { transition: none; }
}

/* v1.2.5 · Agenda conectada, reel vivo y publicación guiada */
.agendaEventAdminItem .adminItemActions { align-items: stretch; }
.agendaQrState { display: inline-flex; align-items: center; margin-top: 8px; padding: 5px 9px; border: 1px solid rgba(145,168,188,.4); border-radius: 999px; color: #b9c9d7; font-size: 11px; font-weight: 800; }
.agendaQrState.active { border-color: rgba(53,201,148,.55); color: #64dcb0; background: rgba(53,201,148,.08); }
.agendaQrState.pending { border-color: rgba(239,189,85,.55); color: #efbd55; background: rgba(217,161,58,.08); }
.agendaQrState.cancelled { border-color: rgba(255,143,143,.45); color: #ffaaaa; }

.eventLifecycleBadge,.eventResultsBadge { display: inline-flex; align-items: center; width: max-content; max-width: 100%; padding: 6px 10px; border-radius: 999px; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.eventLifecycleBadge.upcoming { color: #07182a; background: #efbd55; }
.eventLifecycleBadge.live { color: #fff; border: 1px solid rgba(53,201,148,.7); background: rgba(5,82,61,.94); box-shadow: 0 0 0 4px rgba(53,201,148,.1); }
.eventLifecycleBadge.live i { width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #58e5b4; box-shadow: 0 0 0 4px rgba(88,229,180,.18); }
.eventResultsBadge { color: #e5eff8; border: 1px solid rgba(99,165,221,.6); background: rgba(5,34,58,.92); }

.publicWeightingNote { display: grid; gap: 5px; margin: 0 0 14px; padding: 13px 15px; border-left: 4px solid #d9a13a; border-radius: 10px; color: #d8e4ed; background: linear-gradient(100deg,rgba(217,161,58,.14),rgba(8,36,60,.35)); }
.publicWeightingNote strong { color: #efbd55; font-size: 14px; }
.publicWeightingNote span { font-size: 12px; line-height: 1.5; }

.publicEventResults { grid-column: 1/-1; display: grid; gap: 14px; margin-top: 22px; padding: clamp(16px,3vw,24px); border: 1px solid rgba(239,189,85,.4); border-radius: 16px; background: linear-gradient(145deg,rgba(6,24,42,.97),rgba(12,48,77,.94)); }
.publicEventResults header h3 { margin: 3px 0 5px; color: #fff; }
.publicEventResults header p { margin: 0; color: #aebfd0; }
.publicEventResultsGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.publicEventResultsGrid article { min-width: 0; padding: 12px; border: 1px solid rgba(99,165,221,.25); border-radius: 12px; background: rgba(0,0,0,.18); }
.publicEventResultsGrid h4 { margin: 0 0 9px; color: #efbd55; }

.publicationChecklist { display: grid; gap: 9px; margin-top: 14px; padding: 16px; border: 1px solid rgba(99,165,221,.3); border-radius: 15px; background: rgba(5,24,43,.72); outline: none; transition: border-color .2s,box-shadow .2s; }
.publicationChecklist.attention { border-color: #ffad67; box-shadow: 0 0 0 4px rgba(255,173,103,.15); }
.publicationChecklistHead { display: flex; justify-content: space-between; gap: 12px; color: #fff; }
.publicationChecklistHead span { color: #ffb76f; font-size: 12px; font-weight: 800; }
.publicationChecklist article,.publicationChecklistReady { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 12px; border-radius: 11px; background: rgba(255,255,255,.035); }
.publicationChecklist article>span,.publicationChecklistReady>span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #07182a; background: #ffb76f; font-weight: 900; }
.publicationChecklistReady>span { background: #58d9aa; }
.publicationChecklist strong { color: #fff; }
.publicationChecklist p { margin: 3px 0 0; color: #9fb2c4; font-size: 12px; line-height: 1.45; }

body[data-theme="light"] .publicWeightingNote { color: #314b63; background: #fff8e8; }
body[data-theme="light"] .publicationChecklist { background: #fff; }
body[data-theme="light"] .publicationChecklist strong { color: #17324c; }
body[data-theme="light"] .publicEventResults { background: #fff; }
body[data-theme="light"] .publicEventResults header h3 { color: #17324c; }

@media (max-width: 760px) {
    .publicEventResultsGrid { grid-template-columns: 1fr; }
    .publicationChecklist article { grid-template-columns: auto minmax(0,1fr); }
    .publicationChecklist article .secondaryButton { grid-column: 1/-1; width: 100%; }
}
