:root{--bg-dark:#162338;--bg-light:#ffffff;--text:#0e0e0e;--muted:#5b6675;--border:#e8e8e8;--accent:#f2a029;--accent-600:#e19017;--brand:#e19017;--estAu-font-display: "Helvetica Neue", Helvetica, Arial, sans-serif;--estAu-font-body: "Helvetica Neue", Helvetica, Arial, sans-serif}.layout-menu-usuario-dropdown{position:absolute;top:38px;right:0}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg-light);font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.container{max-width:1400px;margin:0 auto;padding:0 20px}.layout-site-header{background:var(--bg-dark)}.layout-header-inner{display:flex;align-items:center;justify-content:space-between;min-height:72px}.layout-nav{display:flex;align-items:center;gap:20px}.layout-nav-link{color:#dbe6ff;text-decoration:none}.layout-nav-link:hover{text-decoration:underline}.btn{display:inline-block;padding:10px 16px;border-radius:8px;font-weight:600;text-decoration:none;transition:.2s}.btn-primary{background:var(--brand);color:#fff;border:1px solid transparent}.btn-primary:hover{filter:brightness(.95)}.btn-outline{color:var(--bg-light);border:1px solid #8ea2c7;background:transparent}.btn-accent{background:var(--accent);color:#fff;border:1px solid transparent}.btn-accent:hover{background:var(--accent-600)}.layout-site-footer{border-top:1px solid var(--border);background:#162338;color:#fff;margin-top:48px}.layout-footer-inner{padding:20px 0;text-align:center}.layout-user-header{display:flex;align-items:center;gap:1.25rem;background:var(--bg-dark);color:#fff;padding:.8rem 1.25rem;border-radius:8px;flex:1}.layout-user-header .layout-header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.layout-logo-ctp{width:72px;height:72px;object-fit:contain;border-radius:6px;padding:6px;cursor:pointer;transition:all .3s}.layout-logo-ctp:hover{transform:scale(1.05);opacity:.8}.layout-user-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.layout-user-info{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.layout-user-name{margin:0;font-weight:600;font-size:1rem;color:#fff}.layout-user-role{margin:0;font-size:.85rem;color:#dbe6ff;opacity:.85}.layout-btn-panel{background:var(--accent);color:#fff;border:none;padding:8px 14px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s;text-decoration:none;display:inline-block;font-size:14px}.layout-btn-panel:hover{background:var(--accent-600)}.layout-btn-logout{background:var(--accent);color:#fff;border:none;padding:8px 14px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.layout-header-actions{position:relative;display:flex;align-items:center;gap:12px;z-index:10}.layout-notifications{position:relative;cursor:pointer;font-size:24px}.layout-badge{position:absolute;top:-6px;right:-8px;background:#e63946;color:#fff;font-size:11px;padding:2px 5px;border-radius:50%}.layout-notifications-dropdown{position:absolute;top:36px;right:0;width:340px;background:#fff;color:#0e0e0e;border-radius:6px;box-shadow:0 6px 20px #00000026;z-index:9999;overflow:hidden;animation:fadeIn .2s ease}.layout-dropdown-header{font-weight:700;background:#f4f6f8;padding:10px 14px;border-bottom:1px solid #ddd}.layout-notifications-list{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto}.layout-notification-item{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid #eee;transition:background .2s}.layout-notification-item:hover{background:#f9fafc}.layout-notification-item .icon{font-size:20px}.layout-notification-item .text p{margin:0;font-size:14px}.layout-notification-item .text small{color:#888;font-size:12px}.layout-dropdown-footer{text-align:center;padding:10px;background:#f4f6f8;border-top:1px solid #ddd}.layout-dropdown-footer a{text-decoration:none;color:#07c;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.layout-menu{font-size:1.5rem;cursor:pointer}.layout-hamburger-btn{background:transparent;border:none;color:#fff;font-size:22px;line-height:1;padding:6px 8px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.layout-hamburger-btn:hover{background:#ffffff0f}.layout-menu-usuario{position:absolute;top:72px;right:12px;background:#fff;color:#0e0e0e;border-radius:8px;box-shadow:0 8px 28px #0000002e;min-width:200px;z-index:2000;padding:8px 0;animation:fadeIn .18s ease}.layout-menu-usuario ul{list-style:none;margin:0;padding:0}.layout-menu-usuario li{padding:8px 14px}.layout-menu-usuario li+li{border-top:1px solid #f1f3f5}.layout-menu-usuario a,.layout-menu-usuario button{color:#0e0e0e;text-decoration:none;background:none;border:none;font:inherit;width:100%;text-align:left;cursor:pointer;padding:6px 0;display:block}.layout-menu-usuario a:hover,.layout-menu-usuario button:hover{background:#fbfbfc}.layout-btn-logout.small{padding:6px 10px;font-size:14px;border-radius:6px}@media(max-width:720px){.layout-user-header{padding:.4rem .6rem;gap:.6rem}.layout-hamburger-btn{font-size:20px;padding:8px}.layout-menu-usuario{right:8px;left:8px;top:68px;min-width:auto}.layout-logo-ctp{width:48px;height:48px}}.layout-site-main .g-notice-board-list,.layout-site-main .layout-notifications-list,.layout-site-main .grid-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.layout-site-main img,.layout-site-main table{max-width:100%;height:auto}.layout-site-main .g-notice-board-container,.layout-site-main .g-notice-board-wrapper,.layout-site-main .g-notice-board-list,.layout-site-main .g-notice-board-item,.layout-site-main .g-notice-board-controls,.layout-site-main .g-notice-board-header{max-width:1200px;margin-left:auto;margin-right:auto}.layout-site-main .g-notice-board-container{padding:18px 20px}.layout-site-main .g-notice-board-wrapper{padding:0}.layout-site-main .g-notice-board-controls,.layout-site-main .g-notice-board-header{gap:18px;align-items:center}.layout-site-main .g-notice-board-list{gap:18px}.layout-site-main .g-notice-board-item{padding:18px}.layout-site-main [class^=g-]{box-sizing:border-box}.layout-site-main [class*=-wrapper],.layout-site-main [class*=-container]{max-width:1200px;margin:0 auto}.layout-user-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--bg-dark);color:#fff;padding:.8rem 1.5rem;border-radius:8px;flex-wrap:nowrap}.user-header-wrapper{display:flex;align-items:center;width:100%;justify-content:space-between}.layout-user-info{display:flex;flex-direction:column;justify-content:center;min-width:160px;margin-left:8px}.layout-user-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--accent);margin-left:8px;margin-right:8px}.layout-header-actions{display:flex;align-items:center;gap:16px}.layout-btn-logout{background:var(--accent);color:#fff;border:none;padding:8px 14px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s;margin-left:10px}.layout-btn-logout:hover{background:var(--accent-600)}@media(max-width:900px){.layout-user-header{flex-wrap:wrap;gap:.8rem;justify-content:center;text-align:center}.layout-user-info{align-items:center}}.layout-btn-home{background-color:#e5e7eb;color:#333;font-weight:600;padding:.4rem .8rem;border-radius:6px;margin-left:.5rem;text-decoration:none;transition:all .2s ease}.layout-btn-home:hover{background-color:#d1d5db;transform:scale(1.03)}.btn-secondary{background:#f3f4f6;color:#111827;border:1px solid #d1d5db}.hero{background:linear-gradient(135deg,#162338,#1e3a5f,#162338);color:#fff;padding:64px 0 52px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:-120px;width:380px;height:380px;background:radial-gradient(circle,rgba(245,164,37,.16) 0%,transparent 70%);border-radius:50%}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;position:relative;z-index:1}.hero-left{display:flex;flex-direction:column;justify-content:center;max-width:620px}.hero-badge{width:100%;max-width:180px;max-height:120px;height:auto;margin-bottom:20px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.22))}.hero-title{font-size:clamp(2.6rem,5vw,3.3rem);font-weight:700;line-height:1.05;margin:0 0 10px;background:linear-gradient(135deg,#fff,#e8f3ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{color:#b8cee8;margin:0 0 14px;font-size:1.15rem;font-weight:300;letter-spacing:.35px}.hero-actions,.intro-actions,.location-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-right{position:relative;display:flex;justify-content:center;align-items:center}.hero-right video{width:100%;max-width:460px;height:auto;border-radius:18px;box-shadow:0 20px 60px #00000052;object-fit:cover;border:1px solid rgba(255,255,255,.1)}.intro{background:#f8fafc;padding:76px 0}.intro-grid,.location-grid{display:grid;gap:36px;align-items:start}.intro-grid{grid-template-columns:1.05fr .95fr}.intro-title,.section-title{font-size:clamp(2rem,4vw,2.6rem);margin:0 0 18px;color:#162338;font-weight:700;line-height:1.2}.section-kicker{margin:0 0 10px;color:#f5a425;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;font-weight:700}.intro-text,.location-text{color:#64748b;margin:0 0 26px;font-size:1.08rem;line-height:1.6;max-width:560px}.btn{display:inline-block;padding:12px 28px;border-radius:10px;font-weight:600;text-decoration:none;transition:all .25s ease;cursor:pointer;border:2px solid transparent;font-size:1rem;text-align:center}.hero-actions .btn-outline{background:#ffffff14;color:#fff;border-color:#ffffffb8}.hero-actions .btn-outline:hover{background:#fff;color:#162338;transform:translateY(-2px);box-shadow:0 10px 24px #0000002e}.hero-actions .btn-outline2,.location-actions .btn-outline2,.reglamento-interno .btn-dark{background:#f5a425;color:#fff;border:2px solid #f5a425}.hero-actions .btn-outline2:hover,.location-actions .btn-outline2:hover,.reglamento-interno .btn-dark:hover{background:#ea580c;border-color:#ea580c;transform:translateY(-2px);box-shadow:0 10px 24px #f5a42547}.btn-dark{background:linear-gradient(135deg,#162338,#1e3a5f);color:#fff;border:2px solid #162338}.btn-dark:hover{background:linear-gradient(135deg,#1e3a5f,#273f5a);transform:translateY(-2px);box-shadow:0 8px 20px #1623384d}.btn-white{background:#fff;color:#162338;border:2px solid #dbe4f0;font-weight:600}.btn-white:hover{border-color:#cbd5e1;background:#f8f9fa;transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.intro-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;box-shadow:0 4px 14px #0000000f;transition:all .3s ease}.intro-card:hover{transform:translateY(-8px);box-shadow:0 14px 34px #0000001f;border-color:#cbd5e1}.card-thumb{width:78px;height:78px;border-radius:14px;background:linear-gradient(135deg,#f5a425,#f59e0b);flex-shrink:0}.card-body{flex:1}.card-title{margin:0 0 8px;font-size:1.3rem;font-weight:700;color:#162338}.card-sub{margin:0 0 8px;font-size:.9rem;color:#9ca3af;font-weight:500}.card-text{margin:0;color:#475569;font-size:1rem;line-height:1.55}.location{background:linear-gradient(180deg,#fff,#f8fafc);padding:12px 0 76px}.location-grid{grid-template-columns:.95fr 1.05fr;align-items:center}.location-map-card{overflow:hidden;border-radius:18px;box-shadow:0 18px 40px #0f172a1f;border:1px solid #dbe4f0;background:#fff;min-height:360px}.location-map-card iframe{width:100%;height:100%;min-height:360px;border:0;display:block}.location-copy{padding-right:8px}.reglamento-interno{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px;background:linear-gradient(135deg,#162338,#1e3a5f);border-radius:16px;box-shadow:0 8px 24px #16233826}.reglamento-interno h2{color:#fff;margin:0 0 24px}.avisos{padding:24px 0 80px;background:linear-gradient(135deg,#f8fafc,#fff)}@media(max-width:900px){.hero-grid,.intro-grid,.location-grid{grid-template-columns:1fr}.hero-right{order:-1}.hero-right video{max-width:100%}.location-copy{padding-right:0}}@media(max-width:768px){.hero{padding:52px 0 44px}.hero-grid,.intro-grid,.location-grid{gap:28px}.hero-badge{max-width:160px;max-height:110px}.hero-subtitle{font-size:1.05rem}.intro{padding:68px 0}.location{padding-bottom:68px}.reglamento-interno{padding:28px 20px}.location-map-card,.location-map-card iframe{min-height:300px}}@media(max-width:480px){.hero-title{font-size:2.2rem}.intro-title,.section-title{font-size:1.8rem}.btn,.hero-actions,.intro-actions,.location-actions,.hero-actions .btn,.intro-actions .btn,.location-actions .btn{width:100%}.hero-badge{max-width:145px;max-height:100px}.location-map-card,.location-map-card iframe{min-height:260px}}.login{display:flex;justify-content:center;align-items:center;padding:60px 16px;background:#f9fafc;min-height:calc(100vh - 160px)}.login .login-card{background:#d9d9d9;border-radius:12px;padding:40px 48px;max-width:560px;width:100%;box-shadow:0 6px 20px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.login .login-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #0000001f}.login .login-title{margin:0 0 24px;font-size:28px;line-height:1.2;text-align:center;font-weight:700;color:#1f2937}.form-group input{padding:12px 14px;border:1px solid #ddd;border-radius:6px;font-size:15px;transition:all .2s ease}.btn-accent{background:#f5a425;color:#fff;border:none;padding:12px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease-in-out,transform .2s;width:100%;text-align:center}.btn-accent:hover{background:#e19017;transform:translateY(-2px)}.btn-rep{background-color:#fff;color:#333;border:none;padding:12px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease-in-out,transform .2s;width:100%;text-align:center}.btn-rep:hover{background:#c0c5cf;transform:translateY(-2px)}.recuperar-actions{width:100%;max-width:208px;margin:20px auto 0;gap:20px}.login-recovery{margin-top:8px;text-align:center}.login-recovery a{color:#647bd2;text-decoration:none;font-weight:500}.login-error{margin-top:12px;padding:12px 16px;color:#b91c1c;font-size:15px;font-weight:500;text-align:center}@media(max-width:768px){.login{padding:40px 16px}.login .login-card{padding:32px 28px;max-width:90%}.login .login-title{font-size:24px}}@media(max-width:480px){.login .login-card{padding:24px 20px}.btn-accent{font-size:15px}}.password-group{position:relative;display:flex;flex-direction:column}.input-password{padding-right:2.5rem;width:100%;box-sizing:border-box}.toggle-password{position:absolute;right:.8rem;top:70%;transform:translateY(-50%);cursor:pointer;color:#666;transition:color .2s ease;display:flex;align-items:center;justify-content:center}.toggle-password:hover{color:#111}.toggle-password svg{width:1.2rem;height:1.2rem}.docentes-container{width:100%;max-width:1200px;margin:0 auto;padding:20px;background-color:#f4f6f9;min-height:100vh}.loading,.error-message{text-align:center;padding:2rem;font-size:1.1rem;color:#666}.error-message{color:#dc3545}.instrucciones{text-align:center;margin:1rem 0;color:#666;font-size:.95rem}.filters{background-color:#fff;padding:20px;border-radius:10px;box-shadow:0 4px 10px #0000001a;margin-bottom:20px}.filter-header{display:flex;align-items:center;gap:10px;margin-bottom:15px}.search-icon{font-size:1.2em}.filter-title{font-size:1.2em;font-weight:700}.filter-input-container input{width:100%;padding:10px;margin-bottom:15px;border-radius:5px;border:1px solid #ccc}.filter-materia label{font-weight:700;margin-bottom:5px;display:inline-block}.filter-materia select{width:100%;padding:10px;border-radius:5px;border:1px solid #ccc}.docentes-count{text-align:center;margin-top:10px;font-size:.9em;color:#666}.clear-filters{display:block;margin:0 auto;padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:5px;cursor:pointer}.clear-filters:hover{background-color:#0056b3}.docentes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.docente-card{background-color:#fff;padding:20px;border-radius:10px;box-shadow:0 4px 6px #0000001a;transition:transform .2s ease-in-out}.docente-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.encargado-info{background-color:#162338;color:#fff;padding:15px;border-radius:10px;margin-bottom:20px;text-align:center}.encargado-info h2{margin:0;color:#f5a425}.encargado-nombre{margin:10px 0 0;font-size:.9em;opacity:.9}.docente-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:15px;gap:10px}.docente-header h3{margin:0;font-size:1.2em;color:#162338}.docente-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:4px 8px;border-radius:4px;font-size:.8em;white-space:nowrap}.badge-guia{background-color:#f5a425;color:#fff}.badge-materia{background-color:#162338;color:#fff}.docente-info{text-align:left;margin-bottom:15px}.docente-info p{margin:8px 0;font-size:.95em;color:#555;text-align:left}.docente-info strong{color:#162338}.estudiantes-info{margin-top:10px}.estudiantes-lista{list-style:none;padding:0;margin:5px 0;font-size:.9em}.estudiantes-lista li{padding:3px 0;color:#555}.btn-agendar{width:100%;padding:10px;background-color:#28a745;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background-color .2s}.btn-agendar:hover{background-color:#218838}.docente-card p{margin:5px 0}.crear-aviso-section{padding:2rem;background-color:#f9fafb;min-height:100vh;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.crear-aviso-header{margin-bottom:2rem}.crear-aviso-header h1{font-size:1.8rem;margin-bottom:.3rem}.btn-volver{position:fixed;top:1rem;left:1rem;background:none;border:none;color:#0078d7;cursor:pointer;font-size:1rem;margin-bottom:.5rem;z-index:10}.crear-aviso-container{display:flex;gap:2rem;align-items:flex-start}.crear-aviso-form{flex:1.5;background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 6px #00000014}.crear-aviso-form label{display:block;margin-bottom:1rem;font-weight:500}.crear-aviso-form input,.crear-aviso-form textarea,.crear-aviso-form select{width:100%;padding:.6rem;margin-top:.3rem;border:1px solid #ccc;border-radius:6px;font-size:.95rem}.crear-aviso-destinatarios{display:flex;flex-direction:column;gap:.5rem;margin:1.2rem 0}.crear-aviso-destinatarios>span{font-weight:600;margin-bottom:.2rem}.crear-aviso-destinatarios label{display:flex;align-items:center;gap:.5rem;background-color:#f8f9fa;border:1px solid #d0d7de;border-radius:8px;padding:6px 10px;width:fit-content;transition:all .2s ease}.crear-aviso-destinatarios label:hover{background-color:#e9d499;border-color:#e9d499}.crear-aviso-destinatarios input[type=checkbox]{transform:scale(1.2)}.niveles-container{display:flex;flex-direction:column;gap:1rem}.nivel-grupos-contenedor{background-color:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 6px #0000001a}.niveles-cajon{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-height:300px;overflow-y:auto;padding-right:0;border:1px solid #e5e7eb;border-radius:8px}.grupo-item{background:#f3f4f6;border-radius:6px;display:flex;align-items:center;justify-content:flex-start;font-size:1rem;border:1px solid #ccc;margin:0;padding:.2rem .6rem}.grupo-item:hover{background-color:#e2e6f0;cursor:pointer}.grupo-item input{transform:scale(1.2);margin-right:0}.btn-publicar{margin-top:1.5rem;background-color:#f4b400;color:#fff;border:none;padding:.8rem 1.2rem;border-radius:6px;cursor:pointer;font-weight:600}.btn-publicar:hover{background-color:#e2a500}.crear-aviso-preview{flex:1;background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 6px #00000014}.crear-aviso-preview h2{margin-bottom:1rem}.prioridad-tag{padding:.3rem .6rem;border-radius:6px;color:#fff;font-weight:600;font-size:.85rem}.prioridad-tag.baja{background-color:#34a853}.prioridad-tag.media{background-color:#fbbc04}.prioridad-tag.alta{background-color:#ea4335}.niveles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;margin-top:.6rem}.nivel-item{display:flex;align-items:center;gap:.4rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:.4rem .6rem;font-size:.9rem}.nivel-bloque{width:90px}.nivel-item:hover{background-color:#f3f4f6;cursor:pointer}.nivel-item input{transform:scale(1.1)}.niveles-cajon::-webkit-scrollbar{width:8px}.niveles-cajon::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.niveles-cajon::-webkit-scrollbar-thumb:hover{background:#999}.grupos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:1rem}.grupo-item{display:flex;align-items:center;justify-content:center;background-color:#f7f7f7;border:1px solid #ccc;border-radius:8px;padding:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.grupo-item:hover{background-color:#e9d499;border-color:#d3b465}.grupo-item input[type=checkbox]{margin-right:6px;accent-color:#f5f5f7}.grupo-item.seleccionado{background-color:#f9f8f6;border-color:#c7c3bf;font-weight:600}.grupos-seleccionados{display:flex;flex-wrap:wrap;gap:8px;margin:.6rem 0 1rem}.tag-grupo{display:flex;align-items:center;background-color:#f9f8f6;border:1px solid #c7c3bf;border-radius:16px;padding:4px 10px;color:#036;font-size:.9rem;font-weight:500}.tag-grupo .btn-x{background:none;border:none;color:#333;margin-left:6px;cursor:pointer;font-size:1rem;transition:color .2s ease}.tag-grupo .btn-x:hover{color:#e02424}.avi_nv_btn{background-color:#e2a500;color:#fff;font-weight:600;padding:.8rem 1.3rem;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease}.avi_nv_btn:hover{background-color:#e2a500;transform:scale(1.02)}.avi_nv_publicar_container .avi_nv_btn{background-color:#e2a500;color:#fff;font-weight:600;padding:.9rem 1.8rem;border-radius:8px;border:none;cursor:pointer;font-size:1rem;transition:all .25s ease;box-shadow:0 2px 6px #0000001a}.avi_nv_publicar_container .avi_nv_btn:hover{background-color:#e2a500;transform:scale(1.03)}.avi_nv_destinatarios-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.avi_nv_destinatario-item{flex:1;min-width:180px;display:flex;justify-content:space-between;align-items:center;border:1px solid #d0d7de;background-color:#e9d499;border-radius:8px;padding:.6rem 1rem;font-weight:500;transition:all .2s ease}.avi_nv_destinatario-item:hover{background-color:#e9d499;border-color:#a38f58}.avi_nv_destinatario-item input[type=checkbox]{transform:scale(1.2);accent-color:#f3f6f6}.avi_nv_publicar_container{margin-top:2rem;display:flex;justify-content:center}.avi_nv_btn{background-color:#e9d499;color:#fff;font-weight:600;padding:.9rem 1.8rem;border-radius:8px;border:none;cursor:pointer;font-size:1rem;transition:all .25s ease;box-shadow:0 2px 6px #0000001a}.avi_nv_btn:hover{background-color:#274ccf;transform:scale(1.03)}.avi_nv_mensaje-publicacion{margin-top:1rem;text-align:center;font-weight:600;font-size:.95rem;color:#2d7a2d;background:#e8f8e8;border:1px solid #b6e2b6;border-radius:6px;padding:.5rem .8rem}.avi_nv_mensaje-publicacion:has(+.error){color:#b3261e;background:#fdeaea;border-color:#f1b2b2}.avi_nv_toast{position:fixed;top:1rem;right:1rem;padding:.8rem 1.2rem;border-radius:8px;color:#fff;font-weight:600;z-index:1000;box-shadow:0 4px 10px #0a090926;animation:fadeInOut 2.5s ease forwards}.avi_nv_toast.exito{background-color:#3c7b3f;color:#eaffea}.avi_nv_toast.error{background-color:#ca4444;color:#fff3f3}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%,90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.avi_nv_input-error{border:2px solid #e53935!important;background-color:#fff6f6;border-radius:6px;transition:.2s ease}.avi_nv_input-error:focus{outline:none;border-color:#d32f2f!important;background-color:#fff9f9}.encargado-estudiantes-principal-panel-dashboard{display:flex;flex-direction:column;min-height:100vh;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background-color:#f0f0f0}.encargado-estudiantes-principal-panel-main{flex:1;padding:24px;background:#f9fafc}.encargado-estudiantes-principal-panel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.encargado-estudiantes-principal-panel-card{display:flex;align-items:center;justify-content:flex-start;background:#fff;padding:16px 18px;border-radius:12px;box-shadow:0 2px 6px #0000000d;gap:16px;min-height:130px;border:1px solid #e6edf5}.encargado-estudiantes-principal-panel-foto{width:76px;height:76px;border-radius:12px;background-color:#f5a425;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0;font-size:2rem}.encargado-estudiantes-principal-panel-info{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;text-align:center;min-width:0}.encargado-estudiantes-principal-panel-nombre{font-weight:700;font-size:18px;color:#344766;margin:0 0 10px;line-height:1.3;word-break:break-word}.encargado-estudiantes-principal-panel-grado{font-size:16px;color:#4f6480;margin:0;font-weight:500}@media(max-width:768px){.encargado-estudiantes-principal-panel-main{padding:16px}.encargado-estudiantes-principal-panel-grid{grid-template-columns:1fr}.encargado-estudiantes-principal-panel-card{min-height:auto}.encargado-estudiantes-principal-panel-nombre{font-size:16px}.encargado-estudiantes-principal-panel-grado{font-size:15px}}.login{display:flex;justify-content:center;align-items:center;padding:60px 0;background:#f9fafc;min-height:calc(100vh - 160px)}.login .login-title{margin:0 0 16px;font-size:26px;line-height:1.2;text-align:center;font-weight:700;color:#1f2937}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:#222}.form-group input{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:15px}.form-group input:focus{outline:none;border-color:#647bd2;box-shadow:0 0 0 2px #647bd233}.btn-accent{background:#f5a425;color:#fff;border:none;padding:12px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:filter .2s ease-in-out;height:48px;width:240px;display:block;margin:0 auto;text-align:center}.btn-accent:hover{filter:brightness(1.1)}.login-recovery{margin-top:16px;text-align:center}.login-recovery a{color:#647bd2;text-decoration:none}.login-recovery a:hover{text-decoration:underline}.checkbox-label{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;color:#222;cursor:pointer}.checkbox-label input[type=checkbox]{margin:0;cursor:pointer}.login-error{margin-top:16px;padding:12px 16px;color:#b91c1c;font-size:15px;font-weight:500;text-align:center}.docente-perfil{padding:2rem 1.5rem;max-width:1100px;margin:0 auto}.docente-header h2{margin:0 0 .25rem}.docente-header p{margin:0;color:#444}.section{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:start;margin-top:2.5rem}.section-title{font-size:1.8rem;font-weight:700;color:#1f2937;line-height:1.2}.section-content{width:100%}@media(max-width:900px){.section{grid-template-columns:1fr}.section-title{margin-bottom:.5rem}}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.info-card{border:1px solid #e5e7eb;border-radius:8px;padding:1rem;background:#fff;text-align:left}.info-card strong{display:block;margin-bottom:.3rem;color:#111827}.info-card p{margin:0;color:#374151}.info-card.reuniones{display:flex;align-items:center;gap:.9rem}.info-card.reuniones .reunion-icon{width:64px;height:64px;object-fit:contain}.info-card.reuniones .reunion-texto strong{font-size:1rem;margin-bottom:.2rem}.info-card.reuniones .reunion-texto p{font-size:.95rem;color:#4b5563}.clickable{cursor:pointer;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;background:#fff;text-align:left}.clickable:hover{box-shadow:0 6px 20px #0000000f;transform:translateY(-1px);border-color:#d1d5db}.info-cards{display:grid;grid-template-columns:1fr;gap:1rem}.materias-grid{display:grid;grid-template-columns:1fr;gap:1.2rem}.materia-card .btn.btn-accent{width:fit-content}.materia-card strong{display:block;margin-bottom:.4rem;color:#111827}.materia-card p{margin:0;color:#374151}.btn.btn-accent{margin-top:.7rem;padding:.5rem .9rem;border:none;background:#f5a425;color:#fff;border-radius:6px;cursor:pointer;transition:filter .15s ease}.btn.btn-accent:hover{filter:brightness(1.07)}.one-per-row{display:grid;grid-template-columns:1fr!important;gap:1rem}.card-reuniones{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease;width:100px;height:100px}.card-reuniones.no-frame .reunion-img{width:62px;height:62px;object-fit:contain;display:block}.info-cards .card-reuniones{width:100%}.card-reuniones{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease;min-height:112px}.card-reuniones:hover{border-color:#d1d5db;box-shadow:0 6px 18px #0000000f;transform:translateY(-1px)}.info-cards .card-reuniones.no-frame .reunion-img{width:96px!important;height:96px!important;flex:0 0 96px!important;object-fit:contain;display:block}.reunion-copy{display:flex;flex-direction:column;gap:2px}.reunion-title{font-weight:700;color:#111827;line-height:1.2}.reunion-sub{color:#6b7280;font-size:.95rem;line-height:1.25}.docente-perfil .card-reuniones img{max-width:none!important;max-height:none!important}.estudiante-detalle{padding:2rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#222}.foto-estudiante{width:100px;height:100px;border-radius:50%;object-fit:cover;margin-right:1.5rem}.perfil-estudiante .btn-volver{align-self:flex-start;margin-left:1rem;margin-top:.2rem;position:relative;z-index:2}.grid-academica{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:0 auto 2rem;max-width:900px}.card-academica{background:#fff;border-radius:10px;text-align:center;padding:1rem;border:1px solid #eee;transition:transform .2s;width:220px;max-width:100%}.opcion{padding:1rem;border-radius:8px;border:1px solid #ddd;background:#fafafa;font-weight:500;cursor:pointer;transition:background .3s;margin-left:20%;margin-right:20%}.EstPopUP-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000}.EstPopUP-card{background:#fafafa;border-radius:12px;padding:1.5rem;width:90%;max-width:600px;max-height:80%;overflow-y:auto;box-shadow:0 5px 15px #0003}.EstPopUP-lista{list-style:none;padding:0}.EstPopUP-item{border-bottom:1px solid #ddd;padding:.8rem 0}.EstPopUP-avatar{margin-right:.5rem;color:#f5a425}.EstPopUP-cerrar{margin-top:1rem;background:#f5a425;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer}.EstPopUP-cerrar:hover{background:#f5a425}.dashboard{display:flex;flex-direction:column;min-height:100vh;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background-color:#f0f0f0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;background:#1f2a47;color:#fff;padding:12px 24px}.logo-user{display:flex;align-items:center;gap:12px}.logo-ctp{height:60px}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:48px;height:48px;border-radius:50%;background-color:#f5a425;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.user-name{font-weight:600;margin:0}.user-role{font-size:.9rem;margin:0;color:#ccc}.header-actions{display:flex;align-items:center;gap:16px}.btn-accent{background:#f5a425;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;color:#fff}.notifications{background:red;width:20px;height:20px;border-radius:50%;text-align:center;line-height:20px}.docente-perfil{padding:2rem;max-width:1100px;margin:0 auto}.docente-header h2{margin-bottom:.2rem}.docente-header p{margin:.2rem 0;line-height:1.5;color:#444}.docente-info{margin-top:2rem}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}.info-card{border:1px solid #ddd;border-radius:8px;padding:1rem;background:#fff}.info-card strong{display:block;margin-bottom:.3rem}.info-card.reuniones{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem;padding:1.2rem}.reunion-icon{width:80px;height:80px;object-fit:contain}.reunion-texto strong{font-size:1.1rem;display:block;margin-bottom:.3rem}.reunion-texto p{margin:0;font-size:.95rem;color:#444}.docente-materias{margin-top:3rem}.materias-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:1rem}.materia-card{border:1px solid #ddd;border-radius:8px;padding:1rem;background:#fff}.materia-card strong{display:block;margin-bottom:.5rem}.btn.btn-accent{margin-top:.8rem;padding:.5rem 1rem;border:none;background:#f5a425;color:#fff;border-radius:5px;cursor:pointer}.layout{display:flex;flex-direction:column;min-height:100vh}.site-main{flex:1;padding:2rem}.site-footer{background:#1f2a47;color:#fff;padding:1rem;text-align:center}.popup-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:999}.popup-content{background:#fff;padding:2rem;border-radius:10px;width:400px;text-align:center}.lista-grupos{list-style:none;padding:0;margin:1rem 0}.lista-grupos li{margin:.5rem 0}.btn-grupo{width:100%;padding:.8rem;border:none;background-color:#f0f0f0;border-radius:5px;cursor:pointer}.btn-grupo:hover{background-color:#ffe082}.btn-cerrar{margin-top:1rem;background-color:#f2a029;color:#fff;padding:.6rem 1rem;border:none;border-radius:5px;cursor:pointer}.container{max-width:900px;margin:0 auto;padding:1rem}.page-title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:1rem}.filtros-titulo,.intro-title{font-size:1.4rem;font-weight:600;margin-bottom:1rem;margin-top:2rem}.filtros{background:#eee;padding:1.5rem;border-radius:10px;box-shadow:0 2px 6px #0000001a;margin-bottom:2rem}.filtro-label{display:block;margin-bottom:1rem;font-weight:500}.filtro-label input{width:100%;padding:.6rem;margin-top:.3rem;border:1px solid #aaa;border-radius:8px}.filtro-grupo{margin-bottom:1rem}.filtro-grupo span{display:block;margin-bottom:.5rem;font-weight:600}.filtro-grupo button{margin-right:.5rem;margin-bottom:.5rem;padding:.5rem 1.2rem;border:1px solid #ccc;border-radius:8px;background:#eee;cursor:pointer;transition:all .2s ease}.filtro-grupo button:hover{background:#dbdbdb}.filtro-grupo button.activo{background:var(--accent, #111);color:#fff;border-color:var(--accent, #111)}.filtros-acciones{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.btn{padding:.6rem 1.4rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.btn-outline{background:transparent;border:1px solid #ccc;color:#000}.btn-outline:hover{background:#f2f2f2}.btn-accent{background:var(--accent, #111);color:#fff;border:none}.btn-accent:hover{opacity:.9}.estudiante-item{display:grid;grid-template-columns:2fr 1fr 1fr;align-items:center;padding:14px 18px;border-bottom:1px solid #e5e7eb;transition:background .2s ease}.estudiante-item:last-child{border-bottom:none}.estudiante-item:hover{background:#ddd}.estudiante-nombre{font-weight:600;color:#162338;overflow:hidden;text-overflow:ellipsis}.estudiante-identificacion{font-size:.9rem;color:#555;text-align:center}.estudiante-estado{font-size:.9rem;color:#333;text-align:right}.seccion{display:grid;grid-template-columns:220px 1fr;align-items:start;margin-bottom:3rem}.seccion-titulo{text-align:left}.seccion-titulo h2{font-size:1.3rem;font-weight:700;margin-top:0}.seccion-contenido{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 6px #0000001a;border-top:2px solid #eee;border-right:none;border-bottom:none;border-left:none}.barra-navegacion{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.btn-tab{background:#f4f4f4;border:1px solid #ccc;padding:.6rem 1.2rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-tab:hover{background:#e9e9e9}.btn-tab.activo{background:var(--accent, #111);color:#fff;border-color:var(--accent, #111)}.seccion-contenido{background:#fafafa;padding:1rem;border-radius:6px;box-shadow:0 1px 3px #00000014}.estudiantes-lista{padding:0;margin-top:10px}.estudiantes-lista li{list-style:none}.estudiantes-lista.scroll-activo{max-height:260px;overflow-y:auto;border:1px solid #ddd;border-radius:6px}* srcstyles\ncargadoLegalEstudiante.css*/ .estudiante-detalle{padding:2rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#222}.perfil-estudiante{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;margin-bottom:2rem}.estudiante-foto{width:72px;height:72px;border-radius:8px;background-color:#f5a425;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:1rem;margin-right:80px}.info-estudiante{flex:1}.info-estudiante h2{margin:0;font-size:1.4rem;font-weight:700}.info-estudiante p{margin:.3rem 0;font-size:.95rem}.estado{color:#0a7d0a;font-weight:700;border-radius:6px;display:inline-block;margin:.5rem 0}.btn-volver{background:#162338;color:#fff;border:none;border-radius:6px;padding:.6rem 1.2rem;cursor:pointer;transition:background .3s}.btn-volver:hover{background:#0f0f1a}.titulo-seccion{font-size:1.3rem;margin:1rem 0;text-align:center}.grid-academica{display:grid;grid-template-columns:repeat(3,200px);gap:1.5rem;justify-content:center;margin:0 auto 2rem;max-width:800px}.card-academica{background:#fff;border-radius:10px;text-align:center;padding:1rem;border:1px solid #eee;transition:transform .2s;width:200px}.card-academica:hover{transform:translateY(-3px);box-shadow:0 3px 8px #00000026}.card-academica p{font-weight:700;margin-bottom:.5rem}.card-academica span{font-size:.95rem;color:#444}.opciones-extra{display:flex;flex-direction:column;gap:1rem}.opcion{display:block;padding:1rem;border-radius:8px;border:1px solid #ddd;background:#fafafa;color:inherit;text-decoration:none;font-weight:500;cursor:pointer;transition:background .3s;margin-left:20%;margin-right:20%}.opcion:hover{background:#f0f0f0}.opcion.alerta{border:1px solid #ddd;font-weight:500;background:#fafafa}.opcion.alerta:hover{background:#f0f0f0}.asignar-docente{background:#f8f9fa;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.asignar-docente .container{max-width:1200px;margin:1.5rem auto 2rem;padding:0 1rem}.asignar-docente .page-title{font-size:1.8rem;margin:0;text-align:left}.seccion{margin-top:2rem;background:#fafafa;border:1px solid #eee;border-radius:10px;padding:1rem 1.5rem}.docentes-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.input-busqueda{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:8px}.lista-docentes{width:100%;list-style:none;padding:0;margin:0;border:1px solid #eee;border-radius:10px;background:#fff;overflow:hidden}.docente-item{cursor:pointer;padding:.7rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between}.docente-item:hover{background:#f1f1f1}.docente-item.seleccionado{background:#e68900;color:#fff}.filtro-grupo{display:flex;flex-wrap:wrap;gap:.5rem}.btn-filtro{padding:.5rem 1rem;border:1px solid #ccc;border-radius:6px;background:#f8f9fa;cursor:pointer;transition:all .2s ease}.btn-filtro.activo{background:#ff9800;color:#fff;border-color:#ff9800}.acciones{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.btn-confirmar{background:#ff9800;color:#fff;border:none;padding:.7rem 1.5rem;border-radius:8px;cursor:pointer;text-align:center;flex:1}.btn-confirmar:hover{background:#e68900}.btn-limpiar{background:#d6d6d6;color:#333;border:none;padding:.7rem 1.5rem;border-radius:8px;cursor:pointer;text-align:center;flex:1}.btn-limpiar:hover{background:#c2c2c2}hr{border:none;border-top:1px solid #ddd;margin:1.5rem 0}.seccion.asignaciones{border-radius:10px}.tabla-wrapper{border:1px solid #eee;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 2px 6px #0000000d;margin-top:1rem}.tabla-asignaciones th,.tabla-asignaciones td{border:1px solid #ddd;padding:.7rem;text-align:left}.tabla-asignaciones th{background:#f4f4f4}.btn-modificar{background:#ff9800;color:#fff;border:none;padding:.4rem 1rem;border-radius:4px;cursor:pointer}.btn-modificar:hover{background:#e68900}.popup{position:fixed;top:20px;right:20px;padding:1rem 1.5rem;border-radius:8px;font-weight:700;z-index:9999;animation:fadeInOut 3s ease forwards}.popup.success{background:#4caf50;color:#fff}.popup.error{background:#f44336;color:#fff}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-20px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.popup-box{background:#fff;padding:1.5rem 2rem;border-radius:10px;text-align:center;width:380px;box-shadow:0 4px 12px #0003}.popup-actions{margin-top:1rem;display:flex;gap:1rem}.mensaje-inline{margin:1.2rem 0 0;padding:.9rem 1.2rem;border-radius:10px;font-weight:500;width:100%;max-width:100%;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;animation:fadeIn .3s ease}.cerrar-mensaje{background:transparent;border:none;font-size:14px;cursor:pointer;color:inherit;padding:0;line-height:1}.mensaje-inline.success{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.mensaje-inline.error{background:#fdecea;color:#c62828;border:1px solid #f44336}.mensaje-inline.info{background:#e3f2fd;color:#1565c0;border:1px solid #2196f3}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tabla-wrapper{width:100%}.tabla-wrapper.scroll-activo{max-height:180px;overflow-y:auto;border:1px solid #ccc}.tabla-asignaciones thead th{position:sticky;top:0;background:#fff;z-index:1}.lista-docentes{padding:0;margin-top:10px}.lista-docentes li{list-style:none}.lista-docentes.scroll-activo{max-height:160px;overflow-y:auto;border:1px solid #ddd;border-radius:6px}@media(max-width:768px){.cooprin-tabs{padding:1rem;grid-template-columns:1fr}.asignar-docente .container{margin:1rem auto 1.5rem;padding:0 .75rem}.page-header-card{min-height:92px;padding:1rem 1.25rem;margin-bottom:1.25rem}}.reglamento-container{max-width:1200px;margin:2rem auto;padding:2rem;background-color:#fff;border-radius:16px;box-shadow:0 6px 20px #0000001a;animation:fadeIn .6s ease;display:flex;flex-direction:column;align-items:center;position:relative}.reglamento-container h2{font-size:2.4rem;font-weight:600;color:#1b1b1b;margin-bottom:1.5rem;text-align:center}.reglamento-back-btn{position:absolute;left:18px;top:18px;background:transparent;border:2px solid rgba(0,0,0,.08);color:#000;padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600;z-index:40}.reglamento-back-btn:hover{background:#12233a0a}.reglamento-frame{width:80%;height:90vh;border:none;border-radius:10px;box-shadow:0 0 15px #0003;margin-bottom:1.5rem}.btn-dark{background-color:#222;color:#fff;border:none;letter-spacing:.3px}.btn-dark:hover{background-color:#333;transform:translateY(-3px);box-shadow:0 4px 8px #00000040}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.reglamento-container{padding:1.5rem;margin:1.5rem}.reglamento-back-btn{left:12px;top:12px;padding:6px 10px}.reglamento-container h2{font-size:1.8rem}.reglamento-frame{width:100%;height:75vh}.btn{width:80%;font-size:1rem}}.notice-board-container{width:100%;background:#f7f9fb;padding:24px 16px;box-sizing:border-box;min-height:calc(100vh - 120px);display:flex;flex-direction:column}.notice-board-wrapper{max-width:1200px;margin:0 auto}.notice-board-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.notice-board-title{margin:0;font-size:1.8rem;font-weight:800;color:#12233a}.notice-board-subtitle{margin:0;color:#5b6775;font-size:.95rem}.notice-board-create-btn{background:#f2a029;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:700}.notice-board-back-btn{background:transparent;border:2px solid rgba(0,0,0,.08);color:#000;padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600;margin-right:8px}.notice-board-back-btn:hover{background:#12233a08}.notice-board-controls{display:flex;gap:12px;align-items:center;margin-bottom:18px}.notice-board-search{flex:1 1 420px;padding:10px 12px;border-radius:8px;border:1px solid #d7dbe0;background:#fff;font-size:.95rem}.notice-board-filter{min-width:160px;padding:10px 12px;border-radius:8px;border:1px solid #d7dbe0;background:#fff;font-size:1rem;font-weight:600;color:#12233a;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'><path fill='%23333' d='M7 8L0 0h14z'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.notice-board-filter option{font-size:1rem;padding:6px 8px}.notice-board-filter:focus{outline:none;box-shadow:0 0 0 3px #f2a0291f;border-color:#f2a029}.notice-board-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center}.notice-board-tab{padding:8px 12px;border:none;background:transparent;color:#5b6775;cursor:pointer;border-bottom:2px solid transparent}.notice-board-tab.tab-active{color:#12233a;font-weight:700;border-bottom:2px solid #f2a029}.notice-board-list{display:grid;grid-template-columns:1fr;gap:16px}.notice-board-item{background:#fff;padding:16px;border-radius:10px;border:1px solid #e8ebef;box-shadow:0 1px 4px #12233a0a}.notice-board-item-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.notice-board-item-title{margin:0;font-size:1.05rem;font-weight:700;color:#12233a}.notice-board-priority{padding:4px 10px;border-radius:999px;font-weight:700;font-size:.85rem}.notice-board-priority.priority-high{background:#ffe6e6;color:#c62828}.notice-board-priority.priority-medium{background:#fff6e6;color:#f57c00}.notice-board-priority.priority-low{background:#eef9ef;color:#2e7d32}.notice-board-item-content p{margin:0 0 8px;color:#374151;line-height:1.5}.notice-board-item-details{border-top:1px solid #f0f2f4;padding-top:10px;margin-top:10px;color:#6b7280;font-size:.9rem}.notice-board-item-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.notice-board-item-date{font-weight:600;margin-left:8px;color:#374151}@media(min-width:720px){.notice-board-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.notice-board-list{grid-template-columns:repeat(3,1fr)}.notice-board-wrapper{max-width:1400px}}.notice-board-empty{text-align:center;color:#6b7280;padding:30px 0}.agendar-reunion{min-height:100vh;background:#f9fafb;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#222;padding:2rem 1rem}.encabezado-horarios{display:flex;align-items:center;justify-content:space-between;max-width:1000px;margin:0 auto 2rem;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;position:relative}.encabezado-contenido{display:flex;align-items:center;gap:1.5rem;flex:1}.docente-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.8rem;flex-shrink:0}.docente-info h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 .3rem}.docente-info p{font-size:.95rem;color:#6b7280;margin:0}.btn-volver-agendar{padding:.7rem 1.5rem;background:#f59e0b;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.95rem;transition:all .3s ease;white-space:nowrap}.btn-volver-agendar:hover{background:#d97706;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.agendar-reunion>p{max-width:1000px;margin:0 auto 2.5rem;text-align:center;color:#555;font-size:.95rem;line-height:1.6}.horarios-seccion{max-width:1000px;margin:0 auto;display:flex;justify-content:center;align-items:flex-start;padding:1rem}.horarios-titulo{display:flex;align-items:center;gap:.8rem;font-size:1.1rem;font-weight:600;color:#111827;margin-bottom:1.5rem}.horarios-titulo-main{margin:0;font-size:1.4rem}.encabezado-horarios{display:flex;justify-content:center}.horarios-titulo svg{color:#3b82f6;font-size:1.3rem}.horarios-lista{display:flex;flex-direction:column;gap:2rem}.pagination-controls{max-width:1000px;margin:1.25rem auto 0;display:flex;justify-content:flex-end;align-items:center;gap:.75rem}.pagination-button{background:#fff;border:1.5px solid #d1d5db;color:#374151;padding:.7rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.pagination-button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px)}.pagination-button:disabled{opacity:.55;cursor:not-allowed}.pagination-info{color:#6b7280;font-size:.95rem;font-weight:600}.fecha-bloque{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;transition:all .3s ease}.fecha-bloque:hover{box-shadow:0 4px 16px #0000001f}.fecha-titulo{font-weight:700;font-size:1.1rem;margin-bottom:1.2rem;color:#111827;display:flex;align-items:center;gap:.6rem}.fecha-titulo svg{color:#3b82f6;font-size:1.2rem}.horas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.hora-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:1.2rem 1rem;font-size:.95rem;transition:all .25s ease;cursor:pointer;gap:.5rem}.hora-card svg{font-size:1.3rem;color:#6b7280}.hora-card span{font-weight:600;color:#111827}.hora-card:hover:not(.no-disponible){border-color:#3b82f6;background:#f0f8ff;box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.hora-card.seleccionada{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f61a}.hora-card.no-disponible{background:#f9fafb;border-color:#f1f1f1;color:#d1d5db;cursor:not-allowed}.hora-card.no-disponible svg{color:#d1d5db}.hora-card.no-disponible .badge-no-disponible{background:#ef4444;color:#fff;font-size:.7rem;padding:.3rem .6rem;border-radius:6px;font-weight:600;text-transform:uppercase}.formulario-reunion{margin-top:2rem;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;background:#fff;display:flex;flex-direction:column;gap:1rem}.formulario-reunion label{font-weight:600;font-size:.95rem}.formulario-reunion textarea,.formulario-reunion input{width:100%;padding:.75rem;border:1.6px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.formulario-reunion textarea:focus,.formulario-reunion input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 4px #3b82f640}.btn-agendar{margin-top:1rem;align-self:center;background:#002662;color:#fff;border:none;border-radius:8px;font-weight:600;padding:.8rem 2rem;cursor:pointer;font-size:1rem;transition:all .2s ease}.btn-agendar:hover{background:#0d3894;transform:translateY(-2px);box-shadow:0 4px 12px #082e814d}.btn-agendar:active{transform:translateY(0)}.loading,.error{max-width:1000px;margin:3rem auto;text-align:center;font-size:1.1rem}.error{color:#dc2626}.loading{color:#6b7280}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;animation:fadeInOverlay .3s ease}.modal-contenido{background:#fff;border-radius:14px;width:95%;max-width:500px;padding:2rem;box-shadow:0 10px 40px #0003;position:relative;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal-header-content{display:flex;align-items:center;gap:.8rem}.icono-modal{color:#3b82f6;font-size:1.6rem}.modal-header h3{font-size:1.3rem;font-weight:700;color:#111827;margin:0}.cerrar-modal{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#9ca3af;transition:color .2s ease;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.cerrar-modal:hover{color:#111827}.modal-horario{text-align:center;margin-bottom:1.5rem;background:linear-gradient(135deg,#f0f8ff,#e7f2ff);border:2px solid #bfdbfe;border-radius:10px;padding:1rem}.fecha-seleccionada{font-weight:600;color:#1e40af;margin:0 0 .5rem;font-size:.95rem}.hora-seleccionada{font-weight:700;color:#3b82f6;font-size:1.2rem;margin:0}.modal-formulario{display:flex;flex-direction:column;gap:1rem}.modal-formulario label{font-weight:600;font-size:.95rem;color:#111827}.modal-formulario input,.modal-formulario textarea{width:100%;padding:.75rem;border:1.6px solid #d1d5db;border-radius:8px;background-color:#f5f3f3;font-size:.95rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.modal-formulario input:focus,.modal-formulario textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 4px #3b82f640}.modal-formulario textarea{resize:vertical;min-height:80px;background-color:#f5f3f3}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.btn-cancelar{background:#fff;border:1.8px solid #d1d5db;color:#374151;padding:.7rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .25s ease;font-size:.95rem}.btn-cancelar:hover{background:#f3f4f6;border-color:#9ca3af}.RE-btn-confirmar{background:#3b82f6;color:#fff;border:none;padding:.7rem 1.8rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .25s ease;font-size:.95rem}.RE-btn-confirmar:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.RE-btn-confirmar:active{transform:translateY(0)}.notification{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:6px;box-shadow:0 6px 18px #0000001f;font-weight:600;min-width:280px;max-width:calc(100% - 40px)}.notification.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.notification-close{background:transparent;border:none;font-size:14px;cursor:pointer;color:inherit;padding:4px}.btn-volver{position:absolute;left:1.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;background:#fff;color:#000;border:2px solid black;padding:.6rem 1.2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.btn-volver:hover{background:#f3f4f6;transform:translateY(-50%) translate(-2px)}.icono-flecha{font-size:1rem}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.encabezado-horarios{flex-direction:column;text-align:center}.encabezado-contenido{flex-direction:column;width:100%}.btn-volver-agendar{width:100%}.horas-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}.modal-contenido{padding:1.5rem}.modal-footer{flex-direction:column}.btn-cancelar,.RE-btn-confirmar{width:100%}}@media(max-width:480px){.agendar-reunion,.encabezado-horarios{padding:1rem}.docente-avatar{width:60px;height:60px;font-size:1.4rem}.docente-info h2{font-size:1.2rem}.horas-grid{grid-template-columns:1fr}.hora-card{padding:1rem}}@media(max-width:768px){.btn-volver{position:static;transform:none;margin-bottom:1rem;width:100%;justify-content:center}}:root{--navy: #1f2a47;--navy-light: #2a3a60;--accent: #f5a425;--accent-glow: rgba(245, 164, 37, .18);--bg: #f0f2f8;--border: #e4e8f0;--text-main: #1a2035;--text-muted: #6b7280;--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--error: #ef4444;--error-bg: rgba(239, 68, 68, .08)}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.horarios-page{padding:36px 28px;max-width:1100px;margin:0 auto;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-main)}.horarios-header{background:var(--navy);color:#fff;border-radius:14px;padding:24px 28px;margin-bottom:24px;animation:fadeUp .4s ease;position:relative;overflow:hidden}.horarios-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),transparent)}.horarios-header h2{margin:0 0 5px;font-size:1.4rem}.horarios-header p{margin:0;color:#9daac5;font-size:.88rem}.section{background:#fff;border:1px solid var(--border);border-radius:14px;margin-bottom:20px;overflow:hidden;animation:fadeUp .4s ease both}.section:nth-child(2){animation-delay:.06s}.section:nth-child(3){animation-delay:.12s}.section:nth-child(4){animation-delay:.18s}.section-title{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:13px 20px;border-bottom:1px solid var(--border);background:#fafbfd;display:flex;align-items:center;justify-content:space-between}.section-content{padding:20px}.upload-zone{border:2px dashed var(--border);border-radius:12px;padding:36px 24px;text-align:center;cursor:pointer;position:relative;transition:border-color .2s,background .2s;-webkit-user-select:none;user-select:none}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:#f5a42508}.upload-zone.has-file{border-color:var(--success);background:var(--success-bg)}.upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-icon{font-size:2.2rem;margin-bottom:10px}.upload-zone p{margin:0 0 4px;font-weight:600;font-size:.95rem}.upload-zone small{color:var(--text-muted);font-size:.82rem}.file-chip{display:inline-flex;align-items:center;gap:6px;margin-top:12px;background:var(--success-bg);color:var(--success);font-size:.83rem;font-weight:600;padding:4px 14px;border-radius:20px}.acciones{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.btn-cargar{background:var(--navy);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s,transform .2s}.btn-cargar:hover:not(:disabled){background:var(--navy-light);transform:translateY(-1px)}.btn-cargar:disabled{opacity:.45;cursor:not-allowed}.btn-confirmar{background:var(--accent);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 3px 12px var(--accent-glow);transition:background .2s,transform .2s}.btn-confirmar:hover:not(:disabled){background:#e8951a;transform:translateY(-1px)}.btn-confirmar:disabled{opacity:.45;cursor:not-allowed}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.resumen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}.resumen-card{border:1px solid var(--border);border-radius:10px;padding:16px 12px;text-align:center}.resumen-card .num{font-size:1.9rem;font-weight:700;color:var(--navy);line-height:1}.resumen-card .lbl{font-size:.75rem;color:var(--text-muted);margin-top:5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.tabs{display:flex;gap:8px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--border);background:#fafbfd}.tab{padding:6px 14px;border-radius:6px;border:1px solid var(--border);font-size:.82rem;font-weight:600;cursor:pointer;background:#fff;color:var(--text-muted);transition:all .15s ease;gap:8px;align-items:center;display:inline-flex}.tab:hover{border-color:var(--accent);color:var(--accent)}.tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.tabla-wrapper{overflow-x:auto;padding:20px}.tabla-horario{border-collapse:collapse;font-size:.8rem;min-width:700px;width:100%}.tabla-horario th{background:var(--navy);color:#fff;padding:8px 10px;text-align:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.tabla-horario th.dia-header{background:var(--navy-light);font-size:.8rem}.tabla-horario td{border:1px solid var(--border);padding:6px 8px;vertical-align:top;min-width:90px;max-width:140px}.tabla-horario td.seccion-cell{background:#fafbfd;font-weight:700;font-size:.85rem;color:var(--navy);text-align:center;white-space:nowrap}.tabla-horario td.vacia{background:#f9fafc}.celda-contenido{font-size:.75rem;line-height:1.4;color:var(--text-main)}.celda-texto{font-size:.78rem;font-weight:500;color:var(--text-main);line-height:1.4;display:block}.meta-fila{display:flex;gap:20px;padding:10px 20px;background:#f9fafc;border-bottom:1px solid var(--border);font-size:.85rem}.meta-item{color:var(--text-muted)}.meta-item strong{color:var(--text-main)}.toast-ok{display:flex;align-items:center;gap:10px;background:var(--success-bg);border:1px solid rgba(16,185,129,.3);border-radius:10px;padding:14px 18px;color:var(--success);font-weight:600;font-size:.92rem;animation:fadeUp .3s ease;margin-bottom:20px}.estado-vacio{text-align:center;padding:28px;color:var(--text-muted);font-size:.9rem}.badge-hoja{font-size:.72rem;background:var(--border);color:var(--text-muted);padding:2px 8px;border-radius:20px;font-weight:600}.acciones-docente{margin:1rem 0;padding:1rem;background-color:#f0f7ff;border-radius:8px;display:flex;justify-content:flex-end}.btn-cargar-horario{background-color:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s}.btn-cargar-horario:hover:not(:disabled){background-color:#1e40af;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb33}.btn-cargar-horario:disabled{opacity:.5;cursor:not-allowed}.selector-docente{margin:1rem 0;padding:1.5rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.selector-docente h3{margin:0 0 .5rem;color:#1f2937;font-size:1.1rem}.selector-info{margin-bottom:1rem;color:#4b5563;font-size:.95rem}.selector-info strong{color:#2563eb}.selector-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.selector-select{flex:1;min-width:300px;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background-color:#fff}.selector-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.selector-acciones{display:flex;gap:.5rem}.btn-confirmar-selector{padding:.75rem 1.5rem;background-color:#10b981;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s}.btn-confirmar-selector:hover:not(:disabled){background-color:#059669}.btn-confirmar-selector:disabled{opacity:.5;cursor:not-allowed}.btn-cancelar-selector{padding:.75rem 1.5rem;background-color:#ef4444;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s}.btn-cancelar-selector:hover{background-color:#dc2626}@media(max-width:768px){.selector-controls{flex-direction:column;align-items:stretch}.selector-select{min-width:auto}.selector-acciones{flex-direction:column}}@media(max-width:600px){.horarios-page{padding:20px 14px}.acciones{flex-direction:column}.btn-cargar,.btn-confirmar{width:100%;justify-content:center}}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.ER-container{padding:2rem 4rem;font-family:Inter,sans-serif;background:#f9fafb;min-height:100vh}.ER-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.ER-header p{color:#5f6368;margin-bottom:1rem}.ER-btn-volver{display:flex;align-items:center;gap:.4rem;border:none;background:none;color:#5f6368;cursor:pointer;font-size:1rem;padding:.4rem .8rem;transition:background .2s ease,color .2s ease;margin-right:1rem}.ER-btn-volver:hover{color:#202124;background:#f1f3f4;border-radius:8px}.ER-titulos{flex-grow:1}.ER-titulos h1{font-size:1.8rem;margin:0}.ER-titulos p{color:#5f6368;margin-top:.3rem}.ER-bar{display:flex;justify-content:space-between;margin-bottom:1.5rem}.ER-search{position:relative}.ER-search .icon{position:absolute;left:10px;top:9px;color:#5f6368}.ER-search input{padding:.5rem 1rem .5rem 2rem;border-radius:8px;border:1px solid #dadce0;width:300px}.ER-filtro{border:1px solid #dadce0;border-radius:8px;padding:.4rem 1rem}.ER-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.ER-tabs button{background:#f1f3f4;border:none;border-radius:8px;padding:.6rem 1.4rem;cursor:pointer;color:#5f6368;font-weight:500}.ER-tabs button.active{background:#e8f0fe;color:#1967d2}.ER-card{background:#fff;padding:1.5rem;border-radius:12px;margin-bottom:1rem;box-shadow:0 2px 5px #0000000d;display:flex;justify-content:space-between;align-items:center}.ER-info h3{margin:0;font-weight:600}.ER-info p{margin:.3rem 0;color:#444}.ER-materia,.ER-fecha{color:#5f6368}.ER-pref strong{color:#b38700}.ER-acciones{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.btn-aceptar{background:#f4b400;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-weight:600}.btn-rechazar{background:none;border:1.5px solid #ea4335;color:#ea4335;border-radius:8px;padding:.5rem 1rem;font-weight:600}.ER-modal{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:999}.ER-modal-content{background:#fff;border-radius:10px;padding:1.8rem;width:400px}.ER-modal-content h2{display:flex;align-items:center;gap:.5rem}.icon-red{color:#ea4335}.icon-amarillo{color:#f4b400}.ER-modal-content textarea,.ER-modal-content select,.ER-modal-content input{width:100%;margin:.5rem 0 1rem;border-radius:6px;border:1px solid #dadce0;padding:.5rem .8rem}.ER-modal-buttons{display:flex;justify-content:flex-end;gap:.6rem}.btn-rojo{background:#ea4335;color:#fff;border:none;border-radius:8px;padding:.6rem 1rem;font-weight:600}.btn-amarillo{background:#f4b400;color:#fff;border:none;border-radius:8px;padding:.6rem 1rem;font-weight:600}.btn-agregar{border:none;background:none;color:#1967d2;cursor:pointer}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;display:inline-block;white-space:nowrap;direction:ltr;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.ER-motivo-gris{background-color:#f0f0f0;padding:10px;border-radius:5px;margin-bottom:10px;font-size:14px;color:#333}.ER-fecha-hora{display:flex;gap:15px;margin-bottom:15px;font-size:14px;color:#666}.ER-fecha,.ER-hora,.ER-duracion{display:flex;align-items:center;gap:5px}.ER-fecha span,.ER-hora span,.ER-duracion span{font-size:16px;color:#333}.ER-fecha span.material-symbols-outlined,.ER-hora span.material-symbols-outlined,.ER-duracion span.material-symbols-outlined{font-size:18px;color:#999}.ER-duracion{display:flex;align-items:center;gap:5px;font-size:14px;color:#333}.ER-duracion span{font-size:16px;color:#666}.ER-duracion span.material-symbols-outlined{font-size:18px;color:#999}.ER-estado{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:700;text-transform:capitalize}.estado-completada{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.estado-por-confirmar{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba}.estado-rechazada{background-color:#f30014;color:#fff9f9;border:1px solid #f5c6cb}.estado-aceptada{background-color:#28a745;color:#fff;border:1px solid #28a745}.estado-no-asistio{background-color:#fd7e14;color:#fff;border:1px solid #f8d7da}.estado-cancelada{background-color:#880a45;color:#f8f8f8;border:1px solid #f5c6cb}.ER-card{position:relative;padding:20px;border:1px solid #eee;border-radius:8px;margin-bottom:15px;background-color:#fff;box-shadow:0 1px 3px #0000000d}.ER-tipo-filtros{display:flex;justify-content:flex-start;align-items:center;background-color:#e0e0e0;border-radius:8px;margin-top:1rem;padding:4px;gap:4px}.ER-tipo-btn{flex-grow:1;padding:10px 15px;border:none;border-radius:6px;background-color:transparent;color:#555;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s;text-align:center;font-size:1rem}.ER-tipo-btn.active{background-color:#fff;color:#333;font-weight:600;box-shadow:0 1px 3px #0000001a}.ER-tipo-btn:not(.active)[data-tipo=todas]{background-color:#2247d934;color:#1c273d}.ER-tipo-btn:not(.active)[data-tipo=mis_solicitudes]{background-color:#f5a4251a;color:#f5a425}.ER-tipo-btn:not(.active)[data-tipo=solicitudes_docentes]{background-color:#572eb21a;color:#2c0a47}.ER-tipo-btn:not(.active)[data-tipo=todas]:hover{background-color:#1c273d33}.ER-tipo-btn:not(.active)[data-tipo=mis_solicitudes]:hover{background-color:#1f1f4c33}.ER-tipo-btn:not(.active)[data-tipo=solicitudes_docentes]:hover{background-color:#a19c8d33}.ER-motivo-rechazo{background-color:#fdecea;border:1px solid #f5c6cb;color:#721c24;padding:10px;border-radius:5px;margin-bottom:10px;font-size:14px}.ER-motivo-rechazo strong{color:#b71c1c}.ER-motivo-cancelacion{background-color:#880a45b9;border:1px solid #db6470;color:#fff;padding:10px;border-radius:5px;margin-bottom:10px;font-size:14px}.ER-motivo-cancelacion strong{color:#fff}.ER-paginacion{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem 0}.ER-pag-btn{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.ER-pag-btn:hover:not(:disabled){background:#f0f0f0;border-color:#bbb}.ER-pag-btn:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.ER-pag-info{font-size:14px;color:#666}.btn-cancelar{background:none;border:1.5px solid #5f6368;color:#5f6368;border-radius:8px;padding:.6rem 1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancelar:hover{background:#f1f3f4;border-color:#202124;color:#202124}.horario-page{max-width:1400px;margin:0 auto;padding:2rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background-color:#f8f9fa;min-height:100vh}.horario-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.header-left h1{margin:0 0 1rem;color:#2c3e50;font-size:1.8rem;font-weight:600}.estudiante-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.8rem;background:#f8f9fa;padding:1rem;border-radius:8px}.estudiante-info p{margin:0;color:#495057;font-size:1rem}.estudiante-info strong{color:#2c3e50;margin-right:.5rem}.btn-imprimir{background:#2c3e50;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s}.btn-imprimir:hover{background:#34495e;transform:translateY(-2px);box-shadow:0 4px 12px #2c3e5033}.horario-container{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.horario-titulo{color:#2c3e50;font-size:1.4rem;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:3px solid #e9ecef}.tabla-wrapper{overflow-x:auto}.horario-tabla{width:100%;border-collapse:collapse;font-size:.9rem;min-width:800px}.horario-tabla th{background:#2c3e50;color:#fff;padding:1rem .5rem;font-weight:500;text-align:center;border:1px solid #34495e}.horario-tabla td{border:1px solid #dee2e6;padding:.8rem .3rem;text-align:center;vertical-align:middle;height:50px}.hora-cell{background:#e9ecef;font-weight:600;color:#495057;white-space:nowrap;width:100px}.celda-vacia{background:#f8f9fa}.celda-contenido{display:flex;flex-direction:column;gap:.2rem}.materia{font-weight:500;color:#2c3e50;font-size:.9rem}.bloque-especial{background:#fff3cd}.especial-cell{text-align:center;font-weight:600;color:#856404;background:#fff3cd;padding:.8rem!important}.profesores-container{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.profesores-titulo{color:#2c3e50;font-size:1.4rem;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:3px solid #e9ecef}.profesores-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.profesor-item{display:flex;flex-direction:column;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #2c3e50;transition:transform .2s}.profesor-item:hover{transform:translate(5px);box-shadow:0 2px 8px #0000001a}.profesor-materia{font-weight:600;color:#2c3e50;margin-bottom:.3rem;font-size:.95rem}.profesor-nombre{color:#6c757d;font-size:.9rem}.horario-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.spinner{width:50px;height:50px;border:5px solid #e9ecef;border-top-color:#2c3e50;border-radius:50%;animation:spin 1s linear infinite}.horario-error{text-align:center;padding:3rem;background:#fff;border-radius:12px;max-width:500px;margin:2rem auto;box-shadow:0 2px 8px #0000001a}.horario-error h2{color:#dc3545;margin-bottom:1rem}.horario-error button{background:#2c3e50;color:#fff;border:none;padding:.8rem 2rem;border-radius:8px;margin-top:1.5rem;cursor:pointer;font-size:1rem}.horario-error button:hover{background:#34495e}@media(max-width:768px){.horario-page{padding:1rem}.horario-header{flex-direction:column;gap:1rem}.btn-imprimir{align-self:flex-start}.estudiante-info,.profesores-grid{grid-template-columns:1fr}}.print-only{display:none}@media print{.print-only{display:block}.horario-header,.btn-imprimir{display:none!important}.horario-page{padding:0;background:#fff;max-width:100%}.print-encabezado{margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid #2c3e50}.print-encabezado h2{margin:0 0 4px;font-size:14pt;color:#2c3e50}.print-encabezado p{margin:2px 0;font-size:9pt;color:#333}.horario-container{box-shadow:none;border:none;padding:0;margin:0}.horario-titulo{font-size:11pt;margin-bottom:6px}.tabla-wrapper{overflow:visible!important}.horario-tabla{width:100%!important;min-width:unset!important;font-size:7.5pt;table-layout:fixed;border-collapse:collapse}.horario-tabla th{background:#2c3e50!important;color:#fff!important;padding:4px 2px;font-size:8pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.horario-tabla td{padding:3px 2px;border:1px solid #aaa;height:auto}.hora-cell{background:#e9ecef!important;font-size:7pt;white-space:nowrap;width:70px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.bloque-especial td,.especial-cell{background:#fff3cd!important;color:#856404!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.materia{font-size:7.5pt}tr{page-break-inside:avoid}}.justificacion-page{background-color:#f3f4f6;min-height:100vh;padding:2rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.justificacion-container{max-width:800px;margin:0 auto;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.justificacion-header{background:linear-gradient(135deg,#1f2a47,#151f36);color:#fff;padding:2rem;text-align:center}.justificacion-header h1{margin:0 0 .5rem;font-size:1.8rem}.justificacion-header p{margin:0;opacity:.9;font-size:1rem}.justificacion-form{padding:2rem}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.form-group.half{width:48%}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.file-upload-button:hover{background-color:#eef2ff;border-color:#151f36}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-cancelar{padding:.75rem 1.5rem;background-color:#fff;color:#4b5563;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s}.btn-enviar{padding:.75rem 1.5rem;background-color:#1f2a47;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s;font-weight:500}.btn-enviar:hover{background-color:#151f36;transform:translateY(-2px);box-shadow:0 4px 12px #1f2a4733}.archivo-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.fecha-bloque{background:linear-gradient(to bottom,#fff,#fafafa);border:1px solid #eaeef2;border-radius:16px;padding:1.5rem;margin-bottom:1.25rem;box-shadow:0 2px 8px #00000005;transition:all .3s ease;position:relative;overflow:hidden}.fecha-bloque:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#1f2a47,#151f36);border-radius:4px 0 0 4px}.fecha-bloque:hover{border-color:#1f2a47;box-shadow:0 8px 20px #1f2a471a;transform:translateY(-2px)}.fecha-bloque-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px dashed #e2e8f0}.fecha-bloque-titulo{display:flex;align-items:center;gap:.75rem}.fecha-bloque-numero{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#1f2a47,#151f36);color:#fff;font-weight:600;font-size:.9rem;border-radius:8px;box-shadow:0 2px 6px #1f2a474d}.fecha-bloque-subtitulo{font-size:1rem;font-weight:500;color:#1e293b;margin:0}.fecha-bloque-eliminar{background:none;border:none;color:#94a3b8;cursor:pointer;padding:.25rem .5rem;border-radius:6px;font-size:1.1rem;transition:all .2s}.fecha-bloque-eliminar:hover{background-color:#fee2e2;color:#dc2626;transform:scale(1.1)}.fecha-bloque-cuerpo{display:flex;flex-direction:column;gap:.75rem}.fecha-bloque-cuerpo>.form-group{margin-bottom:.75rem;max-width:340px}.fecha-input-icon{position:absolute;left:1rem;color:#1f2a47;font-size:1.1rem;z-index:1;pointer-events:none}.fecha-input{padding-left:2.8rem!important;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;height:48px;font-size:.95rem;color:#1e293b;cursor:pointer;transition:all .2s}.fecha-input:focus{background-color:#fff;border-color:#1f2a47;box-shadow:0 0 0 4px #1f2a471a;outline:none}.horas-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,320px));justify-content:flex-start;align-items:start;gap:1rem;margin-top:0}.hora-group{margin-bottom:0;max-width:320px}.hora-input-wrapper{position:relative;display:flex;align-items:center}.hora-input{padding-left:2.8rem!important;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;height:48px;font-size:.95rem;color:#1e293b;cursor:pointer;transition:all .2s}.hora-input:hover{background-color:#fff;border-color:#1f2a47}.hora-input:focus{background-color:#fff;border-color:#1f2a47;box-shadow:0 0 0 4px #1f2a471a;outline:none}.btn-agregar-fecha{width:100%;padding:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #1f2a47;border-radius:16px;color:#1f2a47;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.btn-agregar-fecha:hover{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#151f36;transform:translateY(-2px);box-shadow:0 4px 12px #1f2a4733}.btn-agregar-icono{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:#1f2a47;color:#fff;border-radius:50%;font-size:1.1rem;font-weight:600;transition:all .3s}.btn-agregar-fecha:hover .btn-agregar-icono{background-color:#151f36;transform:rotate(90deg)}.error-mensaje{background-color:#fee2e2;border:1px solid #fecaca;border-radius:12px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;color:#b91c1c}.error-mensaje-small{background-color:#fee2e2;border-left:4px solid #dc2626;padding:.5rem .75rem;margin-bottom:1rem;border-radius:.375rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#991b1b}.exito-mensaje{background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:12px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;color:#065f46;animation:slideDown .3s ease-out}.error-text{color:#dc2626;font-size:.75rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.input-error{border:2px solid #dc2626!important;background-color:#fef2f2!important;box-shadow:0 0 0 1px #dc26261a!important;animation:shake .2s ease-in-out 0s 2}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fecha-bloque{animation:slideIn .3s ease-out}.horarios-predefinidos-dia{margin-bottom:1rem;padding:.75rem;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.horarios-label{font-size:.85rem;color:#4b5563;margin-bottom:.5rem;font-weight:500}.horarios-botones{display:flex;gap:.5rem;flex-wrap:wrap}.btn-horario{padding:.4rem .8rem;background:#fff;border:1px solid #1f2a47;border-radius:6px;color:#1f2a47;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-horario:hover{background-color:#1f2a47;color:#fff}.btn-horario.btn-completo{background:linear-gradient(135deg,#10b981,#059669);border-color:#059669;color:#fff}.btn-horario.btn-completo:hover{background:linear-gradient(135deg,#34d399,#10b981)}.buscar-profesores-container{margin-top:1rem;display:flex;justify-content:flex-start}.btn-buscar-profesores{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,#1f2a47,#151f36);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-buscar-profesores:hover:not(:disabled){background:linear-gradient(135deg,#2a3a5c,#1f2a47);transform:translateY(-2px)}.btn-buscar-profesores:disabled{opacity:.6;cursor:not-allowed}.profesores-sugeridos-container{margin-bottom:1rem;padding:1rem;background:linear-gradient(135deg,#f0f9ff,#e6f0fa);border:1px solid #b8d6f0;border-radius:16px}.profesores-sugeridos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px dashed #90b8da}.profesores-sugeridos-header h4{color:#0369a1;font-size:1rem;font-weight:600;margin:0}.btn-seleccionar-todos{padding:.5rem 1.25rem;background:#fff;border:1px solid #1f2a47;border-radius:30px;color:#1f2a47;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-seleccionar-todos:hover{background:#1f2a47;color:#fff;transform:translateY(-2px)}.profesores-sugeridos-lista{display:flex;flex-direction:column;gap:.75rem}.profesor-sugerido-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fff;border-radius:14px;border:1px solid #e2e8f0;transition:all .2s ease}.profesor-sugerido-item:hover{transform:translate(4px);border-color:#1f2a47}.profesor-sugerido-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.profesor-sugerido-nombre{font-weight:600;color:#1f2937;font-size:.95rem}.profesor-sugerido-subgrupo{background:#fef3c7;padding:.25rem .75rem;border-radius:30px;font-size:.75rem;color:#92400e;font-weight:500}.profesor-sugerido-guia{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:.25rem .75rem;border-radius:30px;font-size:.75rem;color:#92400e;font-weight:600}.btn-seleccionar-sugerido{padding:.5rem 1.5rem;background:#fff;border:1px solid #1f2a47;border-radius:30px;color:#1f2a47;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:110px}.btn-seleccionar-sugerido:hover:not(:disabled){background:#1f2a47;color:#fff;transform:scale(1.02)}.btn-seleccionar-sugerido:disabled{background:#10b981;border-color:#059669;color:#fff;opacity:1;cursor:not-allowed}.profesores-seleccionados-fecha{margin-top:1rem;padding:.75rem;background-color:#f9fafb;border-radius:8px}.seleccionados-label{font-size:.85rem;color:#4b5563;margin-bottom:.5rem;font-weight:500}.profesores-tags{display:flex;flex-wrap:wrap;gap:.5rem}.profesor-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .6rem;background-color:#eef2ff;border-radius:20px;font-size:.8rem;color:#1f2a47}.tag-eliminar{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1rem;padding:0 .25rem}.tag-eliminar:hover{color:#dc2626}.profesores-resumen{display:flex;flex-wrap:wrap;gap:.75rem}.profesor-resumen-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#eef2ff;border-radius:8px;border:1px solid #1f2a47}.profesor-resumen-nombre{font-weight:600;color:#1f2937}.spinner-small{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite;margin-right:.5rem}.btn-enviar:disabled:hover{transform:none;box-shadow:none}@media(max-width:640px){.justificacion-page{padding:1rem}.justificacion-header h1{font-size:1.4rem}.form-row{flex-direction:column}.form-group.half{width:100%}.form-actions{flex-direction:column-reverse}.btn-cancelar,.btn-enviar{width:100%}.fecha-bloque{padding:1rem}.horas-grid{grid-template-columns:1fr;gap:.75rem}.fecha-bloque-cuerpo>.form-group,.hora-group{max-width:100%}.profesor-sugerido-item{flex-direction:column;align-items:flex-start;gap:.75rem}.profesor-sugerido-info,.btn-seleccionar-sugerido{width:100%}.profesores-sugeridos-header{flex-direction:column;gap:.5rem;align-items:flex-start}}.historial-ausencia-container{background:#f5f7fa;min-height:100vh;padding:32px 24px}.historial-ausencia-header{max-width:900px;margin:0 auto 32px}.historial-ausencia-titulo{font-size:28px;font-weight:700;color:#1a2c3e;margin:0 0 8px}.historial-ausencia-subtitulo{color:#5a6e7c;margin:0 0 24px;font-size:14px}.historial-ausencia-actions{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.historial-ausencia-btn-back{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;color:#1a2c3e;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s}.historial-ausencia-btn-back:hover{background:#f8fafc;border-color:#f2a029}.historial-ausencia-btn-new{background:#f2a029;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s}.historial-ausencia-btn-new:hover{background:#e0911a}.historial-ausencia-filtros-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:flex-end}.historial-ausencia-filtro-group{flex:1;min-width:200px}.historial-ausencia-filtro-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;color:#8a9aa8;margin-bottom:6px;letter-spacing:.5px}.historial-ausencia-filtro-input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1a2c3e;background:#fff;transition:all .2s}.historial-ausencia-filtro-input:focus{outline:none;border-color:#f2a029;box-shadow:0 0 0 3px #f2a0291a}.historial-ausencia-filtro-select{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1a2c3e;background:#fff;cursor:pointer}.historial-ausencia-filtro-select:focus{outline:none;border-color:#f2a029}.historial-ausencia-btn-clear{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:500;color:#5a6e7c;cursor:pointer;transition:all .2s;white-space:nowrap}.historial-ausencia-btn-clear:hover{background:#f1f5f9;color:#1a2c3e}.historial-ausencia-list{max-height:calc(100vh - 280px);overflow-y:auto;padding-right:8px}.historial-ausencia-list::-webkit-scrollbar{width:6px}.historial-ausencia-list::-webkit-scrollbar-track{background:#e2e8f0;border-radius:10px}.historial-ausencia-list::-webkit-scrollbar-thumb{background:#f2a029;border-radius:10px}.historial-ausencia-card{background:#fff;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #eef2f6;transition:all .2s ease}.historial-ausencia-card:hover{box-shadow:0 4px 12px #0000000f}.historial-ausencia-card-compacta{padding:0;overflow:hidden}.historial-ausencia-card-resumen{width:100%;border:none;background:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.historial-ausencia-card-resumen:hover{background:#fbfdff}.historial-ausencia-card-resumen-izq{min-width:0;display:flex;flex-direction:column;gap:4px}.historial-ausencia-resumen-meta{margin:0;color:#8a9aa8;font-size:12px}.historial-ausencia-card-resumen-der{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.historial-ausencia-card-toggle{font-size:12px;color:#64748b;font-weight:600}.historial-ausencia-card-body{padding:0 16px 16px;border-top:1px solid #eef2f6;animation:historial-ausencia-expand .18s ease-out}@keyframes historial-ausencia-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.historial-ausencia-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.historial-ausencia-motivo{font-size:18px;font-weight:600;color:#1a2c3e;margin:0;text-transform:capitalize}.historial-ausencia-estado-general{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:30px;font-size:11px;font-weight:600;text-transform:uppercase}.historial-ausencia-estado-general-aprobada{background:#e8f5e9;color:#27ae60}.historial-ausencia-estado-general-rechazada{background:#ffebee;color:#e74c3c}.historial-ausencia-info-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eef2f6}.historial-ausencia-fecha-ausencia{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1a2c3e;background:#f8fafc;padding:6px 14px;border-radius:30px}.historial-ausencia-fecha-ausencia strong{color:#f2a029;font-weight:600}.historial-ausencia-fecha-envio{font-size:13px;color:#8a9aa8}.historial-ausencia-archivo-btn{margin:0}.historial-ausencia-btn-download{background:transparent;border:1px solid #e2e8f0;border-radius:30px;padding:6px 14px;font-size:12px;font-weight:500;color:#f2a029;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.historial-ausencia-btn-download:hover:not(:disabled){background:#f2a029;border-color:#f2a029;color:#fff}.historial-ausencia-btn-download:disabled{opacity:.5;cursor:not-allowed}.historial-ausencia-detalles{margin-bottom:16px;padding:12px 16px;background:#fef9f0;border-radius:12px;border-left:3px solid #f2a029}.historial-ausencia-detalles-titulo{font-size:11px;font-weight:600;color:#f2a029;text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}.historial-ausencia-detalles-texto{font-size:13px;color:#2c3e50;line-height:1.5}.historial-ausencia-docentes{margin-top:12px}.historial-ausencia-docentes-titulo{font-size:12px;font-weight:600;color:#5a6e7c;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.historial-ausencia-docentes-grid{display:flex;flex-direction:column;gap:12px}.historial-ausencia-docente-item{background:#f8fafc;border-radius:30px;padding:8px 16px;display:flex;align-items:center;gap:12px;font-size:13px;border:1px solid #e2e8f0}.historial-ausencia-docente-nombre{font-weight:500;color:#1a2c3e}.historial-ausencia-docente-estado{display:inline-flex;align-items:center;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase}.historial-ausencia-docente-estado-pendiente{background:#fff3e0;color:#e67e22}.historial-ausencia-docente-estado-aprobada{background:#e8f5e9;color:#27ae60}.historial-ausencia-docente-estado-rechazada{background:#ffebee;color:#e74c3c}.historial-ausencia-empty{text-align:center;padding:48px 20px;background:#fff;border-radius:16px;border:1px solid #eef2f6}.historial-ausencia-empty-icon{font-size:48px;margin-bottom:12px}.historial-ausencia-empty-text{color:#5a6e7c;font-size:14px}@media(max-width:768px){.historial-ausencia-container{padding:20px 16px}.historial-ausencia-card-resumen{flex-direction:column;align-items:flex-start}.historial-ausencia-card-resumen-der{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.historial-ausencia-filtros-row{flex-direction:column;align-items:stretch}.historial-ausencia-filtro-group{min-width:auto}.historial-ausencia-info-row{flex-direction:column;align-items:flex-start;gap:10px}.historial-ausencia-card-header{flex-direction:column;align-items:flex-start}.historial-ausencia-actions{flex-direction:column}.historial-ausencia-btn-back,.historial-ausencia-btn-new,.historial-ausencia-btn-clear{width:100%;text-align:center;justify-content:center}.historial-ausencia-docentes-grid{flex-direction:column}.historial-ausencia-docente-item{width:100%;justify-content:space-between}.historial-ausencia-list{max-height:calc(100vh - 380px)}}@media(max-width:480px){.historial-ausencia-titulo{font-size:22px}.historial-ausencia-motivo{font-size:16px}.historial-ausencia-card{padding:16px}}.historial-ausencia-fechas-container{margin-bottom:16px;padding:12px 0;border-top:1px solid #eef2f6;border-bottom:1px solid #eef2f6}.historial-ausencia-fechas-titulo{font-size:12px;font-weight:600;color:#5a6e7c;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.historial-ausencia-fechas-grid{display:flex;flex-direction:column;gap:8px}.historial-ausencia-fecha-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500;color:#1a2c3e}.historial-ausencia-estado-general-pendiente{background:#fff3e0;color:#e67e22}.historial-ausencia-estado-general-revisada{background:#e8f5e9;color:#27ae60}.historial-ausencia-docente-item-expandido{display:flex;flex-direction:column;gap:10px;align-items:stretch}.historial-ausencia-docente-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.historial-ausencia-docente-comentario{background:#fff8ef;border-left:4px solid #f2a029;border-radius:10px;padding:10px 12px}.historial-ausencia-docente-comentario-titulo{font-size:11px;font-weight:600;color:#f2a029;text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}.historial-ausencia-docente-comentario-texto{font-size:13px;color:#2c3e50;line-height:1.5;white-space:pre-wrap}.justificacion-uniforme-container{max-width:800px;margin:0 auto;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden;padding:2rem}.titulo-principal{font-size:1.8rem;color:#1f2a47;margin-bottom:.5rem;text-align:center}.subtitulo{text-align:center;color:#6b7280;margin-bottom:2rem}.justificacion-uniforme-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{font-size:1.2rem;color:#1f2937;margin-bottom:1.5rem;font-weight:600;position:relative;padding-left:1rem;border-left:4px solid #1f2a47}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;color:#4b5563;font-weight:500;font-size:.95rem}.required{color:#dc2626;margin-left:.25rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:all .3s;background-color:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#1f2a47;box-shadow:0 0 0 3px #1f2a471a}.estudiantes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.estudiante-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;transition:all .2s}.estudiante-card:hover{border-color:#1f2a47;background-color:#fefefe}.estudiante-radio{display:none}.estudiante-label{display:flex;flex-direction:column;padding:.75rem 1rem;cursor:pointer;border-radius:10px;transition:all .2s}.estudiante-radio:checked+.estudiante-label{background-color:#eef2ff;border:1px solid #1f2a47;margin:-1px}.estudiante-label strong{font-size:.95rem;color:#1f2937}.estudiante-label span{font-size:.8rem;color:#6b7280;margin-top:.25rem}.file-upload-container{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.file-input{display:none}.file-upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#f3f4f6;border:1px dashed #1f2a47;border-radius:8px;color:#1f2a47;cursor:pointer;transition:all .3s;font-weight:500}.file-upload-button:hover{background-color:#eef2ff}.file-hint{margin-top:.5rem;font-size:.85rem;color:#6b7280}.fecha-nota{font-size:.85rem;color:#6b7280;margin-bottom:1rem;font-style:italic;line-height:1.4}.rango-fechas-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.fecha-input-wrapper{position:relative;display:flex;align-items:center}.fecha-input-icon{position:absolute;left:1rem;color:#1f2a47;font-size:1rem;z-index:1;pointer-events:none}.fecha-input{padding-left:2.5rem!important;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;height:44px;font-size:.95rem;width:100%}.fecha-input:hover{background-color:#fff;border-color:#1f2a47}.fecha-input:focus{background-color:#fff;border-color:#1f2a47;box-shadow:0 0 0 3px #1f2a471a;outline:none}.resumen-fechas{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#f0f9ff,#e6f0fa);border-radius:12px;border:1px solid #b8d6f0}.resumen-titulo{font-weight:600;color:#1f2a47;margin-bottom:.5rem;font-size:.9rem}.resumen-texto{font-size:.9rem;color:#1f2937;margin-bottom:.25rem}.resumen-cantidad{font-size:.85rem;color:#4b5563;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #90b8da}.resumen-cantidad strong{color:#1f2a47;font-size:1rem}.archivo-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;position:relative;transition:all .3s;margin-top:1rem}.archivo-card:hover{box-shadow:0 4px 12px #0000001a}.archivo-imagen-container{height:150px;background-color:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid #e5e7eb}.archivo-imagen{width:100%;height:100%;object-fit:cover}.archivo-icono-container{height:150px;background:linear-gradient(135deg,#1f2a47,#151f36);display:flex;align-items:center;justify-content:center}.archivo-icono-grande{font-size:3rem;color:#fff}.archivo-info{padding:.75rem}.archivo-nombre{font-weight:600;color:#1f2937;font-size:.9rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.archivo-detalle{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.archivo-tipo{color:#1f2a47;font-weight:500;background-color:#eef2ff;padding:.2rem .5rem;border-radius:4px}.archivo-tamaño{color:#6b7280}.archivo-eliminar-btn{position:absolute;top:.5rem;right:.5rem;width:30px;height:30px;border-radius:50%;background-color:#ffffffe6;border:1px solid #e5e7eb;color:#6b7280;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;opacity:0}.archivo-card:hover .archivo-eliminar-btn{opacity:1}.archivo-eliminar-btn:hover{background-color:#fee2e2;color:#dc2626;border-color:#dc2626}.error-mensaje{background-color:#fee2e2;border:1px solid #fecaca;border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:#b91c1c;font-size:.9rem}.exito-mensaje{background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:#065f46}.error-text{color:#dc2626;font-size:.75rem;margin-top:.25rem}.input-error{border:2px solid #dc2626!important;background-color:#fef2f2!important}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-cancelar{padding:.7rem 1.5rem;background-color:#fff;color:#4b5563;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .3s}.btn-cancelar:hover{background-color:#f3f4f6}.btn-enviar{padding:.7rem 1.5rem;background-color:#1f2a47;color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .3s;font-weight:500}.btn-enviar:hover{background-color:#151f36;transform:translateY(-1px);box-shadow:0 2px 8px #1f2a4733}.btn-enviar:disabled,.btn-cancelar:disabled{opacity:.5;cursor:not-allowed}.spinner-small{display:inline-block;width:.9rem;height:.9rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite;margin-right:.5rem}@media(max-width:640px){.justificacion-uniforme-container{padding:1rem}.titulo-principal{font-size:1.4rem}.rango-fechas-container{grid-template-columns:1fr;gap:.75rem}.form-actions{flex-direction:column-reverse}.btn-cancelar,.btn-enviar{width:100%}.estudiantes-grid{grid-template-columns:1fr}}.historial-uniforme-container{background:#f4f8fb;min-height:100vh;padding:32px 24px}.historial-uniforme-header{max-width:900px;margin:0 auto 32px}.historial-uniforme-titulo{font-size:28px;font-weight:700;color:#0c1228;margin:0 0 8px}.historial-uniforme-subtitulo{color:#607789;margin:0 0 24px;font-size:14px}.historial-uniforme-actions{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.historial-uniforme-btn-back{background:#fff;border:1px solid #dbe6f1;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;color:#162338;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s}.historial-uniforme-btn-back:hover{background:#f4f8fb;border-color:#162338}.historial-uniforme-btn-new{background:#f5a425;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s}.historial-uniforme-btn-new:hover{background:#e0911a}.historial-uniforme-filtros-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:flex-end}.historial-uniforme-filtro-group{flex:1;min-width:200px}.historial-uniforme-filtro-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;color:#7b91a4;margin-bottom:6px;letter-spacing:.5px}.historial-uniforme-filtro-input,.historial-uniforme-filtro-select{width:100%;padding:10px 12px;border:1px solid #dbe6f1;border-radius:10px;font-size:14px;color:#162338;background:#fff}.historial-uniforme-filtro-input:focus,.historial-uniforme-filtro-select:focus{outline:none;border-color:#162338;box-shadow:0 0 0 3px #1623381f}.historial-uniforme-btn-clear{background:#f5f9fd;border:1px solid #dbe6f1;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:500;color:#5c7387;cursor:pointer;transition:all .2s;white-space:nowrap}.historial-uniforme-btn-clear:hover{background:#edf5fb;color:#162338}.historial-uniforme-list{max-width:900px;margin:0 auto}.historial-uniforme-card{background:#fff;border-radius:16px;margin-bottom:10px;box-shadow:0 1px 3px #0000000d;border:1px solid #e7eef6;overflow:hidden;transition:box-shadow .2s ease}.historial-uniforme-card:hover{box-shadow:0 4px 12px #0000000f}.historial-uniforme-card-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.historial-uniforme-card-summary:hover{background:#f7fbff}.historial-uniforme-summary-left{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.historial-uniforme-motivo-resumen{font-size:16px;font-weight:600;color:#0c1228;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.historial-uniforme-summary-fecha{font-size:12px;color:#7a8d9d}.historial-uniforme-summary-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.historial-uniforme-chevron{font-size:11px;color:#8fa3b3;transition:transform .2s;display:inline-block}.historial-uniforme-chevron--open{transform:rotate(180deg)}.historial-uniforme-estado-general{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:30px;font-size:11px;font-weight:600;text-transform:uppercase;white-space:nowrap}.historial-uniforme-estado-general-pendiente{background:#fff4db;color:#b07400}.historial-uniforme-estado-general-revisada{background:#e8f7ee;color:#1e8e4d}.historial-uniforme-card-body{padding:0 20px 20px;border-top:1px solid #edf3f8}.historial-uniforme-motivo{font-size:17px;font-weight:600;color:#162338;margin:14px 0;text-transform:capitalize}.historial-uniforme-info-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #edf3f8}.historial-uniforme-fecha-envio{font-size:13px;color:#7f94a6}.historial-uniforme-btn-download{background:#16233814;border:1px solid rgba(22,35,56,.25);border-radius:30px;padding:6px 14px;font-size:12px;font-weight:500;color:#162338;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.historial-uniforme-btn-download:hover:not(:disabled){background:#162338;border-color:#162338;color:#fff}.historial-uniforme-btn-download:disabled{opacity:.5;cursor:not-allowed}.historial-uniforme-fechas-container{margin-bottom:14px;padding:12px 0;border-top:1px solid #edf3f8;border-bottom:1px solid #edf3f8}.historial-uniforme-fechas-titulo{font-size:12px;font-weight:600;color:#5c7387;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.historial-uniforme-fecha-rango{background:#f4f8fb;border:1px solid #d8e2ec;border-radius:20px;padding:8px 14px;font-size:14px;font-weight:600;color:#162338;display:inline-block}.historial-uniforme-detalles{margin-bottom:14px;padding:12px 16px;background:#f4f8fb;border-radius:12px;border-left:4px solid #284983!important}.historial-uniforme-detalles-titulo{font-size:11px;font-weight:600;color:#284983!important;text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}.historial-uniforme-detalles-texto{font-size:13px;color:#294255;line-height:1.5}.historial-uniforme-comentario-global{margin-bottom:14px;padding:12px 16px;background:#f4f8fb;border-radius:12px;border-left:4px solid #f5a425}.historial-uniforme-comentario-global-titulo{font-size:11px;font-weight:700;color:#0c1228;text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}.historial-uniforme-comentario-global-texto{font-size:13px;color:#294255;line-height:1.5;white-space:pre-wrap}.historial-uniforme-auxiliares{margin-top:12px}.historial-uniforme-auxiliares-titulo{font-size:12px;font-weight:600;color:#5c7387;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.historial-uniforme-auxiliares-grid{display:flex;flex-direction:column;gap:8px}.historial-uniforme-auxiliar-item{background:#f4f8fb;border-radius:30px;padding:8px 16px;display:flex;align-items:center;gap:12px;font-size:13px;border:1px solid #dbe6f1}.historial-uniforme-auxiliar-nombre{font-weight:500;color:#162338}.historial-uniforme-auxiliar-estado{display:inline-flex;align-items:center;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase}.historial-uniforme-auxiliar-estado-pendiente{background:#fff4db;color:#b07400}.historial-uniforme-auxiliar-estado-aprobada{background:#e8f7ee;color:#1e8e4d}.historial-uniforme-auxiliar-estado-rechazada{background:#fdecec;color:#c63c3c}.historial-uniforme-empty{text-align:center;padding:48px 20px;background:#fff;border-radius:16px;border:1px solid #e7eef6}.historial-uniforme-empty-icon{font-size:48px;margin-bottom:12px}.historial-uniforme-empty-text{color:#607789;font-size:14px}@media(max-width:768px){.historial-uniforme-container{padding:20px 16px}.historial-uniforme-filtros-row,.historial-uniforme-actions{flex-direction:column;align-items:stretch}.historial-uniforme-filtro-group{min-width:auto}.historial-uniforme-info-row,.historial-uniforme-card-summary{flex-direction:column;align-items:flex-start}.historial-uniforme-btn-back,.historial-uniforme-btn-new,.historial-uniforme-btn-clear{width:100%;text-align:center;justify-content:center}.historial-uniforme-auxiliar-item{width:100%;justify-content:space-between}}@media(max-width:480px){.historial-uniforme-titulo{font-size:22px}.historial-uniforme-card-summary{padding:14px 16px}.historial-uniforme-card-body{padding:0 16px 16px}}.encargado-panel-justificaciones-container{background:#f5f7fa;min-height:100vh;padding-top:24px}.encargado-panel-justificaciones-tabs{max-width:900px;margin:0 auto 20px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.encargado-panel-justificaciones-tab{background:#fff;border:1px solid #dbe6f1;color:#3d5368;border-radius:12px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:.2s ease}.encargado-panel-justificaciones-tab:hover{background:#eef5fb}.encargado-panel-justificaciones-tab.activo{background:#f5a425;color:#fff;border-color:#f5a425}.encargado-panel-justificaciones-content{width:100%}.encargado-panel-justificaciones-placeholder{max-width:900px;margin:0 auto;background:#fff;border:1px solid #e7eef6;border-radius:16px;padding:32px;text-align:center;color:#607789;font-size:16px}@media(max-width:768px){.encargado-panel-justificaciones-tabs{padding:0 16px;flex-direction:column}.encargado-panel-justificaciones-tab{width:100%}}.solicitudes-salida-page{padding:1.5rem 2rem;min-height:100vh;background-color:#f8fafc}.solicitudes-salida-header{margin-bottom:1.5rem}.solicitudes-salida-header h1{font-size:2rem;margin:0 0 .5rem;color:#1f2937}.solicitudes-salida-header p{margin:0;color:#4b5563}.solicitudes-salida-tabs{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.solicitudes-salida-tabs button{border:1px solid #d1d5db;background:#fff;padding:.7rem 1.1rem;border-radius:10px;color:#374151;cursor:pointer;font-weight:600;transition:all .2s}.solicitudes-salida-tabs button.activa,.solicitudes-salida-tabs button:hover{border-color:#1f2937;background-color:#1f2937;color:#fff}.solicitudes-salida-filtros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.solicitudes-salida-filtro{display:flex;flex-direction:column;gap:.5rem}.solicitudes-salida-filtro label{font-size:.85rem;color:#4b5563}.solicitudes-salida-filtro input{padding:.85rem 1rem;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827}.solicitudes-salida-error{margin-bottom:1rem;padding:1rem 1.25rem;border-radius:12px;background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.solicitudes-salida-table-wrapper{overflow-x:auto;background:#fff;border-radius:16px;border:1px solid #e5e7eb}.solicitudes-salida-empty{padding:2rem;text-align:center;color:#6b7280}.solicitudes-salida-table{width:100%;border-collapse:collapse;min-width:1040px}.solicitudes-salida-table th,.solicitudes-salida-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:middle}.solicitudes-salida-table th{background-color:#f3f4f6;color:#374151;font-size:.8rem;letter-spacing:.02em}.solicitudes-salida-table tr:hover{background-color:#fafbfc}.solicitudes-salida-estudiante{display:inline-flex;flex-direction:column;gap:.25rem}.solicitudes-salida-nombre{font-weight:600;color:#111827}.solicitudes-salida-id{color:#6b7280;font-size:.85rem}.solicitudes-salida-btn-descargar{background-color:#eef2ff;color:#1d4ed8;padding:.6rem .9rem;border:1px solid #bfdbfe;border-radius:8px;cursor:pointer;font-weight:600}.solicitudes-salida-btn-descargar:hover{background-color:#1d4ed8;color:#fff}.solicitudes-salida-sin-archivo{color:#9ca3af}.solicitudes-salida-estado{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;border-radius:9999px;font-size:.78rem;font-weight:700}.solicitudes-salida-estado-pendiente{background-color:#fef3c7;color:#92400e;border:1px solid #f59e0b}.solicitudes-salida-estado-aprobada{background-color:#d1fae5;color:#065f46;border:1px solid #10b981}.solicitudes-salida-estado-rechazada{background-color:#fee2e2;color:#991b1b;border:1px solid #dc2626}.solicitudes-salida-estado-efectuado{background-color:#dbeafe;color:#0c4a6e;border:1px solid #0284c7}.solicitudes-salida-estado-no_efectuado{background-color:#f3e8ff;color:#5b21b6;border:1px solid #a855f7}.solicitudes-salida-cedulas{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.solicitudes-salida-cedula-chip{display:inline-block;padding:.45rem .75rem;background-color:#e0e7ff;color:#3730a3;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid #c7d2fe}@media(max-width:1024px){.solicitudes-salida-filtros{grid-template-columns:1fr}}@media(max-width:780px){.solicitudes-salida-page{padding:1rem}.solicitudes-salida-table{min-width:900px}}.solicitud-salida-container{max-width:800px;margin:0 auto;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden;padding:2rem}.solicitud-salida-titulo-principal{font-size:1.8rem;color:#1f2a47;margin-bottom:.5rem;text-align:center}.solicitud-salida-subtitulo{text-align:center;color:#6b7280;margin-bottom:2rem}.solicitud-salida-form{display:flex;flex-direction:column;gap:1.5rem}.solicitud-salida-form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.solicitud-salida-form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.solicitud-salida-section-title{font-size:1.2rem;color:#1f2937;margin-bottom:1.5rem;font-weight:600;position:relative;padding-left:1rem;border-left:4px solid #1f2a47}.solicitud-salida-form-group{margin-bottom:1.5rem}.solicitud-salida-form-label{display:block;margin-bottom:.5rem;color:#4b5563;font-weight:500;font-size:.95rem}.solicitud-salida-required{color:#dc2626;margin-left:.25rem}.solicitud-salida-form-input,.solicitud-salida-form-select,.solicitud-salida-form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:all .3s;background-color:#fff}.solicitud-salida-form-input:focus,.solicitud-salida-form-select:focus,.solicitud-salida-form-textarea:focus{outline:none;border-color:#1f2a47;box-shadow:0 0 0 3px #1f2a471a}.solicitud-salida-estudiantes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.solicitud-salida-estudiante-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;transition:all .2s}.solicitud-salida-estudiante-card:hover{border-color:#1f2a47;background-color:#fefefe}.solicitud-salida-estudiante-radio{display:none}.solicitud-salida-estudiante-label{display:flex;flex-direction:column;padding:.75rem 1rem;cursor:pointer;border-radius:10px;transition:all .2s}.solicitud-salida-estudiante-radio:checked+.solicitud-salida-estudiante-label{background-color:#eef2ff;border:1px solid #1f2a47;margin:-1px}.solicitud-salida-estudiante-label strong{font-size:.95rem;color:#1f2937}.solicitud-salida-estudiante-label span{font-size:.8rem;color:#6b7280;margin-top:.25rem}.solicitud-salida-no-estudiantes{color:#6b7280;font-style:italic;text-align:center;padding:1rem}.solicitud-salida-file-upload-container{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.solicitud-salida-file-input{display:none}.solicitud-salida-file-upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#f3f4f6;border:1px dashed #1f2a47;border-radius:8px;color:#1f2a47;cursor:pointer;transition:all .3s;font-weight:500}.solicitud-salida-file-upload-button:hover{background-color:#eef2ff}.solicitud-salida-file-hint{margin-top:.5rem;font-size:.85rem;color:#6b7280}.solicitud-salida-fecha-input-wrapper,.solicitud-salida-hora-input-wrapper{position:relative;display:flex;align-items:center;cursor:pointer}.solicitud-salida-fecha-input-icon,.solicitud-salida-hora-input-icon{position:absolute;left:1rem;color:#1f2a47;font-size:1rem;z-index:1;pointer-events:none}.solicitud-salida-fecha-input,.solicitud-salida-hora-input{padding-left:2.5rem!important;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;height:44px;font-size:.95rem;width:100%;cursor:pointer}.solicitud-salida-fecha-input:hover,.solicitud-salida-hora-input:hover{background-color:#fff;border-color:#1f2a47}.solicitud-salida-fecha-input:focus,.solicitud-salida-hora-input:focus{background-color:#fff;border-color:#1f2a47;box-shadow:0 0 0 3px #1f2a471a;outline:none}.solicitud-salida-hora-nota{font-size:.85rem;color:#6b7280;margin-top:.25rem;font-style:italic}.solicitud-salida-archivo-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;position:relative;transition:all .3s;margin-top:1rem}.solicitud-salida-archivo-card:hover{box-shadow:0 4px 12px #0000001a}.solicitud-salida-archivo-imagen-container{height:150px;background-color:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid #e5e7eb}.solicitud-salida-archivo-imagen{width:100%;height:100%;object-fit:cover}.solicitud-salida-archivo-icono-container{height:150px;background:linear-gradient(135deg,#1f2a47,#151f36);display:flex;align-items:center;justify-content:center}.solicitud-salida-archivo-icono-grande{font-size:3rem;color:#fff}.solicitud-salida-archivo-info{padding:.75rem}.solicitud-salida-archivo-nombre{font-weight:600;color:#1f2937;font-size:.9rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solicitud-salida-archivo-detalle{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.solicitud-salida-archivo-tipo{color:#1f2a47;font-weight:500;background-color:#eef2ff;padding:.2rem .5rem;border-radius:4px}.solicitud-salida-archivo-tamaño{color:#6b7280}.solicitud-salida-archivo-eliminar-btn{position:absolute;top:.5rem;right:.5rem;width:30px;height:30px;border-radius:50%;background-color:#ffffffe6;border:1px solid #e5e7eb;color:#6b7280;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;opacity:0}.solicitud-salida-archivo-card:hover .solicitud-salida-archivo-eliminar-btn{opacity:1}.solicitud-salida-archivo-eliminar-btn:hover{background-color:#fee2e2;color:#dc2626;border-color:#dc2626}.solicitud-salida-error-mensaje{background-color:#fee2e2;border:1px solid #fecaca;border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:#b91c1c;font-size:.9rem}.solicitud-salida-exito-mensaje{background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:#065f46}.solicitud-salida-error-text{color:#dc2626;font-size:.75rem;margin-top:.25rem}.solicitud-salida-error-icon{font-size:1rem}.solicitud-salida-input-error{border:2px solid #dc2626!important;background-color:#fef2f2!important}.solicitud-salida-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.solicitud-salida-btn-cancelar{padding:.7rem 1.5rem;background-color:#fff;color:#4b5563;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .3s}.solicitud-salida-btn-cancelar:hover{background-color:#f3f4f6}.solicitud-salida-btn-enviar{padding:.7rem 1.5rem;background-color:#1f2a47;color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .3s;font-weight:500}.solicitud-salida-btn-enviar:hover{background-color:#151f36;transform:translateY(-1px);box-shadow:0 2px 8px #1f2a4733}.solicitud-salida-btn-enviar:disabled,.solicitud-salida-btn-cancelar:disabled{opacity:.5;cursor:not-allowed}.solicitud-salida-spinner-small{display:inline-block;width:.9rem;height:.9rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:solicitud-salida-spin .6s linear infinite;margin-right:.5rem}@keyframes solicitud-salida-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.solicitud-salida-container{padding:1rem}.solicitud-salida-titulo-principal{font-size:1.4rem}.solicitud-salida-form-actions{flex-direction:column-reverse}.solicitud-salida-btn-cancelar,.solicitud-salida-btn-enviar{width:100%}.solicitud-salida-estudiantes-grid{grid-template-columns:1fr}}.solicitud-salida-personas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:12px}.solicitud-salida-persona-card{border:1px solid #d1d5db;border-radius:14px;padding:12px 14px;cursor:pointer;background:#f8fafc;transition:all .2s ease;min-height:100px;display:flex;flex-direction:column;justify-content:space-between}.solicitud-salida-persona-card:hover{border-color:#1f2a47;transform:translateY(-1px);background:#f5f7ff}.solicitud-salida-persona-card-selected{background:#eef2ff;border:2px solid #1f2a47;box-shadow:0 8px 20px #1f2a4714}.solicitud-salida-persona-card strong{display:block;color:#111827;font-size:.95rem;line-height:1.3}.solicitud-salida-persona-cedula{display:block;margin-top:.35rem;color:#4b5563;font-size:.88rem}.solicitud-salida-persona-selected-indicator{display:inline-flex;align-items:center;justify-content:center;padding:.18rem .55rem;border-radius:999px;background-color:#dbeafe;color:#1e40af;font-size:.75rem;font-weight:700;margin-top:.75rem}.solicitud-salida-persona-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background-color:#eef2ff;border:1px solid #bfdbfe;border-radius:999px;color:#1e3a8a;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.solicitud-salida-persona-pill:hover{background-color:#e0f2fe}.solicitud-salida-persona-pill-cedula{font-weight:700}.solicitud-salida-personas-seleccionadas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.solicitud-salida-persona-card small{display:block;margin-top:8px;color:#4b5563}.PopupMessage-wrapper{position:fixed;top:16px;right:16px;z-index:3000;display:flex;flex-direction:column;gap:10px}.PopupMessage-card{background:#eef2ff;border-radius:8px;padding:12px 16px;min-width:260px;box-shadow:0 6px 18px #00000014;border:1px solid #3b82f6;color:#111}.PopupMessage--exito{background:#e6ffed;border-color:#29a745}.PopupMessage--error{background:#ffe6e6;border-color:#d93025}.PopupMessage-title{font-weight:600;margin-bottom:6px}.PopupMessage-body{white-space:pre-wrap}.PopupMessage-close{margin-top:8px;text-align:right}.PopupMessage-close button{background:transparent;border:none;color:inherit;cursor:pointer;font-weight:600}@media(max-width:600px){.PopupMessage-card{min-width:200px;padding:10px 12px}}.PopupMessage-wrapper{top:20px;right:20px}@media(max-width:600px){.SR-paginacion,.HRD-paginacion{gap:6px;margin-top:8px}.SR-paginacion span,.HRD-paginacion span{font-size:.85rem}.SR-paginacion button,.HRD-paginacion button{padding:6px 8px;min-width:34px}.PopupMessage-card{min-width:200px;padding:10px 12px}}.boletas-wrapper{display:flex;flex-direction:column;gap:12px}.boletas-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 20px;cursor:pointer;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.boletas-card-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.boletas-badge{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.boletas-card-title{font-weight:600;color:#1c273d;margin:0;font-size:14px}.boletas-card-sub{color:#6b7280;margin:0;font-size:12px}.boletas-card-right{text-align:right}.boletas-card-date{font-weight:600;color:#374151;margin:0;font-size:14px}.boletas-card-link{color:#6b7280;margin:0;font-size:12px}.boletas-back-btn{margin-bottom:16px}.bd-wrapper{max-width:860px;margin:0 auto;padding:24px 16px}.bd-acciones{display:flex;gap:12px;margin-bottom:20px}.bd-hoja{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:40px 48px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;color:#111}.bd-header{background:#1c3557;color:#fff;text-align:center;padding:16px 24px;margin-bottom:20px;border-radius:4px}.bd-header-titulo{font-size:15px;font-weight:700;margin:0 0 4px;text-transform:uppercase}.bd-header-subtitulo{font-size:13px;font-weight:700;margin:0 0 12px;text-transform:uppercase}.bd-header-comunicado{font-size:12px;font-style:italic;margin:0}.bd-tabla{width:100%;border-collapse:collapse;margin-bottom:12px}.bd-tabla td{border:1px solid #9ca3af;padding:6px 10px;vertical-align:top}.bd-tabla-label{width:220px;font-weight:600;background:#fff;white-space:nowrap}.bd-tabla-label--top{vertical-align:top}.bd-tabla-valor{background:#fff}.bd-tabla-valor--fecha{background:#bfdbfe;color:#1e3a5f}.bd-tabla-valor--detalle{min-height:80px;white-space:pre-wrap}.bd-tabla--incidente .bd-tabla-valor{min-height:28px}.bd-texto-legal{font-size:12px;line-height:1.6;margin:12px 0;text-align:justify}.bd-falta-row{display:flex;gap:32px;align-items:center;margin:12px 0;flex-wrap:wrap}.bd-falta-item{display:flex;align-items:center;gap:10px}.bd-falta-label{font-weight:600}.bd-falta-badge{padding:5px 20px;border-radius:4px;font-weight:700;font-size:14px}.bd-falta-articulo{font-weight:700;font-size:14px}.bd-firmas{display:flex;justify-content:space-between;margin-top:48px;gap:24px;flex-wrap:wrap}.bd-firma{flex:1;min-width:160px;text-align:center;font-size:12px}.bd-firma-linea{border-top:1px solid #374151;margin-bottom:6px}.bd-firma-nombre{font-weight:600;color:#374151}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.bd-wrapper{padding:0;margin:0;max-width:100%}.bd-hoja{border:none;border-radius:0;padding:0;box-shadow:none}}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.HRD-configurar-horarios-container{max-width:1000px;margin:0 auto;padding:20px}.HRD-main-title{font-size:1.5rem;font-weight:700;margin-bottom:5px}.HRD-subtitle{color:#6b7280;margin-bottom:20px}.HRD-header{margin-bottom:30px;text-align:center}.HRD-section-selector{display:inline-flex;background-color:#e9ecef;border-radius:8px;padding:4px}.HRD-section-btn{padding:10px 20px;font-size:1rem;font-weight:500;color:#495057;background-color:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.HRD-section-btn.HRD-active{background-color:#000;color:#fff;box-shadow:0 2px 4px #0000001a}.HRD-grid-container{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.HRD-left-panel{display:flex;justify-content:center;align-items:flex-start;padding:10px}.HRD-right-panel{border-left:1px solid #e5e7eb;padding-left:20px;display:flex;flex-direction:column}.HRD-horarios-list-scroll{flex:1;max-height:500px;overflow-y:auto;padding-right:10px;margin-bottom:20px}.HRD-calendar-custom{border:none!important;width:100%;max-width:350px;font-family:inherit}.HRD-calendar-custom .HRD-has-schedule{background-color:#eff6ff;border:1px solid #93c5fd}.HRD-date-block{padding:15px;margin-bottom:15px;border:1px solid #e5e7eb;border-radius:6px;background-color:#fff}.HRD-date-block.HRD-selected-in-calendar{border-left:5px solid #3b82f6}.HRD-date-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.HRD-date-display{font-size:1rem;font-weight:600;color:#1f2937;text-transform:capitalize}.HRD-delete-date-btn{background:none;border:none;cursor:pointer;color:#ef4444;padding:5px}.HRD-no-schedule-msg{color:#9ca3af;font-style:italic;font-size:.9rem}.HRD-horarios-input-wrapper{display:flex;gap:5px;align-items:center;margin-bottom:15px}.HRD-time-input{flex-grow:1;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:.95rem;max-width:80px}.HRD-add-btn{background-color:#f5a425;color:#fff;border:none;border-radius:4px;width:38px;height:38px;font-size:1.5rem;line-height:1;cursor:pointer;transition:background-color .2s}.HRD-add-btn:hover{background-color:#ea580c}.HRD-horarios-display-row{display:flex;flex-wrap:wrap;gap:8px;padding-top:5px}.HRD-time-tag{display:flex;align-items:center;padding:6px 10px;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:16px;font-size:.85rem}.HRD-remove-tag-btn{margin-left:8px;background:transparent;border:none;color:#9ca3af;cursor:pointer;font-weight:700;font-size:1rem}.HRD-buttons-container{margin-top:auto;display:flex;justify-content:flex-end;gap:10px;padding-top:10px;border-top:1px solid #e5e7eb}.HRD-cancel-button{background:none;border:1px solid #d1d5db;color:#4b5563;padding:10px 20px;border-radius:6px;font-weight:500}.HRD-save-button-black{background-color:#f5a425;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.HRD-save-button-black:hover{background-color:#ea580c}.HRD-current-citas-title{margin-top:40px;margin-bottom:15px;font-size:1.1rem;font-weight:600}.HRD-current-citas-wrapper{border:1px solid #e5e7eb;border-radius:6px;padding:15px;margin-bottom:20px;background-color:#f9fafb}.HRD-current-citas-date-title{font-weight:500;margin-bottom:10px}.HRD-current-citas-tags{display:flex;gap:10px;flex-wrap:wrap}.HRD-time-tag.HRD-current-tag{background-color:#fff;border:1px solid #d1d5db;padding:12px 18px}.HRD-time-tag.HRD-highlight-tag{background-color:#eff6ff;border-color:#3b82f6;color:#1d4ed8;font-weight:600}.HRD-mensaje{text-align:center;margin:16px auto;padding:10px 20px;border-radius:8px;width:90%;font-weight:600;transition:opacity .3s ease}.HRD-mensaje-exito{background-color:#e8f9ee;color:#0d6830;border:1px solid #8fd19e}.HRD-mensaje-error{background-color:#fdeaea;color:#8a2020;border:1px solid #e09191}.HRD-current-citas-wrapper{margin-top:2rem;background:#fff;border-radius:10px;padding:1rem;box-shadow:0 2px 5px #00000014}.HRD-current-citas-date-title{font-weight:700;margin-bottom:.5rem;color:#333}.HRD-current-citas-tags{display:flex;gap:1rem;flex-wrap:wrap}.HRD-paginacion{margin-top:1rem;display:flex;justify-content:center;align-items:center;gap:1rem}.HRD-paginacion button{background:#0078d7;color:#fff;border:none;border-radius:6px;padding:.3rem .8rem;cursor:pointer}.SR-grid-container{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;margin-top:2rem;padding:2rem;background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.SR-left-panel{display:flex;flex-direction:column}.SR-left-panel h3{color:#2c3e50;font-size:1.2rem;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e9ecef;font-weight:600}.SR-dates-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.SR-date-block{margin-bottom:0}.SR-date-block h4{color:#2c3e50;font-size:1rem;margin:0 0 1rem;font-weight:600}.SR-right-panel{display:flex;flex-direction:column;border-left:1px solid #e9ecef;padding-left:2rem}.SR-right-panel h3{color:#2c3e50;font-size:1.2rem;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e9ecef;font-weight:600;grid-column:1 / -1}.SR-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.SR-form-field{display:flex;flex-direction:column}.SR-form-field.SR-full-width{grid-column:1 / -1}.SR-right-panel label{color:#495057;font-weight:500;margin-bottom:.5rem;display:block}.SR-slots-grid{display:flex;flex-wrap:wrap;gap:.75rem}.SR-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#fff;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:120px;text-align:center;color:#495057;font-weight:500;font-size:.95rem}.SR-slot:hover{border-color:#9ca3af;background:#f9fafb;transform:translateY(-2px);box-shadow:0 2px 6px #0000001a}.SR-slot.SR-slot-selected{border-color:#2c3e50;background:#ecf0f6;box-shadow:0 4px 8px #2c3e5026}.SR-slot-status{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.SR-slot.SR-slot-selected .SR-slot-status{color:#2c3e50;font-weight:600}.SR-input,.SR-select,.SR-textarea{width:100%;padding:.75rem;margin-bottom:1.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;font-family:inherit;color:#1f2937;transition:border-color .2s,box-shadow .2s}.SR-input:focus,.SR-select:focus,.SR-textarea:focus{outline:none;border-color:#2c3e50;box-shadow:0 0 0 3px #2c3e501a}.SR-textarea{min-height:100px;resize:vertical}.SR-preview{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:1.5rem;margin-top:1.5rem}.SR-preview h4{color:#2c3e50;font-size:1rem;margin:0 0 1rem;font-weight:600}.SR-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #cbd5e1}.SR-preview-grid div{font-size:.9rem;color:#495057;line-height:1.6}.SR-preview-grid strong{color:#2c3e50;font-weight:600;display:block;margin-bottom:.3rem}.SR-preview-motivo{color:#495057;font-size:.9rem;margin:0;line-height:1.6}.SR-preview-motivo strong{color:#2c3e50;font-weight:600}.SR-message{background:#fef3c7;border-left:4px solid #fbbf24;padding:1rem;border-radius:6px;font-size:.85rem;color:#92400e;line-height:1.5}.SR-message em{display:block;font-style:italic;margin-top:.5rem}.SR-submit-btn{background-color:#f5a425;color:#fff;border:none;padding:.9rem 1.8rem;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;margin-top:1.5rem;width:100%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.SR-submit-btn:hover:enabled{background-color:#ea580c;transform:translateY(-2px);box-shadow:0 4px 12px #f5a42533}.SR-submit-btn:disabled{background-color:#cbd5e1;cursor:not-allowed;transform:none}.SR-paginacion{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem;width:100%}.SR-paginacion span{color:#495057;font-weight:500;font-size:.9rem}.SR-paginacion button{background:#fff;border:1px solid #d1d5db;color:#495057;padding:.5rem .8rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;min-width:40px;display:inline-flex;align-items:center;justify-content:center}.SR-paginacion button:hover:enabled{background:#f3f4f6;border-color:#9ca3af}.SR-paginacion button:disabled{opacity:.5;cursor:not-allowed}.HRD-paginacion{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.5rem 0}.HRD-paginacion span{color:#495057;font-weight:500;font-size:.9rem}.HRD-paginacion button{background:#fff;border:1px solid #d1d5db;color:#495057;padding:.5rem .8rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;min-width:40px;display:inline-flex;align-items:center;justify-content:center}.HRD-paginacion button:hover:enabled{background:#f3f4f6;border-color:#9ca3af}.HRD-paginacion button:disabled{opacity:.5;cursor:not-allowed}.SR-paginacion button:hover,.HRD-paginacion button:hover{background:#f5f5f5}.SR-paginacion button:active,.HRD-paginacion button:active{transform:translateY(1px)}.SR-paginacion button:disabled,.HRD-paginacion button:disabled{opacity:.45;cursor:not-allowed;background:#fafafa}.SR-paginacion span,.HRD-paginacion span{font-size:.95rem;color:#333;padding:0 6px}@media(max-width:480px){.SR-paginacion,.HRD-paginacion{gap:6px;margin-top:8px}.SR-paginacion span,.HRD-paginacion span{font-size:.85rem}.SR-paginacion button,.HRD-paginacion button{padding:6px 8px;min-width:34px}}:root{--horsem-primary-color: #0d3883;--horsem-accent-color: #0d3883;--horsem-button-bg: #f5a425;--horsem-bg-color: #f8fafc;--horsem-card-bg: #ffffff;--horsem-border-color: #e2e8f0;--horsem-text-color: #1e293b;--horsem-text-muted: #64748b;--horsem-time-item-bg: #eff6ff;--horsem-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06)}body{margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--horsem-bg-color);color:var(--horsem-text-color)}.HorSem-main-container{max-width:1200px;margin:2rem auto;padding:0 1rem;display:flex;flex-direction:column;gap:1.5rem}.HorSem-header{display:flex;align-items:center;justify-content:center;gap:1rem;text-align:center;color:var(--horsem-primary-color)}.HorSem-header-icon{font-size:2.5rem}.HorSem-title{margin:0;font-size:2rem;font-weight:700}.HorSem-subtitle{margin:0;color:var(--horsem-text-muted);font-size:1rem}.HorSem-card{background-color:var(--horsem-card-bg);border-radius:12px;padding:1.5rem;box-shadow:var(--horsem-shadow);border:1px solid var(--horsem-border-color)}.HorSem-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;color:var(--horsem-primary-color)}.HorSem-card-icon{font-size:1.25rem}.HorSem-card-title{margin:0;font-size:1.25rem;font-weight:600}.HorSem-grid-main{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.HorSem-grid-main{grid-template-columns:1fr 1.5fr}}.HorSem-form{display:flex;flex-direction:column;gap:1rem}.HorSem-label{font-size:.875rem;font-weight:500;color:var(--horsem-text-muted);margin-bottom:-.5rem}.HorSem-label-with-icon{display:inline-flex;align-items:center;gap:.35rem}.HorSem-info-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;color:var(--horsem-accent-color);font-size:.95rem;cursor:help}.HorSem-info-icon:hover{color:#0d6efd}.HorSem-select,.HorSem-time-input{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--horsem-border-color);background-color:#f1f5f9;font-size:1rem;color:var(--horsem-text-color);appearance:none}.HorSem-time-input-wrapper{position:relative;display:flex;align-items:center}.HorSem-time-icon{position:absolute;right:1rem;color:var(--horsem-text-muted);pointer-events:none}.HorSem-add-btn{background-color:var(--horsem-button-bg);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background-color .2s;margin-top:1rem}.HorSem-add-btn:hover{background-color:#ea580c}.HorSem-list-header{justify-content:space-between;margin-bottom:0}.HorSem-count-badge{background-color:#dbeafe;color:var(--horsem-accent-color);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.HorSem-horarios-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.HorSem-horario-item{display:flex;align-items:center;justify-content:space-between;background-color:var(--horsem-time-item-bg);border-radius:8px;padding:1rem;border:1px solid #bfdbfe}.HorSem-horario-info{display:flex;align-items:center;gap:.75rem;color:var(--horsem-accent-color)}.HorSem-horario-icon{font-size:1rem}.HorSem-horario-time{font-size:1rem;font-weight:500;color:var(--horsem-text-color)}.HorSem-delete-btn{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1rem;padding:.5rem;border-radius:4px;transition:background-color .2s}.HorSem-delete-btn:hover{background-color:#fee2e2}.HorSem-no-schedules-msg{text-align:center;color:var(--horsem-text-muted);font-style:italic}.HorSem-resumen-title{color:var(--horsem-primary-color);margin-bottom:1.5rem}.HorSem-resumen-days{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(min-width:640px){.HorSem-resumen-days{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.HorSem-resumen-days{grid-template-columns:repeat(7,1fr)}}.HorSem-resumen-day-card{border:1px solid var(--horsem-border-color);border-radius:8px;padding:1rem;text-align:center;cursor:pointer;transition:all .2s}.HorSem-resumen-day-card:hover{border-color:#bfdbfe;background-color:#f0f9ff}.HorSem-day-name{font-size:1rem;font-weight:600;color:var(--horsem-text-color)}.HorSem-day-count{font-size:.75rem;color:var(--horsem-text-muted)}.HorSem-active-day{background-color:var(--horsem-accent-color);border-color:var(--horsem-accent-color);color:#fff}.HorSem-active-day:hover{background-color:#2563eb}.HorSem-active-day .HorSem-day-name,.HorSem-active-day .HorSem-day-count{color:#fff}.HorSem-footer{display:flex;justify-content:center;margin-top:1rem;margin-bottom:2rem}.HorSem-save-btn{background-color:var(--horsem-button-bg);color:#fff;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background-color .2s}.HorSem-save-btn:hover{background-color:#ea580c}.MRD-contenedor{padding:2rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background-color:#f9fafb;min-height:100vh}.MRD-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.MRD-btn-volver{padding:.6rem 1rem;background:#fff;color:#000;border:1px solid black;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.MRD-btn-volver:hover{background:#babec4;transform:translate(-2px)}.MRD-titulo{font-size:1.8rem;font-weight:600;margin-bottom:.3rem}.MRD-subtitulo{color:#666;font-size:.95rem;margin-bottom:2rem}.MRD-filtros{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;background:#f3f4f6;padding:1.2rem;border-radius:12px}.MRD-input-busqueda{padding:.7rem 1rem;border-radius:8px;border:none;font-size:.95rem;flex:1;background:#ececf0;color:#000}.MRD-filtros-input{display:flex;gap:1rem;width:100%;justify-content:space-between}.MRD-input-busqueda{flex:1}.MRD-select-filtro{width:200px;padding:.7rem 1rem;border-radius:8px;border:none;font-size:.95rem;background:#fff;cursor:pointer;color:#6b7280;font-weight:500;font-family:Inter,sans-serif}.MRD-input-busqueda::placeholder{color:#5b5b5c}.MRD-input-busqueda:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.MRD-select-filtro{padding:.7rem 1rem;border-radius:8px;border:none;font-size:.95rem;background:#fff;cursor:pointer;color:#6b7280;font-weight:500;min-width:150px}.MRD-lista{display:flex;flex-direction:column;gap:1.5rem}.MRD-card{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb;display:flex;gap:1.5rem}.MRD-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f59e0b);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.3rem;flex-shrink:0}.MRD-detalles{flex:1}.MRD-nombre{font-size:1rem;font-weight:600;color:#111827;margin:0}.MRD-motivo{margin:.5rem 0;color:#374151;font-size:.9rem}.MRD-fecha,.MRD-estado{font-size:.9rem;margin-bottom:.3rem}.MRD-acciones{display:flex;gap:.75rem;margin-top:.8rem}.MRD-btn-confirmar{background:#236f19;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.MRD-btn-confirmar:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 4px #10b9814d}.MRD-btn-cancelar{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.MRD-btn-cancelar:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 4px #ef44444d}.MRD-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:999}.MRD-modal-content{background:#fff;border-radius:12px;padding:2rem;width:90%;max-width:480px;box-shadow:0 10px 25px #00000026}.MRD-modal-content h3{font-size:1.2rem;font-weight:600;color:#111827;margin-bottom:1.5rem}.MRD-modal-content label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem;font-size:.95rem}.MRD-input-modal,.MRD-textarea{width:100%;padding:.75rem;margin-bottom:1rem;border-radius:8px;border:1px solid #d1d5db;font-size:.95rem;font-family:inherit}.MRD-input-modal:focus,.MRD-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.MRD-textarea{resize:vertical}.MRD-modal-actions{display:flex;justify-content:flex-end;gap:1rem}.MRD-btn-cerrar{background:#f3f4f6;color:#374151;border:none;padding:.6rem 1.2rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.MRD-btn-cerrar:hover{background:#e5e7eb}.MRD-cancelar .MRD-btn-cancelar{background:#ef4444}.MRD-cancelar .MRD-btn-cancelar:hover{background:#dc2626}.MRD-vacio{text-align:center;padding:3rem 1rem;color:#9ca3af;font-size:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.MRD-tabs{display:flex;align-items:center;gap:1rem;background:#f9fafb;border-radius:9999px;padding:.4rem}.MRD-tab{background:transparent;border:none;border-radius:9999px;padding:.5rem 1.2rem;font-size:.95rem;color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s ease}.MRD-tab:hover{background:#f3f4f6}.MRD-tab.activo{background:var(--accent);color:#fff;font-weight:600;box-shadow:0 2px 6px #2563eb40}.notification{position:fixed;top:10px;left:50%;transform:translate(-50%);background-color:#4caf50;color:#fff;padding:1rem;border-radius:8px;font-size:1rem;box-shadow:0 4px 6px #0000001a;z-index:9999;display:flex;justify-content:center;align-items:center;width:300px;animation:fadeIn .5s ease-out}.notification.success{background-color:#4caf50}.notification.error{background-color:#f44336}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.docente-ausencia-container{background:#f5f7fa;min-height:100vh;padding:32px 24px}.docente-ausencia-header{max-width:900px;margin:0 auto 32px}.docente-ausencia-titulo{font-size:28px;font-weight:700;color:#1a2c3e;margin:0 0 8px}.docente-ausencia-subtitulo{color:#5a6e7c;margin:0;font-size:14px}.docente-ausencia-list{max-width:900px;margin:0 auto;max-height:calc(100vh - 180px);overflow-y:auto;padding-right:8px}.docente-ausencia-list::-webkit-scrollbar{width:6px}.docente-ausencia-list::-webkit-scrollbar-track{background:#e2e8f0;border-radius:10px}.docente-ausencia-list::-webkit-scrollbar-thumb{background:#f2a029;border-radius:10px}.docente-ausencia-card{background:#fff;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #eef2f6;transition:all .2s ease}.docente-ausencia-card:hover{box-shadow:0 4px 12px #0000000f}.docente-ausencia-card-compacta{padding:0;overflow:hidden}.docente-ausencia-card-resumen{width:100%;border:none;background:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.docente-ausencia-card-resumen:hover{background:#fbfdff}.docente-ausencia-card-resumen-izq{min-width:0;display:flex;flex-direction:column;gap:2px}.docente-ausencia-resumen-motivo{margin:0;color:#334155;font-size:14px;font-weight:500;text-transform:capitalize}.docente-ausencia-resumen-meta{margin:0;color:#8a9aa8;font-size:12px}.docente-ausencia-card-resumen-der{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.docente-ausencia-card-toggle{font-size:12px;color:#64748b;font-weight:600}.docente-ausencia-card-body{padding:0 16px 16px;border-top:1px solid #eef2f6;animation:docente-ausencia-expand .18s ease-out}@keyframes docente-ausencia-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.docente-ausencia-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.docente-ausencia-estudiante{display:flex;align-items:center;gap:10px}.docente-ausencia-estudiante-icon{font-size:24px}.docente-ausencia-estudiante-nombre{font-size:18px;font-weight:600;color:#1a2c3e;margin:0}.docente-ausencia-estado{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:30px;font-size:11px;font-weight:600;text-transform:uppercase}.docente-ausencia-estado-pendiente{background:#fff3e0;color:#e67e22}.docente-ausencia-estado-aprobada{background:#e8f5e9;color:#27ae60}.docente-ausencia-estado-rechazada{background:#ffebee;color:#e74c3c}.docente-ausencia-motivo{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eef2f6}.docente-ausencia-motivo-icon{font-size:20px}.docente-ausencia-motivo-texto{font-size:16px;font-weight:500;color:#1a2c3e}.docente-ausencia-info-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eef2f6}.docente-ausencia-fecha-envio{font-size:13px;color:#8a9aa8}.docente-ausencia-archivo-btn{margin:0}.docente-ausencia-btn-download{background:transparent;border:1px solid #e2e8f0;border-radius:30px;padding:6px 14px;font-size:12px;font-weight:500;color:#f2a029;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.docente-ausencia-btn-download:hover:not(:disabled){background:#f2a029;border-color:#f2a029;color:#fff}.docente-ausencia-btn-download:disabled{opacity:.5;cursor:not-allowed}.docente-ausencia-fechas-container{margin-bottom:16px;padding:12px 0;border-top:1px solid #eef2f6;border-bottom:1px solid #eef2f6}.docente-ausencia-fechas-titulo{font-size:12px;font-weight:600;color:#5a6e7c;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.docente-ausencia-fechas-grid{display:flex;flex-wrap:wrap;gap:8px}.docente-ausencia-fecha-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500;color:#1a2c3e;display:inline-flex;align-items:center;gap:6px}.docente-ausencia-horario{font-size:10px;color:#8a9aa8;font-weight:400}.docente-ausencia-detalles{margin-bottom:16px;padding:12px 16px;background:#fef9f0;border-radius:12px;border-left:3px solid #f2a029}.docente-ausencia-detalles-titulo{font-size:11px;font-weight:600;color:#f2a029;text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}.docente-ausencia-detalles-texto{font-size:13px;color:#2c3e50;line-height:1.5}.docente-ausencia-acciones{display:flex;gap:12px;margin-top:8px}.docente-ausencia-btn-aprobar{background:#27ae60;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.docente-ausencia-btn-aprobar:hover:not(:disabled){background:#219653}.docente-ausencia-btn-rechazar{background:#e74c3c;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.docente-ausencia-btn-rechazar:hover:not(:disabled){background:#c0392b}.docente-ausencia-btn-aprobar:disabled,.docente-ausencia-btn-rechazar:disabled{opacity:.6;cursor:not-allowed}.docente-ausencia-empty{text-align:center;padding:48px 20px;background:#fff;border-radius:16px;border:1px solid #eef2f6;max-width:900px;margin:0 auto}.docente-ausencia-empty-icon{font-size:48px;margin-bottom:12px}.docente-ausencia-empty-text{color:#5a6e7c;font-size:14px}@media(max-width:768px){.docente-ausencia-container{padding:20px 16px}.docente-ausencia-card-resumen{flex-direction:column;align-items:flex-start}.docente-ausencia-card-resumen-der{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.docente-ausencia-info-row{flex-direction:column;align-items:flex-start;gap:10px}.docente-ausencia-card-header{flex-direction:column;align-items:flex-start}.docente-ausencia-acciones{flex-direction:column}.docente-ausencia-btn-aprobar,.docente-ausencia-btn-rechazar{width:100%;justify-content:center}.docente-ausencia-list{max-height:calc(100vh - 200px)}}@media(max-width:480px){.docente-ausencia-titulo{font-size:22px}.docente-ausencia-estudiante-nombre{font-size:16px}.docente-ausencia-card{padding:16px}.docente-ausencia-motivo-texto{font-size:14px}}.docente-ausencia-filtros-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:flex-end;max-width:900px;margin-left:auto;margin-right:auto}.docente-ausencia-filtro-group{flex:1;min-width:180px}.docente-ausencia-filtro-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;color:#8a9aa8;margin-bottom:6px;letter-spacing:.5px}.docente-ausencia-filtro-input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1a2c3e;background:#fff;transition:all .2s}.docente-ausencia-filtro-input:focus{outline:none;border-color:#f2a029;box-shadow:0 0 0 3px #f2a0291a}.docente-ausencia-filtro-select{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1a2c3e;background:#fff;cursor:pointer}.docente-ausencia-filtro-select:focus{outline:none;border-color:#f2a029}.docente-ausencia-btn-clear{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:500;color:#5a6e7c;cursor:pointer;transition:all .2s;white-space:nowrap}.docente-ausencia-btn-clear:hover{background:#f1f5f9;color:#1a2c3e}.docente-ausencia-fecha-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500;color:#1a2c3e;display:inline-block}.docente-ausencia-horario{display:none}@media(max-width:768px){.docente-ausencia-filtros-row{flex-direction:column;align-items:stretch}.docente-ausencia-filtro-group{min-width:auto}.docente-ausencia-btn-clear{width:100%;text-align:center}}.docente-ausencia-comentario-bloque{margin-top:16px}.docente-ausencia-comentario-label{display:block;font-size:11px;font-weight:600;color:#5a6e7c;text-transform:uppercase;margin-bottom:8px;letter-spacing:.5px}.docente-ausencia-comentario-textarea{width:100%;min-height:90px;resize:vertical;border:1px solid #e2e8f0;border-radius:12px;padding:12px;font-size:14px;color:#1a2c3e;background:#fff;box-sizing:border-box;margin-bottom:14px}.docente-ausencia-comentario-textarea:focus{outline:none;border-color:#f2a029;box-shadow:0 0 0 3px #f2a0291a}.docente-ausencia-comentario-guardado{margin-top:16px;padding:12px 16px;background:#fff8ef;border-radius:12px;border-left:4px solid #f2a029}.docente-ausencia-comentario-guardado-titulo{font-size:11px;font-weight:600;color:#f2a029;text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}.docente-ausencia-comentario-guardado-texto{font-size:13px;color:#2c3e50;line-height:1.5;white-space:pre-wrap}.docente-ausencia-filtro-group-nombre{flex:1.4;min-width:240px}.dcb-texto-gris{color:#6b7280}.dcb-texto-gris-sm{font-size:12px;color:#6b7280}.dcb-botones-grupo{display:flex;gap:10px;flex-wrap:wrap}.dcb-btn-seleccion{padding:8px 20px;border-radius:8px;border:2px solid #e5e7eb;background:#fff;color:#374151;font-weight:600;font-size:14px;cursor:pointer;transition:all .15s}.dcb-btn-seleccion--sm{padding:8px 16px;font-size:13px}.dcb-btn-seleccion--activo{border-color:#1c273d;background:#1c273d;color:#fff}.dcb-btn-seleccion--disabled{cursor:not-allowed;opacity:.6}.dcb-info-estudiante{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:16px 18px;margin-top:14px}.dcb-info-titulo{font-size:14px;font-weight:700;color:#0f172a;margin-bottom:12px}.dcb-info-nombre{font-weight:700;color:#0369a1;margin:0 0 2px;font-size:15px}.dcb-info-meta{color:#0284c7;margin:0 0 10px;font-size:13px}.dcb-encargados-titulo{font-size:13px;font-weight:600;color:#0369a1;margin:0 0 8px}.dcb-encargado-label{display:flex;align-items:center;gap:8px;margin-bottom:6px;cursor:pointer}.dcb-encargado-texto{font-size:13px;color:#374151}.dcb-encargado-meta{color:#6b7280}.dcb-falta-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 18px;margin-bottom:16px;display:flex;gap:24px;flex-wrap:wrap}.dcb-falta-info-label{font-size:12px;color:#6b7280;margin:0 0 2px}.dcb-falta-info-valor{font-weight:700;color:#1c273d;margin:0}.dcb-falta-info-valor--puntos{color:#ef4444}.dcb-textarea-readonly{background:#f9fafb;color:#6b7280;font-size:13px}.dcb-paginacion-info{font-size:12px;color:#6b7280;margin-bottom:10px}.dcb-paginacion{display:flex;align-items:center;gap:10px;margin-top:14px}.dcb-paginacion-btn{width:34px;height:34px;border-radius:6px;border:1.5px solid #e5e7eb;background:#fff;color:#374151;font-size:13px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.dcb-paginacion-btn:hover:not(:disabled){border-color:#1c273d;color:#1c273d}.dcb-paginacion-btn:disabled{opacity:.4;cursor:not-allowed}.dcb-paginacion-texto{font-size:13px;color:#374151;font-weight:500}.dhb-filtros{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.dhb-filtro-nombre{flex:1;min-width:200px;margin-bottom:0}.dhb-filtro-tipo{min-width:180px;margin-bottom:0}.dhb-resumen{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.dhb-resumen-card{border-radius:10px;padding:14px 20px;text-align:center}.dhb-resumen-total{background:#f8fafc;border:1px solid #e2e8f0}.dhb-resumen-numero{font-size:24px;font-weight:700;color:#1c273d;margin:0}.dhb-resumen-label{font-size:12px;color:#6b7280;margin:0}.dhb-lista{display:flex;flex-direction:column;gap:12px}.dhb-boleta-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.dhb-boleta-cabecera{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer}.dhb-boleta-cabecera-izq{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dhb-boleta-nombre{font-weight:700;color:#1c273d;margin:0;font-size:15px}.dhb-boleta-meta{color:#6b7280;margin:0;font-size:13px}.dhb-boleta-badge{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.dhb-boleta-cabecera-der{text-align:right;flex-shrink:0}.dhb-boleta-fecha{color:#374151;font-weight:600;margin:0;font-size:14px}.dhb-boleta-toggle{color:#6b7280;margin:0;font-size:12px}.dhb-boleta-detalle{padding:16px 20px;border-top:1px solid #f3f4f6;background:#fafafa}.dhb-boleta-detalle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}.dhb-detalle-label{font-size:12px;color:#6b7280;margin:0 0 2px}.dhb-detalle-valor{font-weight:600;color:#1c273d;margin:0}.dhb-detalle-puntos{color:#ef4444}.dhb-detalle-bloque{margin-bottom:10px}.dhb-detalle-texto{color:#374151;margin:0;font-size:14px}.dhb-detalle-preformatted{white-space:pre-wrap}.dhb-detalle-correctiva{font-size:13px}.ab-error{margin-bottom:16px}.ab-filtros-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:20px;display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.ab-filtro-grupo{display:flex;flex-direction:column;gap:6px}.ab-filtro-busqueda{flex:1;min-width:240px}.ab-filtro-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.ab-input-wrap{position:relative;display:flex;align-items:center}.ab-input-icono{position:absolute;left:10px;font-size:14px;pointer-events:none}.ab-input{width:100%;padding:9px 32px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1c273d;background:#f9fafb;transition:border-color .2s,background .2s;box-sizing:border-box}.ab-input:focus{outline:none;border-color:#1c273d;background:#fff}.ab-input-clear{position:absolute;right:8px;background:none;border:none;color:#9ca3af;cursor:pointer;font-size:13px;padding:2px 4px;border-radius:4px;line-height:1}.ab-input-clear:hover{color:#374151;background:#f3f4f6}.ab-select{padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1c273d;background:#f9fafb;cursor:pointer;transition:border-color .2s;min-width:160px}.ab-select:focus{outline:none;border-color:#1c273d}.ab-btn-limpiar{padding:9px 16px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;align-self:flex-end}.ab-btn-limpiar:hover{background:#f3f4f6;color:#374151;border-color:#9ca3af}.ab-resumen-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:0 4px}.ab-resumen-total{font-size:13px;font-weight:600;color:#374151;white-space:nowrap}.ab-resumen-chips{display:flex;gap:8px;flex-wrap:wrap}.ab-resumen-chip{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.ab-lista{display:flex;flex-direction:column;gap:10px}.ab-boleta-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d;cursor:pointer;transition:box-shadow .2s,transform .15s}.ab-boleta-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.ab-boleta-cabecera{display:flex;align-items:center;justify-content:space-between;padding:14px 20px}.ab-boleta-izq{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ab-boleta-badge{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;flex-shrink:0}.ab-boleta-nombre{font-weight:600;color:#1c273d;margin:0;font-size:14px}.ab-boleta-docente{color:#6b7280;margin:2px 0 0;font-size:12px}.ab-boleta-der{text-align:right;flex-shrink:0;margin-left:12px}.ab-boleta-fecha{color:#374151;font-weight:600;margin:0;font-size:14px}.ab-boleta-puntos{color:#ef4444;font-weight:600;margin:0;font-size:12px}.ab-boleta-toggle{color:#9ca3af;margin:2px 0 0;font-size:11px}.cooprin-page{background:#f8f9fa;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.cooprin-tabs{background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000000d;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));justify-content:center;gap:1rem;border-bottom:1px solid #e5e7eb;position:relative;z-index:5}.cooprin-container{max-width:1200px;margin:1.5rem auto 2rem;padding:0 1rem}.cooprin-page .page-header-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;min-height:116px;display:flex;align-items:center;padding:1.25rem 1.75rem;margin-bottom:2rem;margin-top:1.5rem}.cooprin-container .page-title{color:#1f2a47;margin:0;font-size:1.8rem;text-align:left}.cooprin-container .seccion{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000d;display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start}.cooprin-container .seccion-titulo h2{color:#1f2a47;font-size:1.2rem;margin:0;font-weight:600}.cooprin-container .seccion-contenido{background:#fafafa;padding:1rem;border-radius:8px;border:1px solid #e5e7eb}.cooprin-container .filtro-label{display:block;margin-bottom:1rem;font-weight:600;color:#1f2a47}.cooprin-container .filtro-label input{width:100%;padding:.75rem;margin-top:.4rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.cooprin-container .filtro-label input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.cooprin-container .filtro-grupo{margin-bottom:1rem}.cooprin-container .filtro-grupo span{display:block;margin-bottom:.5rem;font-weight:600;color:#1f2a47}.cooprin-container .filtro-grupo button{margin-right:.5rem;margin-bottom:.5rem;padding:.5rem 1.2rem;border:1px solid #d1d5db;border-radius:8px;background:#f3f4f6;color:#4b5563;cursor:pointer;transition:all .2s}.cooprin-container .filtro-grupo button:hover{background:#e5e7eb}.cooprin-container .filtro-grupo button.activo{background:#2563eb;color:#fff;border-color:#2563eb}.cooprin-container .filtros-acciones{display:flex;justify-content:flex-end;margin-top:1rem}.cooprin-container .btn-outline{background:#fff;border:1px solid #d1d5db;color:#374151;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer}.cooprin-container .btn-outline:hover{background:#f3f4f6}.cooprin-container .estudiantes-lista{padding:0;margin:0}.cooprin-container .estudiantes-lista li{list-style:none}.cooprin-container .estudiantes-lista.scroll-activo{max-height:320px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.cooprin-container .estudiante-item{display:grid;grid-template-columns:2fr 1fr 1fr;align-items:center;padding:14px 18px;border-bottom:1px solid #e5e7eb;transition:background .2s}.cooprin-container .estudiante-item:hover{background:#f9fafb}.cooprin-container .estudiante-nombre{font-weight:600;color:#1f2a47;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cooprin-container .estudiante-identificacion{font-size:.9rem;color:#6b7280;text-align:center}.cooprin-container .estudiante-estado{font-size:.9rem;color:#374151;text-align:right}@media(max-width:768px){.cooprin-tabs{padding:1rem;grid-template-columns:1fr}.cooprin-page .page-header-card{min-height:92px;padding:1rem 1.25rem;margin-bottom:1.25rem;margin-top:1rem}.cooprin-container .seccion{grid-template-columns:1fr}.cooprin-container .estudiante-item{grid-template-columns:1fr;gap:4px}.cooprin-container .estudiante-identificacion,.cooprin-container .estudiante-estado{text-align:left}}.asignar-materias{background-color:#f8f9fa;min-height:100vh;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cooprin-tabs{background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000000d;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;border-bottom:1px solid #e5e7eb;position:relative;z-index:5}.cooprin-tab{min-height:56px;width:100%;padding:.75rem 1rem;background:#f8fafc;border:1px solid #dbe3ef;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;color:#6b7280;transition:all .2s ease}.cooprin-tab:hover:not(.cooprin-tab-activo){background-color:#f3f4f6;color:#1f2937;border-color:#d1d5db}.cooprin-tab-activo,.cooprin-tab-activo:hover{background-color:#1f2a47;color:#fff;border-color:#1f2a47}.barra-navegacion{background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000000d;display:flex;gap:1rem;border-bottom:1px solid #e5e7eb}.btn-tab{padding:.5rem 1rem;background:none;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;color:#6b7280;transition:all .2s}.btn-tab:hover{background-color:#f3f4f6;color:#1f2937}.btn-tab.activo{background-color:#1f2a47;color:#fff}.container{max-width:1200px;margin:1.5rem auto 2rem;padding:0 1rem}.page-header-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;min-height:116px;display:flex;align-items:center;padding:1.25rem 1.75rem;margin-bottom:2rem}.page-title{color:#1f2a47;margin:0;font-size:1.8rem;text-align:left}.seccion{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000d}.seccion h2{color:#1f2a47;font-size:1.2rem;margin-bottom:1rem;font-weight:600}.docentes-wrapper{display:flex;flex-direction:column;gap:1rem}.input-busqueda{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.input-busqueda:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.lista-docentes{list-style:none;padding:0;margin:0;border:1px solid #e5e7eb;border-radius:8px;max-height:200px;overflow-y:auto}.lista-docentes.scroll-activo{max-height:200px}.docente-item{padding:.75rem 1rem;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;flex-direction:column;transition:background-color .2s}.docente-item:last-child{border-bottom:none}.docente-item:hover{background-color:#f9fafb}.docente-item.seleccionado{background-color:#eef2ff;border-left:3px solid #2563eb}.docente-item strong{color:#1f2937;margin-bottom:.25rem}.docente-item span{font-size:.85rem;color:#6b7280}.btn-filtro{padding:.5rem 1rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.9rem;color:#4b5563;transition:all .2s}.btn-filtro:hover{background-color:#e5e7eb}.btn-filtro.activo{background-color:#2563eb;color:#fff;border-color:#2563eb}.subgrupo-selector{margin-top:1rem;padding:1rem;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.subgrupo-info{color:#4b5563;margin-bottom:1rem;font-size:.95rem}.subgrupo-opciones{display:flex;gap:.5rem;flex-wrap:wrap}.btn-subgrupo{padding:.5rem 1.5rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.9rem;color:#4b5563;transition:all .2s}.btn-subgrupo:hover{background-color:#f3f4f6}.btn-subgrupo.activo{background-color:#2563eb;color:#fff;border-color:#2563eb}.materias-selector{width:100%}.select-materia{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background-color:#fff}.select-materia:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.acciones{display:flex;gap:1rem;margin:1rem 0;justify-content:flex-end}.btn-confirmar{background-color:#d87213;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-confirmar:hover:not(:disabled){background-color:#9b5412;transform:translateY(-2px);box-shadow:0 4px 12px #10b98133}.btn-limpiar{background-color:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-limpiar:hover{background-color:#4b5563}.mensaje-inline{margin:1rem 0;padding:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;animation:slideDown .3s ease}.mensaje-inline.success{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.mensaje-inline.error{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.mensaje-inline.info{background-color:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.cerrar-mensaje{background:none;border:none;color:currentColor;cursor:pointer;font-size:1.2rem;padding:0 .5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.asignaciones{margin-top:2rem}.tabla-wrapper{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.tabla-wrapper.scroll-activo{max-height:300px;overflow-y:auto}.tabla-asignaciones{width:100%;border-collapse:collapse}.tabla-asignaciones th{background-color:#f9fafb;padding:.75rem 1rem;text-align:left;font-weight:600;color:#4b5563;border-bottom:1px solid #e5e7eb}.tabla-asignaciones td{padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}.tabla-asignaciones tr:last-child td{border-bottom:none}.tabla-asignaciones tr:hover td{background-color:#f9fafb}.sin-datos{text-align:center;color:#9ca3af;padding:2rem!important;font-style:italic}.btn-modificar{background-color:#ef4444;color:#fff;border:none;padding:.4rem 1rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background-color .2s}.grupos-disponibles{margin-bottom:2rem}.grupos-disponibles h3,.grupos-seleccionados h3{color:#1f2a47;font-size:1rem;margin-bottom:1rem;font-weight:500}.filtro-grupo{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.btn-grupo-disponible{padding:.5rem 1rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.9rem;color:#4b5563;transition:all .2s;position:relative}.btn-grupo-disponible:hover:not(:disabled){background-color:#e5e7eb}.btn-grupo.seleccionado{background-color:#2563eb;color:#fff;border-color:#1e40af;cursor:default;opacity:1;font-weight:500}.btn-grupo-disponible.con-subgrupos{padding-right:2rem}.badge-subgrupo{position:absolute;top:-5px;right:-5px;background-color:#6b7280;color:#fff;font-size:.6rem;padding:.1rem .3rem;border-radius:10px}.grupos-seleccionados{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.lista-grupos-seleccionados{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.grupo-seleccionado-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #00000005}.grupo-seleccionado-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.btn-eliminar-grupo{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1.2rem;padding:0 .25rem}.btn-eliminar-grupo:hover{color:#ef4444}.configuracion-subgrupo{margin-top:.5rem}.configuracion-subgrupo label{display:block;margin-bottom:.5rem;font-size:.85rem;color:#6b7280}.opciones-subgrupo{display:flex;gap:.5rem}.btn-opcion-subgrupo{flex:1;padding:.4rem;background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:.85rem;color:#4b5563;transition:all .2s}.btn-opcion-subgrupo:hover{background-color:#f3f4f6}.btn-opcion-subgrupo.activo{background-color:#2563eb;color:#fff;border-color:#2563eb}.btn-confirmar:disabled{opacity:.5;cursor:not-allowed}.contador-grupos{margin-top:1rem;padding:.5rem;background-color:#f9fafb;border-radius:6px;font-size:.95rem;color:#4b5563}.badge-contador{display:inline-block;background-color:#2563eb;color:#fff;padding:.2rem .6rem;border-radius:20px;font-size:.85rem;margin-right:.5rem}.grupos-seleccionados-grid{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1rem}.grupo-config-card{flex:0 0 auto;width:200px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #00000005}.grupo-config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #f3f4f6}.grupo-titulo{font-weight:600;color:#1f2a47;font-size:1rem}.grupo-config-subgrupo{display:flex;flex-direction:column;gap:.5rem}.subgrupo-label{font-size:.85rem;color:#6b7280}.subgrupo-opciones-fila{display:flex;gap:.5rem}.btn-subgrupo-opcion{flex:1;padding:.4rem 0;background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:.85rem;color:#4b5563;transition:all .2s;text-align:center}.btn-subgrupo-opcion:hover{background-color:#f3f4f6}.btn-subgrupo-opcion.activo{background-color:#2563eb;color:#fff;border-color:#2563eb}.btn-grupo.ya-asignado{background-color:#e5e7eb;border-color:#9ca3af;color:#6b7280;cursor:not-allowed;opacity:.6;position:relative}.badge-asignado{position:absolute;top:-5px;right:-5px;background-color:#10b981;color:#fff;font-size:.6rem;padding:.1rem .3rem;border-radius:10px}.materia-seleccionada-info{margin-top:.75rem;padding:.5rem;background-color:#eef2ff;border-radius:6px;font-size:.9rem;color:#1e40af;text-align:center}.mensaje-texto{white-space:pre-line;line-height:1.4}.mensaje-inline.error .mensaje-texto{max-height:150px;overflow-y:auto}.tabla-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.tabla-asignaciones.header{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.tabla-body{max-height:400px;overflow-y:auto;scrollbar-gutter:stable}.tabla-asignaciones{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.tabla-asignaciones th,.tabla-asignaciones td{width:20%;padding:.75rem 1rem;text-align:left}.tabla-asignaciones th{background-color:#f9fafb;font-weight:600;font-size:.85rem;border-bottom:1px solid #e5e7eb;box-shadow:0 4px 6px -2px #0000001a;position:relative;z-index:2}.tabla-asignaciones thead{border-bottom:2px solid #d1d5db}.tabla-wrapper:after{content:"";position:sticky;top:0;height:8px;display:block;background:linear-gradient(to bottom,#00000014,#0000);pointer-events:none;z-index:1}.tabla-asignaciones tbody tr:first-child td{border-top:none}.tabla-asignaciones tbody tr:hover{background-color:#f5f7fa}.tabla-asignaciones td{border-bottom:1px solid #f3f4f6}.tabla-asignaciones tbody tr:nth-child(2n){background-color:#fafafa}.tabla-asignaciones tbody tr:hover{background-color:#f3f4f6}.btn-modificar{background-color:#ef4444;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-modificar:hover{background-color:#dc2626}.sin-datos{text-align:center;color:#9ca3af;padding:2rem;font-style:italic}.tabla-asignaciones th:nth-child(1),.tabla-asignaciones td:nth-child(1){width:30%}.tabla-asignaciones th:nth-child(2),.tabla-asignaciones td:nth-child(2){width:15%}.tabla-asignaciones th:nth-child(3),.tabla-asignaciones td:nth-child(3){width:15%}.tabla-asignaciones th:nth-child(4),.tabla-asignaciones td:nth-child(4){width:20%}.tabla-asignaciones th:nth-child(5),.tabla-asignaciones td:nth-child(5){width:20%}@media(max-width:768px){.cooprin-tabs{padding:1rem;grid-template-columns:1fr}.page-header-card{min-height:92px;padding:1rem 1.25rem;margin-bottom:1.25rem}}.horarios-page{padding:2rem;max-width:1400px;margin:0 auto}.horarios-page .horarios-header{background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:1rem;padding:1.25rem 1.5rem;margin-bottom:2rem;color:var(--text-primary, #1e293b)}.horarios-page .horarios-header:after{display:none}.horarios-header h2{color:var(--primary, #1e293b);margin-bottom:.5rem}.horarios-header p{color:var(--text-secondary, #64748b)}.section{background:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;overflow:hidden}.section-title{padding:1rem 1.5rem;background:var(--bg-light, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);font-weight:600;font-size:1.1rem}.section-content{padding:1.5rem}.upload-zone{border:2px dashed var(--border, #cbd5e1);border-radius:1rem;padding:2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--bg-light, #f8fafc)}.upload-zone.drag-over{border-color:var(--primary, #2563eb);background:#2563eb0d}.upload-zone.has-file{border-color:#10b981;background:#10b9810d}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-zone p{margin-bottom:.5rem;color:var(--text-primary, #1e293b)}.upload-zone small{color:var(--text-secondary, #64748b)}.file-chip{display:inline-block;margin-top:1rem;padding:.25rem .75rem;background:#10b981;color:#fff;border-radius:2rem;font-size:.875rem}.acciones{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.btn-cargar,.btn-confirmar{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.btn-cargar{background:var(--primary, #2563eb);color:#fff}.btn-cargar:hover:not(:disabled){background:var(--primary-dark, #1d4ed8)}.btn-confirmar{background:#10b981;color:#fff}.btn-confirmar:hover:not(:disabled){background:#059669}.btn-cargar:disabled,.btn-confirmar:disabled{opacity:.6;cursor:not-allowed}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.resumen-grid{display:flex;gap:1.5rem;flex-wrap:wrap}.resumen-card{flex:1;min-width:120px;background:var(--bg-light, #f8fafc);border-radius:.75rem;padding:1rem;text-align:center}.resumen-card .num{font-size:2rem;font-weight:700;color:var(--primary, #2563eb)}.resumen-card .lbl{color:var(--text-secondary, #64748b);font-size:.875rem}.tipo-nota-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:2px solid var(--border, #e2e8f0)}.tipo-tab{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;color:var(--text-secondary, #64748b);transition:all .2s ease;margin-bottom:-2px;display:flex;align-items:center;gap:.5rem}.tipo-tab:hover:not(.active){color:var(--primary, #2563eb);background:var(--bg-light, #f8fafc);border-bottom-color:var(--border, #cbd5e1)}.tipo-tab.active{color:var(--primary, #2563eb);border-bottom-color:var(--primary, #2563eb)}.tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid var(--border, #e2e8f0);margin-bottom:1.5rem}.tab{padding:.5rem 1rem;background:none;border:none;border-radius:.5rem .5rem 0 0;cursor:pointer;font-size:.875rem;color:var(--text-secondary, #64748b);transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.tab:hover:not(.active){background:var(--bg-light, #f8fafc);color:var(--primary, #2563eb)}.tab.active{background:var(--primary, #2563eb);color:#fff}.tab-count{background:#0000001a;padding:.125rem .5rem;border-radius:1rem;font-size:.75rem}.tab.active .tab-count{background:#fff3}.tabla-wrapper{overflow-x:auto;border-radius:.5rem;border:1px solid var(--border, #e2e8f0)}.tabla-horario{width:100%;border-collapse:collapse;font-size:.875rem}.tabla-horario th,.tabla-horario td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border, #e2e8f0)}.tabla-horario th{background:var(--bg-light, #f8fafc);font-weight:600;color:var(--text-primary, #1e293b)}.tabla-horario tr:hover{background:var(--bg-light, #f8fafc)}.seccion-cell{font-weight:600;color:var(--primary, #2563eb)}.estado-vacio{text-align:center;padding:3rem;color:var(--text-secondary, #64748b)}.condicion-aprobado{color:#10b981;font-weight:600}.condicion-aprobado-x-ampliación{color:#f59e0b;font-weight:600}.condicion-aplazado-con-ampliación,.condicion-aplazado{color:#ef4444;font-weight:600}.condicion-sin-notas{color:#6b7280;font-style:italic}.popup-notificacion{position:fixed;top:1rem;right:1rem;z-index:1000;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.popup-contenido{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a}.popup-notificacion.success .popup-contenido{background:#10b981;color:#fff}.popup-notificacion.error .popup-contenido{background:#ef4444;color:#fff}.popup-icon{font-size:1.25rem}.anio-selector{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.5rem 0}.anio-selector label{font-weight:600;color:var(--text-primary, #1e293b)}.anio-selector select{padding:.5rem 1rem;border:1px solid var(--border, #e2e8f0);border-radius:.5rem;background:#fff;font-size:.875rem;cursor:pointer;font-weight:500}.anio-selector select:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 2px #2563eb1a}:root{--estAu-primary: #1c273d;--estAu-primary-light: #2e3f61;--estAu-accent: #f5a425;--estAu-accent-dim: #f5a42522;--estAu-bg: #f4f5f7;--estAu-surface: #ffffff;--estAu-border: #e2e5ec;--estAu-text: #1c273d;--estAu-text-muted: #6b7590;--estAu-font-display: "DM Serif Display", serif;--estAu-font-body: "DM Sans", sans-serif;--estAu-radius: 12px;--estAu-radius-sm: 8px;--estAu-shadow: 0 2px 12px rgba(28, 39, 61, .08);--estAu-shadow-lg: 0 8px 32px rgba(28, 39, 61, .12);--estAu-transition: .2s ease}.estAu-root{font-family:var(--estAu-font-body);background:var(--estAu-bg);color:var(--estAu-text);min-height:100vh;padding:2rem;box-sizing:border-box}.estAu-header{margin-bottom:2rem}.estAu-header h1{font-family:var(--estAu-font-display);font-size:2rem;color:var(--estAu-primary);margin:0 0 .25rem;line-height:1.2}.estAu-header p{font-size:.9rem;color:var(--estAu-text-muted);margin:0}.estAu-header-accent{display:inline-block;width:36px;height:4px;background:var(--estAu-accent);border-radius:2px;margin-bottom:.75rem}.estAu-tabs{display:flex;gap:.5rem;margin-bottom:1.75rem;background:var(--estAu-surface);padding:.375rem;border-radius:var(--estAu-radius);box-shadow:var(--estAu-shadow);width:fit-content}.estAu-tab{padding:.5rem 1.25rem;border:none;background:transparent;border-radius:var(--estAu-radius-sm);font-family:var(--estAu-font-body);font-size:.875rem;font-weight:500;color:var(--estAu-text-muted);cursor:pointer;transition:all var(--estAu-transition);white-space:nowrap}.estAu-tab:hover{color:var(--estAu-primary);background:var(--estAu-bg)}.estAu-tab.estAu-tab--active{background:var(--estAu-primary);color:#fff;box-shadow:0 2px 8px #1c273d40}.estAu-selector-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1.75rem}.estAu-selector-label{font-size:.8rem;font-weight:600;color:var(--estAu-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.estAu-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.75rem}.estAu-metric-card{background:var(--estAu-surface);border-radius:var(--estAu-radius);padding:1.5rem;box-shadow:var(--estAu-shadow);border:1.5px solid var(--estAu-border);position:relative;overflow:hidden;transition:transform var(--estAu-transition),box-shadow var(--estAu-transition)}.estAu-metric-card:hover{transform:translateY(-2px);box-shadow:var(--estAu-shadow-lg)}.estAu-metric-card--accent{border-color:var(--estAu-accent);background:linear-gradient(135deg,#fff 60%,#fffbf2)}.estAu-metric-card--accent:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--estAu-accent);border-radius:4px 0 0 4px}.estAu-metric-icon{font-size:1.4rem;margin-bottom:.75rem;display:block}.estAu-metric-label{font-size:.75rem;font-weight:600;color:var(--estAu-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}.estAu-metric-value{font-family:var(--estAu-font-display);font-size:2rem;font-weight:700;color:var(--estAu-primary);line-height:1;margin-bottom:.25rem}.estAu-metric-value--mes{font-size:1.45rem;font-weight:700;color:var(--estAu-accent);line-height:1.2}.estAu-metric-sub{font-size:.8rem;color:var(--estAu-text-muted)}.estAu-chart-card{background:var(--estAu-surface);border-radius:var(--estAu-radius);padding:1.75rem;box-shadow:var(--estAu-shadow);border:1.5px solid var(--estAu-border)}.estAu-chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.estAu-chart-title{font-family:var(--estAu-font-display);font-size:1.1rem;color:var(--estAu-primary);margin:0}.estAu-chart-subtitle{font-size:.8rem;color:var(--estAu-text-muted);margin:.2rem 0 0}.estAu-chart-badge{background:var(--estAu-accent-dim);color:var(--estAu-accent);font-size:.75rem;font-weight:600;padding:.3rem .75rem;border-radius:20px;border:1px solid var(--estAu-accent)}.estAu-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;color:var(--estAu-text-muted);font-size:.9rem}.estAu-spinner{width:36px;height:36px;border:3px solid var(--estAu-border);border-top-color:var(--estAu-accent);border-radius:50%;animation:estAu-spin .75s linear infinite}@keyframes estAu-spin{to{transform:rotate(360deg)}}.estAu-error{background:#fff5f5;border:1.5px solid #fecaca;border-radius:var(--estAu-radius);padding:1.25rem 1.5rem;color:#b91c1c;font-size:.875rem;display:flex;align-items:center;gap:.75rem}.estAu-empty{text-align:center;padding:3rem;color:var(--estAu-text-muted);font-size:.9rem}.estAu-tooltip{background:var(--estAu-primary);color:#fff;padding:.5rem .85rem;border-radius:var(--estAu-radius-sm);font-family:var(--estAu-font-body);font-size:.8rem;box-shadow:var(--estAu-shadow-lg)}.estAu-tooltip-label{font-weight:600;margin-bottom:.15rem}.estAu-tooltip-value{color:var(--estAu-accent)}.estAu-searchselect{position:relative;min-width:220px;font-family:var(--estAu-font-body);font-size:.875rem}.estAu-searchselect--disabled{opacity:.6;pointer-events:none}.estAu-searchselect-trigger{display:flex;align-items:center;justify-content:space-between;padding:.45rem .85rem;border:1.5px solid var(--estAu-border);border-radius:var(--estAu-radius-sm);background:var(--estAu-surface);cursor:pointer;transition:border-color var(--estAu-transition);min-height:38px;gap:.5rem}.estAu-searchselect--open .estAu-searchselect-trigger{border-color:var(--estAu-accent);border-radius:var(--estAu-radius-sm) var(--estAu-radius-sm) 0 0}.estAu-searchselect-value{color:var(--estAu-primary);flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.estAu-searchselect-placeholder{color:var(--estAu-text-muted)}.estAu-searchselect-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--estAu-font-body);font-size:.875rem;color:var(--estAu-primary);padding:0;min-width:0}.estAu-searchselect-icons{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.estAu-searchselect-arrow{font-size:.65rem;color:var(--estAu-text-muted)}.estAu-searchselect-clear{font-size:.7rem;color:var(--estAu-text-muted);cursor:pointer;padding:.1rem .2rem;border-radius:3px;transition:color var(--estAu-transition)}.estAu-searchselect-clear:hover{color:#b91c1c}.estAu-searchselect-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--estAu-surface);border:1.5px solid var(--estAu-accent);border-top:none;border-radius:0 0 var(--estAu-radius-sm) var(--estAu-radius-sm);box-shadow:var(--estAu-shadow-lg);max-height:220px;overflow-y:auto;z-index:100;margin:0;padding:0;list-style:none}.estAu-searchselect-option{padding:.5rem .85rem;cursor:pointer;color:var(--estAu-text);transition:background var(--estAu-transition)}.estAu-searchselect-option:hover,.estAu-searchselect-option--highlighted{background:var(--estAu-bg)}.estAu-searchselect-option--selected{background:var(--estAu-accent-dim);color:var(--estAu-primary);font-weight:600}.estAu-searchselect-empty{padding:.75rem .85rem;color:var(--estAu-text-muted);font-size:.85rem;text-align:center}@media(max-width:768px){.estAu-root{padding:1rem}.estAu-metrics{grid-template-columns:1fr}.estAu-tabs{width:100%;overflow-x:auto}.estAu-selector-row{flex-direction:column;align-items:flex-start}.estAu-searchselect{min-width:100%}}.auxiliar-uniforme-container{background:#f4f8fb;min-height:100vh;padding:32px 24px}.auxiliar-uniforme-header{max-width:950px;margin:0 auto 32px}.auxiliar-uniforme-titulo{font-size:28px;font-weight:700;color:#0c1228;margin:0 0 8px}.auxiliar-uniforme-subtitulo{color:#5f7487;margin:0;font-size:14px}.auxiliar-uniforme-filtros-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:flex-end;max-width:950px;margin-left:auto;margin-right:auto}.auxiliar-uniforme-filtro-group{flex:1;min-width:180px}.auxiliar-uniforme-filtro-group-nombre{flex:1.4;min-width:240px}.auxiliar-uniforme-filtro-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;color:#70879c;margin-bottom:6px;letter-spacing:.5px}.auxiliar-uniforme-filtro-input,.auxiliar-uniforme-filtro-select{width:100%;padding:10px 12px;border:1px solid #d8e2ec;border-radius:10px;font-size:14px;color:#1c273d;background:#fff}.auxiliar-uniforme-filtro-input:focus,.auxiliar-uniforme-filtro-select:focus{outline:none;border-color:#162338;box-shadow:0 0 0 3px #1c273d1f}.auxiliar-uniforme-btn-clear{background:#eef4f8;border:1px solid #d8e2ec;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:500;color:#4d6478;cursor:pointer;transition:.2s}.auxiliar-uniforme-btn-clear:hover{background:#e4edf4}.auxiliar-uniforme-list{max-width:950px;margin:0 auto}.auxiliar-uniforme-card{background:#fff;border-radius:16px;margin-bottom:10px;border:1px solid #e5edf4;box-shadow:0 1px 3px #0000000d;overflow:hidden}.auxiliar-uniforme-card-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.auxiliar-uniforme-card-summary:hover{background:#f7fbff}.auxiliar-uniforme-summary-left{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.auxiliar-uniforme-estudiante-nombre{font-size:16px;font-weight:600;color:#0c1228;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auxiliar-uniforme-summary-fecha{font-size:12px;color:#7a8d9d}.auxiliar-uniforme-summary-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.auxiliar-uniforme-chevron{font-size:11px;color:#8fa3b3;transition:transform .2s;display:inline-block}.auxiliar-uniforme-chevron--open{transform:rotate(180deg)}.auxiliar-uniforme-estado{display:inline-flex;align-items:center;padding:4px 10px;border-radius:30px;font-size:11px;font-weight:700;text-transform:uppercase;white-space:nowrap}.auxiliar-uniforme-estado-pendiente{background:#fff4db;color:#b07400}.auxiliar-uniforme-estado-aprobada{background:#e8f7ee;color:#1e8e4d}.auxiliar-uniforme-estado-rechazada{background:#fdecec;color:#c63c3c}.auxiliar-uniforme-card-body{padding:0 20px 20px;border-top:1px solid #edf2f7}.auxiliar-uniforme-estudiante-id{font-size:13px;color:#6c8193;margin:0 0 14px;padding-top:14px}.auxiliar-uniforme-motivo{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #edf2f7}.auxiliar-uniforme-motivo-label{font-size:13px;font-weight:600;color:#5d7183;margin-right:6px}.auxiliar-uniforme-motivo-texto{font-size:15px;color:#1c273d;font-weight:500}.auxiliar-uniforme-info-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #edf2f7}.auxiliar-uniforme-fecha-envio{font-size:13px;color:#7a8d9d}.auxiliar-uniforme-btn-download{background:#8080801a;border:1px solid #1e3b69;border-radius:30px;padding:7px 14px;font-size:12px;font-weight:500;color:#1e3b69;cursor:pointer;transition:.2s}.auxiliar-uniforme-btn-download:hover:not(:disabled){background:#1e3b69;color:#fff}.auxiliar-uniforme-btn-download:disabled{opacity:.6;cursor:not-allowed}.auxiliar-uniforme-fechas-container{margin-bottom:14px;padding:12px 0;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7}.auxiliar-uniforme-fechas-titulo{font-size:12px;font-weight:700;color:#61778a;margin-bottom:10px;text-transform:uppercase;letter-spacing:.4px}.auxiliar-uniforme-fecha-rango{background:#f4f8fb;border:1px solid #d8e2ec;border-radius:20px;padding:8px 14px;font-size:14px;font-weight:600;color:#162338;display:inline-block}.auxiliar-uniforme-detalles{margin-bottom:14px;padding:12px 16px;background:#f4f8fb;border-radius:12px;border-left:4px solid #234e94}.auxiliar-uniforme-detalles-titulo{font-size:11px;font-weight:700;color:#234e94;text-transform:uppercase;margin-bottom:6px;letter-spacing:.4px}.auxiliar-uniforme-detalles-texto{font-size:13px;color:#294255;line-height:1.5}.auxiliar-uniforme-acciones{display:flex;gap:12px;margin-top:8px}.auxiliar-uniforme-btn-aprobar{background:#1e8e4d;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:.2s}.auxiliar-uniforme-btn-aprobar:hover:not(:disabled){background:#18733f}.auxiliar-uniforme-btn-rechazar{background:#c63c3c;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:.2s}.auxiliar-uniforme-btn-rechazar:hover:not(:disabled){background:#a92f2f}.auxiliar-uniforme-btn-aprobar:disabled,.auxiliar-uniforme-btn-rechazar:disabled{opacity:.6;cursor:not-allowed}.auxiliar-uniforme-comentario-bloque{margin-top:16px}.auxiliar-uniforme-comentario-label{display:block;font-size:12px;font-weight:700;color:#61778a;margin-bottom:8px;text-transform:uppercase;letter-spacing:.4px}.auxiliar-uniforme-comentario-textarea{width:100%;min-height:90px;resize:vertical;border:1px solid #d9e7f6;border-radius:12px;padding:12px;font-size:14px;color:#162338;background:#fff;box-sizing:border-box;margin-bottom:14px}.auxiliar-uniforme-comentario-textarea:focus{outline:none;border-color:#162338;box-shadow:0 0 0 3px #1c273d1f}.auxiliar-uniforme-comentario-guardado{margin-top:16px;padding:12px 16px;background:#f4f8fb;border-radius:12px;border-left:4px solid #f5a425}.auxiliar-uniforme-comentario-guardado-titulo{font-size:11px;font-weight:700;color:#162338;text-transform:uppercase;margin-bottom:6px;letter-spacing:.4px}.auxiliar-uniforme-comentario-guardado-texto{font-size:13px;color:#294255;line-height:1.5;white-space:pre-wrap}.auxiliar-uniforme-empty{text-align:center;padding:48px 20px;background:#fff;border-radius:16px;border:1px solid #e5edf4;max-width:950px;margin:0 auto}.auxiliar-uniforme-empty-text{color:#5f7487;font-size:14px}@media(max-width:768px){.auxiliar-uniforme-container{padding:20px 16px}.auxiliar-uniforme-card-header,.auxiliar-uniforme-info-row,.auxiliar-uniforme-acciones,.auxiliar-uniforme-filtros-row{flex-direction:column;align-items:stretch}.auxiliar-uniforme-btn-aprobar,.auxiliar-uniforme-btn-rechazar,.auxiliar-uniforme-btn-clear{width:100%}}@media(max-width:480px){.auxiliar-uniforme-titulo{font-size:22px}.auxiliar-uniforme-estudiante-nombre{font-size:15px}.auxiliar-uniforme-card-summary{padding:14px 16px}.auxiliar-uniforme-card-body{padding:0 16px 16px}}.auxiliar-solicitudes-container{max-width:1400px;margin:0 auto;padding:2rem;background-color:#f3f4f6;min-height:100vh}.auxiliar-solicitudes-header{margin-bottom:2rem;background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #00000014}.auxiliar-solicitudes-titulo{font-size:2rem;color:#1f2a47;margin:0;font-weight:700}.auxiliar-solicitudes-subtitulo{color:#6b7280;margin:.5rem 0 0;font-size:.95rem}.auxiliar-solicitudes-tabs{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.auxiliar-solicitudes-tab{padding:.75rem 1.5rem;background-color:#fff;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-weight:500;color:#4b5563;cursor:pointer;transition:all .3s}.auxiliar-solicitudes-tab:hover{border-color:#1f2a47;color:#1f2a47}.auxiliar-solicitudes-tab.activa{background-color:#1f2a47;color:#fff;border-color:#1f2a47}.auxiliar-solicitudes-filtros-row{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;background-color:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014}.auxiliar-solicitudes-filtro-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.auxiliar-solicitudes-filtro-group-nombre{flex:2;min-width:300px}.auxiliar-solicitudes-filtro-label{font-weight:500;color:#4b5563;font-size:.85rem}.auxiliar-solicitudes-filtro-input,.auxiliar-solicitudes-filtro-select{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;background-color:#fff;transition:all .2s}.auxiliar-solicitudes-filtro-input:focus,.auxiliar-solicitudes-filtro-select:focus{outline:none;border-color:#1f2a47;box-shadow:0 0 0 3px #1f2a471a}.auxiliar-solicitudes-btn-clear{align-self:flex-end;padding:.75rem 1.5rem;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#4b5563;font-weight:500;cursor:pointer;transition:all .2s}.auxiliar-solicitudes-btn-clear:hover{background-color:#e5e7eb}.auxiliar-solicitudes-list{background-color:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;overflow:hidden}.auxiliar-solicitudes-empty{padding:3rem 2rem;text-align:center}.auxiliar-solicitudes-empty-text{color:#9ca3af;font-size:1rem;margin:0}.auxiliar-solicitudes-table-wrapper{overflow-x:auto}.auxiliar-solicitudes-table{width:100%;border-collapse:collapse}.auxiliar-solicitudes-table-header{background:linear-gradient(135deg,#1f2a47,#151f36);color:#fff;font-weight:600;text-align:left;font-size:.85rem}.auxiliar-solicitudes-table-header th{padding:1rem;border-bottom:2px solid #1f2a47}.auxiliar-solicitudes-table-row{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.auxiliar-solicitudes-table-row:hover{background-color:#f9fafb}.auxiliar-solicitudes-table-row:last-child{border-bottom:none}.auxiliar-solicitudes-cell{padding:.875rem 1rem;font-size:.9rem;vertical-align:middle}.auxiliar-solicitudes-estudiante-info{margin:0}.auxiliar-solicitudes-nombre{font-weight:600;color:#1f2937;margin:0;font-size:.9rem}.auxiliar-solicitudes-id{color:#6b7280;font-size:.8rem;margin:.25rem 0 0}.auxiliar-solicitudes-texto{margin:0;color:#374151;font-size:.9rem}.auxiliar-solicitudes-detalle{margin:0;color:#6b7280;font-size:.85rem;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auxiliar-solicitudes-btn-descargar{padding:.5rem .75rem;background-color:#eef2ff;border:1px solid #1f2a47;border-radius:6px;color:#1f2a47;font-weight:500;font-size:.8rem;cursor:pointer;transition:all .2s}.auxiliar-solicitudes-btn-descargar:hover{background-color:#1f2a47;color:#fff}.auxiliar-solicitudes-sin-archivo{color:#d1d5db;font-size:.9rem}.auxiliar-solicitudes-estado{display:inline-block;padding:.4rem .75rem;border-radius:6px;font-weight:600;font-size:.75rem;text-align:center}.auxiliar-solicitudes-estado-pendiente{background-color:#fef3c7;color:#92400e;border:1px solid #f59e0b}.auxiliar-solicitudes-estado-aprobada{background-color:#d1fae5;color:#065f46;border:1px solid #10b981}.auxiliar-solicitudes-estado-rechazada{background-color:#fee2e2;color:#991b1b;border:1px solid #dc2626}.auxiliar-solicitudes-acciones-cell{display:flex;gap:.5rem;flex-wrap:wrap}.auxiliar-solicitudes-btn-aceptar,.auxiliar-solicitudes-btn-rechazar,.auxiliar-solicitudes-btn-cancelar{padding:.55rem .9rem;border:none;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s}.auxiliar-solicitudes-btn-aceptar{background-color:#d1fae5;color:#065f46}.auxiliar-solicitudes-btn-aceptar:hover{background-color:#10b981;color:#fff}.auxiliar-solicitudes-btn-rechazar{background-color:#fee2e2;color:#991b1b}.auxiliar-solicitudes-btn-rechazar:hover{background-color:#dc2626;color:#fff}.auxiliar-solicitudes-estado-info{color:#6b7280;font-size:.85rem}.auxiliar-solicitudes-banner{margin:1rem 0;padding:1rem 1.25rem;background-color:#e0f2fe;color:#0c4a6e;border:1px solid #7dd3fc;border-radius:10px}.auxiliar-solicitudes-modal-backdrop{position:fixed;inset:0;background-color:#0f172a8c;display:flex;justify-content:center;align-items:center;z-index:999;padding:1rem}.auxiliar-solicitudes-modal{width:min(540px,100%);background-color:#fff;border-radius:18px;padding:2rem;box-shadow:0 18px 50px #0f172a2e}.auxiliar-solicitudes-modal h2{margin:0 0 .5rem;font-size:1.4rem;color:#111827}.auxiliar-solicitudes-modal-subtitulo{margin:0 0 1rem;color:#4b5563;line-height:1.6}.auxiliar-solicitudes-modal-textarea{width:100%;min-height:140px;padding:1rem;border:1px solid #d1d5db;border-radius:12px;resize:vertical;font-size:.95rem;color:#111827;margin-bottom:1.25rem}.auxiliar-solicitudes-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.auxiliar-solicitudes-btn-cancelar{background-color:#f3f4f6;color:#374151}.auxiliar-solicitudes-btn-cancelar:hover{background-color:#d1d5db}.auxiliar-solicitudes-estado-efectuado{background-color:#dbeafe;color:#0c4a6e;border:1px solid #0284c7}.auxiliar-solicitudes-estado-no_efectuado{background-color:#f3e8ff;color:#5b21b6;border:1px solid #a855f7}@media(max-width:1024px){.auxiliar-solicitudes-container{padding:1rem}.auxiliar-solicitudes-filtros-row{flex-direction:column}.auxiliar-solicitudes-filtro-group{flex:1;min-width:100%}.auxiliar-solicitudes-filtro-group-nombre{min-width:100%}.auxiliar-solicitudes-table-wrapper{overflow-x:auto}.auxiliar-solicitudes-cell{padding:.75rem .5rem;font-size:.85rem}.auxiliar-solicitudes-detalle{max-width:150px}}@media(max-width:768px){.auxiliar-solicitudes-titulo{font-size:1.5rem}.auxiliar-solicitudes-tabs{flex-direction:column}.auxiliar-solicitudes-tab{width:100%;text-align:center}.auxiliar-solicitudes-table-header th{padding:.75rem .5rem;font-size:.75rem}.auxiliar-solicitudes-cell{padding:.5rem .25rem;font-size:.8rem}.auxiliar-solicitudes-table-wrapper{font-size:.8rem}}.acb-texto-gris{color:#6b7280}.acb-texto-gris-sm{font-size:12px;color:#6b7280}.acb-botones-grupo{display:flex;gap:10px;flex-wrap:wrap}.acb-btn-seleccion{padding:8px 20px;border-radius:8px;border:2px solid #e5e7eb;background:#fff;color:#374151;font-weight:600;font-size:14px;cursor:pointer;transition:all .15s}.acb-btn-seleccion--sm{padding:8px 16px;font-size:13px}.acb-btn-seleccion--activo{border-color:#1c273d;background:#1c273d;color:#fff}.acb-btn-seleccion--disabled{cursor:not-allowed;opacity:.6}.acb-info-estudiante{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:16px 18px;margin-top:14px}.acb-info-titulo{font-size:14px;font-weight:700;color:#0f172a;margin-bottom:12px}.acb-info-nombre{font-weight:700;color:#0369a1;margin:0 0 2px;font-size:15px}.acb-info-meta{color:#0284c7;margin:0 0 10px;font-size:13px}.acb-encargados-titulo{font-size:13px;font-weight:600;color:#0369a1;margin:0 0 8px}.acb-encargado-label{display:flex;align-items:center;gap:8px;margin-bottom:6px;cursor:pointer}.acb-encargado-texto{font-size:13px;color:#374151}.acb-encargado-meta{color:#6b7280}.acb-falta-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 18px;margin-bottom:16px;display:flex;gap:24px;flex-wrap:wrap}.acb-falta-info-label{font-size:12px;color:#6b7280;margin:0 0 2px}.acb-falta-info-valor{font-weight:700;color:#1c273d;margin:0}.acb-falta-info-valor--puntos{color:#ef4444}.acb-textarea-readonly{background:#f9fafb;color:#6b7280;font-size:13px}.acb-paginacion-info{font-size:12px;color:#6b7280;margin-bottom:10px}.acb-paginacion{display:flex;align-items:center;gap:10px;margin-top:14px}.acb-paginacion-btn{width:34px;height:34px;border-radius:6px;border:1.5px solid #e5e7eb;background:#fff;color:#374151;font-size:13px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.acb-paginacion-btn:hover:not(:disabled){border-color:#1c273d;color:#1c273d}.acb-paginacion-btn:disabled{opacity:.4;cursor:not-allowed}.acb-paginacion-texto{font-size:13px;color:#374151;font-weight:500}.aeb-panel-busqueda{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:24px;display:flex;flex-direction:column;gap:14px}.aeb-scope-tabs{display:flex;gap:8px}.aeb-scope-tab{padding:8px 18px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;color:#000;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s}.aeb-scope-tab:hover{background:#f3f4f6;color:#374151}.aeb-scope-tab--activo{background:#1c273d;color:#fff;border-color:#1c273d}.aeb-busqueda-fila{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.aeb-input-wrap{position:relative;flex:1;min-width:200px;display:flex;align-items:center}.aeb-input-icono{position:absolute;left:10px;font-size:14px;pointer-events:none}.aeb-input{width:100%;padding:10px 32px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1c273d;background:#f9fafb;transition:border-color .2s,background .2s;box-sizing:border-box}.aeb-input:focus{outline:none;border-color:#1c273d;background:#fff}.aeb-input-clear{position:absolute;right:8px;background:none;border:none;color:#9ca3af;cursor:pointer;font-size:13px;padding:2px 4px;border-radius:4px}.aeb-input-clear:hover{color:#374151;background:#f3f4f6}.aeb-btn-buscar{padding:10px 24px;background:#1c273d;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;height:42px;white-space:nowrap;transition:background .2s}.aeb-btn-buscar:hover:not(:disabled){background:#2d3f5e}.aeb-btn-buscar:disabled{opacity:.5;cursor:not-allowed}.aeb-resultados{display:flex;flex-direction:column;gap:24px}.aeb-cards-resumen{display:flex;flex-wrap:wrap;gap:12px}.aeb-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 20px;min-width:130px;flex:1;box-shadow:0 1px 3px #0000000d}.aeb-card--total{border-top:4px solid #1c273d}.aeb-card--pico{border-top:4px solid #f59e0b}.aeb-card--promedio{border-top:4px solid #6b7280}.aeb-card-numero{font-size:28px;font-weight:800;color:#1c273d;margin:0 0 2px;line-height:1}.aeb-card--pico .aeb-card-numero{color:#b45309}.aeb-card--promedio .aeb-card-numero{color:#374151}.aeb-card-label{font-size:13px;font-weight:600;color:#374151;margin:0 0 2px}.aeb-card-sub{font-size:11px;color:#9ca3af;margin:0}.aeb-grafico-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.aeb-grafico-titulo{font-size:15px;font-weight:700;color:#1c273d;margin:0 0 24px}.aeb-grafico{display:flex;align-items:flex-end;gap:10px;height:200px;padding-bottom:32px;position:relative}.aeb-grafico:before{content:"";position:absolute;inset:0 0 32px;background-image:repeating-linear-gradient(to bottom,#f3f4f6 0px,#f3f4f6 1px,transparent 1px,transparent 25%);pointer-events:none;border-radius:4px}.aeb-barra-col{flex:1;min-width:28px;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end;position:relative}.aeb-barra-valor{font-size:11px;font-weight:700;color:#374151;min-height:16px}.aeb-barra-track{width:100%;flex:1;display:flex;align-items:flex-end}.aeb-barra{width:100%;background:#93afd4;border-radius:5px 5px 2px 2px;transition:height .5s cubic-bezier(.34,1.56,.64,1);min-height:4px}.aeb-barra--actual{background:#1c273d}.aeb-barra-mes{font-size:10px;font-weight:600;color:#000;text-transform:capitalize;position:absolute;bottom:0;white-space:nowrap}.aeb-barra-mes--actual{color:#1c273d;font-weight:700}.aeb-grafico-leyenda{display:flex;gap:20px;margin-top:16px;padding-top:12px;border-top:1px solid #f3f4f6}.aeb-leyenda-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;font-weight:500}.aeb-leyenda-dot{width:12px;height:12px;border-radius:3px;display:inline-block}.aeb-leyenda-dot--normal{background:#93afd4}.aeb-leyenda-dot--actual{background:#1c273d}.aeb-estado-inicial{text-align:center;padding:60px 24px;color:#9ca3af}.aeb-estado-icono{font-size:48px;margin:0 0 12px}.aeb-estado-texto{font-size:14px;color:#6b7280;margin:0}.aeb-resultado-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.aeb-resultado-scope{font-size:13px;font-weight:700;color:#1c273d;background:#f1f5f9;padding:4px 10px;border-radius:6px}.aeb-resultado-valor{font-size:13px;font-weight:600;color:#374151}.aeb-resultado-anio{font-size:12px;color:#9ca3af;margin-left:auto}.estNo-root{display:flex;flex-direction:column;gap:24px}.estNo-filtros-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:30px;display:flex;gap:20px;align-items:end;flex-wrap:wrap;justify-content:flex-start;width:100%;max-width:none;margin:0;box-sizing:border-box}.estNo-filtro-grupo{display:flex;flex-direction:column;gap:8px;min-width:230px}.estNo-filtro-grupo label{font-size:13px;font-weight:800;color:#1c273d;text-transform:uppercase;letter-spacing:.5px}.estNo-filtro-grupo select{height:42px;min-width:230px;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;color:#1c273d;font-size:14px}.estNo-filtro-grupo select:focus{outline:none;border-color:#1c273d;background:#fff}.estNo-btn{height:42px;padding:10px 28px;background:#1c273d;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap;transition:background .2s}.estNo-btn:hover:not(:disabled){background:#2d3f5e}.estNo-btn:disabled{opacity:.5;cursor:not-allowed}.estNo-error{background:#fee2e2;color:#7f1d1d;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600}.estNo-empty{text-align:center;padding:50px 24px;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.estNo-resultados{display:flex;flex-direction:column;gap:24px}.estNo-resultado-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.estNo-resultado-scope{font-size:13px;font-weight:700;color:#1c273d;background:#f1f5f9;padding:4px 10px;border-radius:6px}.estNo-resultado-anio{font-size:12px;color:#9ca3af;margin-left:auto}.estNo-cards{display:flex;flex-wrap:wrap;gap:12px}.estNo-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 20px;min-width:180px;flex:1;box-shadow:0 1px 3px #0000000d}.estNo-card--total{border-top:4px solid #1c273d}.estNo-card--aprobados{border-top:4px solid #15803d}.estNo-card--aplazados{border-top:4px solid #b91c1c}.estNo-card-num{font-size:28px;font-weight:800;color:#1c273d;margin:0 0 2px;line-height:1}.estNo-card--aprobados .estNo-card-num{color:#15803d}.estNo-card--aplazados .estNo-card-num{color:#b91c1c}.estNo-card-label{font-size:13px;font-weight:600;color:#374151;margin:0 0 2px}.estNo-card-sub{font-size:11px;color:#9ca3af;margin:0}.estNo-barra-general{width:100%;height:18px;display:flex;overflow:hidden;background:#f3f4f6;border-radius:999px;border:1px solid #e5e7eb}.estNo-barra-aprobados{background:#15803d;transition:width .4s ease}.estNo-barra-aplazados{background:#b91c1c;transition:width .4s ease}.estNo-leyenda{display:flex;gap:20px;flex-wrap:wrap;margin-top:-12px}.estNo-leyenda span{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;font-weight:600}.estNo-dot{width:12px;height:12px;border-radius:3px;display:inline-block}.estNo-dot--aprobado{background:#15803d}.estNo-dot--aplazado{background:#b91c1c}.estNo-tabla-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d;overflow-x:auto}.estNo-tabla-card h2{font-size:15px;font-weight:700;color:#1c273d;margin:0 0 18px}.estNo-tabla{width:100%;border-collapse:collapse;min-width:760px}.estNo-tabla th{background:#f9fafb;color:#374151;font-size:12px;font-weight:800;text-align:left;padding:12px;border-bottom:1px solid #e5e7eb}.estNo-tabla td{padding:12px;border-bottom:1px solid #f3f4f6;font-size:13px;color:#374151}.estNo-tabla tbody tr:hover{background:#f9fafb}.estNo-materia{font-weight:700;color:#1c273d}.estNo-ok{color:#15803d!important;font-weight:700}.estNo-danger{color:#b91c1c!important;font-weight:700}.estNo-mini-track{width:100%;height:10px;background:#f3f4f6;border-radius:999px;overflow:hidden}.estNo-mini-bar{height:100%;background:#93afd4;border-radius:999px;transition:width .4s ease}@media(max-width:768px){.estNo-filtros-card{padding:20px}.estNo-filtro-grupo,.estNo-filtro-grupo select{width:100%;min-width:100%}.estNo-btn{width:100%}}.docentes-panel{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;margin-top:2rem}.docentes-lista-panel{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.docentes-lista-panel h3{color:#1f2a47;margin-bottom:1rem;font-size:1.1rem}.docentes-lista{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto}.docente-item-lista{padding:.75rem;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.docente-item-lista:hover{background-color:#f3f4f6;border-color:#2563eb}.docente-item-lista.seleccionado{background-color:#eef2ff;border-color:#2563eb}.docente-item-lista.completado{opacity:.7;border-color:#10b981}.docente-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.docente-nombre{font-weight:600;color:#1f2a47}.completado-badge{font-size:.9rem}.docente-item-detalle{display:flex;gap:.5rem;font-size:.8rem}.docente-area{color:#2563eb}.docente-tipo{color:#6b7280}.docente-form-panel{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.docente-form-panel h3{color:#1f2a47;margin-bottom:1rem}.docente-info{margin-bottom:1.5rem;padding:1rem;background-color:#f9fafb;border-radius:8px}.docente-info p{margin:.5rem 0;color:#4b5563}.btn-ver-horario{margin-top:.5rem;padding:.5rem 1rem;background-color:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-ver-horario:hover{background-color:#1e40af}.horario-preview{margin-top:1rem;overflow-x:auto}.formulario-docente{margin-top:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#4b5563;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.form-group input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-actions{margin-top:1.5rem;display:flex;justify-content:flex-end}.btn-guardar{padding:.75rem 1.5rem;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-guardar:hover:not(:disabled){background-color:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b98133}.btn-guardar:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.docentes-panel{grid-template-columns:1fr}}.btn-limpiar-cache{background-color:#ef4444;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s;margin-left:1rem}.btn-limpiar-cache:hover:not(:disabled){background-color:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef444433}.resumen-section{margin:1rem 0;padding:1rem;background-color:#f9fafb;border-radius:8px}.resumen-grid{display:flex;gap:1rem}.resumen-card{background:#fff;padding:1rem;border-radius:8px;text-align:center;flex:1;box-shadow:0 2px 4px #0000000d}.resumen-card .num{font-size:2rem;font-weight:700;color:#2563eb}.resumen-card .lbl{font-size:.85rem;color:#6b7280}.docentes-lista-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.docentes-lista-header h3{margin:0;color:#1f2a47;font-size:1.1rem}.filtro-busqueda{position:relative;display:flex;align-items:center;min-width:250px}.input-filtro-docentes{width:100%;padding:.6rem 2.5rem .6rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;background-color:#fff;transition:all .2s}.input-filtro-docentes:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.input-filtro-docentes::placeholder{color:#9ca3af}.btn-limpiar-filtro{position:absolute;right:8px;background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1rem;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.btn-limpiar-filtro:hover{color:#ef4444;background-color:#f3f4f6}.sin-resultados{text-align:center;padding:2rem;color:#6b7280;background-color:#f9fafb;border-radius:8px;margin:1rem 0}.sin-resultados span{font-size:2rem;display:block;margin-bottom:.5rem}.sin-resultados p{margin:0;font-size:.9rem}.resultados-filtro{margin-top:.75rem;padding:.5rem;text-align:center;font-size:.8rem;color:#6b7280;background-color:#f3f4f6;border-radius:6px}@media(max-width:768px){.docentes-lista-header{flex-direction:column;align-items:stretch}.filtro-busqueda{width:100%}}.popup-notificacion{position:fixed;top:2rem;right:2rem;z-index:1000;animation:slideIn .3s ease-out}.popup-contenido{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;border-left:4px solid;min-width:280px;max-width:400px}.popup-notificacion.success .popup-contenido{border-left-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.popup-notificacion.error .popup-contenido{border-left-color:#ef4444;background:linear-gradient(135deg,#fff,#fef2f2)}.popup-icon{font-size:1.5rem}.popup-contenido p{margin:0;font-size:.95rem;color:#1f2937;flex:1}@keyframes slideIn{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.popup-notificacion{top:1rem;right:1rem;left:1rem}.popup-contenido{width:auto;min-width:auto}}.g-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:16px;background:#f6f7fb;min-height:100vh;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.g-sidebar{background:#fff;border-radius:14px;box-shadow:0 1px 2px #0000000d;padding:8px;display:flex;flex-direction:column;gap:6px}.g-sidebar-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;color:#344054;cursor:default}.g-sidebar-item .material-symbols-outlined{font-size:20px}.g-active{background:#eef2ff;color:#3730a3;font-weight:600}.g-main{background:#fff;border-radius:14px;box-shadow:0 1px 2px #0000000d;padding:16px}.g-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.g-header h2{margin:0;color:#111827;font-size:18px;font-weight:700}.g-search{width:220px;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;outline:none;font-size:14px}.g-search:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px #a5b4fc59}.g-state,.g-error{color:#6b7280;padding:24px 8px}.g-error{color:#b91c1c}.g-list{display:flex;flex-direction:column;gap:12px}.g-card{display:grid;grid-template-columns:48px 1fr;gap:14px;border:1px solid #eef2f7;border-radius:14px;padding:14px;background:#fbfcff}.g-left{display:flex;align-items:center;justify-content:center}.g-icon{width:40px;height:40px;background:#eef2ff;display:grid;place-items:center;border-radius:8px}.g-icon .material-symbols-outlined{color:#3730a3}.g-body{display:flex;flex-direction:column;gap:8px}.g-row-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.g-date{font-weight:700;color:#111827}.g-chip{font-size:12px;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3}.g-row{color:#374151}.g-row strong{color:#111827}.g-cedulas{display:inline-flex;gap:6px;flex-wrap:wrap}.g-ced{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f3f4f6;border:1px solid #e5e7eb;padding:2px 8px;border-radius:8px;font-size:13px;color:#111827}.g-actions{margin-top:6px;display:flex;gap:8px}.g-btn{padding:8px 12px;border-radius:10px;border:1px solid transparent;background:#fff;cursor:pointer;font-weight:600;font-size:13px}.g-btn:hover{filter:brightness(.98)}.g-ok{border-color:#16a34a33;background:#16a34a13;color:#166534}.g-warn{border-color:#b91c1c33;background:#b91c1c13;color:#7f1d1d}@media(max-width:960px){.g-layout{grid-template-columns:1fr}.g-sidebar{display:none}}.g-sidebar-item{display:flex;gap:8px;align-items:center;width:100%;padding:10px 12px;border:none;background:transparent;cursor:pointer;border-radius:8px;text-align:left}.g-sidebar-item.g-active{background:#f2a029;color:#fff}.g-pagination{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.g-page-btn,.g-page-num{border:1px solid #e5e7eb;background:#fff;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:14px}.g-page-btn:disabled{opacity:.5;cursor:not-allowed}.g-page-num.active{background:#2563eb;color:#fff;border-color:#2563eb}.g-ellipsis{padding:0 4px;color:#9ca3af}.g-page-info{margin-top:4px;color:#6b7280;font-size:13px}.g-header-actions{display:flex;gap:8px;align-items:center}.g-toggle{border:1px solid #e5e7eb;background:#fff;padding:8px 12px;border-radius:10px;cursor:pointer;font-size:14px}.g-toggle.active{background:#111827;color:#fff;border-color:#111827}.g-ids{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.g-id{display:flex;align-items:center;gap:8px;color:#5b7083;font-size:14px}.g-id-icon{font-size:18px;color:#6b7280;line-height:1}.g-id-label{font-weight:600;letter-spacing:.02em}.g-id-value{font-weight:600;color:#3b82f6;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:.02em}.g-ids-empty{margin-top:6px;color:#9ca3af}:root{--color-primary: #ff9800;--color-text-dark: #333;--color-text-medium: #555;--color-text-light: #777;--color-bg-light: #f9f9f9;--color-border: #eee;--color-high-bg: #ffebee;--color-high-text: #c62828;--color-medium-bg: #fff3e0;--color-medium-text: #fb8c00;--color-low-bg: #e8f5e9;--color-low-text: #2e7d32}.g-notice-board-container{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--color-text-dark);background-color:var(--color-bg-light);padding:1.5rem;width:100%;box-sizing:border-box}.g-notice-board-wrapper{max-width:100%;margin:0 auto}.g-notice-board-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.5rem}.g-notice-board-title{margin:0;font-size:1.4rem;font-weight:600}.g-notice-board-subtitle{margin:0;color:var(--color-text-light);font-size:.9rem}.g-notice-board-create-btn{background-color:var(--color-primary);color:#fff;border:none;padding:8px 18px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;box-shadow:0 2px 4px #0000001a}.g-notice-board-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:1.2rem}.g-notice-board-search{flex-grow:1;padding:10px 12px;border:1px solid #ccc;border-radius:8px;background-color:#fff;font-size:.9rem}.g-notice-board-filter{padding:10px 12px;border:1px solid #ccc;border-radius:8px;background-color:#fff;appearance:none;min-width:160px;font-size:.9rem}.g-notice-board-tabs{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;flex-wrap:wrap}.g-notice-board-tab{padding:8px 16px;background:transparent;border:none;cursor:pointer;border-bottom:2px solid transparent;color:var(--color-text-medium);transition:all .3s;font-size:.9rem}.g-notice-board-tab:hover{color:var(--color-text-dark)}.g-notice-board-tab.g-tab-active{font-weight:600;color:var(--color-text-dark);border-bottom:2px solid var(--color-primary)}.g-notice-board-list{display:flex;flex-direction:column;gap:1rem}.g-notice-board-item{background-color:#fff;padding:1.2rem;border-radius:10px;border:1px solid var(--color-border);box-shadow:0 1px 4px #0000000d}.g-notice-board-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.g-notice-board-item-title{margin:0;font-size:1.1rem;font-weight:600}.g-notice-board-item-content p{color:var(--color-text-medium);margin:0 0 .5rem;line-height:1.6;font-size:.95rem}.g-notice-board-priority{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:700;white-space:nowrap}.g-priority-high{background-color:var(--color-high-bg);color:var(--color-high-text)}.g-priority-medium{background-color:var(--color-medium-bg);color:var(--color-medium-text)}.g-priority-low{background-color:var(--color-low-bg);color:var(--color-low-text)}.g-notice-board-item-details{font-size:.85rem;color:var(--color-text-light);border-top:1px solid #f0f0f0;padding-top:.8rem;margin-top:.8rem}.g-notice-board-item-audience{margin-bottom:.6rem}.g-notice-board-item-footer{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-medium)}.g-notice-board-item-date{font-weight:500}.g-notice-board-item-audience:before{content:"👥";margin-right:5px}.g-notice-board-item-footer:before{content:"👤";margin-right:5px}.g-salidas-page{max-width:1200px;margin:0 auto;padding:1.75rem;background:#f3f4f6;min-height:100vh}.g-salidas-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.75rem;background:#fff;border-radius:18px;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 50px #0f172a0f;margin-bottom:1.75rem}.g-salidas-header h2{margin:0;font-size:2rem;color:#111827;font-weight:700}.g-salidas-subtitle{margin:.5rem 0 0;color:#4b5563;font-size:.95rem;max-width:600px;line-height:1.6}.g-salidas-header-actions{display:flex;gap:.75rem;align-items:center;width:100%;max-width:520px}.g-salidas-search{width:100%;min-width:240px;border:1px solid #d1d5db;border-radius:14px;padding:.95rem 1rem;outline:none;font-size:.95rem;background:#fff;transition:all .25s ease}.g-salidas-search:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.g-salidas-toggle{border:1px solid #d1d5db;padding:.95rem 1.25rem;border-radius:14px;background:#fff;cursor:pointer;font-size:.95rem;font-weight:600;color:#111827;transition:all .25s ease}.g-salidas-toggle.active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 12px 24px #2563eb2e}.g-salidas-state,.g-salidas-error{padding:2rem 1.25rem;margin-bottom:1rem;border-radius:16px;background:#fff;border:1px solid rgba(15,23,42,.08);color:#4b5563}.g-salidas-error{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.g-salidas-list{display:grid;gap:1rem}.g-salidas-card{display:grid;grid-template-columns:56px 1fr;gap:.85rem;padding:1.1rem;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.06);box-shadow:0 14px 30px #0f172a0d;transition:transform .2s ease,box-shadow .2s ease}.g-salidas-card:hover{transform:translateY(-1px);box-shadow:0 18px 40px #0f172a12}.g-salidas-left{display:flex;align-items:center;justify-content:center}.g-salidas-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#eef2ff,#dbeafe);display:grid;place-items:center}.g-salidas-icon .material-symbols-outlined{color:#1d4ed8;font-size:22px}.g-salidas-body{display:grid;gap:.65rem;min-width:0}.g-salidas-row-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem}.g-salidas-date{font-size:.98rem;font-weight:700;color:#111827}.g-salidas-chip{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;color:#1d4ed8;background:#dbeafe}.g-salidas-details{display:grid;gap:.6rem;padding-top:.6rem}.g-salidas-row{display:flex;gap:.35rem;flex-wrap:wrap;color:#374151;font-size:.95rem;line-height:1.4}.g-salidas-row strong{color:#111827}.g-salidas-actions-wrapper{display:flex;justify-content:flex-end;width:100%}.g-salidas-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.g-salidas-btn{padding:.7rem .95rem;border-radius:12px;border:1px solid transparent;min-width:120px;transition:all .2s ease;font-weight:700}.g-salidas-btn{padding:.85rem 1.1rem;border-radius:14px;border:1px solid transparent;min-width:140px;transition:all .2s ease;font-weight:700}.g-salidas-ok{background:#dcfce7;color:#166534;border-color:#a7f3d0}.g-salidas-ok:hover{background:#16a34a;color:#fff}.g-salidas-warn{background:#fee2e2;color:#991b1b;border-color:#fecaca}.g-salidas-warn:hover{background:#dc2626;color:#fff}.g-salidas-pagination{margin-top:1.5rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}.g-salidas-page-btn,.g-salidas-page-num{border:1px solid #e5e7eb;background:#fff;padding:.75rem 1rem;border-radius:12px;cursor:pointer;font-size:.95rem;color:#111827;transition:background .2s ease,color .2s ease}.g-salidas-page-btn:hover:not(:disabled),.g-salidas-page-num:hover{background:#eff6ff}.g-salidas-page-btn:disabled{opacity:.5;cursor:not-allowed}.g-salidas-page-num.active{background:#2563eb;color:#fff;border-color:#2563eb}.g-salidas-ellipsis{padding:0 4px;color:#9ca3af}.g-salidas-page-info{margin-top:.75rem;text-align:center;color:#6b7280;font-size:.95rem}@media(max-width:920px){.g-salidas-page{padding:1.25rem}.g-salidas-card{grid-template-columns:1fr}}@media(max-width:640px){.g-salidas-header{padding:1.25rem}.g-salidas-header-actions{flex-direction:column;align-items:stretch}.g-salidas-page-info{text-align:left}}.Enc_Seg_wrapper{--sa-bg: #f4f6fb;--sa-surface: #ffffff;--sa-border: #e2e8f0;--sa-text: #1e293b;--sa-text-muted: #64748b;--sa-primary: #2563eb;--sa-primary-light: #eff6ff;--sa-accent: #0ea5e9;--sa-grade-A: #16a34a;--sa-grade-B: #2563eb;--sa-grade-C: #ca8a04;--sa-grade-D: #ea580c;--sa-grade-F: #dc2626;--sa-grade-A-bg: #f0fdf4;--sa-grade-B-bg: #eff6ff;--sa-grade-C-bg: #fefce8;--sa-grade-D-bg: #fff7ed;--sa-grade-F-bg: #fef2f2;--sa-radius: 12px;--sa-shadow: 0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.04);--sa-shadow-md: 0 4px 24px rgba(37,99,235,.12);font-family:inherit;background:var(--sa-bg);min-height:100vh;padding:24px;box-sizing:border-box;color:var(--sa-text)}.Enc_Seg_scale-banner{background:var(--sa-surface);border:1px solid var(--sa-border);border-radius:var(--sa-radius);padding:14px 20px;margin-bottom:16px;box-shadow:var(--sa-shadow);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.Enc_Seg_scale-label{font-size:12px;font-weight:600;color:var(--sa-text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.Enc_Seg_scale-chips{display:flex;gap:8px;flex-wrap:wrap}.Enc_Seg_chip{display:flex;flex-direction:column;align-items:center;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;line-height:1.3}.Enc_Seg_chip span:last-child{font-size:10px;font-weight:400;opacity:.8;margin-top:1px}.Enc_Seg_chip--A{background:var(--sa-grade-A-bg);color:var(--sa-grade-A)}.Enc_Seg_chip--B{background:var(--sa-grade-B-bg);color:var(--sa-grade-B)}.Enc_Seg_chip--C{background:var(--sa-grade-C-bg);color:var(--sa-grade-C)}.Enc_Seg_chip--D{background:var(--sa-grade-D-bg);color:var(--sa-grade-D)}.Enc_Seg_chip--F{background:var(--sa-grade-F-bg);color:var(--sa-grade-F)}.Enc_Seg_scale-min-note{font-size:13px;font-weight:600;color:#162338;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;padding:5px 14px}.Enc_Seg_period-bar{background:var(--sa-surface);border:1px solid var(--sa-border);border-radius:var(--sa-radius);padding:14px 20px;margin-bottom:24px;box-shadow:var(--sa-shadow);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.Enc_Seg_period-label{font-size:12px;font-weight:600;color:var(--sa-text-muted);text-transform:uppercase;letter-spacing:.06em}.Enc_Seg_period-buttons{display:flex;gap:8px}.Enc_Seg_period-btn{padding:8px 20px;border-radius:8px;border:1.5px solid var(--sa-border);background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:var(--sa-text-muted);cursor:not-allowed;opacity:.5;transition:all .2s;position:relative}.Enc_Seg_period-btn.Enc_Seg_period-btn--available{cursor:pointer;opacity:1;color:var(--sa-text);border-color:var(--sa-border)}.Enc_Seg_period-btn.Enc_Seg_period-btn--available:hover{border-color:var(--sa-primary);color:var(--sa-primary);background:var(--sa-primary-light)}.Enc_Seg_period-btn.Enc_Seg_period-btn--active{background:var(--sa-primary);border-color:var(--sa-primary);color:#fff;cursor:pointer;opacity:1;box-shadow:0 2px 8px #2563eb4d}.Enc_Seg_period-info{margin-left:auto;font-size:11px;color:var(--sa-text-muted);font-style:italic}.Enc_Seg_card{background:var(--sa-surface);border:1px solid var(--sa-border);border-radius:var(--sa-radius);box-shadow:var(--sa-shadow);overflow:hidden;margin-bottom:24px}.Enc_Seg_card-header{background:linear-gradient(135deg,#1e3554,#162338);border-bottom:3px solid #f5a425;color:#fff;padding:20px 28px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.Enc_Seg_card-title{font-family:"DM Serif Display",serif;font-size:22px;font-weight:400;letter-spacing:.02em;margin:0 0 2px}.Enc_Seg_card-subtitle{font-size:13px;opacity:.75;margin:0}.Enc_Seg_print-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1.5px solid rgba(255,255,255,.4);background:#ffffff1f;color:#fff;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.Enc_Seg_print-btn:hover{background:#ffffff38;border-color:#fff9}.Enc_Seg_print-btn svg{width:15px;height:15px}.Enc_Seg_student-meta{padding:16px 28px;border-bottom:1px solid var(--sa-border);display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#fafbff}.Enc_Seg_meta-item label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--sa-text-muted);margin-bottom:2px}.Enc_Seg_meta-item span{font-size:14px;font-weight:600;color:var(--sa-text)}.Enc_Seg_table-wrap{overflow-x:auto}.Enc_Seg_table{width:100%;border-collapse:collapse}.Enc_Seg_table thead tr{background:#f8fafc;border-bottom:2px solid var(--sa-border)}.Enc_Seg_table th{padding:12px 20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--sa-text-muted);text-align:left}.Enc_Seg_table th:last-child{text-align:right}.Enc_Seg_table tbody tr{border-bottom:1px solid var(--sa-border);transition:background .15s}.Enc_Seg_table tbody tr:last-child{border-bottom:none}.Enc_Seg_table tbody tr:hover{background:#f8fafc}.Enc_Seg_table td{padding:14px 20px;font-size:14px}.Enc_Seg_td-subject{font-weight:600;color:var(--sa-text)}.Enc_Seg_td-teacher{color:var(--sa-text-muted);font-size:13px}.Enc_Seg_td-grade{text-align:right}.Enc_Seg_grade-pill{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:6px 14px;border-radius:20px;font-size:17px;font-weight:700}.Enc_Seg_grade-pill--A{background:var(--sa-grade-A-bg);color:var(--sa-grade-A)}.Enc_Seg_grade-pill--B{background:var(--sa-grade-B-bg);color:var(--sa-grade-B)}.Enc_Seg_grade-pill--C{background:var(--sa-grade-C-bg);color:var(--sa-grade-C)}.Enc_Seg_grade-pill--D{background:var(--sa-grade-D-bg);color:var(--sa-grade-D)}.Enc_Seg_grade-pill--F{background:var(--sa-grade-F-bg);color:var(--sa-grade-F)}.Enc_Seg_average-footer{border-top:2px solid var(--sa-primary);padding:18px 28px;display:flex;align-items:center;justify-content:space-between;background:var(--sa-primary-light)}.Enc_Seg_avg-info strong{display:block;font-size:15px;font-weight:700;color:var(--sa-text)}.Enc_Seg_avg-info span{font-size:12px;color:var(--sa-text-muted)}.Enc_Seg_avg-value{font-family:"DM Serif Display",serif;font-size:38px;font-weight:400;line-height:1}.Enc_Seg_avg-status{font-size:13px;font-weight:600;margin-left:12px;align-self:flex-end;padding-bottom:4px}.Enc_Seg_avg-right{display:flex;align-items:flex-end;gap:4px}.Enc_Seg_empty{padding:56px 28px;text-align:center;color:var(--sa-text-muted)}.Enc_Seg_empty svg{margin-bottom:14px;opacity:.35}.Enc_Seg_empty h3{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--sa-text)}.Enc_Seg_empty p{font-size:13px;margin:0}.Enc_Seg_generated{text-align:center;font-size:11px;color:var(--sa-text-muted);padding:12px;border-top:1px solid var(--sa-border)}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.Enc_Seg_wrapper{background:#fff;padding:0}.Enc_Seg_scale-banner,.Enc_Seg_period-bar,.Enc_Seg_print-btn{display:none!important}.Enc_Seg_card{box-shadow:none;border:1px solid #ccc}.Enc_Seg_table-wrap{overflow:visible!important}}@media(max-width:600px){.Enc_Seg_wrapper{padding:12px}.Enc_Seg_student-meta{grid-template-columns:1fr 1fr}.Enc_Seg_card-header{flex-direction:column}.Enc_Seg_average-footer{flex-direction:column;gap:8px;align-items:flex-start}}.Enc_Seg_grade-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-weight:600;font-size:14px}.Enc_Seg_grade-pill--A{background-color:#dcfce7;color:#166534}.Enc_Seg_grade-pill--B{background-color:#dbeafe;color:#1e40af}.Enc_Seg_grade-pill--C{background-color:#fef9c3;color:#854d0e}.Enc_Seg_grade-pill--D{background-color:#ffedd5;color:#9a3412}.Enc_Seg_grade-pill--F{background-color:#fee2e2;color:#7f1d1d}
