body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-page{display:flex;flex-direction:row;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;width:100%}.mensaje{animation:slideDown .4s ease-out;border-radius:10px;box-sizing:border-box;display:block;font-size:14px;margin-top:20px;max-width:100%;padding:14px 18px;width:100%}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mensaje.error{background-color:#fef2f2;border:1px solid #fecaca;box-shadow:0 2px 8px #dc26261a;color:#dc2626}.mensaje.success{background-color:#f0fdf4;border:1px solid #bbf7d0;box-shadow:0 2px 8px #16a34a1a;color:#16a34a}.left-panel{align-items:center;background:linear-gradient(135deg,#232e56,#1a2342);display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:40px;position:relative}.left-panel:before{background:radial-gradient(circle,#ffffff0d 0,#0000 70%);height:500px;left:-200px;top:-200px;width:500px}.left-panel:after,.left-panel:before{border-radius:50%;content:"";position:absolute}.left-panel:after{background:radial-gradient(circle,#ffffff08 0,#0000 70%);bottom:-150px;height:400px;right:-150px;width:400px}.logo-image{animation:floatAnimation 3s ease-in-out infinite;filter:drop-shadow(0 10px 30px rgba(0,0,0,.3));height:auto;max-height:65vh;max-width:75%;object-fit:contain;position:relative;z-index:1}@keyframes floatAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.right-panel{align-items:center;background:linear-gradient(180deg,#f8fafc 0,#f1f5f9);display:flex;flex:1 1;justify-content:center;padding:40px}.form-container{animation:fadeIn .8s ease-in-out;background:#fff;border:1px solid #232e5614;border-radius:16px;box-shadow:0 10px 40px #232e561f;max-width:440px;padding:45px 40px;width:100%}.form-container h2{color:#232e56;font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:35px;text-align:center}.form-group{margin-bottom:24px}.form-group label{font-size:14px;letter-spacing:.3px;margin-bottom:10px}.password-container{position:relative;width:100%}.form-group input{border:2px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#232e56;font-size:15px;padding:14px 16px}.password-container input{padding:14px 45px 14px 16px}.form-group input:focus{box-shadow:0 0 0 4px #232e561a}.form-group input::placeholder{color:#94a3b8}.toggle-password-icon{align-items:center;color:#64748b;cursor:pointer;display:flex;padding:4px;position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:color .2s ease}.toggle-password-icon:hover{color:#232e56}.toggle-password-icon svg{height:20px;width:20px}button{background:linear-gradient(135deg,#232e56,#1a2342);border-radius:10px;box-shadow:0 4px 12px #232e5633;color:#fff;font-size:16px;font-weight:600;letter-spacing:.3px;margin-top:8px;padding:14px;width:100%}button:hover{background:linear-gradient(135deg,#1a2342,#151c32);box-shadow:0 6px 20px #232e564d;transform:translateY(-2px)}button:active{box-shadow:0 2px 8px #232e5633;transform:translateY(0)}.boton-registro{background:#fff;box-shadow:0 4px 12px #64748b33;margin-top:12px}.boton-registro:hover{background:#fff;box-shadow:0 6px 20px #64748b4d}@media (max-width:992px){.login-page{flex-direction:column;min-height:100vh}.left-panel{min-height:35vh;padding:40px 30px}.left-panel:after,.left-panel:before{display:none}.right-panel{align-items:flex-start;padding:30px 20px;width:100%}.logo-image{animation:none;max-height:180px;max-width:280px}.form-container{border-radius:24px 24px 0 0;box-shadow:0 -5px 30px #232e5626;margin-top:-30px;max-width:100%;padding:35px 30px}.form-container h2{font-size:26px}}@media (max-width:576px){.left-panel{min-height:30vh;padding:30px 20px}.right-panel{padding:20px 15px}.logo-image{max-height:140px;max-width:220px}.form-container{margin-top:-20px;padding:30px 24px}.form-container h2{font-size:24px;margin-bottom:28px}.form-group{margin-bottom:20px}.form-group label{font-size:13px}.form-group input,.password-container input{font-size:15px;padding:12px 14px}.password-container input{padding-right:42px}button{font-size:15px;padding:13px}.mensaje{font-size:13px;margin-top:16px;padding:12px 16px}}:root{--primary-color:#232e56;--primary-hover:#1a2342;--secondary-color:#64748b;--error-color:#dc3545;--success-color:#28a745;--light-gray:#f8fafc;--border-color:#e2e8f0;--text-color:#232e56;--text-light:#64748b}body{color:#232e56;color:var(--text-color);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.registro-page{display:flex;min-height:100vh;width:100%}.left-panel-registro{background-color:#232e56;background-color:var(--primary-color);background-image:linear-gradient(135deg,#232e56,#1a2342);background-image:linear-gradient(135deg,var(--primary-color) 0,var(--primary-hover) 100%);height:100vh;left:0;position:fixed;top:0}.left-panel-registro,.right-panel-registro{align-items:center;display:flex;justify-content:center;padding:2rem;width:50%}.right-panel-registro{background-color:#fff;flex:1 1;margin-left:50%;overflow-y:auto}.logo-image-small{animation:floatAnimation 3s ease-in-out infinite;filter:drop-shadow(0 10px 30px rgba(0,0,0,.3));height:auto;max-height:65vh;max-width:75%;object-fit:contain;position:relative;z-index:1}.logo-image-small:hover{transform:scale(1.05)}.form-container-registro{animation:fadeIn .8s ease-in-out;background:#fff;border-radius:16px;box-shadow:0 10px 30px #00000014;max-width:500px;padding:2.5rem;width:100%}.form-container-registro h2{color:#232e56;color:var(--primary-color);font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{color:#232e56;color:var(--text-color);font-weight:500;margin-bottom:.5rem}.form-group input{background-color:#f8fafc;background-color:var(--light-gray);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;padding:.8rem 1rem;transition:all .3s ease}.form-group input:focus{background-color:#fff;border-color:#232e56;border-color:var(--primary-color);box-shadow:0 0 0 3px #232e5633}.form-group input::placeholder{color:#64748b;color:var(--text-light);opacity:.7}.button-group{display:flex;gap:1rem;margin-top:1.5rem}button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;padding:.8rem;transition:all .3s ease}button[type=submit]{background-color:#232e56;background-color:var(--primary-color);color:#fff}button[type=submit]:hover{background-color:#1a2342;background-color:var(--primary-hover);box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}button[type=button]{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);color:#232e56;color:var(--primary-color)}button[type=button]:hover{background-color:#f8fafc;background-color:var(--light-gray);transform:translateY(-2px)}.mensaje{animation:fadeIn .3s ease-in-out;border-radius:8px;font-weight:500;margin-top:1.5rem;padding:.8rem;text-align:center}.mensaje.error{background-color:#dc35451a;border:1px solid #dc354533;color:#dc3545;color:var(--error-color)}.mensaje.success{background-color:#28a7451a;border:1px solid #28a74533;color:#28a745;color:var(--success-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:992px){.form-container-registro{padding:2rem}.left-panel-registro{height:auto;position:relative;width:100%}.right-panel-registro{margin-left:0;width:100%}}@media (max-width:768px){.registro-page{flex-direction:column}.left-panel-registro,.right-panel-registro{padding:1.5rem}.logo-image-small{max-width:200px}.form-container-registro{box-shadow:none;margin-top:0}}@media (max-width:480px){.form-container-registro{padding:1.5rem}.form-container-registro h2{font-size:1.5rem}.button-group{flex-direction:column;gap:.75rem}button{width:100%}.form-group input{padding:.7rem .9rem}}.dashboard-administrador{display:flex;flex-direction:row;min-height:100vh;overflow:hidden;width:100%}.sidebar-administrador{background-color:#232e56;color:#fff;display:flex;flex-direction:column;padding:20px 15px;transition:all .3s ease;width:280px;z-index:100}.sidebar-administrador h2{border-bottom:1px solid #fff3;font-size:1.5rem;margin-bottom:30px;padding-bottom:15px;text-align:center}.sidebar-administrador ul{flex-grow:1;list-style:none;padding:0}.sidebar-administrador li{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;margin-bottom:12px;padding:12px 15px;transition:all .3s ease}.sidebar-administrador li:hover{background-color:#ffffff1a;transform:translateX(5px)}.sidebar-administrador li:active{transform:translateX(5px) scale(.98)}.sidebar-administrador .logout{color:#fca5a5;margin-top:auto}.contenido-administrador{background-color:#f9fafb;flex:1 1;min-height:100vh;overflow-y:auto;padding:30px}.contenido-administrador h1{color:#1f2937;font-size:2rem;font-weight:600;margin-bottom:15px}.contenido-administrador p{color:#4b5563;font-size:1.1rem;line-height:1.6}@media (max-width:992px){.sidebar-administrador{width:240px}.contenido-administrador{padding:25px}}@media (max-width:768px){.dashboard-administrador{flex-direction:column}.sidebar-administrador{align-items:center;flex-direction:row;justify-content:space-between;padding:15px 10px;position:-webkit-sticky;position:sticky;top:0;width:100%}.sidebar-administrador h2{border-bottom:none;display:block;font-size:1.3rem;margin-bottom:0;padding-bottom:0;white-space:nowrap}.sidebar-administrador ul{display:none}.menu-toggle{cursor:pointer;display:flex;flex-direction:column;height:21px;justify-content:space-between;width:30px}.menu-toggle span{background-color:#fff;border-radius:3px;display:block;height:3px;width:100%}.sidebar-administrador.mobile-open ul{background-color:#d60812;box-shadow:0 5px 10px #0003;display:flex;flex-direction:column;left:0;padding:15px;position:absolute;top:100%;width:100%}.contenido-administrador{padding:20px 15px}}@media (max-width:576px){.sidebar-administrador h2{font-size:1.2rem}.contenido-administrador h1{font-size:1.7rem}.contenido-administrador p{font-size:1rem}}.usuarios-container{padding:30px}.usuarios-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.usuarios-header h1{color:#1f2937;font-size:2rem;margin:0}.filtros-container{border-radius:8px;box-shadow:0 2px 6px #0000000d;padding:20px}.filtros{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.filtro-group label{color:#4b5563}.input-busqueda,.select-filtro{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:12px;transition:all .3s ease;width:100%}.input-busqueda:focus,.select-filtro:focus{border-color:#d60812;box-shadow:0 0 0 3px #d608121a;outline:none}.usuarios-table{border-collapse:collapse;min-width:600px;width:100%}.usuarios-table thead{background-color:#d60812;color:#fff}.usuarios-table th{font-weight:600;padding:16px;text-align:left}.usuarios-table td{border-bottom:1px solid #e5e7eb;padding:14px 16px;vertical-align:middle}.usuarios-table tr:last-child td{border-bottom:none}.usuarios-table tr:hover{background-color:#f9fafb}.badge{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:500;padding:4px 10px}.badge.alumno{background-color:#e0f2fe;color:#0369a1}.badge.maestro{background-color:#f0fdf4;color:#15803d}.badge.administrador{background-color:#fef2f2;color:#b91c1c}.no-results{padding:30px}@media (max-width:992px){.usuarios-container{padding:25px}}@media (max-width:768px){.usuarios-header{align-items:flex-start;flex-direction:column}.usuarios-container{padding:20px 15px}.filtros{grid-template-columns:1fr}.usuarios-table td,.usuarios-table th{padding:12px}}@media (max-width:480px){.usuarios-table{display:block}.usuarios-table thead{display:none}.usuarios-table tr{border-bottom:1px solid #e5e7eb;display:block;margin-bottom:15px}.usuarios-table td{align-items:center;border-bottom:none;display:flex;justify-content:space-between;padding:10px}.usuarios-table td:before{color:#4b5563;content:attr(data-label);font-weight:600;margin-right:15px}.badge,.btn-estatus,.estatus{margin-left:auto}}.form-registro{background-color:#fff;border-radius:12px;box-shadow:0 0 10px #0000000d;display:flex;flex-direction:column}.form-registro input,.form-registro select{border:1px solid #ccc;border-radius:6px;margin-bottom:12px;padding:10px}.form-registro button{background-color:#2c3e50;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px}.form-registro button:hover{background-color:#1a242f}.perfil-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.perfil-header h1{color:#1f2937;font-size:2rem;margin:0}.edit-button{background-color:#d60812;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px;transition:all .3s ease}.edit-button:hover{background-color:#b3070f;transform:translateY(-2px)}.perfil-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:30px;padding:30px}.perfil-info{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;padding:15px 0}.info-label{color:#4b5563;font-size:.9rem;font-weight:600;margin-bottom:5px}.info-value{color:#1f2937;font-size:1.1rem}.status-active{background-color:#ecfdf5;color:#10b981}.status-active,.status-inactive{border-radius:12px;font-weight:600;padding:4px 8px}.status-inactive{background-color:#fef2f2;color:#ef4444}.perfil-form{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{margin-bottom:20px}.form-group label{display:block}.form-group input{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:12px;transition:border .3s ease;width:100%}.form-group input:focus{border-color:#d60812;box-shadow:0 0 0 3px #d608121a;outline:none}.form-actions{grid-column:1/-1;margin-top:20px}.save-button{background-color:#d60812;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.save-button:hover{background-color:#b3070f}.cancel-button{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#4b5563;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.cancel-button:hover{background-color:#f3f4f6}@media (max-width:768px){.perfil-header{align-items:flex-start;flex-direction:column}.perfil-container{padding:20px}.form-actions{flex-direction:column;gap:10px}.cancel-button,.save-button{width:100%}}@media (max-width:480px){.perfil-form,.perfil-info{grid-template-columns:1fr}.contenido-administrador{padding:20px 15px}}.loading{align-items:center;color:#4b5563;display:flex;font-size:1.2rem;height:100vh;justify-content:center}.notificaciones-container{margin:0 auto;max-width:800px;padding:40px}.notificaciones-header{border-bottom:2px solid #4a90e233;margin-bottom:40px;padding-bottom:20px;text-align:center}.notificaciones-header h1{color:#1a365d;font-size:2rem;font-weight:600;margin-bottom:10px}.notificaciones-header p{color:#4a5568;font-size:1.1rem}.form-notificacion{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;gap:25px;padding:30px}.form-group{gap:8px}.form-group label{color:#2d3748}.form-notificacion textarea{border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;line-height:1.5;min-height:150px;padding:15px;resize:vertical;transition:all .3s ease}.form-notificacion textarea:focus{border-color:#4a6ef5;box-shadow:0 0 0 3px #4a6ef51a;outline:none}.form-notificacion select{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:1rem;padding:12px 15px;transition:all .3s ease}.form-notificacion select:focus{border-color:#4a6ef5;box-shadow:0 0 0 3px #4a6ef51a;outline:none}.form-actions{justify-content:flex-end}.btn-enviar{align-items:center;background-color:#4a6ef5;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 30px;transition:all .3s ease}.btn-enviar:hover{background-color:#3b5dd9;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.btn-enviar:active{transform:translateY(0)}.notification-success{background-color:#f0fff4;border:1px solid #c6f6d5;border-radius:8px;color:#2f855a;font-weight:500;margin-top:20px;padding:15px;text-align:center}@media (max-width:768px){.notificaciones-container{padding:30px 20px}.form-notificacion{padding:25px}.notificaciones-header h1{font-size:1.8rem}}@media (max-width:480px){.notificaciones-container{padding:25px 15px}.form-notificacion{gap:20px;padding:20px}.notificaciones-header h1{font-size:1.6rem}.btn-enviar,.form-actions{justify-content:center}.btn-enviar{padding:14px;width:100%}}.reportes-container{margin:0 auto;max-width:1200px;padding:40px}.reportes-header{border-bottom:2px solid #4a90e233;margin-bottom:40px;padding-bottom:20px;text-align:center}.reportes-header h1{color:#1a365d;font-size:2rem;font-weight:600;margin-bottom:10px}.reportes-header p{color:#4a5568;font-size:1.1rem}.filtros-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:30px;padding:25px}.filtros{grid-gap:15px;align-items:flex-end;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filtro-group{display:flex;flex-direction:column}.filtro-group label{color:#2d3748;font-size:.95rem;font-weight:600;margin-bottom:8px}.filtro-group input,.filtro-group select{border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:12px 15px;transition:all .3s ease;width:100%}.filtro-group input:focus,.filtro-group select:focus{border-color:#4a6ef5;box-shadow:0 0 0 3px #4a6ef51a;outline:none}.filtro-actions{display:flex;gap:15px;grid-column:1/-1;justify-content:flex-end}.btn-descargar,.btn-imprimir{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-descargar{background-color:#4a6ef5;border:none;color:#fff}.btn-descargar:hover{background-color:#3b5dd9;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.btn-imprimir{background-color:#fff;border:1px solid #d1d5db;color:#4b5563}.btn-imprimir:hover{background-color:#f3f4f6;transform:translateY(-2px)}.graficas-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-top:30px}.grafica-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:25px}.grafica-title{color:#2d3748;font-size:1.2rem;font-weight:600;margin-bottom:20px;text-align:center}.grafica-wrapper{height:300px;width:100%}.resumen-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-top:30px;padding:25px}.resumen-title{color:#2d3748;font-size:1.2rem;font-weight:600;margin-bottom:20px;text-align:center}.resumen-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.resumen-item{background-color:#f8fafc;border-radius:8px;padding:15px;text-align:center}.resumen-value{color:#1e3a8a;font-size:2rem;font-weight:700;margin:10px 0}.resumen-label{color:#4b5563;font-size:.9rem}@media (max-width:992px){.reportes-container{padding:30px 20px}.graficas-container{grid-template-columns:1fr}}@media (max-width:768px){.filtros{grid-template-columns:1fr}.filtro-actions{justify-content:center}.btn-descargar,.btn-imprimir{justify-content:center;width:100%}}@media (max-width:480px){.reportes-container{padding:25px 15px}.grafica-card{padding:20px}.grafica-wrapper{height:250px}.resumen-grid{grid-template-columns:1fr}}.dispositivos-container{padding:30px}.dispositivos-header{margin-bottom:30px}.dispositivos-header h1{color:#1f2937;font-size:2rem;margin:0}.form-dispositivo{margin-bottom:30px}.input-group{display:flex;flex-wrap:wrap;gap:15px}.input-nuevo-dispositivo{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:1rem;min-width:250px;padding:12px 15px;transition:all .3s ease}.input-nuevo-dispositivo:focus{border-color:#d60812;box-shadow:0 0 0 3px #d608121a;outline:none}.btn-agregar{align-items:center;background-color:#2ed573;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-agregar:hover{background-color:#1dd1a1;transform:translateY(-2px)}.btn-agregar:active{transform:translateY(0)}.dispositivos-table{border-collapse:collapse;min-width:600px;width:100%}.dispositivos-table thead{background-color:#d60812;color:#fff}.dispositivos-table th{font-weight:600;padding:16px;text-align:left}.dispositivos-table td{border-bottom:1px solid #e5e7eb;padding:14px 16px;vertical-align:middle}.dispositivos-table tr:last-child td{border-bottom:none}.dispositivos-table tr:hover{background-color:#f9fafb}.estatus{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:500;padding:4px 10px}.estatus.activo{background-color:#ecfdf5;color:#059669}.estatus.inactivo{background-color:#fef2f2;color:#dc2626}.btn-estatus{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .3s ease}.btn-estatus.activar{background-color:#2ed573;color:#fff}.btn-estatus.desactivar{background-color:#ff4757;color:#fff}.btn-estatus:hover{opacity:.9;transform:translateY(-1px)}.btn-estatus:active{transform:translateY(0)}@media (max-width:992px){.dispositivos-container{padding:25px}}@media (max-width:768px){.dispositivos-container{padding:20px 15px}.input-group{flex-direction:column;gap:10px}.btn-agregar,.input-nuevo-dispositivo{width:100%}}@media (max-width:480px){.dispositivos-table{display:block}.dispositivos-table thead{display:none}.dispositivos-table tr{border-bottom:1px solid #e5e7eb;display:block;margin-bottom:15px}.dispositivos-table td{align-items:center;border-bottom:none;display:flex;justify-content:space-between;padding:10px}.dispositivos-table td:before{color:#4b5563;content:attr(data-label);font-weight:600;margin-right:15px}.btn-estatus,.estatus{margin-left:auto}}.aulas-container{padding:30px}.aulas-header{margin-bottom:30px}.aulas-header h1{color:#1f2937;font-size:2rem;margin:0}.form-aula{background-color:#fff;border-radius:8px;box-shadow:0 2px 6px #0000000d;margin-bottom:30px;padding:25px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{color:#4b5563;font-size:.95rem;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:12px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#d60812;box-shadow:0 0 0 3px #d608121a;outline:none}.form-actions{display:flex;gap:15px}.btn-cancelar,.btn-guardar{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-guardar{background-color:#2ed573}.btn-guardar:hover{background-color:#1dd1a1;transform:translateY(-2px)}.btn-cancelar{background-color:#fff;border:1px solid #d1d5db;color:#4b5563}.btn-cancelar:hover{background-color:#f3f4f6;transform:translateY(-2px)}.table-responsive{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000014;overflow-x:auto}.aulas-table{border-collapse:collapse;min-width:800px;width:100%}.aulas-table thead{background-color:#d60812;color:#fff}.aulas-table th{font-weight:600;padding:16px;text-align:left}.aulas-table td{border-bottom:1px solid #e5e7eb;padding:14px 16px;vertical-align:middle}.aulas-table tr:last-child td{border-bottom:none}.aulas-table tr:hover{background-color:#f9fafb}.dispositivo-asignado{background-color:#e0f2fe;border-radius:12px;color:#0369a1;display:inline-block;font-size:.85rem;font-weight:500;padding:4px 10px}.sin-dispositivo{color:#64748b;font-style:italic}.btn-editar{background-color:#4a6ef5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .3s ease}.btn-editar:hover{background-color:#3b5dd9}.btn-editar:active{transform:translateY(0)}.no-results{color:#64748b;font-size:1.1rem;padding:40px;text-align:center}@media (max-width:992px){.aulas-container{padding:25px}}@media (max-width:768px){.aulas-container{padding:20px 15px}.form-actions{flex-direction:column;gap:10px}.btn-cancelar,.btn-guardar{justify-content:center;width:100%}}@media (max-width:480px){.aulas-table{display:block}.aulas-table thead{display:none}.aulas-table tr{border-bottom:1px solid #e5e7eb;display:block;margin-bottom:15px}.aulas-table td{align-items:center;border-bottom:none;display:flex;justify-content:space-between;padding:10px}.aulas-table td:before{color:#4b5563;content:attr(data-label);font-weight:600;margin-right:15px}.btn-editar,.dispositivo-asignado{margin-left:auto}.form-grid{grid-template-columns:1fr}}.error,.loading{align-items:center;display:flex;font-size:1.2rem;height:100vh;justify-content:center}.error{color:#dc2626}.titulo-seccion{color:#232e56;font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:.8rem;padding-bottom:1rem;position:relative}.titulo-seccion:after{background:linear-gradient(90deg,#232e56,#3b4c7a);border-radius:2px;bottom:0;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.info-registros{color:#4b5563;font-size:.95rem;font-weight:500;margin-bottom:1rem;padding:.8rem;text-align:right}.contenedor-tabla{background:#fff;border:2px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 40px #232e561f}.tabla-historial th{background:linear-gradient(135deg,#232e56,#3b4c7a);font-size:.95rem;letter-spacing:.5px;padding:16px 20px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.tabla-historial th:first-child{border-top-left-radius:14px}.tabla-historial th:last-child{border-top-right-radius:14px}.tabla-historial td{font-size:.95rem;padding:14px 20px;transition:all .2s ease}.tabla-historial tbody tr{transition:all .3s ease}.tabla-historial tbody tr:nth-child(2n){background-color:#f8fafc}.tabla-historial tbody tr:hover{background-color:#f0f4ff;box-shadow:0 2px 8px #232e5614;transform:scale(1.01)}.tabla-historial tbody tr:last-child td{border-bottom:none}.paginacion{align-items:center;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000f;display:flex;gap:1.5rem;justify-content:center;margin-top:2rem;padding:1.5rem}.pagina-actual{background-color:#f0f4ff;border-radius:8px;color:#232e56;font-size:1rem;font-weight:600;min-width:140px;padding:.5rem 1rem;text-align:center}.btn-paginacion{background:linear-gradient(135deg,#232e56,#3b4c7a);border:none;border-radius:8px;box-shadow:0 4px 12px #232e5633;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.7rem 1.5rem;transition:all .3s ease}.btn-paginacion:hover:not(:disabled){box-shadow:0 6px 16px #232e564d;transform:translateY(-2px)}.btn-paginacion:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed;opacity:.6}.cargando-historial{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:1.2rem;gap:1.5rem;padding:3rem;text-align:center}.spinner-historial{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#232e56;height:50px;width:50px}.sin-registros{background:linear-gradient(135deg,#f8fafc,#e5e7eb);border:2px dashed #cbd5e1;border-radius:16px;color:#6b7280;font-size:1.2rem;padding:3rem;text-align:center}@media (max-width:992px){.titulo-seccion{font-size:2.2rem}.tabla-historial td,.tabla-historial th{font-size:.9rem;padding:12px 15px}}@media (max-width:768px){.titulo-seccion{font-size:2rem}.titulo-seccion:after{height:3px;width:60px}.info-registros{font-size:.9rem;text-align:center}.contenedor-tabla{border-radius:12px}.tabla-historial{display:block;width:100%}.tabla-historial thead{display:none}.tabla-historial tbody,.tabla-historial td,.tabla-historial tr{display:block;width:100%}.tabla-historial tr{border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0000000f;margin-bottom:1rem;overflow:hidden}.tabla-historial tr:hover{box-shadow:0 6px 16px #232e561f;transform:none}.tabla-historial td{border-bottom:1px solid #f3f4f6;padding-left:50%;position:relative;text-align:right}.tabla-historial td:last-child{border-bottom:none}.tabla-historial td:before{color:#232e56;content:attr(data-label);font-size:.85rem;font-weight:600;left:15px;padding-right:10px;position:absolute;text-align:left;text-transform:uppercase;width:45%}.paginacion{flex-direction:column;gap:1rem;padding:1rem}.numeros-pagina{flex-wrap:wrap;justify-content:center}.btn-paginacion{width:100%}}@media (max-width:576px){.titulo-seccion{font-size:1.8rem}.titulo-seccion:after{width:50px}.tabla-historial td{font-size:.9rem;padding:12px 15px 12px 50%}.tabla-historial td:before{font-size:.8rem;left:12px}.btn-numero{font-size:.9rem;min-width:40px;padding:.5rem .8rem}.btn-paginacion{font-size:.9rem;padding:.6rem 1.2rem}}body,html{background-color:#f3f4f6}.dashboard-maestro{display:flex;flex-direction:row;min-height:100vh;overflow:hidden;width:100%}.sidebar-maestro{background-color:#232e56;color:#fff;display:flex;flex-direction:column;padding:20px 15px;transition:all .3s ease;width:280px;z-index:100}.sidebar-maestro h2{border-bottom:1px solid #fff3;font-size:1.5rem;margin-bottom:30px;padding-bottom:15px;text-align:center}.sidebar-maestro ul{flex-grow:1;list-style:none;padding:0}.sidebar-maestro li{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;margin-bottom:12px;padding:12px 15px;transition:all .3s ease}.sidebar-maestro li:hover{background-color:#ffffff1a;transform:translateX(5px)}.sidebar-maestro li:active{transform:translateX(5px) scale(.98)}.sidebar-maestro .logout{color:#fca5a5;margin-top:auto}.contenido-maestro{background-color:#f9fafb;flex:1 1;min-height:100vh;overflow-y:auto;padding:30px}.contenido-maestro h1{color:#1f2937;font-size:2rem;font-weight:600;margin-bottom:15px}.contenido-maestro p{color:#4b5563;font-size:1.1rem;line-height:1.6}.tabla-historial-maestro{background-color:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 4px 12px #0eec0614;margin:20px 0;max-width:100%;overflow:hidden;width:100%}.tabla-historial-maestro th{background-color:#21f705;color:#fff;font-weight:700;padding:12px}.tabla-historial-maestro td{border-bottom:1px solid #e0e0e0;color:#000;padding:12px}.tabla-historial-maestro tr:nth-child(2n){background-color:#f0f4ff}.tabla-historial-maestro tr:last-child td{border-bottom:none}@media (max-width:992px){.sidebar-maestro{width:240px}.contenido-maestro{padding:25px}}@media (max-width:768px){.dashboard-maestro{flex-direction:column}.sidebar-maestro{align-items:center;flex-direction:row;justify-content:space-between;padding:15px 10px;position:-webkit-sticky;position:sticky;top:0;width:100%}.sidebar-maestro h2{border-bottom:none;display:block;font-size:1.3rem;margin-bottom:0;padding-bottom:0;white-space:nowrap}.sidebar-maestro ul{display:none}.menu-toggle{cursor:pointer;display:flex;flex-direction:column;height:21px;justify-content:space-between;width:30px}.menu-toggle span{background-color:#fff;border-radius:3px;display:block;height:3px;width:100%}.sidebar-maestro.mobile-open ul{background-color:#0ca73f;box-shadow:0 5px 10px #0003;display:flex;flex-direction:column;left:0;padding:15px;position:absolute;top:100%;width:100%}.contenido-maestro{padding:20px 15px}}@media (max-width:576px){.sidebar-maestro h2{font-size:1.2rem}.contenido-maestro h1{font-size:1.7rem}.contenido-maestro p{font-size:1rem}.tabla-historial-maestro{display:block;overflow-x:auto;white-space:nowrap}}.titulo-maestro{color:#1f2937;font-size:2rem;font-weight:600;margin:20px 0;text-align:center}@media (min-width:768px){.titulo-maestro{font-size:2.5rem;margin:30px 0}}.contenido-maestro{padding:2rem}@media (max-width:768px){.contenido-maestro{padding:1.5rem}}@media (max-width:576px){.contenido-maestro{padding:1rem}}.titulo-seccion{margin-bottom:2rem}.contenedor-perfil{display:flex;justify-content:center;margin:0 auto;max-width:800px;width:100%}.tarjeta-perfil{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:2rem;width:100%}.campo-perfil{border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;margin-bottom:1.5rem;padding-bottom:1rem}.campo-perfil:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.etiqueta-perfil{color:#374151;font-weight:600;margin-right:1rem;width:150px}.valor-perfil{color:#4b5563;flex:1 1}.valor-perfil.activo{color:#10b981;font-weight:600}.valor-perfil.inactivo{color:#ef4444;font-weight:600}.cargando-perfil{color:#6b7280;padding:2rem;text-align:center}@media (max-width:768px){.titulo-seccion{font-size:1.7rem;margin-bottom:1.5rem}.tarjeta-perfil{padding:1.5rem}.campo-perfil{flex-direction:column;gap:.5rem}.etiqueta-perfil{margin-right:0;width:100%}}@media (max-width:576px){.titulo-seccion{font-size:1.5rem;margin-bottom:1.2rem}.tarjeta-perfil{padding:1.2rem}.campo-perfil{margin-bottom:1.2rem;padding-bottom:.8rem}}.titulo-calendario{color:#1f2937;font-size:2rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.contenedor-calendario{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1200px;padding:0 1rem;width:100%}.tarjeta-calendario{align-items:center;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;justify-content:center;padding:1.5rem;width:100%}.imagen-calendario{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:auto;max-width:100%}@media (max-width:768px){.titulo-calendario{font-size:1.7rem;margin-bottom:1.2rem}.contenedor-calendario{gap:1.5rem;padding:0 .5rem}.tarjeta-calendario{padding:1rem}}@media (max-width:576px){.titulo-calendario{font-size:1.5rem}.contenedor-calendario{gap:1rem}}.titulo-qr{font-size:2rem;font-weight:600;margin-bottom:1.5rem}.contenedor-qr{max-width:800px}.tarjeta-qr{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:2rem}.nombre-profesor{color:#0ca73f;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.numero-empleado{color:#4b5563;font-size:1.1rem;margin-bottom:1.5rem}.codigo-qr-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:1.5rem auto;padding:1rem}.instrucciones{color:#6b7280;font-style:italic;margin-top:1.5rem}.cargando-qr{padding:2rem}@media (max-width:768px){.titulo-qr{font-size:1.7rem;margin-bottom:1.2rem}.tarjeta-qr{padding:1.5rem}.nombre-profesor{font-size:1.3rem}.codigo-qr-container{margin:1rem auto}}@media (max-width:576px){.titulo-qr{font-size:1.5rem}.tarjeta-qr{padding:1.2rem}.nombre-profesor{font-size:1.2rem}.codigo-qr{max-width:220px}.instrucciones{font-size:.9rem}}.contenedor-tabla{border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-top:1.5rem;overflow-x:auto;width:100%}.tabla-historial{background-color:#fff;border-collapse:collapse;width:100%}.tabla-historial th{background-color:#676b69;color:#fff;font-weight:600;padding:12px 15px;text-align:left}.tabla-historial td{border-bottom:1px solid #e5e7eb;color:#4b5563;padding:12px 15px}.tabla-historial tr:nth-child(2n){background-color:#f8fafc}.tabla-historial tr:hover{background-color:#f0fdf4}.cargando-historial,.sin-registros{color:#6b7280;font-size:1.1rem;padding:2rem;text-align:center}@media (max-width:768px){.tabla-historial{display:block;width:100%}.tabla-historial thead{display:none}.tabla-historial tbody,.tabla-historial td,.tabla-historial tr{display:block;width:100%}.tabla-historial tr{border-bottom:2px solid #e5e7eb;margin-bottom:15px}.tabla-historial td{padding-left:50%;position:relative;text-align:right}.tabla-historial td:before{color:#1f2937;content:attr(data-label);font-weight:600;left:15px;padding-right:10px;position:absolute;text-align:left;width:45%}}@media (max-width:576px){.titulo-seccion{font-size:1.7rem;margin-bottom:1.2rem}.tabla-historial td{padding:10px 15px 10px 50%}.tabla-historial td:before{left:10px}}.titulo-seccion{color:#1f2937;font-size:2rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.contenedor-busqueda{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:2rem;padding:1.5rem}.instrucciones{font-size:1.1rem;margin-bottom:1rem;text-align:center}.controles-busqueda{align-items:center;display:flex;flex-direction:column;gap:1rem}.input-fecha{border:1px solid #d1d5db;border-radius:8px;font-size:1rem;max-width:300px;padding:.75rem 1rem;text-align:center;width:100%}.boton-buscar{background-color:#0ca73f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color .3s}.boton-buscar:hover:not(:disabled){background-color:#0d9e3a}.boton-buscar:disabled{background-color:#9ca3af;cursor:not-allowed}.contenedor-clases{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));width:100%}.tarjeta-clase{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.info-clase{flex:1 1}.titulo-clase{color:#1f2937;font-size:1.25rem;margin-bottom:.5rem}.edificio{color:#0ca73f}.aula,.edificio{font-weight:600}.horario,.total-alumnos{color:#4b5563;font-size:.95rem;margin-bottom:.3rem}.boton-descargar{align-self:flex-end;background-color:#fff;border:2px solid #0ca73f;border-radius:8px;color:#0ca73f;cursor:pointer;font-size:.95rem;font-weight:600;padding:.5rem 1rem;transition:all .3s}.boton-descargar:hover{background-color:#f0fdf4}.mensaje-error{color:#ef4444;font-weight:500;margin:1rem 0;text-align:center}.cargando-listas{color:#6b7280;padding:1.5rem;text-align:center}@media (max-width:768px){.titulo-seccion{font-size:1.7rem}.contenedor-busqueda{padding:1.2rem}.controles-busqueda{flex-direction:column}.contenedor-clases{grid-template-columns:1fr}}@media (max-width:576px){.titulo-seccion{font-size:1.5rem}.instrucciones{font-size:1rem}.input-fecha{width:100%}}.alumno-notificaciones-container{background-color:#f5f7fa;display:flex;flex-direction:row;min-height:100vh}.alumno-noti-contenedor{flex:1 1;padding:2rem}.alumno-noti-window{background-color:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;height:calc(100vh - 4rem - 4px);margin-left:auto;margin-right:auto;max-width:900px;min-height:500px;overflow:hidden;width:100%}.alumno-noti-header{align-items:center;background-color:#71706f;border-top-left-radius:12px;border-top-right-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;justify-content:space-between;padding:.75rem 1.5rem}.alumno-noti-controls span{border-radius:50%;display:inline-block;height:12px;margin-left:6px;width:12px}.alumno-noti-controls .red{background-color:#244d7c}.alumno-noti-controls .yellow{background-color:#232e56}.alumno-noti-controls .green{background-color:#062cb4}.alumno-noti-content{display:flex;flex:1 1;flex-direction:column}.alumno-noti-titulo{color:#232e56;flex-shrink:0;font-size:1.8rem;font-weight:700;margin-bottom:.5rem;padding:1.5rem 1.5rem 0}.alumno-noti-list-container{flex-grow:1;overflow-y:auto;padding:0 1.5rem 1.5rem}.alumno-noti-item{align-items:center;border-bottom:1px solid #edf2f7;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 0;transition:background-color .2s ease}.alumno-noti-item:hover{background-color:#f8fafc}.alumno-noti-message-info{flex-grow:1;overflow:hidden;padding-right:1rem}.alumno-noti-subject{color:#232e56;font-size:1rem;font-weight:600;margin-bottom:.2rem}.alumno-noti-body-preview,.alumno-noti-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alumno-noti-body-preview{color:#71706f;font-size:.9rem}.alumno-noti-fecha{color:#a0a0a0;flex-shrink:0;font-size:.85rem;white-space:nowrap}.alumno-noti-cargando,.alumno-noti-sin-datos{background-color:#e6e6ee;border-radius:8px;color:#232e56;font-size:1.1rem;margin-left:auto;margin-right:auto;margin-top:3rem;max-width:500px;padding:1rem;text-align:center}.alumno-noti-fab{align-items:center;background-color:#244d7c;border-radius:50%;bottom:30px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:60px;justify-content:center;position:fixed;right:30px;transition:background-color .3s ease;width:60px;z-index:10}.alumno-noti-fab:hover{background-color:#232e56}@media (min-width:992px){.alumno-noti-fab{right:30px}}@media (max-width:992px){.alumno-noti-window{height:auto;margin-top:0;min-height:600px}.alumno-noti-fab{bottom:20px;right:20px}}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:#acb5c6;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:16px;height:100%;width:100%}.alumno-container{display:flex;flex-direction:row;min-height:100vh;overflow:hidden;width:100%}.sidebar-alumno{background-color:#232e56;color:#fff;display:flex;flex-direction:column;padding:20px 15px;transition:all .3s ease;width:280px;z-index:100}.sidebar-alumno h2{border-bottom:1px solid #fff3;font-size:1.5rem;margin-bottom:30px;padding-bottom:15px;text-align:center}.sidebar-alumno ul{flex-grow:1;list-style:none;padding:0}.sidebar-alumno li{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;margin-bottom:12px;padding:12px 15px;transition:all .3s ease}.sidebar-alumno li:hover{background-color:#ffffff1a;transform:translateX(5px)}.sidebar-alumno li:active{transform:translateX(5px) scale(.98)}.sidebar-alumno .logout{color:#fca5a5;margin-top:auto}.contenido-alumno{align-items:center;background-color:#f9fafb;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:100vh;overflow-y:auto;padding:30px}.contenido-alumno h1{color:#1f2937;font-size:2rem;font-weight:600;margin-bottom:15px}.contenido-alumno p{color:#4b5563;font-size:1.1rem;line-height:1.6}.welcome-header{margin-bottom:2rem;text-align:center}.welcome-header h1{color:#232e56;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.welcome-header .subtitle{color:#404f62;font-size:1.125rem}.content-center{align-items:center;display:flex;justify-content:center}.dashboard-image{display:block;height:auto;max-width:500px;width:100%}@media (max-width:992px){.sidebar-alumno{width:240px}.contenido-alumno{padding:25px}}@media (max-width:768px){.alumno-container{flex-direction:column}.sidebar-alumno{align-items:center;flex-direction:row;justify-content:space-between;padding:15px 10px;position:-webkit-sticky;position:sticky;top:0;width:100%}.sidebar-alumno h2{border-bottom:none;display:block;font-size:1.3rem;margin-bottom:0;padding-bottom:0;white-space:nowrap}.sidebar-alumno ul{display:none}.menu-toggle{cursor:pointer;display:flex;flex-direction:column;height:21px;justify-content:space-between;width:30px}.menu-toggle span{background-color:#fff;border-radius:3px;display:block;height:3px;width:100%}.sidebar-alumno.mobile-open ul{background-color:#2563eb;box-shadow:0 5px 10px #0003;display:flex;flex-direction:column;left:0;padding:15px;position:absolute;top:100%;width:100%}.contenido-alumno{padding:20px 15px}.welcome-header h1{font-size:1.875rem}.dashboard-image{max-width:350px}}@media (max-width:576px){.sidebar-alumno h2{font-size:1.2rem}.contenido-alumno h1{font-size:1.7rem}.contenido-alumno p{font-size:1rem}.dashboard-image{max-width:280px}}.card-perfil{border-radius:20px;max-width:500px;overflow:hidden;padding:0}.contenido-alumno{background-color:#f4f7f6;flex-grow:1;padding:40px 20px}.titulo-perfil{border-bottom:3px solid #244e7c;color:#232e56;font-size:2.2rem;font-weight:600;margin-bottom:30px;margin-left:auto;margin-right:auto;max-width:800px;padding-bottom:10px}.card-perfil{background:linear-gradient(135deg,#244e7c,#232e56);border:1px solid #ffffff4d;border-radius:15px;box-shadow:0 15px 40px #0000004d;color:#fff;height:auto;margin:30px auto;max-width:450px;padding:30px;transition:transform .3s ease}.card-perfil:hover{box-shadow:0 20px 50px #0006;transform:translateY(-5px) scale(1.02)}.perfil-header{border-bottom:1px solid #ffffff4d;margin-bottom:20px;padding-bottom:15px}.perfil-header h2{color:#fff;font-size:1.5rem;font-weight:700}.btn-editar{background-color:#fff;color:#244e7c;font-size:.9rem;padding:8px 15px}.btn-editar:hover{background-color:#f0f0f0;transform:translateY(-1px)}.perfil-info{display:flex;flex-direction:column}.info-item{background-color:initial;border-bottom:1px dashed #fff3;border-left:none;border-radius:0;padding:0 0 5px}.info-label{color:#a0c3ff;font-size:.8rem;font-weight:400;margin-bottom:0}.info-value{color:#fff;font-size:1rem;font-weight:600}.perfil-info{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr}.perfil-info .info-item:nth-child(4),.perfil-info .info-item:nth-child(5){grid-column:span 1}.form-editar{margin:0 auto;max-width:800px}.form-editar input:focus{border-color:#244e7c;box-shadow:0 0 0 3px #244e7c40}.btn-cancelar{background-color:#71706f;color:#fff}.btn-cancelar:hover{background-color:#5d5c5b}.btn-guardar{background-color:#244e7c;color:#fff}.btn-guardar:hover{background-color:#1a395c}.btn-guardar:disabled{background-color:#a7b7c9}.titulo-qr{color:#1f2937;font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:.5rem;text-align:center}.subtitulo-qr{color:#6b7280;font-size:1.1rem;font-weight:400;margin-bottom:2.5rem;text-align:center}.contenedor-qr{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:550px;padding:0 1rem;width:100%}.tarjeta-qr{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 10px 40px #2563eb1f;overflow:hidden;padding:3rem;position:relative;text-align:center;transition:all .3s ease;width:100%}.tarjeta-qr:hover{box-shadow:0 15px 50px #2563eb2e;transform:translateY(-5px)}.info-alumno{background-color:#f0f9ff;border-left:4px solid #232e56;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.nombre-alumno{color:#232e56;font-size:1.8rem;font-weight:700;letter-spacing:-.3px;margin-bottom:.5rem}.matricula{color:#4b5563;font-size:1.2rem;font-weight:600;letter-spacing:1px;margin-bottom:0;text-transform:uppercase}.codigo-qr-wrapper{align-items:center;display:flex;flex-direction:column;margin:2rem 0}.codigo-qr-container{background:#fff;border:3px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 24px #00000014;display:inline-block;padding:1.5rem;position:relative;transition:all .3s ease}.codigo-qr-container:hover{border-color:#232e56;box-shadow:0 12px 32px #2563eb26;transform:scale(1.03)}.codigo-qr{border-radius:8px;display:block;height:auto;max-width:256px;width:100%}.etiqueta-qr{background-color:#232e56;border-radius:25px;box-shadow:0 4px 12px #2563eb4d;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-top:1.5rem;padding:.6rem 1.8rem;text-transform:uppercase}.instrucciones{background-color:#fff;border-left:4px solid #232e56;border-radius:12px;color:#4b5563;font-size:1rem;line-height:1.7;margin-top:2rem;padding:1.5rem;text-align:left}.instrucciones-titulo{color:#1f2937;font-size:1.1rem;font-weight:700;margin-bottom:.8rem}.cargando-qr{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:1.2rem;gap:1.5rem;padding:3rem;text-align:center}.spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#2563eb;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-qr{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #fca5a5;border-radius:16px;box-shadow:0 8px 24px #ef44441f;color:#dc2626;font-size:1.2rem;font-weight:600;margin:0 auto;max-width:500px;padding:2.5rem;text-align:center}.separador{background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:2px;height:3px;margin:1.5rem auto;width:60px}@media (max-width:768px){.titulo-qr{font-size:2rem;margin-bottom:.5rem}.subtitulo-qr{font-size:1rem;margin-bottom:2rem}.tarjeta-qr{border-radius:16px;padding:2rem}.info-alumno{padding:1.2rem}.nombre-alumno{font-size:1.5rem}.matricula{font-size:1.1rem}.codigo-qr-container{margin:1.5rem auto;padding:1.2rem}.instrucciones{padding:1.2rem}}@media (max-width:576px){.titulo-qr{font-size:1.8rem}.subtitulo-qr{font-size:.95rem}.tarjeta-qr{border-radius:12px;padding:1.5rem}.info-alumno{padding:1rem}.nombre-alumno{font-size:1.3rem}.matricula{font-size:1rem;letter-spacing:.5px}.codigo-qr{max-width:200px}.codigo-qr-container{padding:1rem}.etiqueta-qr{font-size:.85rem;padding:.5rem 1.5rem}.instrucciones{font-size:.9rem;padding:1rem}.instrucciones-titulo{font-size:1rem}}
/*# sourceMappingURL=main.4aa50434.css.map*/