.btn-ingresar{z-index:10;color:#fff;cursor:pointer;background:linear-gradient(90deg,#1261a0,#1689d8);border:none;border-radius:40px;justify-content:center;align-items:center;gap:18px;width:300px;height:65px;padding:0;font-size:25px;font-weight:700;display:flex;position:absolute;top:84%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 20px #0000004d}.flecha{font-size:32px}@media (width<=600px){.btn-ingresar{width:80%;max-width:300px;height:60px;font-size:22px;top:83%}.flecha{font-size:28px}}.select-container{text-align:center;background:#fff;min-height:100vh}.banner-usuario{height:220px;overflow:hidden}.banner-usuario img{object-fit:cover;width:100%;height:100%}.titulo-app{margin-top:25px}.titulo-app h1{color:#063b7a;margin:10px;font-size:38px;font-weight:700}.titulo-app p{color:#12345b;margin-bottom:25px;font-size:20px;font-weight:600}.usuarios{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:22px;width:min(100% - 32px,520px);margin:24px auto 40px;display:flex}.tarjeta{box-sizing:border-box;color:#fff;cursor:pointer;border-radius:25px;flex-direction:column;justify-content:center;align-items:center;width:230px;min-height:140px;padding:14px;font-size:23px;font-weight:700;transition:all .3s;display:flex;box-shadow:0 8px 20px #0003}.tarjeta:hover{transform:translateY(-8px)}.icono{margin-bottom:15px;font-size:55px}.admin{background:#1261a0}.docente{background:#4caf50}.padre{background:#1593d1}@media (width<=540px){.usuarios{gap:18px;width:calc(100% - 24px)}.tarjeta{width:min(100%,280px)}.titulo-app h1{font-size:30px}.titulo-app p{padding:0 12px;font-size:16px}.banner-usuario{height:150px}}.admin-page{background:#f4f8fc;min-height:100vh}.admin-banner{height:220px;overflow:hidden}.admin-banner img{object-fit:cover;width:100%;height:100%}.titulo-admin{text-align:center;background:#fff;padding:20px}.titulo-admin h1{color:#063b7a;margin:0;font-size:38px}.titulo-admin p{color:#12345b;margin:8px;font-size:22px;font-weight:600}.admin-layout{display:flex}.menu-admin{background:#fff;width:250px;min-height:calc(100vh - 330px);padding:20px;box-shadow:2px 0 10px #ddd}.menu-admin button{color:#fff;cursor:pointer;background:#1261a0;border:none;border-radius:12px;width:100%;margin:10px 0;padding:14px;font-size:16px;display:block}.admin-content{flex:1;padding:35px}.cards-admin{flex-wrap:wrap;gap:25px;display:flex}.card-admin{text-align:center;background:#fff;border-radius:20px;width:210px;padding:25px;box-shadow:0 5px 15px #00000026}.card-admin span{font-size:45px}.card-admin h3{color:#1261a0;margin:10px;font-size:35px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}.splash{width:100%;height:100vh;position:relative;overflow:hidden}.imagen-portada{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.contenido-portada{z-index:2;text-align:center;color:#fff;width:90%;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.contenido-portada h2{text-shadow:2px 2px 8px #000;margin-bottom:25px;font-size:30px;font-weight:700}.contenido-portada button{color:#fff;cursor:pointer;background:#1261a0;border:none;border-radius:35px;width:320px;padding:18px;font-size:24px;font-weight:700;box-shadow:0 5px 15px #0006}.docente-layout{background:#f4f7fb;min-height:100vh;display:flex}.docente-sidebar{box-sizing:border-box;background:#1565a8;flex:0 0 245px;width:245px;padding:18px 12px}.docente-brand{color:#fff;align-items:center;gap:10px;padding:8px 10px 18px;display:flex}.docente-brand-icon{font-size:32px}.docente-brand strong{font-size:20px;display:block}.docente-brand small{opacity:.85;margin-top:2px;display:block}.docente-nav{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;width:100%;margin:5px 0;padding:13px 14px;font-size:15px}.docente-nav:hover,.docente-nav.activo{background:#ffffff2e}.docente-nav span{text-align:center;width:28px;margin-right:5px;display:inline-block}.docente-main{box-sizing:border-box;flex:1;min-width:0;padding:30px}.docente-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.docente-header h1{margin:0 0 5px}.docente-header p{color:#667085;margin:0}.docente-selector{background:#fff;border:1px solid #ccd5df;border-radius:9px;min-width:220px;padding:10px 12px}.docente-alerta{background:#fff4e5;border:1px solid #ffd79b;border-radius:10px;margin-bottom:18px;padding:12px 15px}.grupo-resumen{grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:22px;display:grid}.grupo-resumen>div{background:#fff;border-radius:14px;padding:18px;box-shadow:0 4px 14px #00000012}.grupo-resumen span{color:#718096;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.grupo-resumen strong{font-size:19px;display:block}.docente-cards{grid-template-columns:repeat(3,minmax(190px,1fr));gap:18px;display:grid}.docente-card-button{text-align:left;cursor:pointer;background:#fff;border:0;border-radius:15px;min-height:150px;padding:24px;box-shadow:0 4px 14px #00000012}.docente-card-button:hover{transform:translateY(-2px)}.docente-card-button span{margin-bottom:12px;font-size:34px;display:block}.docente-card-button strong{margin-bottom:7px;font-size:18px;display:block}.docente-card-button small{color:#667085}.docente-card{background:#fff;border-radius:15px;padding:24px;box-shadow:0 4px 14px #00000012}.docente-card h2{margin-top:0}.tabla-scroll{overflow-x:auto}.docente-table{border-collapse:collapse;width:100%;margin-top:18px}.docente-table th,.docente-table td{text-align:left;border-bottom:1px solid #e7edf3;padding:11px}.docente-table th{background:#f7f9fc}.docente-empty{color:#667085;background:#f7f9fc;border-radius:10px;margin-top:16px;padding:18px}@media (width<=850px){.docente-layout{display:block}.docente-sidebar{width:100%}.docente-nav{width:auto;margin-right:5px;display:inline-block}.docente-main{padding:18px}.grupo-resumen{grid-template-columns:repeat(2,minmax(140px,1fr))}.docente-cards{grid-template-columns:1fr}.docente-header{flex-direction:column;align-items:flex-start}.docente-selector{width:100%}}.docente-section-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.docente-section-header h2{margin-bottom:5px}.docente-section-header p{color:#667085;margin-top:0}.docente-section-header input{background:#fff;border:1px solid #ccd5df;border-radius:9px;padding:10px 12px}@media (width<=700px){.docente-section-header{flex-direction:column}}.docente-fechas{gap:10px;display:flex}.docente-fechas label{color:#667085;flex-direction:column;gap:5px;font-size:12px;font-weight:700;display:flex}.docente-fechas input{background:#fff;border:1px solid #ccd5df;border-radius:9px;padding:10px 12px}@media (width<=700px){.docente-fechas{flex-direction:column;width:100%}}.menciones-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:18px;margin-top:20px;display:grid}.mencion-card{text-align:center;background:#f7f9fc;border:1px solid #e3eaf2;border-radius:16px;padding:24px}.mencion-medalla{margin-bottom:6px;font-size:48px}.mencion-card span{color:#667085;font-size:13px;font-weight:700}.mencion-card h3{margin:8px 0}.mencion-card strong{margin-top:14px;font-size:32px;display:block}.mencion-card small{color:#667085;display:block}@media (width<=800px){.menciones-grid{grid-template-columns:1fr}}.reporte-acciones{flex-wrap:wrap;gap:8px;display:flex}.reporte-encabezado{background:#f7f9fc;border-radius:12px;margin-top:20px;padding:18px}.reporte-encabezado h3{margin-top:0}.reporte-encabezado p{margin:6px 0}.reporte-resumen{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:18px 0;display:grid}.reporte-resumen>div{background:#fff;border:1px solid #e3eaf2;border-radius:12px;padding:16px}.reporte-resumen span{color:#667085;font-size:11px;font-weight:700;display:block}.reporte-resumen strong{margin-top:6px;font-size:24px;display:block}.reporte-pie{color:#667085;margin-top:18px;font-size:12px}@media (width<=800px){.reporte-resumen{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media print{.docente-sidebar,.docente-header,.reporte-acciones,.docente-fechas{display:none!important}.docente-main{padding:0}.reporte-docente{box-shadow:none!important}}.asistencia-controles{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nfc-estado{background:#f7f9fc;border:1px solid #e3eaf2;border-radius:10px;flex-direction:column;gap:5px;margin:14px 0 18px;padding:13px 15px;display:flex}.nfc-estado span{color:#667085}.nfc-estado.activo{border-color:#9cc9e9}@media (width<=700px){.asistencia-controles{align-items:stretch;width:100%}.asistencia-controles input,.asistencia-controles button{width:100%}}.nfc-prueba{background:#fff;border:1px dashed #ccd5df;border-radius:10px;margin:12px 0 18px;padding:14px}.nfc-prueba>span{color:#667085;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.nfc-prueba>div{gap:8px;display:flex}.nfc-prueba input{border:1px solid #ccd5df;border-radius:9px;flex:1;min-width:0;padding:10px 12px}@media (width<=700px){.nfc-prueba>div{flex-direction:column}}
