.concoursCalendar_overlay__NSA2W{position:fixed;inset:0;background:rgba(17,24,39,.85);backdrop-filter:blur(10px) saturate(.8);-webkit-backdrop-filter:blur(10px) saturate(.8);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:concoursCalendar_overlayIn__n2xGe .3s ease}@keyframes concoursCalendar_overlayIn__n2xGe{0%{opacity:0}to{opacity:1}}.concoursCalendar_modal__bBPgY{background:white;border-radius:24px;width:100%;max-width:960px;max-height:92vh;overflow-y:auto;box-shadow:0 25px 60px -12px rgba(0,0,0,.35);position:relative;scrollbar-width:none;animation:concoursCalendar_modalIn__uhhW1 .35s cubic-bezier(.34,1.4,.64,1)}.concoursCalendar_modal__bBPgY::-webkit-scrollbar{width:4px}.concoursCalendar_modal__bBPgY::-webkit-scrollbar-track{background:transparent}.concoursCalendar_modal__bBPgY::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:99px}@keyframes concoursCalendar_modalIn__uhhW1{0%{opacity:0;transform:scale(.93) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}.concoursCalendar_header___sbBp{text-align:center;padding:52px 40px 36px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:white;z-index:20;background-image:radial-gradient(ellipse at 70% 0,rgba(27,34,63,.04) 0,transparent 60%),radial-gradient(ellipse at 10% 100%,rgba(21,73,140,.03) 0,transparent 50%)}.concoursCalendar_iconWrapper__9WT9s{width:80px;height:80px;background:#eff6ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--primary-color);font-size:32px}.concoursCalendar_title__EbaZe{font-size:34px;font-weight:700;margin-bottom:10px;color:#111827;letter-spacing:-.5px}.concoursCalendar_highlight__DM7sC{background:linear-gradient(90deg,#1b223f,#15498c);-webkit-background-clip:text;background-clip:text;color:transparent}.concoursCalendar_subtitle__m_QLu{font-size:18px;color:#4b5563;max-width:600px;margin:0 auto}.concoursCalendar_calendarContainer__ivKIZ{padding:2rem 2.5rem 2.5rem;background:#f9fafb}.concoursCalendar_calendarHeader__s8PhM{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem}.concoursCalendar_headerLeft__jDJx5{display:flex;align-items:center;gap:.75rem}.concoursCalendar_headerIcon__GaymR{width:28px;height:28px;color:var(--primary-color)}.concoursCalendar_calendarTitle__f_fvU{font-size:1.55rem;font-weight:600;color:#111827;margin:0}.concoursCalendar_viewToggle__7SGnF{display:flex;gap:4px;background:white;padding:4px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 4px rgba(0,0,0,.06)}.concoursCalendar_viewButton__yR5O4{padding:.6rem 1.4rem;border:none;background:transparent;color:#6b7280;font-weight:500;border-radius:8px;cursor:pointer;transition:all .25s ease;font-size:.9rem}.concoursCalendar_viewButton__yR5O4:hover{color:#15498c;background:#eff6ff}.concoursCalendar_viewButtonActive__jtklo{background:var(--primary-color);color:white;font-weight:600;box-shadow:0 4px 12px rgba(27,34,63,.25)}.concoursCalendar_monthNavigation__SbhDH{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;background:white;padding:1.25rem 1.75rem;border-radius:16px;border:1px solid #e5e7eb}.concoursCalendar_navButton__X3Lap{background:linear-gradient(135deg,#1b223f,#15498c);color:white;border:none;width:42px;height:42px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;box-shadow:0 4px 12px rgba(27,34,63,.2);font-size:14px}.concoursCalendar_navButton__X3Lap:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(27,34,63,.3)}.concoursCalendar_navButton__X3Lap:active{transform:translateY(0)}.concoursCalendar_monthTitle__DcT1j{font-size:1.5rem;font-weight:600;color:#111827;margin:0;letter-spacing:-.3px}.concoursCalendar_calendar__weq3n{background:white;border-radius:16px;overflow:hidden;border:1px solid #e5e7eb;box-shadow:0 4px 16px rgba(0,0,0,.06)}.concoursCalendar_weekdaysHeader__jtTVK{display:grid;grid-template-columns:repeat(7,1fr);background:linear-gradient(135deg,#1b223f,#15498c);padding:.875rem 0}.concoursCalendar_weekday__wB8lP{text-align:center;font-weight:700;font-size:.75rem;letter-spacing:1px;text-transform:uppercase;color:white}.concoursCalendar_daysGrid___z2hJ{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e5e7eb}.concoursCalendar_dayCell__l6Wk_{background:white;min-height:112px;padding:.75rem;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.concoursCalendar_dayCell__l6Wk_:hover{background:#eff6ff;z-index:1;box-shadow:0 4px 14px rgba(0,0,0,.08)}.concoursCalendar_dayCellOtherMonth__3oLJD{opacity:.28}.concoursCalendar_dayCellToday__Cz4IQ{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid rgba(21,73,140,.3)}.concoursCalendar_dayCellToday__Cz4IQ:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.concoursCalendar_dayNumber__JDal7{font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.4rem}.concoursCalendar_dayCellToday__Cz4IQ .concoursCalendar_dayNumber__JDal7{background:linear-gradient(135deg,#1b223f,#15498c);color:white;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem;margin-bottom:.5rem}.concoursCalendar_concoursList__sioG3{display:flex;flex-direction:column;gap:3px}.concoursCalendar_concoursItem__v4mL9{padding:.35rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600;color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}.concoursCalendar_concoursItem__v4mL9:hover{transform:translateX(3px);box-shadow:0 2px 8px rgba(0,0,0,.15)}.concoursCalendar_concoursItemText__DkuND{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.concoursCalendar_concoursIEP__tvO11{background:var(--iep-primary-color)}.concoursCalendar_concoursAltitude__U3fqi{background:var(--alt-primary-color)}.concoursCalendar_concoursLatitude__ZeG6x{background:var(--lat-primary-color)}.concoursCalendar_listView__mpQYz{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.concoursCalendar_emptyState__q2SHb{text-align:center;padding:5rem 2rem;color:#9ca3af}.concoursCalendar_emptyIcon__wAzhN{width:56px;height:56px;opacity:.2;margin-bottom:1rem}.concoursCalendar_emptyState__q2SHb p{font-size:1rem;margin:0}.concoursCalendar_concoursCard__YX1PO{background:white;border-radius:8px;padding:1.4rem;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;border:1px solid #e5e7eb;border-left:4px solid;box-shadow:0 2px 8px rgba(0,0,0,.05)}.concoursCalendar_concoursCard__YX1PO:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.1)}.concoursCalendar_concoursCard__YX1PO.concoursCalendar_concoursIEP__tvO11{border-left-color:var(--iep-primary-color)}.concoursCalendar_concoursCard__YX1PO.concoursCalendar_concoursAltitude__U3fqi{border-left-color:var(--alt-primary-color)}.concoursCalendar_concoursCard__YX1PO.concoursCalendar_concoursLatitude__ZeG6x{border-left-color:var(--lat-primary-color)}.concoursCalendar_concoursCardHeader__d1Tuq{display:flex;gap:1.25rem;margin-bottom:1rem}.concoursCalendar_concoursCardDate__Dljhk{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:.875rem 1rem;text-align:center;min-width:72px;display:flex;flex-direction:column;justify-content:center}.concoursCalendar_dateDay__PK_gd{font-size:2rem;font-weight:700;color:var(--primary-color);line-height:1}.concoursCalendar_dateMonth__VJTy8{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:1px;margin-top:.25rem}.concoursCalendar_concoursCardInfo__CBM_X{flex:1}.concoursCalendar_concoursCardTitle__6bqNA{font-size:1.2rem;font-weight:600;color:#111827;margin:0 0 .4rem;letter-spacing:-.2px}.concoursCalendar_concoursCardInstitution__31__f{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-weight:500;font-size:.875rem}.concoursCalendar_concoursCardInstitution__31__f svg{width:14px;height:14px}.concoursCalendar_concoursCardDetails__fGHwl{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.concoursCalendar_concoursCardDetail__biho7{display:flex;align-items:center;gap:.5rem;color:#4b5563;font-size:.875rem}.concoursCalendar_concoursCardDetail__biho7 svg{width:14px;height:14px;color:var(--primary-color)}.concoursCalendar_concoursCardDescription__heM82{color:#6b7280;font-size:.9rem;line-height:1.65;margin-bottom:1rem}.concoursCalendar_concoursCardFooter__gFNt_{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e5e7eb}.concoursCalendar_placesDisponibles__mxVuB{font-weight:600;color:#16a34a;font-size:.875rem}.concoursCalendar_legend__yWb4J{margin-top:2rem;padding:1.25rem 1.5rem;background:white;border-radius:12px;border:1px solid #e5e7eb;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;box-shadow:0 1px 4px rgba(0,0,0,.04)}.concoursCalendar_legendTitle__ThoWH{font-weight:600;color:#6b7280;font-size:.8rem;text-transform:uppercase;letter-spacing:1px}.concoursCalendar_legendItems__Z2phj{display:flex;gap:1.5rem;flex-wrap:wrap}.concoursCalendar_legendItem__IsQMI{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;font-weight:500}.concoursCalendar_legendColor__Gx6Va{width:12px;height:12px;border-radius:4px;display:inline-block}@media (max-width:1024px){.concoursCalendar_calendarTitle__f_fvU{font-size:1.35rem}.concoursCalendar_monthTitle__DcT1j{font-size:1.3rem}.concoursCalendar_dayCell__l6Wk_{min-height:96px;padding:.5rem}.concoursCalendar_concoursItem__v4mL9{font-size:.66rem;padding:.28rem .45rem}}@media (max-width:768px){.concoursCalendar_calendarContainer__ivKIZ{padding:1.25rem}.concoursCalendar_calendarHeader__s8PhM{flex-direction:column;align-items:flex-start}.concoursCalendar_viewToggle__7SGnF{width:100%}.concoursCalendar_viewButton__yR5O4{flex:1;text-align:center}.concoursCalendar_monthNavigation__SbhDH{padding:1rem 1.25rem}.concoursCalendar_monthTitle__DcT1j{font-size:1.15rem}.concoursCalendar_navButton__X3Lap{width:38px;height:38px}.concoursCalendar_dayCell__l6Wk_{min-height:76px;padding:.4rem}.concoursCalendar_dayNumber__JDal7{font-size:.8rem}.concoursCalendar_concoursItem__v4mL9{font-size:.62rem;padding:.22rem .38rem}.concoursCalendar_concoursCardHeader__d1Tuq{flex-direction:column;gap:.875rem}.concoursCalendar_concoursCardDate__Dljhk{min-width:100%;flex-direction:row;justify-content:center;gap:1rem;padding:.75rem}.concoursCalendar_dateDay__PK_gd{font-size:1.5rem}.concoursCalendar_dateMonth__VJTy8{margin-top:0;align-self:center}.concoursCalendar_concoursCardDetails__fGHwl{flex-direction:column;gap:.4rem}.concoursCalendar_legend__yWb4J{flex-direction:column;align-items:flex-start}.concoursCalendar_legendItems__Z2phj{width:100%}}@media (max-width:480px){.concoursCalendar_calendarTitle__f_fvU{font-size:1.15rem}.concoursCalendar_header___sbBp{padding:36px 20px 24px}.concoursCalendar_title__EbaZe{font-size:26px}.concoursCalendar_headerIcon__GaymR{width:22px;height:22px}.concoursCalendar_weekday__wB8lP{font-size:.65rem}.concoursCalendar_dayCell__l6Wk_{min-height:56px;padding:.3rem}.concoursCalendar_dayNumber__JDal7{font-size:.72rem}.concoursCalendar_concoursItem__v4mL9{display:none}.concoursCalendar_dayCell__l6Wk_:has(.concoursCalendar_concoursItem__v4mL9):after{content:"";width:6px;height:6px;background:var(--primary-color);border-radius:50%;position:absolute;bottom:.4rem;left:50%;transform:translateX(-50%)}.concoursCalendar_concoursCardTitle__6bqNA{font-size:1.05rem}}