@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-utec-cyan: #00B5E2;--color-utec-cyan-dark: #0092B8;--color-utec-cyan-light: #E0F7FE;--color-utec-yellow: #FFC72C;--color-utec-blue-deep: #002B49;--color-exito: #059669;--color-exito-bg: #ECFDF5;--color-exito-border: #A7F3D0;--color-advertencia: #D97706;--color-advertencia-bg: #FFFBEB;--color-advertencia-border: #FDE68A;--color-error: #DC2626;--color-error-bg: #FEF2F2;--color-error-border: #FECACA;--color-info: #0284C7;--color-info-bg: #EFF6FF;--color-info-border: #BAE6FD;--color-dark-main: #0F172A;--color-dark-surface: #1E293B;--color-dark-subtle: #334155;--color-bg-app: #F8FAFC;--color-sidebar: #FFFFFF;--color-card-bg: #FFFFFF;--color-border-card: #E2E8F0;--color-border-subtle: #E8EEF5;--color-border-divider: #F1F5F9;--color-text-main: #0F172A;--color-text-secondary: #334155;--color-text-muted: #64748B;--color-text-light: #94A3B8;--radius-panel: 14px;--radius-card: 10px;--radius-item: 8px;--radius-badge: 6px;--shadow-subtle: 0 1px 3px rgba(15, 23, 42, .04), 0 2px 6px rgba(15, 23, 42, .02);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-hover: 0 4px 14px rgba(15, 23, 42, .08);--shadow-modal: 0 20px 25px -5px rgba(15, 23, 42, .25), 0 8px 10px -6px rgba(15, 23, 42, .15)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden;font-family:var(--font-family);background-color:var(--color-bg-app);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}button{font-family:inherit;border:none;background:none;cursor:pointer}input,select,textarea{font-family:inherit}a{text-decoration:none;color:inherit}.page-container,.vista-container,.calendario-page-container,.tablero-notas-container,.actas-content,.estudiantes-page-container,.dashboard-content,.prelacion-container,.postulantes-content,.horarios-container,.horarios-content,.tramites-container,.tramites-content,.escolaridad-container,.escolaridad-content,.asignaturas-container,.asignaturas-content,.inasistencias-container,.inasistencias-content,.reportes-container,.reportes-content,.profesores-page-container,.materias-page-container,.config-container,.sincro-container,.importar-container,.grupos-container,.asignacion-page-container{padding:24px 32px 32px;display:flex;flex-direction:column;gap:22px;width:100%;box-sizing:border-box;min-width:0;min-height:100%}@media(max-width:1024px){.page-container,.vista-container,.calendario-page-container,.tablero-notas-container,.actas-content,.estudiantes-page-container,.dashboard-content,.calificaciones-content,.prelacion-container,.postulantes-content,.horarios-container,.horarios-content,.tramites-container,.tramites-content,.escolaridad-container,.escolaridad-content,.asignaturas-container,.asignaturas-content,.inasistencias-container,.inasistencias-content,.reportes-container,.reportes-content,.profesores-page-container,.materias-page-container,.config-container,.sincro-container,.importar-container,.grupos-container,.asignacion-page-container{padding:20px 20px 36px;gap:18px}}@media(max-width:768px){.page-container,.vista-container,.calendario-page-container,.tablero-notas-container,.actas-content,.estudiantes-page-container,.dashboard-content,.calificaciones-content,.prelacion-container,.postulantes-content,.horarios-container,.horarios-content,.tramites-container,.tramites-content,.escolaridad-container,.escolaridad-content,.asignaturas-container,.asignaturas-content,.inasistencias-container,.inasistencias-content,.reportes-container,.reportes-content,.profesores-page-container,.materias-page-container,.config-container,.sincro-container,.importar-container,.grupos-container,.asignacion-page-container{padding:16px 12px 28px;gap:16px}}.btn-primary-action,.btn-action-primary,.btn-primary-confirm,.btn-nueva-nota,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.15rem;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0284c733;white-space:nowrap}.btn-primary-action:hover:not(:disabled),.btn-action-primary:hover:not(:disabled),.btn-primary-confirm:hover:not(:disabled),.btn-nueva-nota:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0369a1,#075985);transform:translateY(-1px);box-shadow:0 4px 8px #0284c74d}.btn-primary-action:disabled,.btn-action-primary:disabled,.btn-primary-confirm:disabled,.btn-nueva-nota:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn-action-outline,.btn-secondary,.btn-secondary-action,.btn-cancel-modal,.btn-outline,.btn-hoy-nav{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:600;color:#334155;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px #00000008;white-space:nowrap}.btn-action-outline:hover,.btn-secondary:hover,.btn-cancel-modal:hover,.btn-outline:hover,.btn-hoy-nav:hover{background-color:#f1f5f9;border-color:#94a3b8;color:#0f172a}.btn-danger-confirm,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1.15rem;font-size:.875rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #ef444433;white-space:nowrap}.btn-danger-confirm:hover,.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.btn-icon-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background-color:#f8fafc;border:1px solid #e2e8f0;color:#475569;cursor:pointer;transition:all .15s ease;flex-shrink:0}.btn-icon-action:hover{background-color:#fff;color:#0284c7;border-color:#0284c7}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;width:100%}@media(max-width:1024px){.kpi-grid{grid-template-columns:repeat(2,1fr);gap:.85rem}}@media(max-width:600px){.kpi-grid{grid-template-columns:1fr;gap:.75rem}}.form-group,.form-group-refined{display:flex;flex-direction:column;gap:.35rem;width:100%}.form-row,.form-row-two{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%}@media(max-width:640px){.form-row,.form-row-two{grid-template-columns:1fr;gap:.75rem}}.form-label,.form-label-refined{font-size:.85rem;font-weight:600;color:#334155;display:flex;align-items:center;gap:4px}.required-asterisk{color:#dc2626;font-weight:700}.form-control,.form-control-refined,.form-input,.form-select,.form-textarea{width:100%;padding:.6rem .75rem;font-size:.875rem;border:1px solid #cbd5e1;border-radius:8px;background-color:#f8fafc;color:#1e293b;outline:none;box-sizing:border-box;transition:all .2s ease}.form-textarea,.form-textarea-refined{resize:vertical;min-height:80px}.form-control:focus,.form-control-refined:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{background-color:#fff;border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.modal-backdrop{position:fixed;inset:0;z-index:10000;background:#0f172aa6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:modalFadeInBackdrop .2s cubic-bezier(.16,1,.3,1);overflow-y:auto}@keyframes modalFadeInBackdrop{0%{opacity:0}to{opacity:1}}.modal-dialog,.modal-card,.modal-container{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);border:1px solid #E2E8F0;overflow:hidden;animation:modalScaleInDialog .22s cubic-bezier(.16,1,.3,1)}@keyframes modalScaleInDialog{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:16px 20px;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between;background:#f8fafc;gap:16px;flex-shrink:0}.modal-title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a;line-height:1.25}.modal-body{padding:20px;overflow-y:auto;flex:1;max-height:calc(85vh - 120px)}.modal-footer{padding:14px 20px;border-top:1px solid #E2E8F0;background:#f8fafc;display:flex;justify-content:flex-end;gap:10px;flex-shrink:0;flex-wrap:wrap}@media(max-width:640px){.modal-dialog,.modal-card,.modal-container{max-width:95vw;width:95vw;max-height:94vh}.modal-header,.modal-body,.modal-footer{padding:12px 14px}}.table-container,.tabla-scroll,.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #00000008}.tabla-institucional,table.data-table{width:100%;border-collapse:collapse;text-align:left;min-width:680px}.tabla-institucional thead th,table.data-table thead th{background:#f8fafc;color:#475569;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;border-bottom:1px solid #e2e8f0}.tabla-institucional tbody td,table.data-table tbody td{padding:12px 16px;border-bottom:1px solid #f1f5f9;font-size:.875rem;color:#1e293b;vertical-align:middle}.tabla-institucional tbody tr:hover,table.data-table tbody tr:hover{background-color:#f8fafc}.badge,.badge-tag,.badge-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.badge-exito{background-color:var(--color-exito-bg);color:var(--color-exito);border:1px solid var(--color-exito-border)}.badge-advertencia{background-color:var(--color-advertencia-bg);color:var(--color-advertencia);border:1px solid var(--color-advertencia-border)}.badge-peligro,.badge-error{background-color:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.badge-info{background-color:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.badge-neutral{background-color:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.badge-role-student{background:#00b5e240;color:#7fe5ff;border:1px solid rgba(0,181,226,.4)}.badge-role-teacher{background:#7c3aed47;color:#ddd6fe;border:1px solid rgba(124,58,237,.45)}.badge-role-admin{background:#0d948847;color:#99f6e4;border:1px solid rgba(13,148,136,.45)}.badge-role-coord{background:#d9770647;color:#fde68a;border:1px solid rgba(217,119,6,.45)}.tabs-navigation-row{border-bottom:2px solid #E2E8F0;margin-top:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs-list{display:flex;gap:10px;margin-bottom:-2px;min-width:max-content}.tab-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:none;border:none;border-bottom:2.5px solid transparent;font-size:13.5px;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s ease;white-space:nowrap}.tab-btn:hover{color:#09c}.tab-btn.active{color:#09c;border-bottom-color:#09c}@media(max-width:1024px){.grid-columnas-kanban{display:flex!important;overflow-x:auto!important;gap:1.25rem!important;padding-bottom:1rem!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x mandatory!important}.grid-columnas-kanban>.columna-kanban{min-width:290px!important;max-width:340px!important;flex:0 0 290px!important;scroll-snap-align:start!important}}@media(max-width:768px){.calendario-top-bar{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.calendario-mes-selector{justify-content:space-between!important;width:100%!important}.calendario-filtros-rapidos{flex-direction:column!important;align-items:stretch!important;width:100%!important}.calendario-modulo-principal{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.calendario-dias-cabecera,.calendario-cuadricula-mes{min-width:580px!important}}:root{--shell-header-h: 124px;--shell-sidebar-w: 240px;--shell-bottom-h: 0px}@media(max-width:1024px)and (min-width:769px){:root{--shell-header-h: 96px;--shell-sidebar-w: 68px}}@media(max-width:768px){:root{--shell-header-h: 68px;--shell-sidebar-w: 0px;--shell-bottom-h: 56px}}.modal-backdrop,.modal-overlay{inset:var(--shell-header-h) 0 var(--shell-bottom-h) var(--shell-sidebar-w)!important;width:auto!important;height:auto!important;padding:24px 16px!important;overflow-y:auto;box-sizing:border-box}.modal-dialog-md,.modal-dialog-lg,.modal-dialog-large,.modal-dialog-medium,.modal-dialog-detalle,.modal-card:not(.modal-alert-card),.modal-container{width:100%!important;max-width:920px!important}.modal-dialog,.modal-dialog-md,.modal-dialog-lg,.modal-dialog-large,.modal-dialog-medium,.modal-dialog-detalle,.modal-dialog-baja,.modal-card,.modal-container{max-height:calc(100vh - var(--shell-header-h) - var(--shell-bottom-h) - 48px)!important;margin:auto}html,body{max-width:100%;overflow-x:hidden}img,svg,video,canvas{max-width:100%}input,select,textarea{max-width:100%;box-sizing:border-box}@media(max-width:1200px){.kpi-grid,.kpi-metrics-grid,.eval-summary-banner,.att-summary-banner,.malla-semestres-grid,.grupos-cards-grid,.summary-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-main-content,.mapa-dashboard-grid,.central-bottom-grid,.analytics-grid{grid-template-columns:minmax(0,1fr)!important}}@media(max-width:900px){.dashboard-body,.grid-two-panels,.extremes-row,.expanded-details-grid,.exam-detail-grid,.examenes-kpis-row,.modal-location-banner,.subjects-summary-grid{grid-template-columns:minmax(0,1fr)!important}}@media(max-width:640px){.kpi-grid,.kpi-metrics-grid,.eval-summary-banner,.att-summary-banner,.malla-semestres-grid,.grupos-cards-grid,.summary-cards-grid,.parametros-fijados-grid,.detail-kpis-row,.flow-kpis-grid,.doc-student-info-grid,.info-2col-grid,.info-grid-modal,.detalle-ficha-grid,.nuevo-rubro-form-grid,.rubro-controles-grid,.form-row-config,.form-row-2,.form-row-3,.form-row-two,.form-row-three,.form-grid-dos-col,.form-grid-3,.grid-two-inputs,.type-segmented-selector,.grid-columnas-kanban{grid-template-columns:minmax(0,1fr)!important}[class*=search],[class*=filter]{min-width:0!important}.modal-backdrop,.modal-overlay{padding:12px 8px!important}}[class*=table-wrapper],[class*=table-container],[class*=tabla-wrapper],[class*=tabla-contenedor],[class*=table-responsive]{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}@media(max-width:768px){.page-title-card,.filters-actions-bar,.filter-and-tabs-bar{flex-wrap:wrap;min-width:0;max-width:100%}.header-action-buttons{flex-wrap:wrap;width:100%;min-width:0;max-width:100%}.header-action-buttons>*{max-width:100%;min-width:0}.steps-indicator{flex-wrap:wrap;gap:10px;max-width:100%}.steps-indicator .step{min-width:0}.tabs-header-nav{max-width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.tabs-header-nav>*{flex-shrink:0}.filters-left-group,.filter-pills-row,.selects-row,.filter-select-wrapper{min-width:0;max-width:100%;flex-wrap:wrap}.filter-select-wrapper select,.clean-select{min-width:0;max-width:100%}}@media(max-width:768px){.header-left-group,.th-title-group,.table-card-header{min-width:0;max-width:100%}}.table-container-card,.table-responsive,.table-scroll-container{overflow-x:auto!important;-webkit-overflow-scrolling:touch;max-width:100%}.pill-segmented-control{max-width:100%;overflow-x:auto}@media(max-width:768px){[class*=title-actions],[class*=header-actions],[class*=action-buttons],[class*=-actions-row],[class*=toolbar]{flex-wrap:wrap!important;min-width:0;max-width:100%}[class*=title-actions]>.btn-primary,[class*=title-actions]>.btn-secondary,[class*=header-actions]>button{max-width:100%}}@media(max-width:768px){.calendario-dias-cabecera,.calendario-cuadricula-mes{grid-template-columns:repeat(7,minmax(0,1fr))!important;min-width:0!important;width:100%}.dia-col-nombre{padding:8px 0!important;font-size:9px!important;letter-spacing:0!important;overflow:hidden}.celda-dia-calendario{min-height:58px!important;padding:3px!important;min-width:0;overflow:hidden}.celda-dia-header{gap:2px;min-width:0}.numero-dia-badge{font-size:11px!important}.btn-agregar-en-dia{display:none!important}.pildora-aviso,.pildora-evento{height:5px!important;min-height:5px!important;padding:0!important;margin:1px 0!important;font-size:0!important;line-height:0!important;overflow:hidden;border-radius:3px!important}.pildora-aviso>*,.pildora-evento>*{display:none!important}}@media(max-width:768px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}.modal-footer:empty{display:none}}@keyframes shimmerEfecto{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-loading{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmerEfecto 1.6s infinite ease-in-out;border-radius:6px;color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.skeleton-text{height:14px;margin-bottom:6px;border-radius:4px}.skeleton-text-sm{height:11px;margin-bottom:4px;border-radius:3px}.skeleton-title{height:22px;width:55%;margin-bottom:10px;border-radius:6px}.skeleton-card{height:110px;border-radius:12px;border:1px solid #E2E8F0;background:#fff;padding:16px;display:flex;flex-direction:column;gap:10px}.skeleton-table-row{height:48px;border-radius:8px;margin-bottom:8px}.skeleton-pill{height:24px;width:80px;border-radius:20px}.bloque-horario-contenedor{display:flex;width:100%;height:100%;gap:6px;position:relative;transition:all .35s cubic-bezier(.16,1,.3,1)}.bloque-horario-dividido{display:flex;flex-direction:row;width:100%;height:100%;gap:6px}.bloque-horario-dividido .class-block-card{flex:1 1 0;min-width:0;padding:8px 10px;gap:4px;transition:all .35s cubic-bezier(.16,1,.3,1)}.bloque-horario-dividido .class-title{font-size:11.5px!important;line-height:1.25!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bloque-horario-dividido .class-group-tag{font-size:10.5px!important;padding:1px 5px!important}.bloque-horario-dividido .class-meta-row{font-size:10.5px!important;gap:4px!important}.bloque-horario-dividido .class-time-badge,.bloque-horario-dividido .class-mode-badge{font-size:10px!important;padding:2px 5px!important}.drop-zona-activa{background:#e0f2fe!important;border:2px dashed #0284C7!important;transform:scale(1.02);transition:all .2s cubic-bezier(.16,1,.3,1)}.drop-zona-invalida{background:#fee2e2!important;border:2px dashed #DC2626!important}.elemento-arrastrandose{opacity:.45!important;transform:scale(.97);box-shadow:0 8px 20px #002b4933!important}
