@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";.clean-navbar{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1000}.navbar-container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:56px}.navbar-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;padding:4px 0}.navbar-brand:hover{color:inherit}.navbar-logo{width:32px;height:32px;border-radius:6px;object-fit:cover}.brand-info{display:flex;flex-direction:column;line-height:1.2}.brand-name{font-size:15px;font-weight:600;color:#111827;margin:0}.brand-tagline{font-size:11px;color:#9ca3af;font-weight:500}.desktop-nav{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}.nav-link{display:flex;align-items:center;gap:8px;padding:8px 14px;color:#6b7280;text-decoration:none;font-size:13px;font-weight:500;border-radius:6px;transition:color .15s ease,background .15s ease}.nav-link:hover{color:#111827;background:#f3f4f6}.nav-link.active{color:#2563eb;background:#eff6ff}.nav-icon{font-size:14px}.nav-text{font-weight:500}.nav-divider{width:1px;height:20px;background:#e5e7eb;margin:0 8px}.navbar-actions{display:flex;align-items:center;gap:12px}.logout-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease}.logout-btn:hover{color:#dc2626;border-color:#fecaca}.logout-text{font-size:13px;font-weight:500}.mobile-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.mobile-toggle:hover{background:#f9fafb;color:#374151}.mobile-nav{display:none;position:fixed;top:56px;left:0;right:0;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 4px 12px #0000000f;padding:16px 20px;max-height:calc(100vh - 56px);overflow-y:auto;transform:translateY(-100%);transition:transform .2s ease;z-index:1001}.mobile-nav.open{display:block;transform:translateY(0)}.mobile-section{margin-bottom:16px}.mobile-section:last-child{margin-bottom:0}.mobile-section-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #f3f4f6}.section-icon{font-size:12px;color:#2563eb}.mobile-section-header span{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.mobile-link{display:flex;align-items:center;gap:10px;padding:10px 12px;color:#4b5563;text-decoration:none;font-size:14px;font-weight:500;border-radius:6px;margin-bottom:2px;transition:all .15s ease}.mobile-link:hover{background:#f9fafb;color:#111827}.mobile-link.active{background:#eff6ff;color:#2563eb}.mobile-logout{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:1px solid #fecaca;border-radius:6px;color:#ef4444;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.mobile-logout:hover{background:#fef2f2}.mobile-overlay{display:none;position:fixed;top:56px;left:0;right:0;bottom:0;background:#0003;z-index:999}@media(max-width:1024px){.nav-text{display:none}.nav-icon{font-size:16px}.nav-link{padding:8px 10px}}@media(max-width:768px){.desktop-nav,.logout-btn{display:none}.mobile-toggle{display:flex}.navbar-container{padding:0 16px}.mobile-overlay{display:block}}@media(max-width:480px){.navbar-container{height:52px;padding:0 12px}.brand-name{font-size:14px}.brand-tagline{font-size:10px}.navbar-logo{width:28px;height:28px}.mobile-nav,.mobile-overlay{top:52px}}.toast-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;pointer-events:none;display:flex;justify-content:center;align-items:flex-start;padding-top:1.5rem}.success-toast{background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001a;border:1px solid #e5e7eb;border-left:3px solid #10b981;overflow:hidden;pointer-events:auto;animation:slideDown .3s ease;max-width:380px;width:90%;position:relative}.error-toast{background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001a;border:1px solid #e5e7eb;border-left:3px solid #ef4444;overflow:hidden;pointer-events:auto;animation:slideDown .3s ease;max-width:380px;width:90%;position:relative}.toast-content{display:flex;align-items:flex-start;padding:12px 16px;gap:10px}.toast-icon{width:32px;height:32px;background:#ecfdf5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#10b981;font-size:14px;flex-shrink:0}.toast-icon-error{width:32px;height:32px;background:#fef2f2;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ef4444;font-size:14px;flex-shrink:0}.toast-message{flex:1}.toast-title{margin:0 0 2px;font-size:14px;font-weight:600;color:#111827}.toast-text{margin:0;font-size:13px;color:#6b7280;line-height:1.4}.toast-close{background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px;border-radius:4px;transition:all .15s ease;flex-shrink:0}.toast-close:hover{background:#f3f4f6;color:#374151}.toast-progress{height:2px;background:#f3f4f6;position:relative;overflow:hidden}.toast-progress-bar{height:100%;background:#10b981;width:100%;animation:progressBar 4s linear;transform-origin:left}.toast-progress-error{height:2px;background:#fef2f2;position:relative;overflow:hidden}.toast-progress-bar-error{height:100%;background:#ef4444;width:100%;animation:progressBar 5s linear;transform-origin:left}@keyframes slideDown{0%{transform:translateY(-40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes progressBar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:768px){.toast-overlay{padding-top:.75rem}.success-toast,.error-toast{width:95%;max-width:none}.toast-content{padding:10px 14px}.toast-icon,.toast-icon-error{width:28px;height:28px;font-size:12px}.toast-title{font-size:13px}.toast-text{font-size:12px}}.edit-student-container{background:#fafbfc;min-height:100vh;padding:1.5rem 0}:root{--course-card-height: 90px}.course-label{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:14px;height:var(--course-card-height);cursor:pointer;transition:all .15s ease;margin:0;overflow:hidden}.course-checkbox:checked+.course-label{border-color:#2563eb;background:#eff6ff}.course-content{display:flex;align-items:center;gap:10px;width:100%}.course-icon{color:#2563eb;font-size:16px;flex:0 0 auto}.course-name{flex:1;font-weight:500;color:#374151;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;max-height:2.6em}.course-check{color:#2563eb;opacity:0;transition:opacity .2s ease;flex:0 0 auto}@media(max-width:768px){.edit-student-container{padding:12px 0}.edit-card-header{padding:14px 16px;flex-direction:column;gap:8px;text-align:center}.edit-card-body{padding:20px 16px}.edit-card-footer{padding:12px 16px}.courses-grid{grid-template-columns:1fr}.edit-form-buttons{flex-direction:column}.btn-save,.btn-cancel{width:100%;justify-content:center}}.edit-course-container{background:#fafbfc;min-height:100vh;padding:1.5rem 0}.edit-header-subtitle{font-size:14px;color:#6b7280;max-width:500px;margin:0 auto}.edit-form-card{background:#fff;border-radius:10px;border:1px solid #e5e7eb;overflow:hidden;margin-bottom:1.5rem}.edit-card-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;gap:12px}.edit-card-title{margin:0;font-size:16px;font-weight:600;color:#111827;display:flex;align-items:center;gap:8px}.edit-card-body{padding:24px 20px}.edit-card-footer{background:#f9fafb;padding:14px 20px;border-top:1px solid #e5e7eb}.status-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:border-color .15s ease}.status-section:hover{border-color:#d1d5db}.status-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.switch-title{font-weight:600;font-size:14px;color:#374151;display:flex;align-items:center;gap:6px}.status-chip{display:inline-flex;align-items:center;gap:6px;font-weight:600;padding:4px 10px;border-radius:6px;font-size:13px}.status-chip.on{color:#047857;background:#ecfdf5}.status-chip.off{color:#dc2626;background:#fef2f2}.status-hint{margin:0 0 12px;color:#9ca3af;font-size:13px}.segmented-control{--h: 40px;position:relative;display:grid;grid-template-columns:1fr 1fr;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;height:var(--h);overflow:hidden}.segmented-option{position:relative;z-index:2;background:transparent;border:none;outline:none;font-weight:500;font-size:13px;color:#6b7280;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:color .2s ease;padding:0 12px;-webkit-user-select:none;user-select:none}.segmented-option.selected{color:#fff}.segmented-option svg{font-size:14px}.segmented-slider{position:absolute;z-index:1;top:3px;bottom:3px;width:calc(50% - 6px);border-radius:6px;background:#2563eb;transition:transform .2s ease}.segmented-slider.left{transform:translate(3px)}.segmented-slider.right{transform:translate(calc(100% + 3px))}.edit-form-buttons{display:flex;gap:10px;justify-content:flex-end}.btn-save{background:#2563eb;border:none;border-radius:8px;padding:9px 20px;color:#fff;font-weight:500;font-size:14px;transition:background .15s ease;display:flex;align-items:center;gap:6px;min-width:120px}.btn-save:hover:not(:disabled){background:#1d4ed8;color:#fff}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:9px 20px;color:#6b7280;font-weight:500;font-size:14px;transition:all .15s ease;text-decoration:none;display:flex;align-items:center;gap:6px;min-width:120px;justify-content:center}.btn-cancel:hover{border-color:#d1d5db;color:#374151;text-decoration:none}.edit-content{animation:fadeIn .3s ease}@media(max-width:768px){.edit-course-container{padding:12px 0}.edit-card-header{padding:14px 16px;flex-direction:column;gap:8px;text-align:center}.edit-card-body{padding:20px 16px}.edit-card-footer{padding:12px 16px}.edit-form-buttons{flex-direction:column}.btn-save,.btn-cancel{width:100%;justify-content:center}}@media(max-width:480px){.edit-card-header{padding:12px}.edit-card-body{padding:16px 12px}.edit-card-footer{padding:10px 12px}}.formulario-container{background:#fafbfc;min-height:100vh;padding-top:1rem;padding-bottom:1rem}.textarea-observations{height:100px}.stepper{display:flex;align-items:flex-start;justify-content:center;padding:1.25rem 0;gap:0}.stepper-item{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:80px}.stepper-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:#fff;color:#9ca3af;border:2px solid #e5e7eb;transition:all .2s ease;position:relative;z-index:1}.stepper-item.active .stepper-dot{background:#2563eb;color:#fff;border-color:#2563eb}.stepper-item.completed .stepper-dot{background:#10b981;color:#fff;border-color:#10b981}.stepper-label{font-size:12px;font-weight:500;color:#9ca3af;text-align:center;line-height:1.2}.stepper-item.active .stepper-label{color:#2563eb;font-weight:600}.stepper-item.completed .stepper-label{color:#10b981;font-weight:600}.stepper-line{flex:1;height:2px;background:#e5e7eb;margin-top:16px;min-width:40px;max-width:80px;transition:background .2s ease}.stepper-line.completed{background:#10b981}.form-card-compact{background:#fff;border-radius:10px;border:1px solid #e5e7eb;overflow:hidden;margin-bottom:1rem}.card-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;gap:12px}.step-indicator{background:#f3f4f6;color:#6b7280;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.card-body{padding:20px}.step-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-footer .btn{min-width:110px;padding:9px 16px;font-weight:500;font-size:14px}.required-asterisk{color:#ef4444;font-weight:700;margin-left:2px;font-size:14px}.custom-tooltip{position:absolute;bottom:100%;right:0;background:#1f2937;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:normal;z-index:99999;margin-bottom:6px;opacity:0;pointer-events:none;transition:opacity .2s ease;box-shadow:0 2px 8px #0000001f;max-width:240px;word-wrap:break-word}.custom-tooltip:after{content:"";position:absolute;top:100%;right:16px;border:5px solid transparent;border-top-color:#1f2937}.position-relative:hover .custom-tooltip{opacity:1}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:12px}.course-card{position:relative}.course-checkbox{position:absolute;opacity:0;pointer-events:none}.course-label{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:14px;cursor:pointer;transition:all .15s ease;margin:0}.course-label:hover{border-color:#93c5fd;background:#f8faff}.course-checkbox:checked+.course-label{border-color:#10b981;background:#ecfdf5}.course-content{display:flex;align-items:center;gap:10px}.course-icon{color:#2563eb;font-size:16px}.course-name{flex:1;font-weight:500;color:#374151;font-size:14px}.course-check{color:#10b981;opacity:0;transition:opacity .2s ease}.course-checkbox:checked+.course-label .course-check{opacity:1}@media(max-width:768px){.stepper-label{font-size:10px}.stepper-dot{width:28px;height:28px;font-size:12px}.stepper-line{margin-top:14px;min-width:24px}.stepper-item{min-width:60px}.card-header{padding:14px 16px;flex-direction:column;gap:8px;text-align:center}.card-body{padding:16px}.card-footer{padding:12px 16px}.courses-grid{grid-template-columns:1fr}}@media(max-width:480px){.stepper-label{font-size:9px}.stepper-dot{width:26px;height:26px;font-size:11px}.stepper-line{min-width:16px;margin-top:13px}.stepper-item{min-width:50px;gap:5px}.card-header,.card-body{padding:12px}.card-footer{padding:10px 12px}}.formulario-curso-container{background:#fafbfc;min-height:100vh;padding-top:2rem;padding-bottom:2rem}.formulario-header-subtitle{font-size:14px;color:#6b7280}.form-card-curso{background:#fff;border-radius:10px;border:1px solid #e5e7eb;overflow:hidden;margin-bottom:1rem}.card-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:center;align-items:center}.card-title{margin:0;font-size:16px;font-weight:600;color:#111827;display:flex;align-items:center}.card-body{padding:24px 20px}.card-footer{background:#f9fafb;padding:14px 20px;border-top:1px solid #e5e7eb}.form-control:focus,.form-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.btn-success{background:#10b981;border:none;border-radius:8px;padding:9px 20px;font-weight:500;font-size:14px;transition:background .15s ease}.btn-success:hover:not(:disabled){background:#059669}.btn-success:disabled{background:#9ca3af}.btn-outline-secondary{border-radius:8px;padding:9px 20px;font-weight:500;font-size:14px;transition:all .15s ease}@media(max-width:768px){.formulario-curso-container{padding-top:1rem}.card-header{padding:14px 16px}.card-body{padding:20px 16px}.card-footer{padding:12px 16px}.card-footer .d-flex{flex-direction:column;gap:10px}.btn-success,.btn-outline-secondary{width:100%}}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{display:inline-block;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200px 100%;animation:skeleton-loading 1.5s infinite ease-in-out;border-radius:4px}.text-skeleton{display:flex;flex-direction:column}.card-skeleton{background:#fff;border-radius:10px;padding:20px;border:1px solid #e5e7eb}.card-skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.card-skeleton-content{margin-bottom:16px}.card-skeleton-footer{display:flex;gap:8px;justify-content:flex-end}.table-skeleton-container{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb}.table-skeleton-header{padding:16px 20px;border-bottom:1px solid #e5e7eb}.table-skeleton-title{display:flex;justify-content:space-between;align-items:center}.table-skeleton{width:100%}.table-skeleton-head{background:#f9fafb;display:flex;padding:10px 0;border-bottom:1px solid #e5e7eb}.table-skeleton-th{padding:0 16px;display:flex;align-items:center}.table-skeleton-body{background:#fff}.table-skeleton-row{display:flex;padding:12px 0;border-bottom:1px solid #f3f4f6}.table-skeleton-row:last-child{border-bottom:none}.table-skeleton-td{padding:0 16px;display:flex;align-items:center}.action-skeletons{display:flex;gap:6px;justify-content:center}.course-skeletons{display:flex;gap:4px;flex-wrap:wrap}.search-skeleton{background:#fff;border-radius:10px;padding:16px 20px;margin-bottom:20px;border:1px solid #e5e7eb}.search-skeleton-form{display:flex;gap:10px;align-items:flex-end}.search-skeleton-select{flex:0 0 140px}.search-skeleton-input{flex:1;min-width:240px}.search-skeleton-button{flex:0 0 auto}@media(max-width:768px){.table-skeleton-container{overflow-x:auto}.table-skeleton{min-width:600px}.search-skeleton-form{flex-direction:column;align-items:stretch}.search-skeleton-select,.search-skeleton-input{flex:1;min-width:auto}.action-skeletons{flex-direction:column;gap:4px}.action-skeletons .skeleton{width:24px!important;height:24px!important}}@media(max-width:480px){.card-skeleton{padding:16px 12px}}.student-modal .modal-dialog{max-width:800px;margin:2rem auto}.student-modal .modal-content{border:none;border-radius:12px;box-shadow:0 4px 24px #0000001f;overflow:hidden}.student-modal-container{background:#fff;width:100%}.student-modal-header{background:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb}.student-modal-title{display:flex;align-items:center;gap:10px;margin:0}.student-modal-title h3{margin:0;font-size:18px;font-weight:600;color:#111827}.modal-title-icon{font-size:20px;color:#2563eb}.student-modal .student-modal-close,.student-modal-container .student-modal-close{background:none!important;border:1px solid #e5e7eb!important;border-radius:6px;color:#6b7280!important;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:all .15s ease;outline:none}.student-modal .student-modal-close:hover,.student-modal-container .student-modal-close:hover{background:#f3f4f6!important;border-color:#d1d5db!important;color:#374151!important;box-shadow:none!important}.student-modal .student-modal-close:focus,.student-modal .student-modal-close:focus-visible{background:none!important;border-color:#2563eb!important;color:#6b7280!important;box-shadow:0 0 0 2px #2563eb1a!important;outline:none!important}.student-modal .student-modal-close:hover:focus,.student-modal .student-modal-close:hover:focus-visible{background:#f3f4f6!important;border-color:#d1d5db!important;color:#374151!important;box-shadow:none!important}.student-modal-body{padding:24px;max-height:70vh;overflow-y:auto}.student-modal-section{margin-bottom:24px}.student-modal-section:last-child{margin-bottom:0}.section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#111827;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.section-icon{font-size:15px;color:#2563eb}.student-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.student-modal-field{display:flex;flex-direction:column;gap:4px}.student-modal-field.full-width{grid-column:1 / -1}.field-label{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.4px}.field-icon{font-size:12px;color:#d1d5db}.field-value{font-size:14px;font-weight:500;color:#111827;background:#f9fafb;padding:10px 12px;border-radius:6px;border:1px solid #f3f4f6;min-height:40px;display:flex;align-items:center}.student-modal-courses{display:flex;flex-wrap:wrap;gap:8px}.student-modal-course-badge{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500}.student-modal-course-badge.success{background:#ecfdf5;color:#047857}.student-modal-course-badge.error{background:#fef2f2;color:#dc2626}.course-badge-icon{font-size:14px}.student-modal-empty{display:flex;align-items:center;justify-content:center;padding:32px 16px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px}.student-modal-empty-text{color:#9ca3af;font-size:14px;font-style:italic}.student-modal-observations{background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;padding:14px}.student-modal-observations p{margin:0;color:#374151;font-size:14px;line-height:1.5}.student-modal-footer{background:#f9fafb;padding:14px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.modal-close-btn{border:1px solid #e5e7eb;border-radius:8px;padding:8px 20px;font-weight:500;font-size:14px;transition:all .15s ease;background:#fff;color:#6b7280}.modal-close-btn:hover{background:#f3f4f6!important;border-color:#d1d5db!important;color:#374151!important;box-shadow:none!important}.modal-close-btn:focus{background:#fff!important;border-color:#2563eb!important;color:#2563eb!important;box-shadow:0 0 0 2px #2563eb1a!important}.student-modal-body::-webkit-scrollbar{width:4px}.student-modal-body::-webkit-scrollbar-track{background:#f9fafb}.student-modal-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.student-modal-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media(max-width:768px){.student-modal .modal-dialog{margin:1rem;max-width:calc(100% - 2rem)}.student-modal-header{padding:16px 20px}.student-modal-title h3{font-size:16px}.student-modal-body{padding:20px;max-height:60vh}.student-modal-grid{grid-template-columns:1fr;gap:10px}.student-modal-footer{padding:12px 20px}}@media(max-width:480px){.student-modal .modal-dialog{margin:.5rem;max-width:calc(100% - 1rem)}.student-modal-header{padding:14px 16px}.student-modal-body{padding:16px}.field-value{padding:8px 10px;font-size:13px}.student-modal-course-badge{padding:6px 10px;font-size:12px}}.students-container{background:#fafbfc;min-height:100vh;padding:24px 0}.search-section{background:#fff;border-radius:10px;padding:16px 20px;margin-bottom:20px;border:1px solid #e5e7eb}.search-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.search-type-select{flex:0 0 140px}.search-input{flex:1;min-width:240px}.search-input .form-control{border:1px solid #e5e7eb;border-radius:8px;padding:9px 12px;font-size:14px;transition:border-color .15s ease}.search-input .form-control:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14;outline:none}.custom-select-wrapper{position:relative;width:100%}.custom-select{width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:9px 36px 9px 12px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:border-color .15s ease}.custom-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14;outline:none}.custom-select:hover{border-color:#d1d5db}.custom-select option{padding:8px 12px;background:#fff;color:#374151}.custom-select option:disabled{color:#9ca3af}.select-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:14px;pointer-events:none}.custom-select-wrapper:hover .select-arrow{color:#6b7280}.custom-select:invalid{color:#9ca3af}.search-button{background:#2563eb;border:none;border-radius:8px;padding:9px 16px;color:#fff;font-weight:500;font-size:14px;transition:background .15s ease;display:flex;align-items:center;gap:6px;cursor:pointer}.search-button:hover:not(:disabled){background:#1d4ed8}.search-button:disabled{opacity:.5;cursor:not-allowed}.sort-button{background:none;border:none;color:#9ca3af;font-size:12px;margin-left:4px;cursor:pointer;transition:color .15s ease}.sort-button:hover{color:#2563eb}.student-name{font-weight:500;color:#111827}.course-badges{display:flex;flex-wrap:wrap;gap:4px}.course-badge{background:#eff6ff;color:#2563eb;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.course-badge.error{background:#fef2f2;color:#dc2626}.no-courses-badge{background:#f3f4f6;color:#9ca3af;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;font-style:italic}.action-btn.view{color:#2563eb}.action-btn.view:hover{background:#eff6ff;border-color:#93c5fd}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;margin:20px 0}.student-card{background:#fff;border-radius:8px;padding:14px;margin-bottom:10px;border:1px solid #e5e7eb}.student-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f3f4f6}.student-info-mobile h4.student-name-mobile{font-size:15px;font-weight:600;color:#111827;margin:0 0 2px}.student-cpf-mobile{font-size:13px;color:#9ca3af;margin:0}.student-card-body{display:flex;flex-direction:column;gap:8px}.student-detail-mobile{display:flex;flex-direction:column;gap:2px}.courses-list-mobile{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.courses-list-mobile .course-badge{font-size:11px;padding:2px 6px}@media(max-width:1024px){.search-form{flex-direction:column;align-items:stretch}.search-type-select,.search-input{flex:1;min-width:auto}}@media(max-width:768px){.students-container{padding:12px 0}.search-section{padding:12px 14px;margin-bottom:12px}.desktop-table{display:none}.mobile-cards{display:block;padding:0 14px 14px}.action-buttons-mobile .action-btn{width:28px;height:28px;font-size:12px}.table-header{padding:12px 14px;flex-direction:column;gap:8px;text-align:center}}@media(max-width:480px){.search-section{padding:10px 12px}.mobile-cards{padding:0 10px 10px}.student-card{padding:12px}}.pagination-container{display:flex;flex-direction:column;align-items:center;gap:8px;margin:20px 0}.pagination-wrapper{display:flex;align-items:center;gap:4px}.pagination-numbers{display:flex;align-items:center;gap:2px}.pagination-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;font-size:14px;transition:all .15s ease;cursor:pointer}.pagination-arrow:hover:not(:disabled){border-color:#d1d5db;color:#374151;background:#f9fafb}.pagination-arrow:disabled{opacity:.4;cursor:not-allowed;background:#f9fafb}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#6b7280;font-size:13px;font-weight:500;transition:all .15s ease;cursor:pointer}.pagination-btn:hover{background:#f3f4f6;color:#111827}.pagination-btn.active{background:#2563eb;color:#fff}.pagination-btn.active:hover{background:#1d4ed8}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:#9ca3af;font-size:14px}.pagination-info{display:flex;align-items:center;gap:6px}.pagination-current{font-size:13px;color:#9ca3af;font-weight:500}.pagination-arrow:focus,.pagination-btn:focus{outline:none;box-shadow:0 0 0 2px #2563eb1a}@media(max-width:768px){.pagination-arrow,.pagination-btn{width:32px;height:32px;min-width:32px;font-size:12px}.pagination-ellipsis{width:32px;height:32px}}@media(max-width:480px){.pagination-arrow,.pagination-btn{width:28px;height:28px;min-width:28px;font-size:11px}}.delete-modal .modal-dialog{max-width:400px}.delete-modal .modal-content{border:none;border-radius:14px;box-shadow:0 8px 30px #0000001f;overflow:hidden}.del-modal{padding:32px 28px 24px;text-align:center;position:relative}.del-close{position:absolute;top:14px;right:14px;background:none;border:none;color:#9ca3af;font-size:20px;cursor:pointer;padding:4px;border-radius:6px;display:flex;transition:all .15s ease}.del-close:hover{background:#f3f4f6;color:#374151}.del-icon-wrap{display:flex;justify-content:center;margin-bottom:16px}.del-icon{width:52px;height:52px;border-radius:50%;background:#fef2f2;color:#ef4444;display:flex;align-items:center;justify-content:center;font-size:22px}.del-title{font-size:17px;font-weight:600;color:#111827;margin:0 0 8px}.del-message{font-size:14px;color:#6b7280;line-height:1.5;margin:0 0 24px}.del-message strong{color:#111827;font-weight:600}.del-actions{display:flex;gap:10px}.del-btn-cancel,.del-btn-confirm{flex:1;padding:10px 16px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease}.del-btn-cancel{background:#fff;border:1px solid #e5e7eb;color:#374151}.del-btn-cancel:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.del-btn-confirm{background:#ef4444;border:none;color:#fff}.del-btn-confirm:hover:not(:disabled){background:#dc2626}.del-btn-cancel:disabled,.del-btn-confirm:disabled{opacity:.5;cursor:not-allowed}.del-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:del-spin .6s linear infinite}@keyframes del-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.del-modal{padding:24px 20px 20px}.del-actions{flex-direction:column}}.courses-container{background:#fafbfc;min-height:100vh;padding:24px 0}.table-container{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb}.table-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.table-title{font-size:15px;font-weight:600;color:#111827;margin:0}.table-count{background:#eff6ff;color:#2563eb;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600}.modern-table{width:100%;border-collapse:collapse}.modern-table thead th{background:#f9fafb;color:#6b7280;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:10px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.modern-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .1s ease}.modern-table tbody tr:hover{background:#f9fafb}.modern-table tbody tr:last-child{border-bottom:none}.modern-table tbody td{padding:12px 16px;color:#374151;font-size:14px;vertical-align:middle}.course-name{font-weight:500;color:#111827}.course-value{font-weight:600;color:#059669;font-size:14px}.course-date{color:#6b7280;font-weight:500}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.status-badge.active{background:#ecfdf5;color:#047857}.status-badge.inactive{background:#fef2f2;color:#dc2626}.action-buttons{display:flex;gap:6px;justify-content:center}.action-btn{width:32px;height:32px;border-radius:6px;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;font-size:13px;background:#fff;transition:all .15s ease;cursor:pointer}.action-btn.edit{color:#d97706}.action-btn.edit:hover{background:#fffbeb;border-color:#fbbf24}.action-btn.delete{color:#dc2626}.action-btn.delete:hover{background:#fef2f2;border-color:#fca5a5}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;background:#fff;border-radius:10px;border:1px solid #e5e7eb;margin:20px 0}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #2563eb;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.loading-text{color:#9ca3af;font-size:14px;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;margin:20px 0}.empty-icon{font-size:48px;color:#d1d5db;margin-bottom:12px}.empty-title{font-size:16px;font-weight:600;color:#374151;margin:0 0 4px}.empty-description{color:#9ca3af;font-size:14px;margin:0}.mobile-cards{display:none}.desktop-table{display:block}.course-card{background:#fff;border-radius:8px;padding:14px;margin-bottom:10px;border:1px solid #e5e7eb}.course-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f3f4f6}.course-info-mobile h4.course-name-mobile{font-size:15px;font-weight:600;color:#111827;margin:0 0 2px}.course-value-mobile{font-size:14px;color:#059669;margin:0;font-weight:600}.action-buttons-mobile{display:flex;gap:4px;flex-shrink:0}.course-card-body{display:flex;flex-direction:column;gap:8px}.course-detail-mobile{display:flex;flex-direction:column;gap:2px}.label-mobile{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.value-mobile{font-size:14px;color:#374151;font-weight:500}.status-badge-mobile{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.status-badge-mobile.active{background:#ecfdf5;color:#047857}.status-badge-mobile.inactive{background:#fef2f2;color:#dc2626}@media(max-width:768px){.courses-container{padding:12px 0}.desktop-table{display:none}.mobile-cards{display:block;padding:0 14px 14px}.action-buttons-mobile .action-btn{width:28px;height:28px;font-size:12px}.table-header{padding:12px 14px;flex-direction:column;gap:8px;text-align:center}}@media(max-width:480px){.mobile-cards{padding:0 10px 10px}.course-card{padding:12px}}*{margin:0;padding:0;box-sizing:border-box}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#f5f6f8;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-card{background:#fff;border-radius:16px;padding:48px 40px;width:100%;max-width:400px;box-shadow:0 1px 3px #0000000a,0 6px 24px #0000000f;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:36px}.login-logo{width:80px;height:80px;margin-bottom:20px;transition:transform .2s ease}.login-logo:hover{transform:scale(1.04)}.login-title{color:#111827;font-size:22px;font-weight:600;margin-bottom:6px;letter-spacing:-.3px}.login-subtitle{color:#9ca3af;font-size:14px;font-weight:400;margin-bottom:0}.login-form{margin-bottom:0}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:6px;color:#374151;font-weight:500;font-size:13px;letter-spacing:.01em}.input-group{position:relative;display:flex}.form-control{flex:1;padding:11px 14px;border:1px solid #e5e7eb!important;border-radius:10px!important;font-size:15px;font-family:inherit;background:#fff;color:#1f2937;transition:border-color .2s ease,box-shadow .2s ease;outline:none}.form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f614;z-index:1!important}.form-control::placeholder{color:#c5c9d1}.form-control.is-invalid{border-color:#ef4444;box-shadow:0 0 0 3px #ef44440f;background-image:none!important}.password-toggle{position:absolute;right:1px;top:1px;bottom:1px;z-index:5;border:none;border-radius:0 9px 9px 0;padding:0 14px;background:transparent;color:#9ca3af;transition:color .2s ease;cursor:pointer}#password{padding-right:46px}.password-toggle:hover{color:#6b7280}.password-toggle:focus{outline:none}.login-button{width:100%;padding:12px;background:#2563eb;border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:28px}.login-button:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #2563eb40}.login-button:active:not(:disabled){background:#1e40af;box-shadow:none}.login-button:disabled{opacity:.55;cursor:not-allowed}.error-message{border-radius:10px;padding:10px 14px;margin-bottom:20px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:13px;display:flex;align-items:center;animation:fadeIn .3s ease}.login-footer{text-align:center;padding-top:24px;margin-top:28px;border-top:1px solid #f3f4f6}.login-footer p{margin:0;font-size:12px;display:flex;align-items:center;justify-content:center;gap:5px;color:#9ca3af!important}.login-footer i{color:#9ca3af;font-size:11px}.spinner-border-sm{width:1rem;height:1rem}@media(max-width:480px){.login-container{padding:16px;background:#fff}.login-card{padding:32px 24px;box-shadow:none;border-radius:0}.login-logo{width:56px;height:56px}.login-title{font-size:20px}}*,*:before,*:after{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#374151;background:#fafbfc}.form-control{background-color:#fff!important;color:#1f2937!important;border:1px solid #e5e7eb!important;border-radius:8px!important;font-family:inherit!important;transition:border-color .15s ease,box-shadow .15s ease!important}.form-control:focus{background-color:#fff!important;color:#1f2937!important;border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb14!important}.form-control::placeholder{color:#9ca3af!important}.form-select{background-color:#fff!important;color:#1f2937!important;border:1px solid #e5e7eb!important;border-radius:8px!important;font-family:inherit!important;transition:border-color .15s ease,box-shadow .15s ease!important}.form-select:focus{background-color:#fff!important;color:#1f2937!important;border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb14!important}.form-floating>.form-control,.form-floating>.form-select{border:1px solid #e5e7eb!important;border-radius:8px!important;font-family:inherit!important;background-color:#fff!important;color:#1f2937!important}.form-floating>.form-control:focus,.form-floating>.form-select:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb14!important}.form-floating>.form-control::placeholder{color:transparent!important}.form-floating>label{color:#6b7280}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:#2563eb}.btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;font-family:inherit}.btn-save,.btn-cancel,.delete-cancel-btn,.delete-confirm-btn,.search-button,.modal-close-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn svg,.btn i,.btn-save svg,.btn-cancel svg,.delete-cancel-btn svg,.delete-confirm-btn svg,.search-button svg{flex-shrink:0}
