/* Experiencia académica: jerarquía clara, compacta y sin detalles operativos. */
.academic-course-experience,.academic-lesson-experience{overflow-x:clip}
.academic-course-experience .future-section-head>div>small,.course-timeline header small,.learning-section header small,.learning-block-copy>small,.content-eyebrow,.future-rail-head small{display:block;color:#08756d;font-size:.68rem;font-weight:850;letter-spacing:.1em}
.course-timeline{margin:20px 0 0;padding:18px 18px 14px;background:#fff;border:1px solid #dce7e8;border-radius:20px;box-shadow:0 8px 24px rgba(17,53,62,.05)}
.course-timeline>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.course-timeline h2{margin:3px 0 0;font-size:1.25rem;letter-spacing:-.02em}
.timeline-actions{display:flex;align-items:center;gap:7px}
.timeline-control,.timeline-today{min-height:38px;border:1px solid #d3e0e2;background:#f8fbfb;color:#164b58;border-radius:10px;font:inherit;font-size:.8rem;font-weight:800;padding:0 12px;cursor:pointer}
.timeline-control{width:38px;padding:0}.timeline-control:hover,.timeline-today:hover{border-color:#69a9a5;background:#edf8f6}
.timeline-scroll{display:flex;gap:9px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:8px 2px 10px;scrollbar-width:thin;scrollbar-color:#9fbfc0 transparent}
.timeline-month{position:relative;flex:0 0 184px;min-height:142px;border:1px solid #e2eaeb;border-radius:15px;background:#fbfcfc;scroll-snap-align:center}
.timeline-month.past{opacity:.72}.timeline-month.current{border-color:#21a99c;background:#f1fbf9;box-shadow:0 0 0 2px rgba(33,169,156,.1)}.timeline-month.upcoming{background:#fff}
.timeline-now{position:absolute;right:9px;top:-9px;padding:3px 7px;border-radius:999px;background:#0b7569;color:#fff;font-size:.58rem;font-weight:900;letter-spacing:.08em}
.timeline-month-trigger{display:flex;flex-direction:column;width:100%;height:100%;min-height:142px;padding:13px;border:0;border-radius:inherit;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.timeline-month-trigger:hover,.timeline-month-trigger:focus-visible{background:rgba(11,117,105,.055);outline:0}.timeline-month-trigger:focus-visible{box-shadow:inset 0 0 0 3px rgba(11,117,105,.32)}
.timeline-month-heading{display:flex;justify-content:space-between;align-items:baseline}.timeline-month-heading b{font-size:.92rem}.timeline-month-heading small{font-size:.68rem;color:#73858a}
.timeline-track{height:14px;display:flex;align-items:center}.timeline-track:before{content:"";height:2px;flex:1;background:#dce7e8}.timeline-track i{width:7px;height:7px;margin-left:-50%;border-radius:50%;background:#79aaa7}
.timeline-month.current .timeline-track i{background:#0b887b;box-shadow:0 0 0 4px rgba(11,136,123,.13)}
.timeline-events{display:grid;gap:5px}.timeline-events a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;align-items:start;color:#29444d}.timeline-events a span{font-size:.69rem;font-weight:900;color:#0b7569}.timeline-events a small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;color:#63777d}.timeline-empty{font-size:.7rem;color:#8a999d}
.timeline-events a.completed span{color:#24784c}.timeline-events a.completed small{text-decoration:line-through;text-decoration-color:#9db8aa;color:#718079}.timeline-events a.pending small{font-weight:650}
.timeline-summary{display:grid;gap:2px;margin-top:5px}.timeline-summary b{font-size:.77rem;color:#29464e}.timeline-summary small{font-size:.68rem;color:#6c7d82}.timeline-open-label{margin-top:auto;padding-top:8px;color:#0b7569;font-size:.68rem;font-weight:850}
.month-detail-dialog{width:min(780px,calc(100vw - 32px));max-width:none;max-height:min(82vh,850px);padding:0;border:0;border-radius:24px;background:#fff;color:#19343d;box-shadow:0 28px 80px rgba(5,35,43,.28);overflow:hidden}.month-detail-dialog::backdrop{background:rgba(7,31,38,.55);backdrop-filter:blur(3px)}.month-detail-sheet{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(82vh,850px)}.month-detail-sheet>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 24px 17px;border-bottom:1px solid #e2e9ea;background:linear-gradient(135deg,#f4fbfa,#fff)}.month-detail-sheet>header small{display:block;color:#08756d;font-size:.67rem;font-weight:850;letter-spacing:.1em}.month-detail-sheet>header h2{margin:4px 0 2px;font-size:1.55rem}.month-detail-sheet>header p{margin:0;color:#6a7b80;font-size:.78rem}.month-dialog-close{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border:1px solid #d9e4e5;border-radius:12px;background:#fff;color:#34545d;font:inherit;font-size:1.45rem;cursor:pointer}.month-dialog-close:hover,.month-dialog-close:focus-visible{border-color:#79b5b0;background:#edf8f6;outline:0}.month-detail-content{overflow-y:auto;padding:18px 24px 26px;overscroll-behavior:contain}.month-day-divider{display:flex;align-items:baseline;gap:6px;margin:15px 0 8px;padding-top:3px;border-top:1px solid #edf1f2}.month-day-divider:first-child{margin-top:0;border-top:0}.month-day-divider b{font-size:1.35rem;color:#0b7569}.month-day-divider span{font-size:.68rem;font-weight:900;letter-spacing:.09em;color:#6d7e83}
.month-event-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;margin-bottom:8px;border:1px solid #e2eaeb;border-radius:15px;background:#fff}.month-event-card.type-live{background:#f2fbf9;border-color:#cce8e3}.month-event-card.type-task{background:#fffaf0;border-color:#ead9ad}.month-event-card.type-exam{background:#faf7fd;border-color:#ded2eb}.month-event-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#edf5f4;font-size:1.1rem}.month-event-copy{min-width:0}.month-event-copy>small{display:block;color:#08756d;font-size:.62rem;font-weight:900;letter-spacing:.07em}.month-event-copy h3{margin:3px 0;font-size:.92rem;line-height:1.25}.month-event-copy p{margin:0;color:#68797e;font-size:.72rem}.month-event-status{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:4px 7px;border-radius:7px;background:#eef3f4;color:#50646a;font-size:.64rem;font-weight:800}.month-event-status i{font-style:normal}.month-event-status.completed{background:#e2f3e9;color:#1d7047}.month-event-status.today{background:#dff5f1;color:#08766c}.month-event-status.upcoming{background:#eaf3fa;color:#286688}.month-event-status.overdue{background:#fff0e2;color:#995414}.month-event-status.pending{background:#fff4d9;color:#805b08}.month-event-action{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 11px;border:1px solid #cfe0e1;border-radius:10px;background:#f6faf9;color:#0b6f66;font-size:.7rem;font-weight:850;white-space:nowrap}.month-event-action:hover,.month-event-action:focus-visible{border-color:#72b3ad;background:#eaf7f5;outline:0}.month-empty{display:grid;justify-items:center;text-align:center;padding:42px 20px}.month-empty>span{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#edf4f4;color:#759095}.month-empty h3{margin:12px 0 4px}.month-empty p{margin:0;max-width:380px;color:#6c7d82;font-size:.8rem}
.future-module-card{position:relative;overflow:hidden}.module-accent{position:absolute;inset:0 auto 0 0;width:5px;background:#87aaa8}.module-state-progress .module-accent{background:#16a295}.module-state-completed .module-accent{background:#248b59}
.module-progress-summary{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center;margin:4px 0 12px;padding:9px 11px;border-radius:12px;background:#f4f8f8}
.module-progress-summary>div:first-child{display:flex;gap:7px;align-items:baseline}.module-progress-summary b{color:#0b7569;font-size:.9rem}.module-progress-summary span{font-size:.69rem;color:#61757a}.module-progress-summary [role=progressbar]{height:6px;overflow:hidden;background:#dfe9e9;border-radius:999px}.module-progress-summary i{display:block;height:100%;background:#12a092;border-radius:inherit}
.future-lesson-row{grid-template-columns:58px minmax(0,1fr) 24px;border:1px solid transparent;border-top-color:#edf1f2!important;padding:13px 8px}.future-lesson-row:hover{background:#f7fbfb;border-color:#dceaea!important;border-radius:14px}.future-lesson-row.completed{background:#f6fbf8}.future-lesson-row .lesson-date{background:#edf5f4}.future-lesson-row.completed .lesson-date{background:#daf2e4;color:#187447}
.content-eyebrow{margin:0 0 3px!important}.lesson-content-chips{display:flex!important;flex-wrap:wrap;gap:5px;margin-top:8px!important}
.content-chip{display:inline-flex!important;align-items:center;padding:4px 7px;border-radius:7px;font-size:.58rem!important;font-style:normal;font-weight:850;letter-spacing:.04em;background:#eff3f4;color:#476069}.content-chip.live{background:#e7f8f4;color:#08776c}.content-chip.violet{background:#f0eafb;color:#6c41a1}.content-chip.coral{background:#fff0ed;color:#a43e32}.content-chip.teal{background:#e7f6f4;color:#0b766d}.content-chip.sky,.content-chip.blue{background:#eaf3fa;color:#286688}.content-chip.task{background:#fff4d9;color:#885b00}
.content-type-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;font-size:.68rem;font-weight:900;background:#eff3f4;color:#46616a}.content-type-icon.violet{background:#eee6fa;color:#7044a6}.content-type-icon.coral{background:#ffe8e3;color:#aa3c30}.content-type-icon.teal{background:#def5f1;color:#08776b}.content-type-icon.sky,.content-type-icon.blue{background:#e4f1fa;color:#23698c}.content-type-icon.slate{background:#e9eef0;color:#435d66}
.rail-type{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:8px;font-size:.66rem;font-weight:900}.rail-type.task{background:#fff2ce;color:#805800}.rail-type.exam{background:#eee7fa;color:#684197}
.future-rail-head>div h3{margin:3px 0 0}.future-material-row{grid-template-columns:46px minmax(0,1fr) 26px}
.lesson-learning-path{display:grid;gap:16px}.learning-block,.learning-section{border:1px solid #dde8e9;border-radius:19px;background:#fff}.learning-block{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px}.learning-block.live-block{background:linear-gradient(135deg,#effaf7,#f9fcfc);border-color:#cde8e3}.learning-block.pending{background:#fffbf2}.learning-block-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#d9f4ee;color:#07907e}.learning-block-copy h2{margin:3px 0;font-size:1.18rem}.learning-block-copy p{margin:0;color:#617277;font-size:.83rem}
.learning-section{padding:18px}.learning-section>header{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:13px}.section-number{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#e7f5f3;color:#0b7569;font-size:.72rem;font-weight:900}.learning-section header h2{margin:3px 0;font-size:1.25rem}.learning-section header p{margin:0;color:#63747a;font-size:.82rem}.featured-study{border-color:#bcded9;background:#fbfefd}.complementary{background:#fafcfc}.practical-work{border-color:#efdbac;background:#fffdf8}.practical-work .section-number{background:#fff0c9;color:#805900}
.learning-resource-list{display:grid;gap:8px}.learning-resource{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px;border:1px solid #e5ecee;border-radius:13px;background:#fff}.learning-resource:hover{border-color:#9dcac5;box-shadow:0 5px 14px rgba(12,92,86,.06)}.learning-resource>span:nth-child(2){min-width:0}.learning-resource small,.learning-resource b,.learning-resource em{display:block}.learning-resource small{font-size:.62rem;font-weight:850;letter-spacing:.07em;color:#08766c}.learning-resource b{margin-top:2px;font-size:.9rem}.learning-resource em{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7a7f;font-size:.72rem;font-style:normal}.learning-resource strong{color:#0b7569;font-size:.75rem}.activity-callout{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 12px;border-radius:12px;background:#fff8e6;font-size:.78rem;color:#6d5521}.lesson-progress-panel{margin-top:22px}
@media(max-width:700px){.course-timeline{margin-inline:-2px;padding:15px 12px 10px}.course-timeline>header{align-items:flex-end}.course-timeline h2{font-size:1.08rem}.timeline-today{padding-inline:9px}.timeline-month{flex-basis:160px}.month-detail-dialog{width:100vw;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0}.month-detail-sheet{max-height:92dvh}.month-detail-sheet>header{padding:18px 16px 14px}.month-detail-content{padding:14px 14px calc(24px + env(safe-area-inset-bottom,0px))}.month-event-card{grid-template-columns:42px minmax(0,1fr);padding:12px}.month-event-action{grid-column:1/-1;width:100%;min-height:44px}.module-progress-summary{grid-template-columns:1fr}.future-module-card{padding:16px 14px}.future-module-head{gap:8px}.future-module-head h3{font-size:1.15rem}.future-lesson-row{grid-template-columns:48px minmax(0,1fr) 16px;padding-inline:2px}.lesson-content-chips{gap:4px}.learning-block{grid-template-columns:38px minmax(0,1fr);padding:14px}.learning-block .meet-cta,.learning-block .secondary{grid-column:1/-1;width:100%}.learning-section{padding:15px 12px}.learning-section>header{grid-template-columns:34px minmax(0,1fr)}.learning-resource{grid-template-columns:40px minmax(0,1fr);padding:10px}.learning-resource>strong{grid-column:2}.activity-callout{align-items:flex-start;flex-direction:column}.activity-callout .primary{width:100%}.lesson-progress-panel{align-items:stretch}.lesson-progress-panel form,.lesson-progress-panel form button,.lesson-progress-panel>a{width:100%}}
@media(max-width:430px){.timeline-actions{gap:4px}.timeline-control{width:34px}.course-timeline>header{gap:8px}.course-timeline h2{font-size:1rem}.timeline-today{font-size:.7rem}.future-course-hero .future-hero-pills span{font-size:.66rem}.content-chip{font-size:.54rem!important}.learning-section header h2{font-size:1.08rem}}
@media(prefers-reduced-motion:reduce){.timeline-scroll{scroll-behavior:auto!important}}
