/* Copied extras from profesor/css/custom.css for student panel */
@keyframes fadeInUp { from { transform: translateY(30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes spin { 0% { transform: rotate(0deg);} 100% { transform: rotate(360deg);} }
.hover-shadow { transition: all 0.3s ease; }
.hover-shadow:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0,0,0,0.2); }
.text-truncate-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.text-truncate-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.img-cover { object-fit: cover; }
.mh-190 { max-height: 190px; }
.mh-260 { max-height: 260px; }
.chart { width: 100%; }
.chart-h-400 { height: 400px; }
.chart-h-350 { height: 350px; }

/* Botones acordes a la paleta del proyecto */
.btn-primary { background-color: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.btn-primary:hover { background-color: var(--color-primary-dark); border-color: var(--color-primary-dark); color: #fff; }
.btn-secondary { background-color: var(--color-gray-dark); border-color: var(--color-gray-dark); color: #fff; }
.btn-secondary:hover { background-color: #525a61; border-color: #525a61; color: #fff; }
.btn-warning { background-color: var(--color-warning); border-color: var(--color-warning); color: #fff; }
.btn-warning:hover { opacity: .9; color: #fff; }

