:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#3b82f6;--accent:#92400e;--accent-light:#b45309;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--info:#3b82f6;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--role-primary:#7c3aed;--role-primary-dark:#6d28d9;--role-primary-light:#a78bfa;--role-bg-light:#ede9fe;--role-text:#5b21b6;--role-border:#ddd6fe}[data-rol=ADMIN]{--role-primary:#7c3aed;--role-primary-dark:#6d28d9;--role-primary-light:#a78bfa;--role-bg-light:#ede9fe;--role-text:#5b21b6;--role-border:#ddd6fe}[data-rol=INSPECTOR]{--role-primary:#0369a1;--role-primary-dark:#0c4a6e;--role-primary-light:#0ea5e9;--role-bg-light:#e0f2fe;--role-text:#164e63;--role-border:#bae6fd}[data-rol=PROFESOR]{--role-primary:#065f46;--role-primary-dark:#064e3b;--role-primary-light:#10b981;--role-bg-light:#d1fae5;--role-text:#047857;--role-border:#a7f3d0}[data-rol=ESTUDIANTE]{--role-primary:#92400e;--role-primary-dark:#78350f;--role-primary-light:#d97706;--role-bg-light:#fef3c7;--role-text:#b45309;--role-border:#fde68a}[data-rol=APODERADO]{--role-primary:#9d174d;--role-primary-dark:#831843;--role-primary-light:#ec4899;--role-bg-light:#fce7f3;--role-text:#be185d;--role-border:#fbcfe8}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--bg-primary:#111827;--bg-secondary:#1f2937;--bg-card:#374151;--border:#4b5563}html[data-theme=light]{--text-primary:#1f2937;--text-secondary:#6b7280;--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-card:#fff;--border:#e5e7eb}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--gray-900);background-color:var(--gray-50);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5;transition:background-color .3s,color .3s}html[data-theme=dark] body{color:#f3f4f6;background-color:#111827}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{margin-bottom:var(--spacing-md)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none}.btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;border:none;font-weight:500;transition:all .2s}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark);box-shadow:var(--shadow-lg)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--gray-200);color:var(--gray-800)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-300)}.btn-danger{background-color:var(--danger);color:#fff}input,textarea,select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-family:inherit;font-size:1rem;transition:all .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.card{border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);background:#fff}.container{max-width:1200px;padding:0 var(--spacing-md);margin:0 auto}.grid{gap:var(--spacing-md);display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.alert-info{color:#0c4a6e;background-color:#dbeafe;border:1px solid #0ea5e9}.alert-success{color:#166534;background-color:#dcfce7;border:1px solid #22c55e}.alert-warning{color:#92400e;background-color:#fef3c7;border:1px solid #fcd34d}.alert-error{color:#991b1b;background-color:#fee2e2;border:1px solid #fca5a5}table{border-collapse:collapse;width:100%;margin-bottom:var(--spacing-lg)}th{background-color:var(--gray-100);padding:var(--spacing-md);text-align:left;border-bottom:2px solid var(--gray-300);font-weight:600}td{padding:var(--spacing-md);border-bottom:1px solid var(--gray-200)}tr:hover{background-color:var(--gray-50)}@media (width<=768px){h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 var(--spacing-sm)}}@media (width<=480px){h1{font-size:1.25rem}h2{font-size:1rem}.btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:.9rem}table{font-size:.875rem}th,td{padding:var(--spacing-sm)}}.login-logo-text,html[data-theme=dark] .login-logo-text{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=640px){.login-card{padding:1.5rem}.login-title{font-size:1.5rem}.login-subtitle{font-size:1rem}}@media (width<=480px){.login-container{padding:.5rem}.login-card{padding:1.25rem}.login-header{margin-bottom:1.5rem}.login-title{font-size:1.25rem}.login-subtitle{font-size:.95rem}}@media (width<=1024px){.dashboard-stats{gap:clamp(.75rem,2vw,1.25rem);grid-template-columns:repeat(2,1fr)!important}}@media (width<=768px){.dashboard-stats{gap:.75rem;grid-template-columns:repeat(2,1fr)!important}}@media (width<=480px){.dashboard-stats{margin-bottom:1.5rem;grid-template-rows:auto!important;grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important;display:grid!important}}@media (width<=480px){.stat-card{border-radius:10px;gap:.3rem;padding:.75rem}}@media (width<=480px){.stat-number{margin-bottom:.15rem;font-size:1.25rem}}@media (width<=480px){.stat-label{font-size:.65rem}}@media (width<=1024px){.dashboard-table-header,.dashboard-table-row{grid-template-columns:repeat(5,minmax(100px,1fr));min-width:500px}}@media (width<=768px){.dashboard-table-header,.dashboard-table-row{grid-template-columns:repeat(4,minmax(90px,1fr));gap:.5rem;min-width:360px;padding:clamp(.5rem,2vw,.75rem);font-size:.7rem}}@media (width<=480px){.dashboard-table{display:none}.dashboard-table-mobile{background:#fff;border-radius:12px;margin-top:1.5rem;display:block;overflow:hidden;box-shadow:0 1px 3px #0000001a}.dashboard-table-mobile-title{color:#374151;background-color:#f3f4f6;border-bottom:2px solid #e5e7eb;padding:0;font-size:.95rem;font-weight:600}.dashboard-table-mobile-item{background:#fff;border-bottom:1px solid #e5e7eb;padding:.75rem}.dashboard-table-mobile-item:last-child{border-bottom:none}.dashboard-table-mobile-item-row{justify-content:space-between;margin-bottom:.4rem;font-size:.7rem;display:flex}.dashboard-table-mobile-item-row:last-child{margin-bottom:0}.dashboard-table-mobile-item-label{color:#374151;margin-right:.75rem;font-weight:600}.dashboard-table-mobile-item-value{color:#6b7280;text-align:right;flex-shrink:0}.dashboard-pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:0 .5rem;display:flex}.dashboard-pagination-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .75rem;font-size:.7rem;font-weight:600;transition:all .2s}.dashboard-pagination-btn:hover:not(:disabled){color:#2563eb;background:#f3f4f6;border-color:#2563eb}.dashboard-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.dashboard-pagination-info{color:#6b7280;font-size:.7rem;font-weight:600}}@media (width<=1024px){.dashboard-actions{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dashboard-actions{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.dashboard-actions{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dashboard-stats,.dashboard-table-header,.dashboard-table-row{grid-template-columns:1fr}}.form-container{color:#1f2937;background:#fff;border-radius:12px;max-width:800px;margin:0 auto;padding:2rem;transition:all .3s;box-shadow:0 1px 3px #0000001a}html[data-theme=dark] .form-container{color:#f3f4f6;background:#1f2937;box-shadow:0 1px 3px #0000004d}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-label{color:#111827;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}html[data-theme=dark] .form-label{color:#f3f4f6}.form-label.required:after{content:" *";color:#dc2626}.form-input,.form-select,.form-textarea{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}html[data-theme=dark] .form-input,html[data-theme=dark] .form-select,html[data-theme=dark] .form-textarea{color:#f3f4f6;background:#111827;border-color:#4b5563}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}html[data-theme=dark] .form-input:focus,html[data-theme=dark] .form-select:focus,html[data-theme=dark] .form-textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.form-textarea{resize:vertical;min-height:120px}.form-helper{color:#6b7280;margin-top:.25rem;font-size:.875rem}html[data-theme=dark] .form-helper{color:#9ca3af}.form-error{color:#dc2626;margin-top:.25rem;font-size:.875rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;transition:all .3s;display:flex}html[data-theme=dark] .form-actions{border-top-color:#374151}.form-actions button{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.btn-submit{color:#fff;background-color:#2563eb}.btn-submit:hover:not(:disabled){background-color:#1d4ed8}html[data-theme=dark] .btn-submit{background-color:#3b82f6}html[data-theme=dark] .btn-submit:hover:not(:disabled){background-color:#2563eb}.btn-cancel{color:#374151;background-color:#f3f4f6;transition:all .2s}.btn-cancel:hover:not(:disabled){background-color:#e5e7eb}html[data-theme=dark] .btn-cancel{color:#f3f4f6;background-color:#374151}html[data-theme=dark] .btn-cancel:hover:not(:disabled){background-color:#4b5563}.btn-danger{color:#fff;background-color:#dc2626}.btn-danger:hover:not(:disabled){background-color:#b91c1c}html[data-theme=dark] .btn-danger{background-color:#ef4444}html[data-theme=dark] .btn-danger:hover:not(:disabled){background-color:#dc2626}.form-actions button:disabled{opacity:.6;cursor:not-allowed}.filter-group{background:#f9fafb;border-radius:8px;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1rem;transition:all .3s;display:flex}html[data-theme=dark] .filter-group{background:#2d3748}.filter-button{color:#4b5563;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:8px;padding:.5rem 1rem;font-weight:500;transition:all .2s}html[data-theme=dark] .filter-button{color:#d1d5db;background:#1f2937;border-color:#4b5563}.filter-button:hover{color:#2563eb;border-color:#2563eb}html[data-theme=dark] .filter-button:hover{color:#60a5fa;border-color:#60a5fa}.filter-button.active{color:#fff;background:#2563eb;border-color:#2563eb}html[data-theme=dark] .filter-button.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;padding:1rem;transition:all .3s;display:flex;position:fixed;inset:0}html[data-theme=dark] .modal-overlay{background:#000000b3}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;padding:2rem;transition:all .3s;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}html[data-theme=dark] .modal-content{background:#1f2937;box-shadow:0 20px 25px -5px #0000004d}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-title{color:#111827;margin:0;font-size:1.5rem;font-weight:700;transition:all .3s}html[data-theme=dark] .modal-title{color:#f3f4f6}.modal-close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;font-size:1.5rem;transition:all .2s}.modal-close-btn:hover{color:#111827}html[data-theme=dark] .modal-close-btn{color:#9ca3af}html[data-theme=dark] .modal-close-btn:hover{color:#f3f4f6}@media (width<=768px){.form-container{padding:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.modal-content{padding:1.5rem}}.layout-wrapper{background-color:#f3f4f6;min-height:100vh;transition:all .3s;display:flex}html[data-theme=dark] .layout-wrapper{background-color:#111827}.layout-sidebar{z-index:1000;background:#fff;border-right:1px solid #e5e7eb;width:250px;height:100vh;transition:all .3s;position:fixed;overflow-y:auto}html[data-theme=dark] .layout-sidebar{background:#1f2937;border-right-color:#374151}.layout-main{flex:1;margin-left:250px}.layout-topbar{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem 1.5rem;transition:all .3s;display:flex;box-shadow:0 1px 3px #0000001a}html[data-theme=dark] .layout-topbar{background:#1f2937;border-bottom-color:#374151;box-shadow:0 1px 3px #0000004d}.topbar-user{align-items:center;gap:1rem;display:flex}.topbar-user-info{flex-direction:column;display:flex}.topbar-user-name{color:#111827;font-size:.95rem;font-weight:600;transition:all .3s}html[data-theme=dark] .topbar-user-name{color:#f3f4f6}.topbar-user-email{color:#6b7280;font-size:.875rem;transition:all .3s}html[data-theme=dark] .topbar-user-email{color:#9ca3af}.layout-content{background-color:#f9fafb;min-height:calc(100vh - 65px);padding:2rem;transition:all .3s}html[data-theme=dark] .layout-content{background-color:#111827}.sidebar-menu{padding:1rem 0;list-style:none}.sidebar-item{margin-bottom:.5rem;padding:0}.sidebar-link{color:#6b7280;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}html[data-theme=dark] .sidebar-link{color:#d1d5db}.sidebar-link:hover{color:#111827;background-color:#f3f4f6}html[data-theme=dark] .sidebar-link:hover{color:#f3f4f6;background-color:#374151}.sidebar-link.active{color:#2563eb;background-color:#e0e7ff;border-right:3px solid #2563eb;padding-right:calc(1rem - 3px);transition:all .2s}html[data-theme=dark] .sidebar-link.active{color:#93c5fd;background-color:#1e40af;border-right-color:#3b82f6}.mobile-menu-toggle{cursor:pointer;color:#111827;background:0 0;border:none;font-size:1.5rem;transition:all .2s;display:none}html[data-theme=dark] .mobile-menu-toggle{color:#f3f4f6}@media (width<=768px){.mobile-menu-toggle{justify-content:center;align-items:center;display:flex}.layout-sidebar{z-index:2000;width:250px;height:100vh;transition:left .3s;position:fixed;top:0;left:-250px;box-shadow:2px 0 8px #00000026}.layout-sidebar.open{left:0}.layout-main{width:100%;margin-left:0}.layout-content{min-height:calc(100vh - 65px);padding:1rem}}@media (width<=480px){.layout-topbar{padding:.75rem 1rem}.topbar-user-info{display:none}.layout-content{padding:.75rem}}.layout-sidebar::-webkit-scrollbar{width:6px}.layout-sidebar::-webkit-scrollbar-track{background:#f3f4f6;transition:all .3s}html[data-theme=dark] .layout-sidebar::-webkit-scrollbar-track{background:#111827}.layout-sidebar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px;transition:all .3s}html[data-theme=dark] .layout-sidebar::-webkit-scrollbar-thumb{background:#4b5563}.layout-sidebar::-webkit-scrollbar-thumb:hover{background:#9ca3af}html[data-theme=dark] .layout-sidebar::-webkit-scrollbar-thumb:hover{background:#6b7280}.page-container{color:#1f2937;background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);min-height:100vh;padding:1.5rem;transition:background-color .3s,color .3s}html[data-theme=dark] .page-container{color:#f3f4f6;background:linear-gradient(135deg,#1f2937 0%,#111827 100%)}.page-header{margin-bottom:2rem}.page-title{color:#1a3c6b;margin-bottom:.5rem;font-size:2.25rem;font-weight:700}html[data-theme=dark] .page-title{color:#60a5fa}.page-subtitle{color:#6b7280;font-weight:500}html[data-theme=dark] .page-subtitle{color:#9ca3af}.content-wrapper{max-width:1200px;margin:0 auto}.section-card{color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;transition:all .3s;box-shadow:0 1px 3px #0000001a}html[data-theme=dark] .section-card{color:#f3f4f6;background:#1f2937;border-color:#374151;box-shadow:0 1px 3px #0000004d}.section-title{color:#111827;margin-top:0;margin-bottom:1rem;font-size:1.25rem;font-weight:700}html[data-theme=dark] .section-title{color:#f3f4f6}.grid-cols-1{grid-template-columns:1fr;gap:1rem;display:grid}.grid-cols-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.grid-cols-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-gray-900{color:#111827}.text-gray-700{color:#374151}.text-gray-600{color:#4b5563}.text-gray-500{color:#6b7280}.text-red-600{color:#dc2626}.text-green-600{color:#16a34a}.text-blue-600{color:#2563eb}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.badge{border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-blue{color:#0c4a6e;background-color:#dbeafe}.badge-green{color:#166534;background-color:#dcfce7}.badge-red{color:#991b1b;background-color:#fee2e2}.badge-purple{color:#6d28d9;background-color:#ede9fe}.badge-amber{color:#92400e;background-color:#fef3c7}@media (width<=768px){.page-container{padding:1rem}.page-title{font-size:1.875rem}.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}@media (width<=480px){.page-container{padding:.75rem}.section-card{padding:1rem}.page-title{font-size:1.5rem}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.min-h-screen{min-height:100vh}.w-full{width:100%}.min-w-full{min-width:100%}.flex-1{flex:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-none{--tw-border-style:none;border-style:none}.border-transparent{border-color:#0000}.bg-\[\#1A3C6B\]{background-color:#1a3c6b}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.text-center{text-align:center}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.hover\:bg-\[\#2D5A9F\]:hover{background-color:#2d5a9f}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{flex-direction:column;width:100%;max-width:100%;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.login-container{background-color:#fff;justify-content:center;align-items:center;min-height:100vh;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;transition:all .3s;display:flex}html[data-theme=dark] .login-container{background-color:#111827}.login-card{background:#ececec;border-radius:12px;width:100%;max-width:400px;padding:2rem;transition:all .3s;box-shadow:0 4px 6px #00000065,0 1px 3px #00000014}html[data-theme=dark] .login-card{background:#1f2937;box-shadow:0 4px 6px #00000080,0 1px 3px #0003}.login-header{text-align:center;margin-bottom:2rem}.login-institution{text-align:center;color:#92400e;margin:0 0 .25rem;font-size:.875rem;font-weight:500;transition:all .3s}html[data-theme=dark] .login-institution{color:#fed7aa}.login-logo{filter:drop-shadow(0 2px 4px #0000001a);width:64px;height:64px;margin:.5rem auto 0;transition:transform .3s,filter .3s;display:block}.login-logo:hover{filter:drop-shadow(0 4px 8px #0003);transform:scale(1.05)}html[data-theme=dark] .login-logo{filter:drop-shadow(0 2px 4px #ffffff1a)}html[data-theme=dark] .login-logo:hover{filter:drop-shadow(0 4px 8px #fff3)}.login-logo-text,html[data-theme=dark] .login-logo-text{display:none}.login-title{text-align:center;color:#111827;margin:1.5rem 0 .5rem;font-size:1.5rem;font-weight:700;transition:all .3s}html[data-theme=dark] .login-title{color:#f3f4f6}.login-subtitle{text-align:center;color:#111827;margin:0 0 2rem;font-size:1.25rem;font-weight:600;transition:all .3s}html[data-theme=dark] .login-subtitle{color:#f3f4f6}.login-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.login-button:hover:not(:disabled){background-color:#1d4ed8;box-shadow:0 4px 12px #2563eb4d}html[data-theme=dark] .login-button:hover:not(:disabled){background-color:#1e40af;box-shadow:0 4px 12px #3b82f64d}.login-button:active:not(:disabled){background-color:#1e40af;transform:scale(.98)}html[data-theme=dark] .login-button:active:not(:disabled){background-color:#1d4ed8}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1.25rem;height:1.25rem;animation:.8s linear infinite spin}.login-error{color:#991b1b;background-color:#fee2e2;border:1px solid #fca5a5;border-radius:6px;margin-top:1rem;padding:.75rem;font-size:.875rem;font-weight:500;transition:all .3s}html[data-theme=dark] .login-error{color:#fecaca;background-color:#7f1d1d;border-color:#b91c1c}.login-footer{text-align:center;color:#4b5563;margin-top:2rem;font-size:.875rem;transition:all .3s}html[data-theme=dark] .login-footer{color:#9ca3af}.login-footer strong{color:#111827;font-weight:600;transition:all .3s}html[data-theme=dark] .login-footer strong{color:#f3f4f6}@media (width<=640px){.login-card{padding:1.5rem}.login-title{font-size:1.5rem}.login-subtitle{font-size:1rem}}@media (width<=480px){.login-container{padding:.5rem}.login-card{padding:1.25rem}.login-header{margin-bottom:1.5rem}.login-title{font-size:1.25rem}.login-subtitle{font-size:.95rem}}.dashboard-container{color:#1f2937;background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);min-height:100vh;padding:clamp(1rem,4vw,2rem);transition:background-color .3s,color .3s}html[data-theme=dark] .dashboard-container{color:#f3f4f6;background:linear-gradient(135deg,#1f2937 0%,#111827 100%)}.dashboard-header{margin-bottom:2rem}.dashboard-title{background:linear-gradient(90deg,#2563eb,#1d4ed8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:clamp(1.5rem,5vw,2.25rem);font-weight:700}html[data-theme=dark] .dashboard-title{background:linear-gradient(90deg,#60a5fa,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.dashboard-subtitle{color:#4b5563;font-size:clamp(.875rem,2vw,1rem);font-weight:500}html[data-theme=dark] .dashboard-subtitle{color:#9ca3af}.dashboard-stats{grid-template-rows:auto;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,3vw,1.5rem);width:100%;max-width:100%;margin-bottom:2rem;display:grid}@media (width<=1024px){.dashboard-stats{gap:clamp(.75rem,2vw,1.25rem);grid-template-columns:repeat(2,1fr)!important}}@media (width<=768px){.dashboard-stats{gap:.75rem;grid-template-columns:repeat(2,1fr)!important}}@media (width<=480px){.dashboard-stats{margin-bottom:1.5rem;grid-template-rows:auto!important;grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important;display:grid!important}}.stat-card{color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:auto;padding:clamp(.75rem,2vw,1.5rem);transition:all .3s;display:flex;box-shadow:0 1px 3px #0000001a}html[data-theme=dark] .stat-card{color:#f3f4f6;background:#1f2937;border-color:#374151;box-shadow:0 1px 3px #0000004d}@media (width<=480px){.stat-card{border-radius:10px;gap:.3rem;padding:.75rem}}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}html[data-theme=dark] .stat-card:hover{box-shadow:0 4px 12px #0000004d}.stat-number{color:#2563eb;margin-bottom:.25rem;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;line-height:1}html[data-theme=dark] .stat-number{color:#60a5fa}@media (width<=480px){.stat-number{margin-bottom:.15rem;font-size:1.25rem}}.stat-label{color:#6b7280;font-size:clamp(.65rem,1.5vw,.875rem);font-weight:500;line-height:1.2}@media (width<=480px){.stat-label{font-size:.65rem}}.stat-badge{border-radius:9999px;margin-top:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.stat-badge-success{color:#166534;background-color:#dcfce7}.stat-badge-warning{color:#92400e;background-color:#fef3c7}.stat-badge-danger{color:#991b1b;background-color:#fee2e2}.dashboard-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;display:flex}.dashboard-loading p{color:#4b5563;font-size:clamp(1rem,3vw,1.125rem);font-weight:600}.dashboard-error{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:clamp(1.25rem,4vw,1.5rem);box-shadow:0 1px 3px #0000001a}.dashboard-error h2{color:#111827;margin-bottom:1rem;font-size:clamp(1.25rem,4vw,1.5rem);font-weight:700}.dashboard-error p{color:#dc2626;margin-bottom:1rem;font-size:clamp(.875rem,2vw,1rem);font-weight:600}.dashboard-error button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;padding:clamp(.5rem,2vw,.75rem) clamp(1rem,3vw,1.5rem);font-size:clamp(.875rem,2vw,1rem);font-weight:700;transition:all .2s}.dashboard-error button:hover{background-color:#1d4ed8}.dashboard-table{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-top:1.5rem;overflow-x:auto;box-shadow:0 1px 3px #0000001a}.dashboard-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.dashboard-table-header{color:#374151;background-color:#f3f4f6;border-bottom:2px solid #e5e7eb;grid-template-columns:repeat(6,minmax(120px,1fr));gap:.75rem;min-width:600px;padding:clamp(.75rem,2vw,1rem);font-size:clamp(.75rem,2vw,.875rem);font-weight:600;display:grid}.dashboard-table-row{border-bottom:1px solid #e5e7eb;grid-template-columns:repeat(6,minmax(120px,1fr));align-items:center;gap:.75rem;min-width:600px;padding:clamp(.75rem,2vw,1rem);font-size:clamp(.75rem,2vw,.875rem);transition:background-color .2s;display:grid}@media (width<=1024px){.dashboard-table-header,.dashboard-table-row{grid-template-columns:repeat(5,minmax(100px,1fr));min-width:500px}}@media (width<=768px){.dashboard-table-header,.dashboard-table-row{grid-template-columns:repeat(4,minmax(90px,1fr));gap:.5rem;min-width:360px;padding:clamp(.5rem,2vw,.75rem);font-size:.7rem}}@media (width<=480px){.dashboard-table{display:none}.dashboard-table-mobile{background:#fff;border-radius:12px;margin-top:1.5rem;display:block;overflow:hidden;box-shadow:0 1px 3px #0000001a}.dashboard-table-mobile-title{color:#374151;background-color:#f3f4f6;border-bottom:2px solid #e5e7eb;padding:0;font-size:.95rem;font-weight:600}.dashboard-table-mobile-item{background:#fff;border-bottom:1px solid #e5e7eb;padding:.75rem}.dashboard-table-mobile-item:last-child{border-bottom:none}.dashboard-table-mobile-item-row{justify-content:space-between;margin-bottom:.4rem;font-size:.7rem;display:flex}.dashboard-table-mobile-item-row:last-child{margin-bottom:0}.dashboard-table-mobile-item-label{color:#374151;margin-right:.75rem;font-weight:600}.dashboard-table-mobile-item-value{color:#6b7280;text-align:right;flex-shrink:0}.dashboard-pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:0 .5rem;display:flex}.dashboard-pagination-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .75rem;font-size:.7rem;font-weight:600;transition:all .2s}.dashboard-pagination-btn:hover:not(:disabled){color:#2563eb;background:#f3f4f6;border-color:#2563eb}.dashboard-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.dashboard-pagination-info{color:#6b7280;font-size:.7rem;font-weight:600}}.dashboard-actions{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem;display:grid}@media (width<=1024px){.dashboard-actions{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dashboard-actions{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.dashboard-actions{grid-template-columns:repeat(2,1fr)}}.action-btn{color:#2563eb;cursor:pointer;background:#fff;border:2px solid #2563eb;border-radius:8px;padding:clamp(.75rem,3vw,1rem) clamp(1rem,4vw,1.5rem);font-size:clamp(.75rem,2vw,.875rem);font-weight:600;transition:all .2s}.action-btn:hover{color:#fff;background:#2563eb;box-shadow:0 4px 12px #2563eb4d}.dashboard-table-mobile{display:none!important}.dashboard-table-wrapper::-webkit-scrollbar{height:6px}.dashboard-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9}.dashboard-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.dashboard-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dashboard-table-row:hover{background-color:#f9fafb}.dashboard-table-row:last-child{border-bottom:none}@media (width<=768px){.dashboard-stats,.dashboard-table-header,.dashboard-table-row{grid-template-columns:1fr}}.registrar-container{background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);min-height:100vh;padding:2rem 1rem;transition:all .3s}html[data-theme=dark] .registrar-container{background:linear-gradient(135deg,#111827 0%,#1f2937 100%)}.registrar-wrapper{max-width:1200px;margin:0 auto}.registrar-header{text-align:center;margin-bottom:2rem}.registrar-title{color:#1a3c6b;margin:0 0 .5rem;font-size:2.25rem;font-weight:700;transition:all .3s}html[data-theme=dark] .registrar-title{color:#93c5fd}.registrar-subtitle{color:#6b7280;margin:0;font-size:1rem;transition:all .3s}html[data-theme=dark] .registrar-subtitle{color:#9ca3af}.registrar-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}@media (width<=1024px){.registrar-grid{grid-template-columns:1fr}}.registrar-form-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;transition:all .3s;box-shadow:0 1px 3px #0000001a}html[data-theme=dark] .registrar-form-section{background:#1f2937;border-color:#374151;box-shadow:0 1px 3px #0000004d}.registrar-form-title{color:#111827;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:1.25rem;font-weight:700;transition:all .3s;display:flex}html[data-theme=dark] .registrar-form-title{color:#f3f4f6}.registrar-form-group{margin-bottom:1.5rem}.registrar-form-group:last-child{margin-bottom:0}.registrar-label{color:#111827;margin-bottom:.5rem;font-size:.95rem;font-weight:600;transition:all .3s;display:block}html[data-theme=dark] .registrar-label{color:#f3f4f6}.registrar-label.required:after{content:" *";color:#dc2626}.registrar-input,.registrar-select,.registrar-textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}html[data-theme=dark] .registrar-input,html[data-theme=dark] .registrar-select,html[data-theme=dark] .registrar-textarea{color:#f3f4f6;background:#111827;border-color:#4b5563}.registrar-input:focus,.registrar-select:focus,.registrar-textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}html[data-theme=dark] .registrar-input:focus,html[data-theme=dark] .registrar-select:focus,html[data-theme=dark] .registrar-textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.registrar-input::placeholder{color:#9ca3af}.registrar-tipo-group{gap:1rem;margin-bottom:1.5rem;display:flex}.registrar-tipo-option{flex:1;position:relative}.registrar-tipo-input{display:none}.registrar-tipo-label{text-align:center;cursor:pointer;color:#6b7280;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;font-weight:600;transition:all .2s;display:block}html[data-theme=dark] .registrar-tipo-label{color:#d1d5db;background:#2d3748;border-color:#4b5563}.registrar-tipo-input:checked+.registrar-tipo-label{color:#1e40af;background:#dbeafe;border-color:#2563eb}html[data-theme=dark] .registrar-tipo-input:checked+.registrar-tipo-label{color:#93c5fd;background:#1e40af;border-color:#3b82f6}.registrar-tipo-label:hover{background:#f0f9ff;border-color:#bfdbfe}html[data-theme=dark] .registrar-tipo-label:hover{background:#1e3a8a;border-color:#60a5fa}.registrar-estudiante-seleccionado{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #0ea5e9;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;transition:all .3s}html[data-theme=dark] .registrar-estudiante-seleccionado{background:linear-gradient(135deg,#1e3a8a 0%,#0c4a6e 100%);border-color:#0ea5e9}.registrar-estudiante-badge{color:#fff;background:#0369a1;border-radius:9999px;margin-bottom:.5rem;padding:.25rem .75rem;font-size:.875rem;font-weight:600;transition:all .3s;display:inline-block}html[data-theme=dark] .registrar-estudiante-badge{background:#0284c7}.registrar-estudiante-nombre{color:#0c4a6e;margin:0 0 .5rem;font-size:1.25rem;font-weight:700;transition:all .3s}html[data-theme=dark] .registrar-estudiante-nombre{color:#bae6fd}.registrar-estudiante-info{grid-template-columns:1fr 1fr;gap:1rem;font-size:.875rem;display:grid}.registrar-estudiante-info-item{color:#374151;transition:all .3s}html[data-theme=dark] .registrar-estudiante-info-item{color:#d1d5db}.registrar-estudiante-info-label{color:#1f2937;font-weight:600;transition:all .3s}html[data-theme=dark] .registrar-estudiante-info-label{color:#f3f4f6}.registrar-actions{border-top:1px solid #e5e7eb;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;transition:all .3s;display:flex}html[data-theme=dark] .registrar-actions{border-top-color:#374151}.registrar-btn{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.registrar-btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);flex:1}html[data-theme=dark] .registrar-btn-primary{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.registrar-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}html[data-theme=dark] .registrar-btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d}.registrar-btn-secondary{color:#374151;background:#f3f4f6;flex:1;transition:all .2s}html[data-theme=dark] .registrar-btn-secondary{color:#f3f4f6;background:#374151}.registrar-btn-secondary:hover:not(:disabled){background:#e5e7eb}html[data-theme=dark] .registrar-btn-secondary:hover:not(:disabled){background:#4b5563}.registrar-btn:disabled{opacity:.6;cursor:not-allowed}.registrar-estudiantes-list{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:0;transition:all .3s;overflow:hidden;box-shadow:0 1px 3px #0000001a}html[data-theme=dark] .registrar-estudiantes-list{background:#1f2937;border-color:#374151;box-shadow:0 1px 3px #0000004d}.registrar-estudiantes-header{background:#f3f4f6;border-bottom:1px solid #e5e7eb;padding:1.5rem;transition:all .3s}html[data-theme=dark] .registrar-estudiantes-header{background:#2d3748;border-bottom-color:#374151}.registrar-estudiantes-search{position:relative}.registrar-estudiantes-search input{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem 1rem .75rem 2.5rem;font-size:.95rem;transition:all .2s}html[data-theme=dark] .registrar-estudiantes-search input{color:#f3f4f6;background:#111827;border-color:#4b5563}.registrar-estudiantes-search input:focus{border-color:#2563eb;outline:none}html[data-theme=dark] .registrar-estudiantes-search input:focus{border-color:#60a5fa}.registrar-estudiantes-search:before{content:"🔍";font-size:1rem;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.registrar-estudiantes-items{flex-direction:column;max-height:400px;display:flex;overflow-y:auto}.registrar-estudiante-item{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:1rem 1.5rem;transition:all .2s}html[data-theme=dark] .registrar-estudiante-item{border-bottom-color:#374151}.registrar-estudiante-item:hover{background:#f9fafb}html[data-theme=dark] .registrar-estudiante-item:hover{background:#374151}.registrar-estudiante-item:last-child{border-bottom:none}.registrar-estudiante-item-nombre{color:#111827;margin-bottom:.25rem;font-weight:600;transition:all .3s}html[data-theme=dark] .registrar-estudiante-item-nombre{color:#f3f4f6}.registrar-estudiante-item-info{color:#6b7280;gap:1rem;font-size:.875rem;transition:all .3s;display:flex}html[data-theme=dark] .registrar-estudiante-item-info{color:#9ca3af}.registrar-estudiante-item-curso{color:#4f46e5;background:#e0e7ff;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;transition:all .3s}html[data-theme=dark] .registrar-estudiante-item-curso{color:#93c5fd;background:#1e40af}.registrar-sin-estudiantes{text-align:center;color:#9ca3af;padding:2rem;transition:all .3s}html[data-theme=dark] .registrar-sin-estudiantes{color:#6b7280}.registrar-filtros{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.registrar-filtro-btn{color:#4b5563;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}html[data-theme=dark] .registrar-filtro-btn{color:#d1d5db;background:#1f2937;border-color:#4b5563}.registrar-filtro-btn:hover{color:#2563eb;border-color:#2563eb}html[data-theme=dark] .registrar-filtro-btn:hover{color:#60a5fa;border-color:#60a5fa}.registrar-filtro-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}html[data-theme=dark] .registrar-filtro-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.registrar-alert{border-radius:8px;margin-bottom:1rem;padding:1rem;font-weight:500;transition:all .3s}.registrar-alert-success{color:#166534;background:#dcfce7;border:1px solid #22c55e}html[data-theme=dark] .registrar-alert-success{color:#86efac;background:#1f3a1f;border-color:#16a34a}.registrar-alert-error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}html[data-theme=dark] .registrar-alert-error{color:#fecaca;background:#7f1d1d;border-color:#dc2626}@media (width<=768px){.registrar-container{padding:1rem}.registrar-title{font-size:1.75rem}.registrar-form-section{padding:1.5rem}.registrar-actions{flex-direction:column-reverse}.registrar-tipo-group{flex-direction:column}.registrar-estudiante-info{grid-template-columns:1fr}}@media (width<=480px){.registrar-container{padding:.75rem}.registrar-title{font-size:1.5rem}.registrar-form-section{padding:1rem}.registrar-form-group{margin-bottom:1rem}}.seguridad-container{background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);min-height:100vh;padding:2rem 1rem;transition:all .3s}html[data-theme=dark] .seguridad-container{background:linear-gradient(135deg,#111827 0%,#1f2937 100%)}.seguridad-header{text-align:center;margin-bottom:2rem}.seguridad-title{color:#1a3c6b;margin:0 0 .5rem;font-size:2.25rem;font-weight:700;transition:all .3s}html[data-theme=dark] .seguridad-title{color:#93c5fd}.seguridad-subtitle{color:#6b7280;margin:0;font-size:1rem;transition:all .3s}html[data-theme=dark] .seguridad-subtitle{color:#9ca3af}.seguridad-mensaje{text-align:center;border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-weight:600;animation:.3s slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.seguridad-mensaje-éxito{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}html[data-theme=dark] .seguridad-mensaje-éxito{color:#6ee7b7;background:#064e3b;border-color:#047857}.seguridad-mensaje-error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}html[data-theme=dark] .seguridad-mensaje-error{color:#fca5a5;background:#7f1d1d;border-color:#dc2626}.seguridad-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:2rem;padding:2rem;transition:all .3s;box-shadow:0 1px 3px #0000001a}html[data-theme=dark] .seguridad-card{background:#1f2937;border-color:#374151;box-shadow:0 1px 3px #0000004d}.seguridad-card-title{color:#111827;margin:0 0 1.5rem;font-size:1.5rem;font-weight:700;transition:all .3s}html[data-theme=dark] .seguridad-card-title{color:#f3f4f6}.configuracion-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.configuracion-item{flex-direction:column;gap:.5rem;display:flex}.configuracion-label{color:#374151;font-size:.95rem;font-weight:600;transition:all .3s}html[data-theme=dark] .configuracion-label{color:#d1d5db}.configuracion-input{border:1px solid #d1d5db;border-radius:6px;padding:.75rem;font-size:1rem;transition:all .2s}.configuracion-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}html[data-theme=dark] .configuracion-input{color:#f3f4f6;background:#374151;border-color:#4b5563}html[data-theme=dark] .configuracion-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.configuracion-help{color:#6b7280;font-size:.85rem;transition:all .3s}html[data-theme=dark] .configuracion-help{color:#9ca3af}.toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;display:flex}.toggle-input{display:none}.toggle-slider{background:#d1d5db;border-radius:13px;width:50px;height:26px;transition:all .3s;display:inline-block;position:relative}.toggle-input:checked+.toggle-slider{background:#10b981}.toggle-slider:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .3s;position:absolute;top:2px;left:2px}.toggle-input:checked+.toggle-slider:after{left:26px}html[data-theme=dark] .toggle-slider{background:#4b5563}html[data-theme=dark] .toggle-input:checked+.toggle-slider{background:#10b981}.btn-cerrar-inactivas,.btn-cerrar-sesion{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.btn-cerrar-inactivas{color:#fff;background:#ef4444;width:100%;margin-top:1rem}.btn-cerrar-inactivas:hover:not(:disabled){background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.btn-cerrar-inactivas:disabled{opacity:.5;cursor:not-allowed}.btn-cerrar-sesion{color:#fff;background:#f59e0b;width:100%}.btn-cerrar-sesion:hover:not(:disabled){background:#d97706;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.btn-cerrar-sesion:disabled{opacity:.5;cursor:not-allowed}html[data-theme=dark] .btn-cerrar-inactivas:hover:not(:disabled),html[data-theme=dark] .btn-cerrar-sesion:hover:not(:disabled){box-shadow:0 4px 12px #0006}.sesiones-lista{flex-direction:column;gap:1rem;display:flex}.sesion-item{border:2px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:all .3s}.sesion-activa{background:#f0fdf4;border-color:#86efac}html[data-theme=dark] .sesion-activa{background:#064e3b;border-color:#10b981}.sesion-inactiva{background:#fef2f2;border-color:#fca5a5}html[data-theme=dark] .sesion-inactiva{background:#7f1d1d;border-color:#ef4444}.sesion-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.sesion-info-principal{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.sesion-dispositivo{font-size:1.1rem;font-weight:700}.sesion-navegador,.sesion-so{background:#0000001a;border-radius:4px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}html[data-theme=dark] .sesion-navegador,html[data-theme=dark] .sesion-so{color:#e5e7eb;background:#ffffff1a}.sesion-estado-badge{color:#fff;white-space:nowrap;background:#10b981;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.sesion-estado-badge.inactiva{background:#ef4444}.sesion-detalles{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.detalle{flex-direction:column;gap:.25rem;display:flex}.detalle-label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}html[data-theme=dark] .detalle-label{color:#9ca3af}.detalle-valor{color:#111827;word-break:break-word;font-size:.95rem}html[data-theme=dark] .detalle-valor{color:#f3f4f6}.seguridad-loading,.seguridad-vacio{text-align:center;color:#6b7280;padding:2rem;font-size:1rem}html[data-theme=dark] .seguridad-loading,html[data-theme=dark] .seguridad-vacio{color:#9ca3af}.seguridad-info{color:#0c4a6e;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:1.5rem;transition:all .3s}html[data-theme=dark] .seguridad-info{color:#93c5fd;background:#1e3a8a;border-color:#1e40af}.seguridad-info h3{margin:0 0 1rem;font-size:1.1rem}.seguridad-info ul{margin:0;padding-left:1.5rem}.seguridad-info li{margin-bottom:.5rem;line-height:1.6}@media (width<=768px){.seguridad-container{padding:1rem}.seguridad-title{font-size:1.75rem}.seguridad-card{padding:1.5rem}.configuracion-grid{grid-template-columns:1fr;gap:1.5rem}.sesion-header{flex-direction:column;align-items:flex-start}.sesion-detalles{grid-template-columns:1fr}}
