:root{--brand-black:#0b0b0b;--brand-orange:#ff6a00;--surface-white:#fff;--grey-900:#121212;--grey-700:#2a2a2a;--grey-500:#6b6b6b;--grey-300:#cfcfcf;--grey-100:#f4f4f4;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--h1:3.75rem;--h2:2.625rem;--h3:1.5rem;--body-large:1.125rem;--body-base:1rem;--nav-btn:0.9375rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-card:12px;--radius-btn:6px;--radius-full:9999px;--shadow-sm:0 2px 8px #0b0b0b0a;--shadow-card-hover:0 8px 24px #00000014;--shadow-menu:0 4px 20px #0000001a;--shadow-lg:0 20px 40px #0000001f;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--z-base:0;--z-dropdown:1000;--z-sticky:1100;--z-modal:1200}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--surface-white);color:var(--grey-500);font-family:var(--font-family);font-size:var(--body-base);font-weight:var(--weight-regular);line-height:1.5;margin:0;padding:0}h1,h2,h3,h4,h5,h6{color:var(--brand-black);line-height:1.2;margin:0}h1{font-size:var(--h1);font-weight:var(--weight-bold);line-height:1.1}h2{font-size:var(--h2);line-height:1.2}h2,h3{font-weight:var(--weight-semibold)}h3{font-size:var(--h3);line-height:1.4}p{color:var(--grey-500);line-height:1.5;margin:0}a{color:var(--brand-black);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--brand-orange)}button{background:none;border:none;cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:inherit}input,select,textarea{color:inherit}ol,ul{list-style:none;margin:0;padding:0}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.nx-btn,.sr-only{white-space:nowrap}.nx-btn{align-items:center;border:none;border-radius:var(--radius-btn);cursor:pointer;display:inline-flex;font-size:var(--nav-btn);font-weight:var(--weight-medium);gap:var(--space-sm);justify-content:center;line-height:1;outline:none;padding:var(--space-md) var(--space-lg);transition:all var(--transition-fast)}.nx-btn:focus-visible{outline:2px solid var(--brand-orange);outline-offset:2px}.nx-btn:disabled{cursor:not-allowed;opacity:.5}.nx-btn-primary{background-color:var(--brand-black);color:var(--surface-white)}.nx-btn-primary:hover:not(:disabled){background-color:var(--grey-900);box-shadow:var(--shadow-sm)}.nx-btn-secondary{background-color:var(--surface-white);border:1px solid var(--grey-300);color:var(--brand-black)}.nx-btn-secondary:hover:not(:disabled){border-color:var(--brand-black);box-shadow:var(--shadow-sm)}.nx-btn-accent{background-color:var(--brand-orange);color:var(--surface-white)}.nx-btn-accent:hover:not(:disabled){background-color:#e55a00;box-shadow:var(--shadow-sm)}.nx-btn-danger{background-color:var(--error);color:var(--surface-white)}.nx-btn-danger:hover:not(:disabled){background-color:#dc2626}.nx-btn-sm{font-size:.875rem;padding:var(--space-sm) var(--space-md)}.nx-btn-lg{font-size:1rem;padding:var(--space-lg) var(--space-xl)}.nx-card{background-color:var(--surface-white);border:1px solid var(--grey-300);border-radius:var(--radius-card);overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.nx-card:hover{border-color:var(--brand-black);box-shadow:var(--shadow-card-hover)}.nx-card-header{background-color:var(--surface-white);border-bottom:1px solid var(--grey-300);padding:var(--space-lg)}.nx-card-header h3{color:var(--brand-black);margin:0}.nx-card-body,.nx-card-footer{padding:var(--space-lg)}.nx-card-footer{background-color:var(--grey-100);border-top:1px solid var(--grey-300)}.nx-badge{align-items:center;border-radius:var(--radius-btn);display:inline-flex;font-size:.75rem;font-weight:var(--weight-semibold);gap:var(--space-sm);letter-spacing:.5px;padding:var(--space-xs) var(--space-sm);text-transform:uppercase}.nx-badge-success{background-color:var(--success);color:var(--surface-white)}.nx-badge-warning{background-color:var(--warning);color:var(--brand-black)}.nx-badge-error{background-color:var(--error);color:var(--surface-white)}.nx-badge-info{background-color:var(--info);color:var(--surface-white)}.nx-badge-neutral{background-color:var(--grey-300);color:var(--brand-black)}.nx-table{border-collapse:collapse;font-size:var(--body-base);width:100%}.nx-table thead{background-color:var(--grey-100);border-bottom:1px solid var(--grey-300)}.nx-table th{color:var(--brand-black);font-weight:var(--weight-semibold);text-align:left}.nx-table td,.nx-table th{padding:var(--space-md) var(--space-lg)}.nx-table td{border-bottom:1px solid var(--grey-300);color:var(--grey-500)}.nx-table tbody tr:hover{background-color:var(--grey-100)}.nx-table tbody tr.selected{background-color:#f0f0f0;border-left:3px solid var(--brand-orange)}.nx-stat-card{background-color:var(--surface-white);border:1px solid var(--grey-300);border-radius:var(--radius-card);padding:var(--space-lg);text-align:center}.nx-stat-value{color:var(--brand-black);font-size:2.5rem;font-weight:var(--weight-bold);margin-bottom:var(--space-sm)}.nx-stat-label{color:var(--grey-500);font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.nx-input,.nx-select{background-color:var(--grey-100);border:1px solid var(--grey-300);border-radius:var(--radius-btn);color:var(--brand-black);font-family:inherit;font-size:var(--body-base);padding:var(--space-md);transition:border-color var(--transition-fast),background-color var(--transition-fast);width:100%}.nx-input:focus,.nx-select:focus{background-color:var(--surface-white);border-color:var(--brand-black);outline:none}.nx-input::placeholder{color:var(--grey-500)}.nx-dropdown{display:inline-block;position:relative}.nx-dropdown-menu{background-color:var(--grey-900);border-radius:var(--radius-card);box-shadow:var(--shadow-menu);left:0;min-width:200px;overflow:hidden;position:absolute;top:100%;z-index:var(--z-dropdown)}.nx-dropdown-item{background:none;border:none;color:var(--surface-white);cursor:pointer;display:block;padding:var(--space-md) var(--space-lg);text-align:left;transition:background-color var(--transition-fast);width:100%}.nx-dropdown-item:hover{background-color:var(--grey-700);color:var(--brand-orange)}.nx-nav-link{align-items:center;border-radius:var(--radius-btn);color:var(--grey-500);display:flex;font-size:var(--nav-btn);font-weight:var(--weight-medium);gap:var(--space-sm);padding:var(--space-md) var(--space-lg);text-decoration:none;transition:color var(--transition-fast),background-color var(--transition-fast)}.nx-nav-link:hover{background-color:var(--grey-100);color:var(--brand-orange)}.nx-nav-link-active{background-color:var(--grey-100);color:var(--brand-black);font-weight:var(--weight-semibold)}.nx-tabs{border-bottom:1px solid var(--grey-300);display:flex;gap:0}.nx-tab-button{background:none;border:none;border-bottom:2px solid #0000;color:var(--grey-500);cursor:pointer;flex:1 1;font-size:var(--nav-btn);font-weight:var(--weight-medium);padding:var(--space-md) var(--space-lg);transition:color var(--transition-fast),border-color var(--transition-fast)}.nx-tab-button:hover{color:var(--brand-black)}.nx-tab-button.active{border-bottom-color:var(--brand-orange);color:var(--brand-orange)}.nx-alert{border-left:4px solid;border-radius:var(--radius-card);padding:var(--space-lg)}.nx-alert-success{background-color:#d1fae5;border-left-color:var(--success);color:var(--brand-black)}.nx-alert-error{background-color:#fee2e2;border-left-color:var(--error);color:var(--brand-black)}.nx-alert-warning{background-color:#fef3c7;border-left-color:var(--warning);color:var(--brand-black)}.nx-spinner{animation:spin .8s linear infinite;border:2px solid var(--grey-300);border-radius:50%;border-top-color:var(--brand-black);display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.nx-container{margin-left:auto;margin-right:auto;max-width:1280px}.nx-container,.nx-container-fluid{padding-left:var(--space-lg);padding-right:var(--space-lg);width:100%}.nx-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg)}.nx-grid-2{grid-template-columns:repeat(2,1fr)}.nx-grid-3{grid-template-columns:repeat(3,1fr)}.nx-grid-4{grid-template-columns:repeat(4,1fr)}.nx-grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.nx-flex{display:flex}.nx-flex-col{display:flex;flex-direction:column}.nx-flex-center{align-items:center;display:flex;justify-content:center}.nx-flex-between{align-items:center;display:flex;justify-content:space-between}.nx-flex-start{align-items:flex-start;display:flex}.nx-flex-end{align-items:flex-end;display:flex}.nx-gap-xs{gap:var(--nx-space-xs)}.nx-gap-sm{gap:var(--nx-space-sm)}.nx-gap-md{gap:var(--nx-space-md)}.nx-gap-lg{gap:var(--nx-space-lg)}.nx-p-xs{padding:var(--nx-space-xs)}.nx-p-sm{padding:var(--nx-space-sm)}.nx-p-md{padding:var(--nx-space-md)}.nx-p-lg{padding:var(--nx-space-lg)}.nx-p-xl{padding:var(--nx-space-xl)}.nx-m-xs{margin:var(--nx-space-xs)}.nx-m-sm{margin:var(--nx-space-sm)}.nx-m-md{margin:var(--nx-space-md)}.nx-m-lg{margin:var(--nx-space-lg)}.nx-m-xl{margin:var(--nx-space-xl)}.nx-mb-xs{margin-bottom:var(--nx-space-xs)}.nx-mb-sm{margin-bottom:var(--nx-space-sm)}.nx-mb-md{margin-bottom:var(--nx-space-md)}.nx-mb-lg{margin-bottom:var(--nx-space-lg)}.nx-mb-xl{margin-bottom:var(--nx-space-xl)}.nx-mt-xs{margin-top:var(--nx-space-xs)}.nx-mt-sm{margin-top:var(--nx-space-sm)}.nx-mt-md{margin-top:var(--nx-space-md)}.nx-mt-lg{margin-top:var(--nx-space-lg)}.nx-mt-xl{margin-top:var(--nx-space-xl)}@media (max-width:1024px){.nx-grid-3,.nx-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.nx-container{padding-left:var(--nx-space-sm);padding-right:var(--nx-space-sm)}.nx-grid-2,.nx-grid-3,.nx-grid-4,.nx-grid-auto-fit{grid-template-columns:1fr}}.nx-text-center{text-align:center}.nx-text-left{text-align:left}.nx-text-right{text-align:right}.nx-text-sm{font-size:var(--nx-small)}.nx-text-base{font-size:var(--nx-body)}.nx-text-lg{font-size:var(--nx-h3)}.nx-text-muted{color:var(--nx-text-muted)}.nx-text-secondary{color:var(--nx-text-secondary)}.nx-weight-medium{font-weight:var(--nx-weight-medium)}.nx-weight-semibold{font-weight:var(--nx-weight-semibold)}.nx-weight-bold{font-weight:var(--nx-weight-bold)}.nx-block{display:block}.nx-inline-block{display:inline-block}.nx-hidden{display:none}.nx-w-full{width:100%}.nx-w-auto{width:auto}.access-gateway{align-items:center;background:linear-gradient(135deg,var(--nexora-bg-primary) 0,var(--nexora-bg-secondary) 100%);display:flex;font-family:var(--nexora-font-family);justify-content:center;min-height:100vh;padding:var(--nexora-space-lg)}.access-gateway-container{max-width:520px;width:100%}.access-gateway-header{margin-bottom:3rem;text-align:center}.access-gateway-brand{color:var(--nexora-primary);font-size:2rem;font-weight:var(--nexora-weight-bold);letter-spacing:.08em;margin:0 0 1rem;text-transform:uppercase}.access-gateway-title{color:var(--nexora-text-primary);font-size:var(--nexora-font-2xl);font-weight:var(--nexora-weight-semibold);letter-spacing:-.01em;line-height:var(--nexora-line-tight);margin:0 0 .75rem}.access-gateway-subtitle{color:var(--nexora-text-secondary);font-size:var(--nexora-font-base);font-weight:var(--nexora-weight-regular);line-height:var(--nexora-line-normal);margin:0}.access-gateway-card{background:var(--nexora-white);border:1px solid var(--nexora-grey-300);border-radius:var(--nexora-radius-lg);box-shadow:var(--nexora-shadow-lg);padding:var(--nexora-space-2xl);transition:box-shadow var(--nexora-transition-base)}.access-gateway-card:hover{box-shadow:0 20px 40px #1a2a4a1f}.access-gateway-form{display:flex;flex-direction:column;gap:var(--nexora-space-lg)}.access-gateway-input-group{display:flex;flex-direction:column;gap:var(--nexora-space-sm)}.access-gateway-label{font-size:var(--nexora-font-xs);font-weight:var(--nexora-weight-semibold);letter-spacing:.05em}.access-gateway-input,.access-gateway-label{color:var(--nexora-text-primary);text-transform:uppercase}.access-gateway-input{background:var(--nexora-input-bg);border:1px solid var(--nexora-input-border);border-radius:var(--nexora-input-radius);font-family:var(--nexora-font-family);font-size:var(--nexora-font-base);font-weight:var(--nexora-weight-medium);height:var(--nexora-input-height);letter-spacing:.02em;outline:none;padding:0 var(--nexora-space-md);transition:all var(--nexora-transition-fast)}.access-gateway-input:focus{border-color:var(--nexora-input-border-focus);box-shadow:0 0 0 3px #6c63ff1a}.access-gateway-input::placeholder{color:var(--nexora-text-muted);text-transform:none}.access-gateway-error{align-items:flex-start;background:var(--nexora-error-light);border:1px solid var(--nexora-error);border-radius:var(--nexora-radius-lg);display:flex;gap:var(--nexora-space-md);padding:var(--nexora-space-lg)}.access-gateway-error-icon{flex-shrink:0;font-size:1.5rem}.access-gateway-error-content{display:flex;flex:1 1;flex-direction:column;gap:var(--nexora-space-sm)}.access-gateway-error-text{color:var(--nexora-error);font-size:var(--nexora-font-sm);font-weight:var(--nexora-weight-medium);line-height:var(--nexora-line-normal);margin:0}.access-gateway-error-link{align-items:center;color:var(--nexora-accent);display:inline-flex;font-size:var(--nexora-font-sm);font-weight:var(--nexora-weight-semibold);gap:.25rem;text-decoration:none;transition:color var(--nexora-transition-fast)}.access-gateway-error-link:hover{color:var(--nexora-primary)}.access-gateway-button{align-items:center;border:none;border-radius:var(--nexora-btn-radius);cursor:pointer;display:flex;font-family:var(--nexora-font-family);font-size:var(--nexora-font-base);font-weight:var(--nexora-weight-semibold);gap:var(--nexora-space-sm);height:var(--nexora-btn-height);justify-content:center;outline:none;padding:0 var(--nexora-space-lg);transition:all var(--nexora-transition-fast);width:100%}.access-gateway-button:focus-visible{outline:2px solid var(--nexora-accent);outline-offset:2px}.access-gateway-button.primary{background:linear-gradient(135deg,#1a2a4a,#2d3e5f);box-shadow:var(--nexora-shadow-sm);color:#fff}.access-gateway-button.primary:hover:not(:disabled){background:linear-gradient(135deg,#2d3e5f,#3d4f7a);box-shadow:var(--nexora-shadow-lg);transform:translateY(-1px)}.access-gateway-button.primary:active:not(:disabled){box-shadow:var(--nexora-shadow-md);transform:translateY(0)}.access-gateway-button.primary:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.access-gateway-button.primary.large{font-size:var(--nexora-font-lg);height:var(--nexora-btn-height-lg);margin-bottom:var(--nexora-space-md)}.access-gateway-button.secondary{background:var(--nexora-white);border:1px solid var(--nexora-grey-300);color:var(--nexora-text-primary)}.access-gateway-button.secondary:hover:not(:disabled){background:var(--nexora-bg-secondary);border-color:var(--nexora-primary);box-shadow:var(--nexora-shadow-sm)}.access-gateway-spinner{animation:access-gateway-spin .6s linear infinite;border:2px solid #1a2a4a33;border-radius:50%;border-top:2px solid var(--nexora-primary);display:inline-block;height:1rem;width:1rem}@keyframes access-gateway-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.access-gateway-verified{display:flex;flex-direction:column;gap:var(--nexora-space-lg);text-align:center}.access-gateway-verified-icon{font-size:3rem;margin:0}.access-gateway-verified-title{color:var(--nexora-text-primary);font-size:var(--nexora-font-2xl);font-weight:var(--nexora-weight-semibold);margin:0}.access-gateway-verified-info{border-bottom:1px solid var(--nexora-grey-200);border-top:1px solid var(--nexora-grey-200);display:flex;flex-direction:column;gap:var(--nexora-space-sm);padding:var(--nexora-space-lg) 0}.access-gateway-verified-name{color:var(--nexora-text-primary);font-size:var(--nexora-font-lg);font-weight:var(--nexora-weight-semibold);margin:0}.access-gateway-verified-id,.access-gateway-verified-type{color:var(--nexora-text-secondary);font-size:var(--nexora-font-sm);font-weight:var(--nexora-weight-regular);margin:0}.access-gateway-footer{display:flex;flex-direction:column;gap:var(--nexora-space-xs);margin-top:2.5rem;text-align:center}.access-gateway-footer-copyright,.access-gateway-footer-encrypted,.access-gateway-footer-powered{color:var(--nexora-text-muted);font-size:var(--nexora-font-xs);font-weight:var(--nexora-weight-regular);margin:0}.access-gateway-footer-powered{color:var(--nexora-text-secondary);font-weight:var(--nexora-weight-semibold)}@media (max-width:640px){.access-gateway{padding:var(--nexora-space-md)}.access-gateway-container{max-width:100%}.access-gateway-card{padding:var(--nexora-space-xl)}.access-gateway-header{margin-bottom:2rem}.access-gateway-title{font-size:var(--nexora-font-xl)}.access-gateway-button{font-size:var(--nexora-font-sm)}}.interactive-dashboard{width:100%}.dashboard-header{align-items:flex-start;display:flex;gap:var(--nx-space-lg);justify-content:space-between}.dashboard-header h1{color:var(--nx-text-main);font-size:var(--nx-h2);margin-bottom:var(--nx-space-xs)}.dashboard-header p{color:var(--nx-text-muted);font-size:var(--nx-small)}.dashboard-tabs{background-color:var(--nx-bg-muted);border-bottom:1px solid var(--nx-border-light);display:flex}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:var(--nx-text-secondary);cursor:pointer;flex:1 1;font-size:var(--nx-body);font-weight:var(--nx-weight-medium);padding:var(--nx-space-md);position:relative;transition:all var(--nx-transition-base)}.tab-button:hover{background-color:var(--nx-bg-main);color:var(--nx-text-main)}.tab-button.active{background-color:var(--surface-white);border-bottom-color:var(--brand-orange);color:var(--brand-orange)}.tab-content{animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:.8}to{opacity:1}}.filter-section{border-bottom:1px solid var(--nx-border-light);margin-bottom:0}.filter-badge{background-color:var(--nx-bg-muted);border:1px solid var(--nx-border-light);border-radius:var(--nx-radius-md);color:var(--nx-text-secondary);cursor:pointer;font-size:var(--nx-small);font-weight:var(--nx-weight-medium);padding:6px 12px;transition:all var(--nx-transition-base)}.filter-badge:hover{background-color:var(--nx-bg-main);border-color:var(--nx-border-medium);color:var(--nx-text-main)}.filter-badge.active{background-color:var(--nx-primary);border-color:var(--nx-primary);color:var(--nx-text-inverse)}.attendance-row,.result-row{cursor:pointer;transition:all var(--nx-transition-base)}.attendance-row:hover,.result-row:hover{background-color:var(--nx-bg-hover);color:var(--nx-text-main)}.attendance-row.selected,.result-row.selected{background-color:var(--nx-primary);color:var(--nx-text-inverse)}.attendance-row.selected td,.result-row.selected td{color:var(--nx-text-inverse)}.attendance-row.selected .nx-badge,.result-row.selected .nx-badge{opacity:.9}.attendance-row.selected .nx-text-muted,.result-row.selected .nx-text-muted{color:#fffc}.empty-state{align-items:center;display:flex;justify-content:center;min-height:200px}.context-panel{animation:slideIn .2s ease;background:linear-gradient(135deg,#ff6a0005,#0000);border:2px solid var(--brand-orange)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.context-panel h3{color:var(--nx-primary);font-size:var(--nx-h3)}.context-panel p{margin:var(--nx-space-xs) 0}@media (max-width:768px){.dashboard-header{flex-direction:column}.nx-grid-4{grid-template-columns:repeat(2,1fr)}.tab-button{font-size:var(--nx-small);padding:var(--nx-space-sm)}.filter-badge{font-size:.75rem;padding:4px 8px}.context-panel{margin-top:var(--nx-space-lg)}}@media (max-width:480px){.nx-grid-4{grid-template-columns:1fr}.nx-stat-card{padding:var(--nx-space-sm)}.nx-stat-value{font-size:1.5rem}}.students-page{width:100%}.students-layout{grid-gap:var(--nx-space-lg);display:grid;gap:var(--nx-space-lg);grid-template-columns:350px 1fr}.students-detail-panel,.students-list-panel{min-height:500px}.students-list{max-height:600px;overflow-y:auto}.student-list-item{grid-gap:var(--nx-space-md);align-items:center;background:none;border:none;border-bottom:1px solid var(--nx-border-light);cursor:pointer;display:grid;gap:var(--nx-space-md);grid-template-columns:40px 1fr 80px;padding:var(--nx-space-md);text-align:left;transition:all var(--nx-transition-base);width:100%}.student-list-item:hover{background-color:var(--nx-bg-hover)}.student-list-item.active{border-bottom-color:var(--nx-primary)}.student-avatar,.student-list-item.active{background-color:var(--nx-primary);color:var(--nx-text-inverse)}.student-avatar{align-items:center;border-radius:var(--nx-radius-full);display:flex;flex-shrink:0;font-weight:var(--nx-weight-semibold);height:40px;justify-content:center;width:40px}.student-list-item.active .student-avatar{background-color:#ffffff4d}.student-info{display:flex;flex-direction:column;gap:2px}.student-name{font-size:var(--nx-body);font-weight:var(--nx-weight-semibold)}.student-email{color:var(--nx-text-muted);font-size:var(--nx-small)}.student-list-item.active .student-email{color:#ffffffb3}.student-status{display:flex;justify-content:flex-end}.detail-section{margin-bottom:var(--nx-space-lg)}.detail-label{color:var(--nx-text-muted);font-size:var(--nx-small);font-weight:var(--nx-weight-semibold);letter-spacing:.025em;margin:0 0 var(--nx-space-xs) 0;text-transform:uppercase}.detail-value{color:var(--nx-text-main);font-size:var(--nx-body);margin:0}.detail-actions{border-top:1px solid var(--nx-border-light);display:flex;gap:var(--nx-space-sm);margin-top:var(--nx-space-lg);padding-top:var(--nx-space-lg)}.detail-actions button{flex:1 1}@media (max-width:1024px){.students-layout{grid-template-columns:280px 1fr}.students-list{max-height:400px}}@media (max-width:768px){.students-layout{grid-template-columns:1fr}.students-detail-panel,.students-list-panel{min-height:300px}.student-list-item{grid-template-columns:36px 1fr 60px}.student-name{font-size:var(--nx-small)}.nx-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.nx-grid-4{grid-template-columns:1fr}.nx-stat-card{padding:var(--nx-space-sm)}.student-list-item{gap:var(--nx-space-sm);grid-template-columns:32px 1fr}.student-status{grid-column:1/-1;justify-content:flex-start;margin-top:var(--nx-space-xs)}}.attendance-page{width:100%}.controls-grid{grid-gap:var(--nx-space-md);display:grid;gap:var(--nx-space-md);grid-template-columns:repeat(2,1fr);margin-bottom:var(--nx-space-md)}.filter-row{border-top:1px solid var(--nx-border-light);margin-top:var(--nx-space-md);padding-top:var(--nx-space-md)}.attendance-row{transition:all var(--nx-transition-base)}.attendance-row:hover{background-color:var(--nx-bg-hover)}@media (max-width:768px){.controls-grid{grid-template-columns:1fr}.filter-buttons{flex-wrap:wrap}.filter-button{flex:1 1;min-width:80px}.nx-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.nx-grid-4{grid-template-columns:1fr}.nx-stat-card{padding:var(--nx-space-sm)}.filter-button{flex:none}}.results-page{width:100%}.controls-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--nx-space-lg);justify-content:space-between}.controls-row>div{flex:1 1;min-width:250px}.filter-buttons{display:flex;flex-wrap:wrap;gap:var(--nx-space-sm)}.filter-button{background-color:var(--nx-bg-muted);border:1px solid var(--nx-border-light);border-radius:var(--nx-radius-md);color:var(--nx-text-secondary);cursor:pointer;font-size:var(--nx-small);font-weight:var(--nx-weight-medium);padding:6px 14px;transition:all var(--nx-transition-base)}.filter-button:hover{background-color:var(--nx-bg-main);border-color:var(--nx-border-medium);color:var(--nx-text-main)}.filter-button.active{background-color:var(--nx-primary);border-color:var(--nx-primary);color:var(--nx-text-inverse)}.result-row{transition:all var(--nx-transition-base)}.result-row:hover{background-color:var(--nx-bg-hover)}.student-name{font-weight:var(--nx-weight-medium)}.score-bar-container{align-items:center;display:flex;gap:var(--nx-space-sm)}.score-bar{background-color:var(--nx-bg-muted);border-radius:3px;flex:1 1;height:6px;min-width:60px;overflow:hidden}.score-bar-fill{height:100%;transition:width var(--nx-transition-base)}.score-text{font-size:var(--nx-small);font-weight:var(--nx-weight-semibold);min-width:40px;text-align:right}.empty-state{background-color:var(--nx-bg-muted);border-radius:var(--nx-radius-md);color:var(--nx-text-muted);padding:var(--nx-space-lg);text-align:center}.action-buttons{display:flex;gap:var(--nx-space-sm)}.action-buttons button{flex:1 1;max-width:200px}@media (max-width:1024px){.controls-row{align-items:stretch;flex-direction:column}.controls-row>div{min-width:100%}}@media (max-width:768px){.filter-buttons{flex-wrap:wrap}.filter-button{flex:1 1;min-width:80px}.nx-grid-4{grid-template-columns:repeat(2,1fr)}.action-buttons{flex-wrap:wrap}.action-buttons button{flex:1 1;min-width:100%}}@media (max-width:480px){.nx-grid-4{grid-template-columns:1fr}.nx-stat-card{padding:var(--nx-space-sm)}.score-bar-container{align-items:flex-start;flex-direction:column}.score-bar{width:100%}.score-text{text-align:left}}.settings-page{width:100%}.page-header{margin-bottom:var(--nx-space-lg)}.page-header h1{color:var(--nx-text-main);font-size:var(--nx-h2);margin-bottom:var(--nx-space-xs)}.page-header p{color:var(--nx-text-muted);font-size:var(--nx-small)}.settings-container{max-width:800px}.setting-row{align-items:center;border-bottom:1px solid var(--nx-border-light);display:flex;justify-content:space-between;padding:var(--nx-space-md)}.setting-row:last-child{border-bottom:none}.setting-row>div{flex:1 1}.setting-title{color:var(--nx-text-main);font-weight:var(--nx-weight-semibold);margin:0 0 var(--nx-space-xs) 0}.setting-description{color:var(--nx-text-muted);font-size:var(--nx-small);margin:0}.setting-value{color:var(--nx-text-secondary);font-size:var(--nx-body);margin:var(--nx-space-xs) 0 0 0}.toggle-switch{-webkit-appearance:none;appearance:none;background-color:var(--nx-bg-muted);border:2px solid var(--nx-border-light);border-radius:13px;cursor:pointer;height:26px;outline:none;position:relative;transition:all var(--nx-transition-base);width:50px}.toggle-switch:checked{background-color:var(--nx-accent);border-color:var(--nx-accent)}.toggle-switch:before{background-color:#fff;border-radius:50%;content:"";height:18px;left:2px;position:absolute;top:2px;transition:all var(--nx-transition-base);width:18px}.toggle-switch:checked:before{left:26px}.setting-field{border-bottom:1px solid var(--nx-border-light);padding:var(--nx-space-md)}.setting-field:last-child{border-bottom:none}.setting-label{display:flex;flex-direction:column;gap:var(--nx-space-sm)}.setting-label .setting-title{margin:0}.setting-label .nx-input{width:100%}.about-info{text-align:center}.about-info p{margin:var(--nx-space-sm) 0}.about-info strong{color:var(--nx-text-main);font-weight:var(--nx-weight-semibold)}.support-info{padding:var(--nx-space-sm)}.support-info .setting-title{color:var(--nx-text-main);font-size:var(--nx-body);margin-bottom:var(--nx-space-md)}.support-contacts{display:flex;gap:var(--nx-space-lg);margin:var(--nx-space-md) 0}.support-item{background-color:var(--nx-bg-subtle);border:1px solid var(--nx-border-light);border-radius:var(--nx-radius-sm);flex:1 1;padding:var(--nx-space-md)}.support-item p{margin:0 0 var(--nx-space-xs) 0}.support-link{color:var(--nx-accent);font-weight:var(--nx-weight-medium);text-decoration:none;transition:color var(--nx-transition-fast)}.support-link:hover{color:var(--brand-orange);text-decoration:underline}@media (max-width:768px){.support-contacts{flex-direction:column;gap:var(--nx-space-sm)}}.settings-actions{display:flex;gap:var(--nx-space-sm);margin-top:var(--nx-space-lg)}.settings-actions button{flex:1 1;max-width:200px}.nx-card-body .setting-row:last-child .nx-btn{margin-right:var(--nx-space-sm)}@media (max-width:768px){.settings-container{max-width:100%}.setting-row{align-items:flex-start;flex-direction:column;gap:var(--nx-space-md)}.toggle-switch{margin-top:var(--nx-space-sm)}.settings-actions{flex-wrap:wrap}.settings-actions button{flex:1 1;max-width:100%;min-width:100%}}@media (max-width:480px){.page-header h1{font-size:var(--nx-h3)}.setting-field,.setting-row{padding:var(--nx-space-sm)}}.institute-layout{background-color:var(--nx-bg-main);display:grid;grid-template-areas:"header header" "sidebar main";grid-template-columns:240px 1fr;grid-template-rows:64px 1fr;min-height:100vh}.institute-header{background-color:var(--nx-bg-card);border-bottom:1px solid var(--nx-border-light);box-shadow:var(--nx-shadow-sm);grid-area:header;justify-content:space-between;padding:0 var(--nx-space-md);position:-webkit-sticky;position:sticky;top:0;z-index:var(--nx-z-sticky)}.header-left,.institute-header{align-items:center;display:flex}.header-left{gap:var(--nx-space-md)}.header-right{align-items:center;display:flex;gap:var(--nx-space-lg)}.header-context{align-items:flex-end;display:flex;flex-direction:column}.context-label{color:var(--nx-text-muted);font-size:var(--nx-small);font-weight:var(--nx-weight-medium);letter-spacing:.025em;text-transform:uppercase}.context-value{color:var(--nx-text-main);font-size:var(--nx-body);font-weight:var(--nx-weight-semibold)}.mobile-menu-toggle{background:none;border:none;color:var(--nx-text-main);cursor:pointer;display:none;font-size:1.25rem;padding:var(--nx-space-xs);transition:all var(--transition-fast)}.mobile-menu-toggle:hover{color:var(--brand-orange)}.institute-brand{align-items:center;display:flex;padding-right:var(--nx-space-md)}.brand-logo{color:var(--nx-primary);font-size:var(--nx-h3);font-weight:var(--nx-weight-bold);letter-spacing:.02em}.brand-separator{align-items:center;color:var(--nx-border-light);display:flex;font-size:var(--nx-h3);font-weight:var(--nx-weight-light);padding:0 var(--nx-space-md);-webkit-user-select:none;user-select:none}.institute-name{padding-left:0;padding-right:0}.institute-name-text{color:var(--nx-primary);font-size:var(--nx-body);font-weight:var(--nx-weight-semibold);letter-spacing:.005em}.user-menu-trigger{align-items:center;background-color:var(--nx-bg-hover);border:1px solid var(--nx-border-light);border-radius:var(--nx-radius-md);cursor:pointer;display:flex;gap:var(--nx-space-xs);padding:var(--nx-space-xs) var(--nx-space-sm);transition:all var(--nx-transition-base)}.user-menu-trigger:hover{background-color:var(--nx-bg-muted);border-color:var(--nx-primary);box-shadow:var(--nx-shadow-focus)}.user-avatar{align-items:center;background-color:var(--nx-primary);border-radius:var(--nx-radius-full);color:var(--nx-text-inverse);display:flex;font-size:var(--nx-small);font-weight:var(--nx-weight-semibold);height:32px;justify-content:center;width:32px}.user-name{color:var(--nx-text-main);font-size:var(--nx-body);font-weight:var(--nx-weight-medium)}.dropdown-arrow{color:var(--grey-500);flex-shrink:0;font-size:.7rem;margin-left:var(--nx-space-xs)}.institute-sidebar{background-color:var(--nx-bg-card);border-right:1px solid var(--nx-border-light);display:flex;flex-direction:column;grid-area:sidebar;padding:var(--nx-space-md);position:relative;transition:width var(--nx-transition-base)}.institute-sidebar.collapsed{grid-template-columns:80px 1fr;width:80px}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:var(--nx-space-xs)}.nav-icon{color:var(--grey-500);flex-shrink:0;font-size:1.25rem;transition:color var(--transition-fast)}.nx-nav-link-active .nav-icon{color:var(--brand-black)}.nav-label{font-size:var(--nx-body)}.sidebar-toggle{align-items:center;background-color:var(--grey-100);border:1px solid var(--grey-300);border-radius:var(--radius-btn);color:var(--grey-500);cursor:pointer;display:flex;justify-content:center;margin-top:var(--nx-space-md);padding:var(--nx-space-sm);transition:all var(--transition-fast)}.sidebar-toggle:hover{background-color:var(--surface-white);border-color:var(--brand-black);color:var(--brand-black)}.institute-main{grid-area:main;overflow-y:auto;padding:var(--nx-space-lg);transition:margin-left var(--nx-transition-base)}.institute-main.sidebar-collapsed{margin-left:0}@media (max-width:1024px){.institute-layout{grid-template-columns:200px 1fr}}@media (max-width:768px){.institute-layout{grid-template-areas:"header header" "main main";grid-template-columns:1fr}.mobile-menu-toggle{display:block}.institute-name,.user-name{display:none}.institute-sidebar{bottom:0;box-shadow:var(--nx-shadow-lg);left:0;position:fixed;top:64px;transform:translateX(-100%);transition:transform var(--nx-transition-base);width:240px;z-index:var(--nx-z-overlay)}.institute-sidebar.mobile-open{transform:translateX(0)}.sidebar-toggle{display:none}.institute-main{padding:var(--nx-space-md)}.mobile-overlay{background-color:#0f172a80;inset:0;position:fixed;z-index:calc(var(--nx-z-overlay) - 1)}}@media (max-width:480px){.institute-header{padding:0 var(--nx-space-sm)}.institute-main{padding:var(--nx-space-sm)}}
/*# sourceMappingURL=main.5f4ff43d.css.map*/