@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Segoe+UI:wght@400;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Segoe+UI:wght@400;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Segoe+UI:wght@400;600;700&display=swap";:root{--blue-dark:#07547a;--blue:#0c78ad;--blue-bright:#18a8df;--ink:#0f2530;--muted:#6b7c85;--field:#e5e9ec;--white:#fff}*{box-sizing:border-box}html{min-height:100%}body{color:var(--ink);background:#cbd4df;justify-content:center;align-items:center;min-height:100vh;margin:0;padding:24px;font-family:Montserrat,Arial,sans-serif;display:flex}button,input{font-family:inherit}.login-container,.container{background:var(--white);border-radius:28px;width:min(92vw,980px);max-width:980px;height:min(78vh,540px);min-height:480px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 14px 24px #1d364547}.form-container{width:50%;height:100%;transition:all .7s ease-in-out;position:absolute;top:0;left:0}.form-container form,.redirect-message{background:var(--white);text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:42px 50px;display:flex}.brand-logo{width:min(82%,295px);max-width:295px;height:auto;margin-bottom:24px;display:block}.form-container h1,.redirect-message h1{color:var(--ink);margin:0 0 24px;font-size:30px;font-weight:800;line-height:1.1}.redirect-message p{color:var(--muted);margin:0;font-size:14px;font-weight:600}.field-group{width:100%;max-width:330px;margin-bottom:14px}.form-container input{background:var(--field);color:var(--ink);border:0;border-radius:9px;outline:none;width:100%;max-width:330px;height:48px;margin-bottom:6px;padding:0 20px;font-size:14px;font-weight:700}.form-container input::placeholder{color:#98a3a9}.form-container input:focus{box-shadow:0 0 0 3px #18a8df38}.form-container button{background:linear-gradient(90deg, var(--blue-dark), var(--blue));color:var(--white);cursor:pointer;letter-spacing:.8px;border:0;border-radius:10px;justify-content:center;align-items:center;min-width:180px;height:48px;margin-top:10px;font-size:12px;font-weight:800;transition:transform .16s,box-shadow .16s,filter .16s;display:inline-flex;box-shadow:0 6px 12px #07547a3d}.form-container button:hover{filter:brightness(1.08);box-shadow:0 8px 16px #07547a4d}.form-container button:active{transform:scale(.98)}.form-container button:disabled{cursor:wait;opacity:.72}[data-theme=dark] body{color:#f1f7fc;background:#0d1722}[data-theme=dark] .login-container,[data-theme=dark] .container{background:#172534;box-shadow:0 16px 34px #0000006b}[data-theme=dark] .form-container form,[data-theme=dark] .redirect-message{background:#172534}[data-theme=dark] .form-container h1,[data-theme=dark] .redirect-message h1{color:#f1f7fc}[data-theme=dark] .redirect-message p{color:#b5c8d8}[data-theme=dark] .form-container input{color:#f1f7fc;background:#22394b}[data-theme=dark] .form-container input::placeholder{color:#9cb4c5}[data-theme=dark] .form-container input:focus{box-shadow:0 0 0 3px #62c9ff47}[data-theme=dark] .toggle{background:linear-gradient(115deg,#0d3853 0%,#0e5f8e 52%,#158cd7 100%)}[data-theme=dark] .login-theme-toggle{color:#62c9ff;background:#172534;border-color:#37637f}.error-message,.field-error-message{color:#a12727;text-align:left;max-width:330px;min-height:14px;margin:0;font-size:11px;font-weight:700;line-height:1.45;display:none}.form-container input.is-invalid{box-shadow:0 0 0 2px #a127272e}.login-panel{opacity:1;z-index:2}.redirect-panel{opacity:0;z-index:1;left:50%;transform:translate(100%)}.container.active .login-panel{opacity:0;transform:translate(-100%)}.container.active .redirect-panel{opacity:1;z-index:5;animation:.7s show;transform:translate(0)}.toggle-container{z-index:1000;border-radius:150px 0 0 150px;width:50%;height:100%;transition:all .7s ease-in-out;position:absolute;top:0;left:50%;overflow:hidden}.container.active .toggle-container{border-radius:0 150px 150px 0;left:0}.toggle{color:var(--white);background:linear-gradient(115deg,#0a5d88 0%,#0c82bb 52%,#18a8df 100%);width:200%;height:100%;transition:all .7s ease-in-out;position:relative;left:-100%;transform:translate(0)}.container.active .toggle{transform:translate(50%)}.toggle-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:50%;height:100%;padding:54px 48px;transition:all .7s ease-in-out;display:flex;position:absolute;top:0;transform:translate(0)}.toggle-panel h1{color:var(--white);margin:0 0 24px;font-size:32px;font-weight:800;line-height:1.1}.toggle-panel p{color:#ffffffe6;max-width:330px;margin:0;font-size:14px;font-weight:600;line-height:1.6}.toggle-left{transform:translate(-200%)}.container.active .toggle-left{transform:translate(0)}.toggle-right{right:0;transform:translate(0)}.container.active .toggle-right{transform:translate(200%)}@keyframes show{0%,49.99%{opacity:0;z-index:1}50%,to{opacity:1;z-index:5}}@media (width<=760px){body{padding:18px}.container{max-width:430px;height:720px}.form-container{width:100%;height:50%;top:0}.form-container form,.redirect-message{padding:34px 28px}.brand-logo{max-width:260px}.container.active .login-panel,.container.active .redirect-panel{transform:translateY(100%)}.toggle-container{border-radius:125px 125px 0 0;width:100%;height:50%;top:50%;left:0}.container.active .toggle-container{border-radius:0 0 125px 125px;top:0;left:0}.toggle{width:100%;height:200%;top:-100%;left:0}.container.active .toggle{transform:translateY(50%)}.toggle-panel{width:100%;height:50%;padding:40px 30px}.toggle-left{top:0;transform:translateY(-200%)}.container.active .toggle-left{transform:translateY(0)}.toggle-right{top:auto;bottom:0}.container.active .toggle-right{transform:translateY(200%)}.form-container h1,.redirect-message h1,.toggle-panel h1{font-size:27px}}@media (width<=380px){.form-container form,.redirect-message{padding-inline:22px}.brand-logo{max-width:230px}.form-container h1,.redirect-message h1,.toggle-panel h1{font-size:24px}}.not-found{text-align:center;background-color:var(--bg-light);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100vh;padding:1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.not-found h1{color:var(--primary-color);margin:0;font-size:6rem}.not-found p{color:var(--text-muted);margin:0;font-size:1.25rem}.welcome-text h1{color:#102a43;font-size:32px}.card h3{color:#102a43;margin-bottom:12px;font-size:18px}.announcement-info h4{color:#102a43;margin-bottom:4px}.tasks-list{flex-direction:column;gap:14px;margin:16px 0;display:flex}.task-item{align-items:center;gap:14px;display:flex}.task-icon.history{color:#8b5a2b}.task-icon.math{color:#4caf50}.task-icon.literature{color:#5c6bc0}.today-schedule-block{flex-direction:column;gap:12px;width:100%;max-width:560px;margin-left:auto;margin-right:auto;display:flex}#estudiante-hoy-schedule-root{justify-content:center;width:100%;display:flex}#estudiante-hoy-schedule-root .schedule-card{width:min(100%,650px)}.today-schedule-heading{flex-direction:column;align-items:flex-start;gap:4px;width:100%;display:flex}.today-schedule-heading strong{color:#102a43;font-size:16px}.today-schedule-heading span{color:#486581;font-size:14px}.today-schedule-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.today-schedule-item{color:#334e68;background-color:#f4f9ff;border-radius:10px;grid-template-columns:125px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px 14px;display:grid}.today-schedule-time{color:#158cd7;font-weight:700}.today-schedule-subject{font-weight:600}.teacher-toggle{color:#158cd7;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #158cd7;border-radius:999px;padding:6px 10px;font-weight:700}.class-location{flex-direction:column;grid-column:2/4;gap:6px;margin-top:2px;display:flex}.teacher-name{color:#0e5f8e;background:#e3f2fd;border-radius:8px;padding:8px 10px;font-size:14px;font-weight:600}.teacher-name:before{content:"Profesor: ";color:#158cd7;font-weight:700}.classroom-name{color:#486581;padding-left:10px;font-size:14px;font-weight:600}.classroom-name:before{color:#158cd7;content:"Aula: ";font-weight:700}.today-schedule-empty{color:#627d98;padding:12px 0;list-style:none}.community-card{background:var(--bg-tarjetas);border:1px solid var(--borde);border-radius:16px;max-width:700px;margin-left:auto;margin-right:auto;padding:24px;box-shadow:0 8px 24px #158cd714}.community-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.community-header h3{color:var(--texto-principal);margin:0;font-size:22px}.comunidad-section>h1{color:#158cd7}.community-eyebrow{color:#158cd7;text-transform:uppercase;margin:0 0 4px;font-size:13px;font-weight:700}.community-course{color:#158cd7;background:#e3f2fd;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700}.group-director{background:#f5f9ff;border-radius:12px;align-items:center;gap:12px;margin:0 0 18px;padding:14px;display:flex}.group-director .material-symbols-outlined{color:#158cd7}.group-director div{flex-direction:column;gap:2px;display:flex}.group-director small{color:var(--texto-secundario)}.group-director strong{color:var(--texto-principal)}.community-description{color:var(--texto-secundario);margin:0 0 18px}.community-summary{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:16px;display:grid}.community-stat{background:#f5f9ff;border-radius:12px;align-items:center;gap:10px;padding:14px;display:flex}.community-stat>.material-symbols-outlined{color:#158cd7}.community-stat strong{color:var(--texto-principal);font-size:18px;display:block}.community-stat p{color:var(--texto-secundario);margin:2px 0 0;font-size:13px}.community-list h4{color:var(--texto-principal);margin:0 0 10px;font-size:16px}.community-list ul{margin:0;padding:0;list-style:none}.classmate-item{border-top:1px solid var(--borde);align-items:center;gap:12px;padding:12px 0;display:flex}.classmate-avatar{color:#158cd7;background:#e3f2fd;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;height:40px;font-size:13px;font-weight:700;display:inline-flex}.classmate-info{flex-direction:column;flex:1;gap:2px;display:flex}.classmate-info strong{color:var(--texto-principal);font-size:14px}.classmate-info span{color:var(--texto-secundario);font-size:13px}[data-theme=dark] .community-stat,[data-theme=dark] .classmate-avatar,[data-theme=dark] .group-director{background:#26384a}[data-theme=dark] .teacher-name{color:#dcebf5;background:#163b55}[data-theme=dark] .classroom-name{color:#dcebf5}@media (width<=992px){.main-content{padding:40px 30px}.card{max-width:100%}}.horario-section{flex-direction:column;gap:12px;display:flex}.horario-section h1{color:#102a43;letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.horario-section p{color:#486581;margin:0;font-size:15px;line-height:1.5}.schedule-container{max-width:100%;overflow-x:auto}.schedule-table{border-collapse:collapse;background-color:#fff;border:1px solid #e4e9f0;border-radius:16px;width:100%;font-size:14px;overflow:hidden}.schedule-table thead{color:#fff;background-color:#158cd7}.schedule-table th{text-align:center;letter-spacing:.02em;text-transform:uppercase;padding:14px 12px;font-size:14px;font-weight:700}.schedule-table th:first-child{text-align:left;padding-left:16px}.schedule-table td{text-align:center;color:#334e68;border-bottom:1px solid #eaedf1;padding:12px 10px;font-size:13px;font-weight:600}.schedule-table tbody tr:hover{background-color:#f0f7ff}.schedule-table .time-cell{text-align:left;color:#102a43;white-space:nowrap;letter-spacing:.01em;padding-left:16px;font-size:13px;font-weight:700}.schedule-table .break-row td{color:#f57f17;text-align:center;background-color:#fff8e1;padding:10px;font-size:14px;font-weight:700}@media (width<=992px){.schedule-table{font-size:13px}.schedule-table th,.schedule-table td{padding:10px 8px}}@media (width<=768px){.menu-toggle{display:block}.sidebar{z-index:99;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.active{transform:translate(0)}.main-content{padding:80px 20px 20px}.content-header{align-items:center}.welcome-text h1{font-size:24px}.card-body{flex-direction:column;align-items:flex-start}.today-schedule-item{grid-template-columns:1fr auto}.today-schedule-time,.class-location{grid-column:1/-1}}body{color:#333;background-color:#f3f7f9;height:100vh}.menu-item{color:#ffffffd9;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.logout-btn{color:#fff;cursor:pointer;background-color:#53b0e6;border:none;border-radius:25px;width:100%;padding:12px;font-weight:700}.card{background-color:#fff;border:1px solid #e4e9f0;border-radius:16px;max-width:650px;padding:24px}.announcement-icon-wrapper{color:#158cd7;background-color:#e3f2fd;border-radius:50%;padding:12px;display:inline-flex}.groups-list{flex-direction:column;gap:16px;margin-top:16px;display:flex}.group-item{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.group-info p{color:#334e68;font-size:16px}.group-info strong{color:#102a43}.group-actions{gap:10px;display:flex}.action-btn{color:#158cd7;cursor:pointer;background-color:#e3f2fd;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s;display:flex}.action-btn:hover{background-color:#bbdefb}.docente-section>h1{color:#102a43;margin-bottom:4px;font-size:30px}.docente-section>p{color:#627d98;margin-bottom:24px}.teacher-schedule-card,.director-group-card{max-width:720px}.teacher-schedule-card>p{color:#627d98;font-size:14px}.teacher-today-list,.director-students ul{margin:16px 0 0;padding:0;list-style:none}.teacher-today-item{background:#f4f9ff;border-radius:10px;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:14px;display:grid}.teacher-today-item time{color:#158cd7;font-weight:700}.teacher-today-item strong{color:#102a43}.teacher-today-item span{color:#486581;font-size:14px}.teacher-empty{color:#627d98;padding:16px 0}.teacher-schedule-table-wrap{background:#fff;border:1px solid #e4e9f0;border-radius:16px;max-width:1100px;overflow-x:auto}.teacher-schedule-table{border-collapse:collapse;width:100%;min-width:850px}.teacher-schedule-table th{color:#102a43;text-align:left;background:#eaf6fd;padding:14px;font-size:13px}.teacher-schedule-table td{color:#334e68;vertical-align:top;border-top:1px solid #e4e9f0;min-width:145px;padding:14px}.teacher-schedule-table td:not(.teacher-time-cell) strong,.teacher-schedule-table td:not(.teacher-time-cell) span,.teacher-schedule-table td:not(.teacher-time-cell) small{display:block}.teacher-schedule-table td:not(.teacher-time-cell) strong{color:#102a43;font-size:14px}.teacher-schedule-table td:not(.teacher-time-cell) span{color:#486581;margin-top:4px;font-size:13px}.teacher-schedule-table td:not(.teacher-time-cell) small{color:#627d98;margin-top:3px;font-size:12px}.teacher-time-cell{white-space:nowrap;background:#f7fbfe;font-weight:700;color:#158cd7!important}.teacher-schedule-empty{text-align:center;color:#627d98!important;padding:24px!important}.director-groups{gap:18px;max-width:720px;display:grid}.student-search{background:#fff;border:1px solid #e4e9f0;border-radius:16px;max-width:720px;margin-bottom:18px;padding:20px}.student-search-page{margin-bottom:0}.student-search label{color:#102a43;margin-bottom:10px;font-size:16px;font-weight:700;display:block}.student-search-control{background:#f4f9ff;border:1px solid #d7e8f5;border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.student-search-control .material-symbols-outlined{color:#158cd7}.student-search-control input{color:#102a43;font:inherit;background:0 0;border:0;outline:none;flex:1;padding:12px 0}.student-search-control input::placeholder{color:#627d98}.student-search-results{gap:8px;margin-top:12px;display:grid}.student-search-results>p{color:#627d98;margin:0;font-size:14px}.student-search-result{background:#f4f9ff;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.student-search-result>.material-symbols-outlined{color:#158cd7}.student-search-result div{flex-direction:column;gap:2px;display:flex}.student-search-result strong{color:#102a43}.student-search-result span{color:#486581;font-size:14px}.student-detail-result{align-items:flex-start}.student-detail-result dl{gap:8px;margin:10px 0 0;display:grid}.student-detail-result dl div{align-items:baseline;gap:8px;display:flex}.student-detail-result dt{color:#627d98;font-size:13px;font-weight:700}.student-detail-result dd{color:#334e68;margin:0;font-size:14px}.director-group-card{background:#fff;border:1px solid #e4e9f0;border-radius:16px;padding:24px}.director-group-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.director-group-header span{color:#158cd7;text-transform:uppercase;font-size:13px;font-weight:700}.director-group-header h3{color:#102a43;margin:4px 0 0}.director-classroom{color:#0e5f8e;background:#e3f2fd;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-weight:700;display:flex}.director-group-card>p{color:#486581;margin:16px 0}.director-group-card>p strong{color:#102a43}.director-students{border-top:1px solid #e4e9f0;padding-top:16px}.director-students h4{color:#102a43;font-size:16px}.director-students li{color:#334e68;border-top:1px solid #edf1f5;padding:10px 0}[data-theme=dark] .teacher-today-item{background:#102c40}[data-theme=dark] .teacher-schedule-table-wrap{background:#172534;border-color:#2b4961}[data-theme=dark] .teacher-schedule-table th,[data-theme=dark] .teacher-time-cell{background:#102c40}[data-theme=dark] .teacher-schedule-table th,[data-theme=dark] .teacher-schedule-table td:not(.teacher-time-cell) strong{color:#f1f7fc}[data-theme=dark] .teacher-schedule-table td{border-color:#2b4961}[data-theme=dark] .teacher-schedule-table td:not(.teacher-time-cell) span,[data-theme=dark] .teacher-schedule-table td:not(.teacher-time-cell) small{color:#b5c8d8}[data-theme=dark] .teacher-today-item strong,[data-theme=dark] .director-group-header h3,[data-theme=dark] .director-group-card>p strong,[data-theme=dark] .director-students h4{color:#f1f7fc}[data-theme=dark] .director-group-card,[data-theme=dark] .student-search{background:#172534;border-color:#2b4961}[data-theme=dark] .student-search label,[data-theme=dark] .student-search-result strong{color:#f1f7fc}[data-theme=dark] .student-search-control,[data-theme=dark] .student-search-result{background:#102c40;border-color:#27536e}[data-theme=dark] .student-search-control input{color:#f1f7fc}[data-theme=dark] .student-search-control input::placeholder,[data-theme=dark] .student-search-result span{color:#b5c8d8}[data-theme=dark] .student-detail-result dd{color:#dcebf5}[data-theme=dark] .director-classroom{color:#dcebf5;background:#163b55}[data-theme=dark] .director-students{border-color:#2b4961}[data-theme=dark] .director-students li{color:#dcebf5;border-color:#29465b}@media (width<=992px){.main-content{padding:40px 30px}.card{max-width:100%}}@media (width<=768px){.menu-toggle{display:block}.sidebar{z-index:99;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.active{transform:translate(0)}.main-content{padding:80px 20px 20px}.content-header{align-items:center}.welcome-text h1{font-size:24px}.card-body{flex-direction:column;align-items:flex-start}.group-item{border-bottom:1px dashed #eaedf1;flex-direction:column;align-items:flex-start;gap:10px;padding-bottom:14px}.teacher-today-item{grid-template-columns:1fr;gap:4px}.director-group-header{flex-direction:column;align-items:flex-start}.group-item:last-child{border-bottom:none}}body{color:#333;background-color:#f3f7f9;height:100vh;overflow-x:hidden}.dashboard-container{width:100vw;height:100vh;display:flex;position:relative}.sidebar{color:#fff;background-color:#158cd7;flex-direction:column;flex-shrink:0;justify-content:space-between;width:280px;padding:24px 0;transition:transform .3s;display:flex}.brand{align-items:center;margin-bottom:30px;padding:0 24px;display:flex}.brand .logo-icon{margin-right:10px;font-size:32px}.brand h2{font-size:22px;font-style:italic;font-weight:700}.brand h2 span{vertical-align:super;font-size:12px;font-style:normal}.menu{flex-direction:column;flex-grow:1;gap:6px;padding:0 16px;display:flex}.menu-item{color:#ffffffd9;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s;display:flex}.menu-item:hover,.menu-item.active{color:#fff;background-color:#fff3}.sidebar-footer{border-top:1px solid #ffffff26;flex-direction:column;gap:16px;padding:24px 20px 0;display:flex}.user-info{align-items:center;gap:10px;display:flex}.user-icon{font-size:36px}.user-name{font-size:15px;font-weight:600}.logout-btn{color:#fff;cursor:pointer;background-color:#53b0e6;border:none;border-radius:25px;width:100%;padding:12px;font-weight:700;transition:background .2s}.logout-btn:hover{background-color:#3b9cd4}.menu-toggle{color:#fff;cursor:pointer;z-index:1000;background:#158cd7;border:none;border-radius:8px;padding:8px;display:none;position:absolute;top:20px;left:20px}.main-content{flex-direction:column;flex-grow:1;gap:24px;padding:40px 50px;display:flex;overflow-y:auto}.content-header{justify-content:space-between;align-items:flex-start;display:flex}.welcome-text h1{color:#102a43;font-size:32px;font-weight:700}.welcome-text p{color:#627d98}.notification-badge{color:#158cd7;cursor:pointer;position:relative}.notification-icon{font-size:32px}.badge-count{color:#fff;background-color:#158cd7;border:2px solid #f3f7f9;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:flex;position:absolute;top:-4px;right:-4px}.card{background-color:#fff;border:1px solid #e4e9f0;border-radius:16px;max-width:650px;padding:24px;box-shadow:0 4px 12px #00000005}.card h3{color:#102a43;margin-bottom:12px;font-size:18px;font-weight:700}.divider{border:0;border-top:1px solid #eaedf1;margin:14px 0}.card-body{gap:16px;display:flex}.announcement-icon-wrapper{color:#158cd7;background-color:#e3f2fd;border-radius:50%;align-self:flex-start;padding:12px;display:inline-flex}.announcement-info h4{color:#102a43;margin-bottom:4px;font-weight:700}.announcement-info p{color:#486581;font-size:14px;line-height:1.5}.actions-list{flex-direction:column;gap:16px;margin-top:16px;display:flex}.action-item{align-items:center;gap:14px;padding:4px 0;display:flex}.action-icon{padding:4px;font-size:24px}.action-icon.users{color:#2e7d32}.action-icon.courses{color:#f57c00}.action-icon.security{color:#c62828}.action-item p{color:#334e68;font-size:15px}.action-item strong{color:#102a43;font-weight:600}.action-link{color:#158cd7;align-items:center;gap:4px;font-weight:700;text-decoration:none;display:flex}.action-link:hover{text-decoration:underline}.admin-section{width:100%;max-width:1320px;padding-bottom:32px}.users-header{color:#fff;background:radial-gradient(circle at 82% 15%,#50d3f561,#0000 28%),linear-gradient(125deg,#123d72,#176eae);border-radius:22px;justify-content:space-between;align-items:center;gap:24px;margin:-8px 0 22px;padding:30px 32px;display:flex;box-shadow:0 15px 28px #114a7c33}.users-header h1{color:#fff;letter-spacing:-.7px;margin:6px 0 7px;font-size:clamp(27px,3vw,35px)}.users-header p{color:#d7ecfb;max-width:590px}.section-eyebrow{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex;color:#8ee3ff!important}.section-eyebrow .material-symbols-outlined{font-size:17px}.primary-button,.secondary-button{font:inherit;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:11px 16px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.primary-button{color:#07334d;background:#30b6e8;box-shadow:0 5px 12px #0028502e}.primary-button:hover{background:#6dd5f5;transform:translateY(-1px);box-shadow:0 8px 16px #0028503d}#new-user-button{color:#06344e;background:#35c3f0}#new-user-button:hover{background:#75ddf8}.user-form-card .primary-button{color:#fff;box-shadow:none;background:#126da9}.user-form-card .primary-button:hover{background:#095a91}.secondary-button{color:#486581;background:#edf3f7}.users-feedback{min-height:20px;margin:0 0 12px;font-size:14px;font-weight:600}.users-feedback.success{color:#20743a}.users-feedback.error{color:#b3261e}.users-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:22px;display:grid}.summary-card{background:#fff;border:1px solid #e4ebf1;border-radius:16px;align-items:center;gap:13px;min-height:96px;padding:18px;display:flex;box-shadow:0 5px 14px #1a476b0d}.summary-card>.material-symbols-outlined{border-radius:13px;place-items:center;width:46px;height:46px;font-size:25px;display:grid}.summary-card small{color:#627d98;font-weight:600;display:block}.summary-card strong{color:#102a43;margin-top:2px;font-size:26px;line-height:1.15;display:block}.summary-total>.material-symbols-outlined{color:#1569a8;background:#e3f3ff}.summary-teachers>.material-symbols-outlined{color:#6541a8;background:#f0eafe}.summary-active>.material-symbols-outlined{color:#21814a;background:#e4f7eb}.user-subsections{flex-wrap:wrap;gap:9px;margin:0 0 18px;display:flex}.user-subsection{color:#486581;cursor:pointer;font:inherit;background:#fff;border:1px solid #d9e7ef;border-radius:10px;align-items:center;gap:6px;padding:10px 13px;font-size:14px;font-weight:700;display:inline-flex}.user-subsection .material-symbols-outlined{font-size:19px}.user-subsection:hover,.user-subsection.active{color:#126da9;background:#e3f4fe;border-color:#59afe0}.users-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;display:grid}.academic-management-layout{grid-template-columns:minmax(0,1.8fr) minmax(310px,360px);align-items:start;gap:22px;margin-top:20px;display:grid}.users-table-card,.user-form-card{background:#fff;border:1px solid #e1eaf0;border-radius:17px;overflow:hidden;box-shadow:0 7px 20px #1a476b0f}.table-card-title{justify-content:space-between;align-items:center;gap:12px;padding:20px 20px 16px;display:flex}.table-card-title h2{color:#102a43;font-size:18px}.table-card-title p{color:#73889b;margin-top:3px;font-size:13px}.record-count{color:#1670a9;white-space:nowrap;background:#eef7fc;border-radius:20px;padding:6px 10px;font-size:12px;font-weight:700}.users-toolbar{background:#fbfdfe;border-top:1px solid #edf2f5;border-bottom:1px solid #e8eef2;gap:12px;padding:14px 20px;display:flex}.search-field{color:#56809d;background:#fff;border:1px solid #d3e0e8;border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 10px;display:flex}.search-field:focus-within{border-color:#2991cc;box-shadow:0 0 0 3px #dff3fc}.search-field input{width:100%;font:inherit;border:0;outline:0;padding:9px 0}.users-toolbar select,.form-grid input,.form-grid select{color:#243b53;min-height:39px;font:inherit;background:#fff;border:1px solid #cbd7e2;border-radius:8px;padding:8px 10px}.users-table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:14px}.users-table th{color:#647f93;text-align:left;text-transform:uppercase;letter-spacing:.07em;background:#f7fafc;font-size:11px}.users-table tbody tr{transition:background .15s}.users-table tbody tr:hover{background:#f6fbfe}.users-table th,.users-table td{vertical-align:middle;border-bottom:1px solid #edf1f5;padding:14px 20px}.users-table td strong{color:#173c5b}.users-table td small{color:#71879a;margin-top:3px;display:block}.empty-cell{text-align:center;color:#627d98;padding:28px!important}.status-pill{border-radius:99px;padding:5px 10px;font-size:11px;font-weight:700}.status-pill.active{color:#20743a;background:#e3f8eb}.status-pill.inactive{color:#9a3412;background:#fff0e8}.row-actions{white-space:nowrap}.table-action,.icon-button{color:#0879ba;cursor:pointer;background:#e9f6ff;border:0;border-radius:8px;padding:7px;transition:background .16s,color .16s,transform .16s}.table-action:hover,.icon-button:hover{color:#fff;background:#0879ba;transform:translateY(-1px)}.table-action.danger{color:#bf2540;background:#ffedf0}.table-action.danger:hover{color:#fff;background:#d43d58}.user-form-card{padding:0;position:sticky;top:16px}.form-card-header{background:#f4faff;border-bottom:1px solid #dcecf5;justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding:20px 20px 15px;display:flex}.form-card-header h2{color:#102a43;font-size:20px}.form-card-header p,.teacher-fields p{color:#627d98;margin-top:4px;font-size:13px}.user-form-card form{padding:0 20px 20px}.user-modal:not([hidden]){z-index:1100;width:min(560px,100vw - 32px);max-height:calc(100vh - 40px);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #081c2d8f,0 18px 46px #081c2d52}.academic-form-card form{gap:18px;display:grid}.academic-form-card label{color:#294d6b;gap:7px;font-size:14px;font-weight:700;display:grid}.academic-form-card input,.academic-form-card select{font:inherit;border:1px solid #cbdde8;border-radius:9px;outline:none;padding:11px}.academic-form-card input:focus,.academic-form-card select:focus{border-color:#208fca;box-shadow:0 0 0 3px #dff4fc}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.form-grid label{color:#334e68;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.form-grid small{color:#627d98;font-weight:400}.full-field{grid-column:1/-1}.teacher-fields{background:#f7fbfe;border:1px solid #cfe5f4;border-radius:10px;margin:18px 0;padding:14px}.teacher-fields legend{color:#102a43;padding:0 4px;font-weight:700}.teacher-fields .form-grid{margin-top:13px}.form-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.schedules-section{max-width:1380px}.schedules-header{background:radial-gradient(circle at 82% 15%,#7ae2b357,#0000 28%),linear-gradient(125deg,#174c69,#197d91)}.schedules-table{min-width:920px}.schedules-layout{grid-template-columns:minmax(0,2.5fr) minmax(310px,360px)}.courses-section{max-width:1180px}.courses-hero{color:#fff;background:linear-gradient(120deg,#1a4777,#1587bd);border-radius:20px;align-items:center;gap:18px;padding:28px;display:flex}.courses-hero>.material-symbols-outlined{background:#ffffff2b;border-radius:16px;place-items:center;width:60px;height:60px;font-size:31px;display:grid}.courses-hero h1{margin:4px 0;font-size:30px}.courses-hero>div>p:last-child{color:#d9f1fb}.course-search-card{background:#fff;border:1px solid #e2ebf0;border-radius:16px;max-width:700px;margin:24px 0;padding:22px;box-shadow:0 7px 20px #1a476b0f}.course-search-card>label{color:#173c5b;margin-bottom:9px;font-weight:700;display:block}.course-search-control{color:#2785b9;border:1px solid #cbdde8;border-radius:10px;align-items:center;gap:9px;padding:0 12px;display:flex}.course-search-control:focus-within{border-color:#208fca;box-shadow:0 0 0 3px #dff4fc}.course-search-control input{color:#243b53;width:100%;font:inherit;border:0;outline:0;padding:12px 0}.course-search-results{gap:8px;margin-top:13px;display:grid}.course-result{text-align:left;color:#294d6b;cursor:pointer;background:#fff;border:1px solid #e5edf2;border-radius:10px;align-items:center;gap:11px;width:100%;padding:12px;transition:all .16s;display:flex}.course-result:hover{background:#f0faff;border-color:#92ccea;transform:translate(2px)}.course-result>.material-symbols-outlined:first-child{color:#126da9;background:#e3f4fe;border-radius:9px;padding:8px}.course-result strong,.course-result small{display:block}.course-result small{color:#70869a;margin-top:2px}.course-result .arrow{color:#2587bf;margin-left:auto}.course-empty{color:#6c8294;text-align:center;padding:12px}.course-detail{background:#fff;border:1px solid #e2ebf0;border-radius:17px;overflow:hidden;box-shadow:0 7px 20px #1a476b0f}.course-detail-header{background:#f2f9fd;border-bottom:1px solid #deedf5;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.course-detail-header p{color:#668399;font-size:13px}.course-detail-header h2{color:#173c5b;font-size:24px}.course-detail-header>span{color:#166d9f;background:#dff2fb;border-radius:20px;padding:7px 11px;font-size:13px;font-weight:700}.course-detail-grid{grid-template-columns:280px minmax(0,1fr);display:grid}.course-detail-grid article{padding:22px}.course-detail-grid h3{color:#244866;align-items:center;gap:7px;margin-bottom:15px;font-size:16px;display:flex}.course-detail-grid h3 .material-symbols-outlined{color:#1884bd}.course-members{border-right:1px solid #e6edf1}.course-members ul{gap:9px;list-style:none;display:grid}.course-members li{color:#385873;align-items:center;gap:9px;font-size:14px;display:flex}.course-avatar{color:#196a99;background:#dff1fb;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.course-table-wrap{overflow-x:auto}.course-schedule table{border-collapse:collapse;width:100%;min-width:620px;font-size:13px}.course-schedule th{color:#688398;text-align:left;text-transform:uppercase;background:#f6fafc;padding:9px;font-size:11px}.course-schedule td{color:#3f5f79;border-bottom:1px solid #edf2f5;padding:10px 9px}.admin-home{max-width:1240px}.admin-home-hero{color:#fff;background:radial-gradient(circle at 88% 17%,#69ddfa59,#0000 25%),linear-gradient(122deg,#113d6d,#176fa9);border-radius:21px;justify-content:space-between;align-items:center;min-height:160px;padding:29px 32px;display:flex}.admin-home-hero h1{margin:5px 0;font-size:32px}.admin-home-hero>div>p:last-child{color:#d7edf9}.admin-home-hero>.material-symbols-outlined{opacity:.45;font-size:70px}.global-stats{grid-template-columns:repeat(4,1fr);gap:15px;margin:22px 0;display:grid}.global-stats article{background:#fff;border:1px solid #e0eaf0;border-radius:15px;align-items:center;gap:12px;padding:17px;display:flex;box-shadow:0 6px 16px #1a476b0d}.global-stats article>span{border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.global-stats .users-icon{color:#136da8;background:#e2f4ff}.global-stats .teachers-icon{color:#6b43a2;background:#f0e9ff}.global-stats .courses-icon{color:#bd6b0a;background:#fff2df}.global-stats .rooms-icon{color:#21814a;background:#e4f7eb}.global-stats small{color:#6b8294;font-size:12px;font-weight:600;display:block}.global-stats strong{color:#153f5d;font-size:25px;display:block}.admin-home-grid{grid-template-columns:minmax(0,1.45fr) minmax(290px,.8fr);gap:20px;display:grid}.global-card{background:#fff;border:1px solid #e0eaf0;border-radius:16px;overflow:hidden;box-shadow:0 6px 16px #1a476b0d}.global-card-title{border-bottom:1px solid #e8eff3;justify-content:space-between;align-items:center;padding:19px 21px;display:flex}.global-card-title>div{align-items:center;gap:8px;display:flex}.global-card-title .material-symbols-outlined{color:#1685bf}.global-card-title h2{color:#1c4664;font-size:17px}.global-badge{color:#1670a5;background:#e9f6fc;border-radius:16px;padding:5px 9px;font-size:11px;font-weight:700}.global-schedule-item{border-bottom:1px solid #edf2f5;align-items:center;gap:11px;padding:13px 20px;display:flex}.global-schedule-item:last-child{border-bottom:0}.global-schedule-item>.material-symbols-outlined{color:#1979af;background:#e4f4fc;border-radius:9px;padding:8px}.global-schedule-item strong,.global-schedule-item small,.global-schedule-item em{display:block}.global-schedule-item>div:nth-child(2){flex:1}.global-schedule-item>div:nth-child(2) strong{color:#294e6a;font-size:14px}.global-schedule-item small{color:#70889a;margin-top:2px;font-size:12px}.global-schedule-time{text-align:right;min-width:112px}.global-schedule-time strong{color:#32627f;font-size:12px}.global-schedule-time em{color:#7890a2;margin-top:3px;font-size:11px;font-style:normal}.global-empty{color:#6d8598;text-align:center;padding:25px}.global-summary dl{padding:6px 21px 16px}.global-summary dl div{border-bottom:1px solid #edf2f5;justify-content:space-between;padding:14px 0;display:flex}.global-summary dt{color:#5d788d;font-size:13px}.global-summary dd{color:#1c587d;font-size:18px;font-weight:700}.global-link{color:#1473aa;background:#ebf7fd;border-radius:9px;justify-content:center;align-items:center;gap:5px;margin:0 21px 20px;padding:11px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.global-link:hover{background:#d9f0fb}@media (width<=992px){.main-content{padding:40px 30px}.card{max-width:100%}.users-layout,.academic-management-layout{grid-template-columns:1fr}.user-form-card:not(.user-modal){position:static}.course-detail-grid{grid-template-columns:1fr}.course-members{border-bottom:1px solid #e6edf1;border-right:0}.global-stats{grid-template-columns:repeat(2,1fr)}.admin-home-grid{grid-template-columns:1fr}}@media (width<=768px){.menu-toggle{display:block}.sidebar{z-index:99;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.active{transform:translate(0)}.main-content{padding:80px 20px 20px}.content-header{align-items:center}.welcome-text h1{font-size:24px}.card-body{flex-direction:column;align-items:flex-start}.users-header,.users-toolbar{flex-direction:column}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.courses-hero{align-items:flex-start;padding:20px}.courses-hero h1{font-size:25px}.course-detail-header{flex-direction:column;align-items:flex-start;gap:12px}.admin-home-hero{padding:23px}.admin-home-hero h1{font-size:27px}.admin-home-hero>.material-symbols-outlined{display:none}.global-stats{grid-template-columns:1fr}.global-schedule-item{align-items:flex-start}.global-schedule-time{text-align:left;min-width:0}}:root{--bg-principal:#f3f7f9;--bg-tarjetas:#fff;--texto-principal:#102a43;--texto-secundario:#627d98;--borde:#e4e9f0}[data-theme=dark]{--bg-principal:#0d1722;--bg-tarjetas:#172534;--texto-principal:#f1f7fc;--texto-secundario:#b5c8d8;--borde:#2b4961}.theme-toggle{background:var(--bg-tarjetas);color:#158cd7;border:1px solid var(--borde);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:background .3s,color .3s,border-color .3s;display:flex;box-shadow:0 4px 6px #00000005}.theme-toggle:hover{filter:brightness(.9)}.theme-toggle .material-symbols-outlined{font-size:28px}.global-theme-toggle{z-index:1100;position:fixed;top:20px;right:24px}@media (width<=768px){.global-theme-toggle{top:16px;right:16px}}.main-content{background-color:var(--bg-principal);transition:background-color .3s}.card{transition:background-color .3s,border-color .3s;background-color:var(--bg-tarjetas)!important;border-color:var(--borde)!important;color:var(--texto-principal)!important}.welcome-text h1,.card h3,.announcement-info h4,.group-info strong,.action-item strong{color:var(--texto-principal)!important}.welcome-text p,.announcement-info p,.action-item p,.group-info p{color:var(--texto-secundario)!important}.divider{border-top:1px solid var(--borde)}[data-theme=dark] .inicio-section>h1{color:var(--texto-principal)}[data-theme=dark] .inicio-section>p{color:var(--texto-secundario)}[data-theme=dark] .inicio-section .schedule-card{box-shadow:0 12px 30px #00000040;background:linear-gradient(145deg,#1a3043,#172534)!important;border-color:#37637f!important}[data-theme=dark] .today-schedule-heading strong,[data-theme=dark] .today-schedule-subject{color:#f1f7fc}[data-theme=dark] .today-schedule-heading span{color:#b5c8d8}[data-theme=dark] .today-schedule-item{color:#e1edf6;background:#102c40;border:1px solid #27536e}[data-theme=dark] .today-schedule-time,[data-theme=dark] .action-link{color:#62c9ff}[data-theme=dark] .announcement-icon-wrapper{color:#62c9ff;background:#143c58}[data-theme=dark] .horario-section h1,[data-theme=dark] .horario-section .time-cell{color:var(--texto-principal)}[data-theme=dark] .horario-section>p{color:var(--texto-secundario)}[data-theme=dark] .comunidad-section>h1{color:#fff}[data-theme=dark] .schedule-table{background:#172534;border-color:#37637f}[data-theme=dark] .schedule-table thead{background:#0e5f8e}[data-theme=dark] .schedule-table td{color:#dcebf5;border-bottom-color:#2b4961}[data-theme=dark] .schedule-table tbody tr:hover{background:#1b3b52}[data-theme=dark] .schedule-table .break-row td{color:#ffd777;background:#3d3017}[data-theme=dark] .admin-section{color:var(--texto-principal)}[data-theme=dark] .users-table-card,[data-theme=dark] .user-form-card,[data-theme=dark] .summary-card,[data-theme=dark] .course-search-card,[data-theme=dark] .course-detail,[data-theme=dark] .global-stats article,[data-theme=dark] .global-card{background:#172534;border-color:#2b4961;box-shadow:0 7px 20px #0000002e}[data-theme=dark] .table-card-title,[data-theme=dark] .form-card-header,[data-theme=dark] .course-detail-header,[data-theme=dark] .global-card-title{background:#1b3042;border-color:#2b4961}[data-theme=dark] .table-card-title h2,[data-theme=dark] .form-card-header h2,[data-theme=dark] .course-detail-header h2,[data-theme=dark] .course-detail-grid h3,[data-theme=dark] .global-card-title h2,[data-theme=dark] .global-stats strong,[data-theme=dark] .global-summary dd{color:#f1f7fc}[data-theme=dark] .table-card-title p,[data-theme=dark] .form-card-header p,[data-theme=dark] .teacher-fields p,[data-theme=dark] .course-detail-header p,[data-theme=dark] .global-stats small,[data-theme=dark] .global-summary dt,[data-theme=dark] .global-schedule-item small,[data-theme=dark] .global-schedule-time em{color:#b5c8d8}[data-theme=dark] .users-toolbar,[data-theme=dark] .users-table th,[data-theme=dark] .course-schedule th{color:#b5c8d8;background:#132433;border-color:#2b4961}[data-theme=dark] .users-table td,[data-theme=dark] .course-schedule td,[data-theme=dark] .users-table td strong,[data-theme=dark] .course-schedule td strong,[data-theme=dark] .course-members li,[data-theme=dark] .global-schedule-item>div:nth-child(2) strong,[data-theme=dark] .global-schedule-time strong{color:#e2eef7;border-color:#2b4961}[data-theme=dark] .users-table tbody tr:hover{background:#1b3447}[data-theme=dark] .search-field,[data-theme=dark] .course-search-control,[data-theme=dark] .users-toolbar select,[data-theme=dark] .form-grid input,[data-theme=dark] .form-grid select{color:#edf6fc;background:#102130;border-color:#35566e}[data-theme=dark] .search-field input,[data-theme=dark] .course-search-control input{color:#edf6fc;background:0 0}[data-theme=dark] .teacher-fields{background:#142b3b;border-color:#315b74}[data-theme=dark] .teacher-fields legend,[data-theme=dark] .form-grid label,[data-theme=dark] .course-search-card>label{color:#dcebf5}[data-theme=dark] .course-result{color:#e2eef7;background:#162a39;border-color:#2b4961}[data-theme=dark] .course-result:hover{background:#1e3c50;border-color:#53b8e8}[data-theme=dark] .course-result small,[data-theme=dark] .course-empty,[data-theme=dark] .global-empty{color:#b5c8d8}[data-theme=dark] .course-members,[data-theme=dark] .course-detail-grid article,[data-theme=dark] .global-schedule-item,[data-theme=dark] .global-summary dl div{border-color:#2b4961}[data-theme=dark] .global-link{color:#78d3ff;background:#173b52}[data-theme=dark] .global-link:hover{background:#214c66}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100vh}body{width:100%;display:flex}#app{flex:1}*{box-sizing:border-box;margin:0;padding:0;font-family:Segoe UI,sans-serif}.dashboard-container{width:100vw;height:100vh;display:flex}.sidebar{flex-direction:column;width:280px;display:flex}.card{border:1px solid #e4e9f0;border-radius:16px;padding:24px}[data-theme=dark] .sidebar{background-color:#1a1f26}[data-theme=dark] .logout-btn,[data-theme=dark] .menu-toggle{color:#fff;background-color:#2c3542}[data-theme=dark] .menu-item.active{background-color:#ffffff14}
