/* Copied essentials from profesor/css/style.css for student panel */
body { font-family: 'Poppins', sans-serif; font-weight: 300; background-color: var(--color-light); overflow-x: hidden; margin: 0; padding: 0; }
.main-content { margin-left: 220px; padding: 0.5rem; min-height: 100vh; }
#cabecera { margin-bottom: 1.5rem; border-bottom: 1px solid var(--color-border); padding-bottom: 1rem; }
#cabecera strong { color: var(--color-primary); }
.sidebar { box-shadow: 0 0 10px var(--color-shadow); background: linear-gradient(160deg, var(--color-primary) 0%, var(--color-primary-light) 50%, var(--color-primary) 100%); border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0; width: 220px; height: 100vh; position: fixed; z-index: 1030; display: flex; flex-direction: column; }
.sidebar-content { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; padding-bottom: 50px; }
.sidebar .username { position: absolute; bottom: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: center; color: var(--color-white); padding: 8px 5px; font-size: 0.8rem; width: 100%; background-color: var(--color-black-transparent-15); border-top: 1px solid var(--color-gray-transparent); }
.sidebar-logo { max-width: 85%; margin: 0.5rem auto; filter: drop-shadow(0 2px 3px var(--color-shadow)); transition: all 0.3s ease; }
.sidebar .nav-item { width: 100%; margin-bottom: 0.5rem; }
.sidebar .nav-link { padding: 0.75rem 1rem; border-radius: var(--border-radius-sm); transition: all 0.2s ease; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; color: var(--color-white); }
.sidebar .nav-link.active, .sidebar .actual { background-color: var(--color-menu-active); color: var(--color-white); font-weight: 600; box-shadow: 0 2px 4px var(--color-shadow); }
.sidebar .nav a:hover { background-color: var(--color-menu-hover); color: var(--color-white); }
.navbar.menu-bar { background: linear-gradient(160deg, var(--color-primary) 0%, var(--color-primary-light) 50%, var(--color-primary) 100%); box-shadow: 0 2px 4px var(--color-shadow); }
.mobile-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.5); z-index: 1040; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; }
body.sidebar-open .mobile-overlay { opacity: 1; pointer-events: auto; }
.btn { border-radius: var(--border-radius-sm); font-weight: 500; }
.btn-primary { background-color: var(--color-primary); border-color: var(--color-primary); }
.btn-primary:hover { background-color: var(--color-primary-dark); border-color: var(--color-primary-dark); }
.card { border: none; border-radius: var(--border-radius-md); box-shadow: 0 4px 6px var(--color-shadow); transition: all 0.3s ease; }
.card-header { background-color: var(--color-light); border-bottom: 1px solid var(--color-border); font-weight: 600; color: var(--color-primary); }
.form-control { border-radius: var(--border-radius-sm); border: 1px solid var(--color-border); transition: all 0.2s ease; }
.form-control:focus { border-color: var(--color-primary); box-shadow: 0 0 0 0.2rem var(--color-primary-opacity-10); }
.form-select { border-radius: var(--border-radius-sm); border: 1px solid var(--color-border); }
.form-select:focus { border-color: var(--color-primary); box-shadow: 0 0 0 0.2rem var(--color-primary-opacity-10); }
@media (max-width: 991.98px) { .main-content { margin-left: 0; padding-top: 4rem; } .offcanvas.sidebar-mobile { z-index: 1045; background: linear-gradient(160deg, var(--color-primary) 0%, var(--color-primary-light) 50%, var(--color-primary) 100%); } }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--color-gray-light); }
::-webkit-scrollbar-thumb { background: var(--color-primary); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--color-primary-dark); }
.offcanvas.sidebar-mobile .sidebar-logo-collapsed { max-width: 70%; }
.mobile-overlay.clickable { cursor: pointer; }
.transition-opacity { transition: opacity 0.3s ease; }

