.loading-message{text-align:center;color:#cbd5e1;padding:4rem 2rem;font-size:1.2rem}.error-message{text-align:center;background:#1e293b;border:1px solid #ef4444;border-radius:12px;max-width:600px;margin:2rem auto;padding:4rem 2rem}.error-message h2{color:#ef4444;margin-bottom:1rem;font-size:1.5rem}.error-message p{color:#cbd5e1;font-size:1rem}.no-trabajos-message{text-align:center;background:rgba(51,65,85,.3);border:1px dashed #475569;border-radius:8px;padding:2rem}.no-trabajos-message p{color:#94a3b8;margin:0;font-style:italic}.projects-container{max-width:1200px;margin:0 auto;padding:2rem}.projects-header{text-align:center;margin-bottom:3rem}.projects-title{color:#e3e8f0;margin-bottom:1rem;font-size:2.5rem;font-weight:700;line-height:1.2}.projects-desc{color:#a5b4fc;max-width:800px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1.1rem;line-height:1.7}.cursos-section{margin-bottom:3rem}.cursos-section-title{color:#cbd5e1;text-align:center;margin-bottom:2rem;font-size:1.8rem;font-weight:600}.cursos-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-top:2rem;display:grid}@media (max-width:768px){.projects-container{padding:1rem}.projects-title{font-size:2rem}.cursos-grid{grid-template-columns:1fr;gap:1rem}.cursos-section-title{font-size:1.5rem}}@media (min-width:769px) and (max-width:1024px){.cursos-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1025px){.cursos-grid{grid-template-columns:repeat(3,1fr)}}.modal-header{text-align:center;border-bottom:1px solid #374151;margin-bottom:2rem;padding-bottom:1rem}.modal-period{color:#94a3b8;margin:.5rem 0 0;font-size:.9rem;font-style:italic}.modal-title{color:#e3e8f0;margin-bottom:.5rem;font-size:1.8rem;font-weight:600}.modal-subtitle{color:#a5b4fc;font-size:1rem;font-weight:500}.filtros-section{background:#1f2937;border:1px solid #374151;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.filtros-title{color:#cbd5e1;margin-bottom:1rem;font-size:1.2rem;font-weight:600}.trabajos-section{margin-top:2rem}.trabajos-section-title{color:#e3e8f0;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;display:flex}.trabajos-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}@media (max-width:768px){.trabajos-grid{grid-template-columns:1fr;gap:1rem}.filtros-section{padding:1rem}.modal-title{font-size:1.5rem}}
