/* Actividad: primero los cursos, después los beneficios de la alianza. */
.activity-workspace { --activity-accent:#245dac; --activity-soft:#edf4ff; --activity-line:#dce6f1; --activity-ink:#1c304b; --activity-muted:#586b82; color:var(--activity-ink); font-family:var(--font-ui,system-ui,sans-serif); min-width:0; }
.activity-workspace[data-institution="corede"] { --activity-accent:#16746b; --activity-soft:#edf8f5; }
.activity-workspace[data-institution="aneic"] { --activity-accent:#294775; --activity-soft:#eff3fa; }
.activity-workspace [hidden] { display:none !important; }
.activity-workspace svg,.activity-heading svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.activity-workspace :is(button,input,select,summary):focus-visible { outline:3px solid #91b5e6; outline-offset:3px; }
.activity-workspace :is(button,input,select) { font-family:inherit; }
.activity-heading { display:flex; align-items:center; gap:12px; padding:0 2px 4px; }
.activity-heading > span { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border:1px solid #dce6f1; border-radius:12px; color:var(--institutional-accent,#245dac); background:#fff; }
.activity-heading h2 { font-size:24px; line-height:1.3; letter-spacing:-.4px; margin:0; font-weight:650; color:#1c304b; }
.activity-heading p { color:#586b82; font-size:12px; line-height:1.6; margin:4px 0 0; font-weight:400; }
.activity-summary .institutional-metrics { gap:14px; }
.activity-summary .institutional-metric { border-radius:12px; padding:18px 20px; box-shadow:none; }
.activity-summary .institutional-metric strong { font-size:27px; letter-spacing:-.5px; font-weight:650; }
.activity-summary .institutional-benefit { background:#f4f8fe; padding:17px 20px; border-radius:12px; gap:18px; }
.activity-summary .institutional-benefit > div > strong { font-size:20px; }
.activity-workspace .partner-activity-shell { gap:22px; }
.activity-workspace .partner-activity-courses { border:1px solid var(--activity-line); border-radius:16px; box-shadow:none; overflow:hidden; background:#fff; }
.activity-workspace .partner-activity-head { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; padding:22px 24px 16px; }
.activity-workspace .partner-activity-head > div { flex:1; min-width:160px; }
.activity-workspace .partner-activity-head > div > span { color:var(--activity-muted); font-size:10px; font-weight:500; }
.activity-workspace .partner-activity-head h2 { font-size:20px; line-height:1.4; color:var(--activity-ink); margin:4px 0 0; font-weight:650; letter-spacing:-.3px; }
.activity-workspace .partner-activity-head > strong { font-size:10px; font-weight:500; color:var(--activity-accent); background:var(--activity-soft); border:1px solid var(--activity-line); border-radius:6px; padding:5px 8px; }
.activity-workspace [data-activity-community] { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; border:1px solid var(--activity-line); border-radius:8px; padding:9px 12px; color:var(--activity-accent); background:#fff; font-size:11px; font-weight:600; cursor:pointer; }
.activity-workspace [data-activity-community] svg { width:16px; height:16px; }
.activity-workspace [data-activity-community] svg:last-child { width:14px; }
.activity-course-tools { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 24px 18px; }
.activity-course-tools > label { min-width:0; }
.activity-course-search { position:relative; flex:1; }
.activity-course-search > svg { position:absolute; top:13px; left:12px; color:#6f829b; width:17px; height:17px; }
.activity-workspace .activity-course-tools :is(input,select) { display:block; width:100%; margin:0; border:1px solid var(--activity-line); border-radius:8px; background:#fff; color:var(--activity-ink); min-height:44px; padding:10px 12px; font-size:12px; font-weight:400; }
.activity-workspace .activity-course-search input { padding-left:38px; }
.activity-course-search input::placeholder { color:var(--activity-muted); opacity:1; }
.activity-course-sort { flex:0 1 200px; }
.activity-workspace .activity-course-sort select { padding-right:28px; text-overflow:ellipsis; }
.activity-course-tools > span { color:var(--activity-muted); font-size:11px; white-space:nowrap; }
.activity-workspace [data-activity-clear] { padding:8px 0; min-height:40px; border:0; background:transparent; color:var(--activity-accent); font-size:11px; font-weight:600; cursor:pointer; }
.activity-workspace .partner-course-ledger { border-top:1px solid var(--activity-line); }
.activity-workspace :is(.partner-course-ledger-head,.partner-course-ledger-row) { grid-template-columns:64px minmax(0,1fr) 110px 150px; gap:20px; }
.activity-workspace .partner-course-ledger-head { background:#f6f9fc; padding:12px 24px; color:var(--activity-muted); font-size:10px; letter-spacing:.4px; font-weight:600; }
.activity-workspace .partner-course-ledger-row { padding:18px 24px; min-height:116px; border-color:#e5ecf4; transition:background 160ms; background:#fff; }
.activity-workspace .partner-course-ledger-row.is-interactive:hover { background:#f8fbff; }
.activity-workspace .partner-book-cover { width:64px; height:80px; border-radius:5px; box-shadow:0 3px 10px #1c304b12; }
.activity-workspace .partner-course-ledger-info :is(h3,.partner-course-ledger-title) { font-size:14px; line-height:1.5; font-weight:600; margin-top:4px; letter-spacing:0; color:var(--activity-ink); }
.activity-workspace .partner-course-ledger-info > span:first-child { font-size:10px; font-weight:600; line-height:1.5; letter-spacing:0; }
.activity-workspace .partner-course-ledger-info > small { font-size:11px; line-height:1.6; font-weight:400; margin-top:5px; color:var(--activity-muted); }
.activity-workspace .partner-course-ledger-open { margin-top:9px; font-size:11px; font-weight:600; color:var(--activity-accent); }
.activity-course-progress { display:flex; align-items:center; gap:9px; margin-top:8px; }
.activity-course-track { display:block; flex:1; max-width:230px; height:4px; border-radius:4px; overflow:hidden; background:#e4ecf4; }
.activity-course-track > span { display:block; height:100%; border-radius:inherit; background:var(--activity-accent); }
.activity-course-state { font-size:9px; font-weight:500; line-height:1.5; color:var(--activity-muted); white-space:nowrap; }
.activity-course-state.is-advanced { color:#286449; }
.activity-workspace .partner-course-ledger-metric { padding:10px 12px; background:#f7f9fc; border:1px solid #e9eef5; border-radius:9px; gap:4px; }
.activity-workspace .partner-course-ledger-metric > strong { font-size:17px; line-height:1.4; font-weight:650; letter-spacing:-.3px; }
.activity-workspace .partner-course-ledger-metric.is-fund { background:var(--activity-soft); border-color:#dce7f5; }
.activity-workspace .partner-course-ledger-metric.is-fund > strong { color:var(--activity-accent); }
.activity-workspace .partner-course-ledger-total { grid-template-columns:64px minmax(0,1fr) 110px 150px; gap:20px; padding:18px 24px; background:#f0f5fb; border-top:1px solid var(--activity-line); }
.activity-workspace .partner-course-ledger-total > div > strong { font-size:13px; font-weight:600; color:var(--activity-ink); }
.activity-workspace .partner-course-ledger-total > div > small { font-size:10px; color:var(--activity-muted); }
.activity-workspace .partner-course-ledger-total > :is(span,strong) { font-size:14px; font-weight:650; line-height:1.6; letter-spacing:-.2px; }
.activity-workspace .partner-course-ledger-total > strong { color:var(--activity-accent); }
.activity-filter-empty { padding:26px 24px; text-align:center; border-top:1px solid var(--activity-line); }
.activity-filter-empty strong,.activity-workspace .partner-activity-empty > strong { color:var(--activity-ink); font-size:14px; font-weight:600; }
.activity-filter-empty p,.activity-workspace .partner-activity-empty p { color:var(--activity-muted); font-size:12px; line-height:1.7; margin:7px 0; font-weight:400; }
.activity-workspace .partner-activity-empty { padding:30px 24px; }
.activity-workspace .partner-activity-empty :is(button,a) { min-height:42px; border-radius:8px; background:var(--activity-soft); color:var(--activity-accent); border:1px solid var(--activity-line); padding:10px 14px; }
.activity-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; }
/* Los niveles y el canje mantienen las reglas y estados de la API. */
.activity-workspace .partner-rewards { padding:24px; border:1px solid var(--activity-line); border-radius:16px; box-shadow:none; background:#fff; }
.activity-workspace .partner-rewards-heading { gap:12px; }
.activity-workspace .partner-rewards-heading-icon { width:38px; height:38px; border-radius:11px; }
.activity-workspace .partner-rewards-heading-icon svg { width:23px; height:23px; }
.activity-workspace .partner-rewards-eyebrow { font-size:9px; font-weight:500; letter-spacing:.8px; }
.activity-workspace .partner-rewards-head h2 { font-size:21px; line-height:1.4; margin:5px 0; letter-spacing:-.4px; font-weight:650; }
.activity-workspace .partner-rewards-head p { font-size:12px; line-height:1.6; }
.activity-workspace .partner-rewards-summary { margin:20px 0; padding:17px 20px; background:var(--activity-soft); border-color:var(--activity-line); }
.activity-workspace .partner-rewards-counter > strong { font-size:36px; letter-spacing:-1px; }
.activity-workspace .partner-rewards-counter span { font-size:12px; font-weight:600; }
.activity-workspace .partner-rewards-counter small { font-size:10px; }
.activity-workspace .partner-rewards-next strong { font-size:25px; }
.activity-workspace .partner-gift-grid { gap:16px; }
.activity-workspace .partner-gift-card { padding:20px; border-radius:12px; box-shadow:none; }
.activity-workspace .partner-gift-brand { font-size:17px; }
.activity-workspace .partner-gift-value { font-size:48px; letter-spacing:-1.7px; margin:22px 0; }
.activity-workspace .partner-gift-caption { margin-top:10px; color:var(--activity-muted); }
.activity-workspace .partner-rewards-progress { margin:20px 0; }
.activity-workspace .partner-rewards-progress-copy p { font-size:12px; }
.activity-workspace .partner-rewards-how { padding:14px 16px; gap:14px; }
.activity-workspace .partner-rewards-footer { margin-top:18px; padding-top:18px; gap:20px; align-items:flex-start; }
.activity-workspace .partner-rewards-terms p { font-size:11px; line-height:1.8; }
.activity-workspace .partner-rewards-terms p strong { font-size:12px; }
.activity-workspace .partner-rewards-terms small { font-size:10px; line-height:1.8; }
.activity-workspace .partner-rewards-closing { border:1px solid var(--activity-line); border-radius:9px; padding:0 14px; margin-top:16px; }
.activity-workspace .partner-rewards-closing summary { font-size:11px; min-height:46px; }
@media (max-width:1000px) {
 .activity-summary:not([data-institution="university"]) .institutional-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .activity-workspace :is(.partner-course-ledger-head,.partner-course-ledger-row,.partner-course-ledger-total) { grid-template-columns:58px minmax(0,1fr) 80px 128px; gap:14px; }
 .activity-workspace .partner-book-cover { width:58px; height:73px; }
 .activity-workspace .partner-rewards-footer { flex-direction:column; }
 .activity-workspace .partner-rewards .partner-rewards-redeem { max-width:none; }
}
@media (max-width:700px) {
 .activity-heading { gap:10px; }
 .activity-heading h2 { font-size:23px; }
 .activity-heading p { font-size:11px; }
 .activity-summary .institutional-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .activity-summary .institutional-metric { padding:14px; gap:9px; }
 .activity-summary .institutional-metric strong { font-size:23px; }
 .activity-summary .institutional-metric-icon { width:30px; height:30px; flex-basis:30px; border-radius:9px; }
 .activity-summary[data-institution="university"] .institutional-metric:last-child { grid-column:1/-1; }
 .activity-summary .institutional-benefit { padding:15px; }
 .activity-workspace .partner-activity-head { padding:18px 16px 13px; gap:10px; }
 .activity-workspace .partner-activity-head h2 { font-size:19px; }
 .activity-workspace .partner-activity-head > div { min-width:140px; }
 .activity-workspace [data-activity-community] { width:100%; justify-content:space-between; }
 .activity-workspace [data-activity-community] > span { margin-right:auto; }
 .activity-course-tools { margin:0 16px 15px; gap:10px; }
 .activity-course-search { flex-basis:100%; }
 .activity-course-sort { flex:1; }
 .activity-workspace .partner-course-ledger-head { display:none; }
 .activity-workspace .partner-course-ledger-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 12px; padding:18px 16px; }
 .activity-workspace .partner-book-cover { grid-column:1; grid-row:1; width:52px; height:66px; align-self:start; }
 .activity-workspace .partner-course-ledger-info { grid-column:1/-1; grid-row:1; margin-left:64px; }
 .activity-workspace .partner-course-ledger-info :is(h3,.partner-course-ledger-title) { font-size:13px; }
 .activity-course-progress { gap:6px; }
 .activity-course-state { font-size:8px; }
 .activity-workspace .partner-course-ledger-metric { grid-column:auto; padding:10px 12px; }
 .activity-workspace .partner-course-ledger-metric:not(.is-fund) { grid-column:1; min-width:0; }
 .activity-workspace .partner-course-ledger-metric.is-fund { grid-column:2; margin-left:0; }
 .activity-workspace .partner-course-ledger-label { display:block; color:var(--activity-muted); font-size:9px; font-weight:400; white-space:nowrap; }
 .activity-workspace .partner-course-ledger-metric > strong { font-size:16px; }
 .activity-workspace .partner-course-ledger-total { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:16px; }
 .activity-workspace .partner-course-ledger-total > div { grid-column:1/-1; }
 .activity-workspace .partner-rewards { padding:20px 16px; }
 .activity-workspace .partner-rewards-head h2 { font-size:20px; }
 .activity-workspace .partner-rewards-summary { padding:15px; gap:13px; }
 .activity-workspace .partner-rewards-counter > strong { font-size:33px; }
 .activity-workspace .partner-gift-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 .activity-workspace .partner-gift-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px 16px; padding:18px; }
 .activity-workspace .partner-gift-card-top { grid-column:1; grid-row:1; }
 .activity-workspace .partner-gift-seal { display:none; }
 .activity-workspace .partner-gift-brand { font-size:16px; }
 .activity-workspace .partner-gift-brand > span { font-size:7px; letter-spacing:1.2px; }
 .activity-workspace .partner-gift-value { grid-column:2; grid-row:1/3; margin:0; align-self:center; font-size:43px; letter-spacing:-1.6px; }
 .activity-workspace .partner-gift-value > span { font-size:21px; }
 .activity-workspace .partner-gift-card-bottom { grid-column:1; grid-row:2; padding:0; border:0; flex-direction:column; align-items:flex-start; gap:6px; }
 .activity-workspace :is(.partner-gift-level,.partner-gift-milestone) { font-size:10px; }
 .activity-workspace .partner-gift-caption { margin-top:9px; }
 .activity-workspace .partner-rewards-how { padding:13px; gap:10px; }
 .activity-workspace .partner-rewards-closing { padding:0 12px; }
}
@media (max-width:380px) {
 .activity-summary .institutional-metric { padding:12px; gap:7px; }
 .activity-summary .institutional-metric-icon { width:26px; height:28px; flex-basis:26px; }
 .activity-summary .institutional-metric small { font-size:10px; }
 .activity-workspace .partner-course-ledger-info > small { font-size:10px; }
 .activity-workspace .partner-gift-card { padding:15px; gap:9px 12px; }
 .activity-workspace .partner-gift-value { font-size:38px; }
 .activity-workspace .partner-gift-brand { font-size:15px; }
 .activity-workspace .partner-gift-level svg { display:none; }
}
@media (prefers-reduced-motion:reduce) { .activity-workspace * { transition:none !important; scroll-behavior:auto !important; } }
