/* Comunidad: una misma consulta académica en el portal y el campus. */
.institutional-workspace:not([data-section="overview"]) { display:none; }
.community-workspace { --community-accent:#245dac; --community-soft:#edf4ff; --community-line:#dce6f1; --community-ink:#1c304b; --community-muted:#586b82; color:var(--community-ink); font-family:var(--font-ui,system-ui,sans-serif); min-width:0; }
.community-workspace[data-institution="corede"] { --community-accent:#16746b; --community-soft:#edf8f5; }
.community-workspace[data-institution="aneic"] { --community-accent:#294775; --community-soft:#eff3fa; }
.community-workspace [hidden] { display:none !important; }
.community-workspace svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.community-workspace :is(button,input,select):focus-visible { outline:3px solid #91b5e6; outline-offset:3px; }
.community-workspace :is(button,input,select) { font-family:inherit; }
.community-workspace button { cursor:pointer; }
.community-workspace button:disabled { cursor:default; opacity:.55; }
.community-workspace .community-overview { display:block; padding:25px 28px 18px; margin:0; border:1px solid var(--community-line); border-radius:16px; background:linear-gradient(115deg,var(--community-soft),#fff 65%); box-shadow:none; }
.community-overview > header { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.community-heading-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--community-line); border-radius:12px; background:#fff; color:var(--community-accent); flex-shrink:0; }
.community-overview h2 { margin:0; font-size:22px; line-height:1.3; font-weight:650; color:var(--community-ink); }
.community-overview header p { margin:4px 0 0; color:var(--community-muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.community-summary { display:grid; grid-template-columns:1.3fr repeat(3,minmax(0,1fr)); }
.community-summary > div { padding:0 24px; border-left:1px solid var(--community-line); }
.community-summary > div:first-child { padding-left:0; border:0; }
.community-summary span { display:block; font-size:12px; color:var(--community-muted); line-height:1.5; font-weight:500; }
.community-summary strong { display:block; font-size:32px; line-height:1.3; letter-spacing:-.8px; font-weight:650; margin-top:5px; font-variant-numeric:tabular-nums; }
.community-summary .is-main strong { color:var(--community-accent); }
.community-overview .community-description { border-top:1px solid var(--community-line); margin:20px 0 0; padding-top:13px; color:var(--community-muted); font-size:11px; line-height:1.6; font-weight:400; }
.community-browser { margin-top:22px; border:1px solid var(--community-line); border-radius:16px; background:#fff; padding:0 24px 8px; }
.community-browser-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; border-bottom:1px solid var(--community-line); }
.community-tabs { display:flex; gap:24px; min-width:0; }
.community-tabs button { display:flex; align-items:center; gap:7px; min-height:62px; padding:14px 0; border:0; border-bottom:2px solid transparent; margin-bottom:-1px; color:var(--community-muted); background:transparent; font-size:13px; font-weight:600; white-space:nowrap; }
.community-tabs button[aria-selected="true"] { color:var(--community-accent); border-bottom-color:var(--community-accent); }
.community-tabs small { padding:2px 6px; background:#f0f4f8; color:#536980; border-radius:5px; font-size:10px; font-weight:600; }
.community-tabs button[aria-selected="true"] small { color:var(--community-accent); background:var(--community-soft); }
.community-workspace .community-export { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--community-line); border-radius:8px; min-height:40px; padding:9px 12px; background:#fff; color:var(--community-accent); font-size:12px; font-weight:600; white-space:nowrap; }
.community-export svg { width:16px; height:16px; }
.community-filters { display:grid; grid-template-columns:minmax(200px,1.2fr) repeat(2,minmax(160px,1fr)) minmax(145px,.8fr); gap:12px; align-items:end; margin:20px 0 14px; }
.community-filters > label { display:block; min-width:0; }
.community-filters label > span:not(.community-sr-only) { display:block; color:var(--community-muted); font-size:11px; font-weight:500; margin-bottom:7px; }
.community-workspace .community-filters :is(input,select) { display:block; width:100%; min-width:0; min-height:44px; margin:0; border:1px solid var(--community-line); border-radius:8px; padding:10px 12px; background:#fff; color:var(--community-ink); font-size:12px; font-weight:400; text-overflow:ellipsis; }
.community-workspace .community-filters select { padding-right:26px; }
.community-filters input::placeholder { color:#64778e; opacity:1; }
.community-filters .community-search { position:relative; }
.community-search > svg { position:absolute; left:12px; top:13px; width:18px; height:18px; color:#71869f; }
.community-workspace .community-search input { padding-left:38px; }
.community-results-heading { display:flex; justify-content:space-between; align-items:center; min-height:34px; gap:12px; margin-bottom:10px; color:var(--community-muted); font-size:11px; }
.community-results-heading button { border:0; background:transparent; color:var(--community-accent); font-size:11px; font-weight:600; padding:6px 0; min-height:34px; }
.community-workspace .community-table { display:block; border:1px solid var(--community-line); border-radius:10px; background:#fff; overflow:hidden; margin:0; }
.community-workspace .community-table .aula-partner-table-row { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1.4fr) minmax(95px,.65fr) minmax(0,1.15fr); gap:18px; padding:18px; margin:0; border-bottom:1px solid #e5ecf4; align-items:center; }
.community-workspace .community-table.is-universities .aula-partner-table-row { grid-template-columns:minmax(0,1.8fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.1fr); }
.community-workspace .community-table .aula-partner-table-row:last-child { border-bottom:0; }
.community-workspace .community-table .is-head { background:#f6f9fc; padding:12px 18px; color:var(--community-muted); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.community-table .aula-partner-table-row > span { min-width:0; }
.community-workspace .community-table strong { font-size:12px; font-weight:600; line-height:1.5; color:var(--community-ink); overflow-wrap:anywhere; }
.community-workspace .community-table small { display:block; color:var(--community-muted); font-size:10px; line-height:1.6; font-weight:400; margin-top:4px; overflow-wrap:anywhere; }
.community-workspace .community-student-identity { display:flex; align-items:center; gap:10px; }
.community-avatar { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border-radius:50%; background:var(--community-soft); color:var(--community-accent); font-size:11px; font-weight:650; }
.community-student-identity > span:last-child { min-width:0; }
.community-progress-cell > span:first-child { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.community-status { display:inline-block; padding:3px 6px; border-radius:5px; font-size:9px; line-height:1.5; font-weight:600; background:#eff4fa; color:#536980; }
.community-status:is(.is-advanced,.is-completed) { background:#e7f5ed; color:#286449; }
.community-status.is-support { background:#fff2e5; color:#8b501d; }
.community-status.is-active { background:#edf4ff; color:#245dac; }
.community-workspace .community-progress { display:block; height:5px; background:#e3ebf2; border-radius:5px; margin-top:9px; overflow:hidden; }
.community-progress > span { display:block; height:100%; background:var(--community-accent); border-radius:inherit; transition:width 200ms; }
.community-course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.community-course-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--community-line); border-radius:12px; padding:19px; background:#fff; transition:border-color 160ms,box-shadow 160ms; }
.community-course-card:hover { border-color:#a9bfda; box-shadow:0 4px 14px #1c304b08; }
.community-course-card > header { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:var(--community-muted); font-size:10px; line-height:1.5; }
.community-course-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:var(--community-soft); color:var(--community-accent); flex-shrink:0; }
.community-course-icon svg { width:17px; height:17px; }
.community-course-card header small { color:#64778e; font-size:9px; }
.community-course-card h3 { font-size:15px; line-height:1.5; margin:15px 0 12px; color:var(--community-ink); font-weight:600; overflow-wrap:anywhere; }
.community-course-card > p { color:var(--community-muted); font-size:11px; margin:-5px 0 12px; line-height:1.5; }
.community-course-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:auto 0 13px; padding-top:8px; }
.community-course-card dt { color:var(--community-muted); font-size:10px; line-height:1.6; }
.community-course-card dd { margin:5px 0 0; font-size:19px; font-weight:600; font-variant-numeric:tabular-nums; }
.community-card-progress { height:4px; border-radius:4px; background:#e7eef5; overflow:hidden; }
.community-card-progress > span { display:block; height:100%; background:var(--community-accent); }
.community-course-card footer { margin-top:13px; }
.community-course-card footer small { display:block; color:var(--community-muted); font-size:10px; line-height:1.6; }
.community-course-card footer button { display:flex; align-items:center; justify-content:space-between; width:100%; padding:12px 0 0; margin-top:8px; min-height:40px; border:0; border-top:1px solid #edf1f6; background:transparent; color:var(--community-accent); font-size:12px; font-weight:600; }
.community-course-card footer svg { width:16px; height:16px; }
.community-empty { padding:40px 20px; text-align:center; border:1px dashed var(--community-line); border-radius:12px; }
.community-empty > span { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--community-soft); color:var(--community-accent); margin:0 auto 13px; }
.community-empty > strong { display:block; font-size:14px; color:var(--community-ink); font-weight:600; }
.community-empty p { font-size:12px; color:var(--community-muted); line-height:1.6; margin:6px 0 0; }
.community-pagination { display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-top:16px; font-size:11px; color:var(--community-muted); }
.community-pagination button { border:1px solid var(--community-line); background:#fff; color:var(--community-accent); border-radius:7px; padding:9px 12px; min-height:40px; font-size:11px; }
.community-feedback { font-size:10px; color:var(--community-muted); min-height:16px; margin:10px 0 0; line-height:1.5; }
.community-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#partner-panel-community { padding:0; background:transparent; border:0; box-shadow:none; }
@media (max-width:1100px) {
 .community-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .community-course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .community-workspace .community-table .aula-partner-table-row { gap:12px; }
}
@media (max-width:700px) {
 .community-workspace .community-overview { padding:20px 18px 15px; }
 .community-overview > header { margin-bottom:20px; }
 .community-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 0; }
 .community-summary > div { padding:0 15px; }
 .community-summary > div:nth-child(odd) { border:0; padding-left:0; }
 .community-summary strong { font-size:28px; }
 .community-summary span { font-size:11px; }
 .community-browser { padding:0 16px 8px; margin-top:16px; }
 .community-browser-heading { flex-wrap:wrap; gap:0; padding-bottom:12px; }
 .community-tabs { width:100%; gap:18px; overflow-x:auto; }
 .community-tabs button { font-size:12px; min-height:57px; }
 .community-workspace .community-export { margin-top:12px; min-height:40px; }
 .community-filters { margin-top:16px; gap:12px 10px; }
 .community-filters .community-search { grid-column:1/-1; }
 .community-filters [data-community-progress-label] { grid-column:1/-1; }
 .community-course-grid { grid-template-columns:minmax(0,1fr); }
 .community-workspace .community-table { border:0; background:transparent; overflow:visible; }
 .community-workspace .community-table .is-head { display:none; }
 .community-workspace .community-table .aula-partner-table-row:not(.is-head) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 14px; padding:18px 14px; border:1px solid var(--community-line); border-radius:10px; margin-bottom:12px; }
 .community-table .aula-partner-table-row > span::before { content:attr(data-label); display:block; color:var(--community-muted); font-size:9px; font-weight:500; margin-bottom:5px; }
 .community-workspace .community-student-identity { grid-column:1/-1; }
 .community-table .community-student-identity::before { display:none !important; }
 .community-workspace .community-progress-cell { grid-column:1/-1; }
 .community-workspace .community-table.is-universities .aula-partner-table-row > span:first-child { grid-column:1/-1; }
 .community-pagination { justify-content:space-between; gap:8px; }
}
@media (max-width:380px) {
 .community-browser { padding:0 12px 8px; }
 .community-tabs { gap:12px; }
 .community-tabs button { font-size:11px; gap:4px; }
 .community-tabs small { font-size:9px; padding:2px 4px; }
 .community-summary span { font-size:10px; }
 .community-course-card { padding:16px; }
 .community-filters { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .community-workspace * { transition:none !important; scroll-behavior:auto !important; } }
