*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#333;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace}:focus{outline:2px solid #007bff;outline-offset:2px}.js-focus-visible :focus:not(.focus-visible){outline:none}*{transition:color .2s ease,background-color .2s ease,border-color .2s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media print{*{background:#fff!important;color:#000!important}.no-print{display:none!important}}@media (prefers-contrast:high){*{border-color:currentColor}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;transition:all .2s ease}.btn-sm{font-size:.875rem;padding:6px 12px}.btn-md{font-size:1rem;padding:10px 16px}.btn-lg{font-size:1.125rem;padding:12px 24px}.btn-primary{background:#007bff;color:#fff}.btn-secondary{background:#6c757d;color:#fff}.btn-success{background:#28a745;color:#fff}.btn-danger{background:#dc3545;color:#fff}.btn:hover{opacity:.9}.btn:disabled{cursor:not-allowed;opacity:.6}.sidebar{background:#fff;border-right:1px solid #e0e0e0;box-shadow:2px 0 8px #0000001a;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transform:translateX(0);transition:transform .3s ease;width:280px;z-index:999}.sidebar-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:20px}.sidebar-header,.sidebar-logo{align-items:center;display:flex}.sidebar-logo{gap:12px}.logo-icon{font-size:1.5rem}.logo-text{color:#1a1a1a;font-size:1.2rem;font-weight:700}.sidebar-close{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:none;font-size:1.2rem;padding:4px}.sidebar-close:hover{background:#f0f0f0}.sidebar-user{border-bottom:1px solid #f0f0f0;gap:12px;padding:20px}.sidebar-user,.user-avatar{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-size:1.2rem;font-weight:600;height:48px;justify-content:center;width:48px}.user-info{flex:1 1}.user-name{color:#1a1a1a;font-weight:600;margin-bottom:2px}.user-role{color:#666;font-size:.85rem;text-transform:capitalize}.sidebar-nav{flex:1 1;padding:20px 0}.nav-item{align-items:center;border-left:3px solid #0000;color:#666;display:flex;gap:12px;padding:12px 20px;text-decoration:none;transition:all .2s ease}.nav-item:hover{background:#f8f9fa;color:#333}.nav-item-active{background:#e3f2fd;border-left-color:#1976d2;color:#1976d2}.nav-icon{font-size:1.2rem;text-align:center;width:20px}.nav-label{font-weight:500}.sidebar-footer{border-top:1px solid #f0f0f0;padding:20px}.logout-btn{justify-content:center;width:100%}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar-open{transform:translateX(0)}.sidebar-close{display:block}}.header{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;justify-content:space-between;padding:16px 24px}.header,.header-left{align-items:center;display:flex}.header-left{gap:16px}.menu-toggle{display:none}.header-title h2{color:#1a1a1a;font-size:1.5rem;font-weight:600;margin:0}.header-title p{color:#666;font-size:.9rem;margin:2px 0 0}.header-right{align-items:center;display:flex;gap:16px}.header-date{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;padding:8px 16px}@media (max-width:768px){.header{padding:12px 16px}.menu-toggle{display:flex}.header-title h2{font-size:1.2rem}.header-date{display:none}}.layout{background:#f5f5f5;display:flex;min-height:100vh}.layout-main{display:flex;flex:1 1;flex-direction:column;margin-left:280px;transition:margin-left .3s ease}.layout-content{flex:1 1;overflow-y:auto}.layout-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:998}@media (max-width:768px){.layout-main{margin-left:0}.layout-overlay{display:block}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-header h1{color:#1a1a1a;font-size:1.8rem;font-weight:700;margin-bottom:8px}.login-header p{color:#666;font-size:1rem}.login-form{display:flex;flex-direction:column;gap:20px}.form-control:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-button{margin-top:12px;width:100%}.error-message{background:#ffebee;border-radius:8px;color:#d32f2f;font-size:.9rem;padding:12px 16px;text-align:center}.card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;transition:all .2s ease}.card-padding-none{padding:0}.card-padding-sm{padding:16px}.card-padding-default{padding:24px}.card-padding-lg{padding:32px}.card-shadow-none{box-shadow:none}.card-shadow-sm{box-shadow:0 2px 4px #0000000d}.card-shadow-default{box-shadow:0 4px 12px #0000000d}.card-hover:hover,.card-shadow-lg{box-shadow:0 8px 24px #0000001a}.card-hover:hover{transform:translateY(-2px)}@media (max-width:768px){.card-padding-default{padding:16px}.card-padding-lg{padding:24px}}.super-admin-dashboard{background:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.dashboard-header h1{background:linear-gradient(135deg,#667eea,#764ba2)}@media (max-width:768px){.super-admin-dashboard{padding:16px}.dashboard-header h1{font-size:2rem}.stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.stat-card{flex-direction:column;padding:16px;text-align:center}.stat-icon{margin-bottom:12px;margin-right:0}.actions-grid{grid-template-columns:1fr}}.admin-dashboard{background:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.dashboard-header{align-items:center;display:flex;justify-content:space-between}.welcome-section h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:8px}.welcome-section p{color:#666;font-size:1.1rem;margin:0}.date-info{align-items:center;display:flex}.current-date{border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;font-size:.95rem;font-weight:500;padding:12px 20px}.current-date,.stat-card:before{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.students:before{background:linear-gradient(135deg,#2196f3,#1976d2)}.stat-card.teachers:before{background:linear-gradient(135deg,#4caf50,#388e3c)}.stat-card.present:before{background:linear-gradient(135deg,#8bc34a,#689f38)}.stat-info{flex:1 1}.stat-info h3{color:#1a1a1a;font-size:2.2rem;font-weight:700;margin-bottom:4px}.stat-info p{color:#666;font-size:.95rem;font-weight:500;margin:0}.stat-action{margin-left:16px}.charts-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.chart-container{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;overflow:hidden;transition:all .3s ease}.chart-container:hover{box-shadow:0 8px 24px #0000001a}.quick-actions-section{margin-bottom:32px}.section-header{align-items:flex-start;padding:20px 24px}.section-header h3{font-size:1.4rem}.section-header p{color:#666;font-size:.95rem;margin:4px 0 0}.quick-actions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:0 24px 24px}.quick-action-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:12px;display:flex;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.quick-action-card:before{content:"";height:100%;left:0;position:absolute;top:0;transition:width .3s ease;width:4px}.quick-action-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.quick-action-card:hover:before{width:8px}.quick-action-card.primary:before{background:linear-gradient(135deg,#2196f3,#1976d2)}.quick-action-card.success:before{background:linear-gradient(135deg,#4caf50,#388e3c)}.quick-action-card.info:before{background:linear-gradient(135deg,#00bcd4,#0097a7)}.quick-action-card.warning:before{background:linear-gradient(135deg,#ff9800,#f57c00)}.action-icon{font-size:2rem;margin-right:16px;opacity:.8}.action-content{flex:1 1}.action-content h4{color:#1a1a1a;font-size:1.1rem;font-weight:600;margin:0 0 4px}.action-content p{color:#666;font-size:.9rem;margin:0}.recent-activity-section{margin-bottom:32px}.activity-list{padding:0 24px 24px}.activity-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;padding:16px 0;transition:all .2s ease}.activity-item:hover{background:#fafafa;border-radius:8px;margin:0 -24px;padding:16px 24px}.activity-item:last-child{border-bottom:none}.activity-icon{align-items:center;background:#f0f0f0;border-radius:50%;display:flex;font-size:1.5rem;height:40px;justify-content:center;margin-right:16px;width:40px}.activity-content{flex:1 1}.activity-content p{color:#333;font-size:.95rem;margin:0 0 4px}.activity-time{color:#999;font-size:.85rem}.dashboard-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:400px}.spinner{border-top-color:#667eea;margin-bottom:20px}@media (max-width:1200px){.charts-section{grid-template-columns:1fr}}@media (max-width:768px){.admin-dashboard{padding:16px}.dashboard-header{align-items:stretch;flex-direction:column;gap:16px;text-align:center}.welcome-section h1{font-size:2rem}.current-date{align-self:center;font-size:.9rem;padding:10px 16px}.stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.stat-card{flex-direction:column;padding:16px;text-align:center}.stat-icon{font-size:2rem;margin-bottom:12px;margin-right:0}.stat-action{margin-left:0;margin-top:12px}.quick-actions-grid{grid-template-columns:1fr;padding:0 16px 16px}.quick-action-card,.section-header{padding:16px}.activity-list{padding:0 16px 16px}.chart-content{padding:16px}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:20px 16px}.stat-info h3,.welcome-section h1{font-size:1.8rem}.quick-action-card{flex-direction:column;padding:20px 16px;text-align:center}.action-icon{margin-bottom:12px;margin-right:0}}@media (prefers-color-scheme:dark){.admin-dashboard{background:#f1f1f1}.chart-container,.quick-action-card,.stat-card{background:#2d2d2d;border-color:#404040}.action-content h4,.chart-header h3,.section-header h3,.stat-info h3,.welcome-section h1{color:#929292}.action-content p,.section-header p,.stat-info p,.welcome-section p{color:#ccc}.activity-item:hover,.chart-header{background:#404040}.chart-header{border-color:#555}}@media print{.admin-dashboard{background:#fff;padding:0}.chart-container,.quick-action-card,.stat-card{border:1px solid #ddd;box-shadow:none}.current-date{background:#f0f0f0;color:#333}.quick-actions-section,.recent-activity-section{page-break-inside:avoid}}.teacher-dashboard{background:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.dashboard-header{border-bottom:1px solid #e0e0e0;margin-bottom:32px;padding-bottom:24px;text-align:center}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4caf50,#388e3c);-webkit-background-clip:text;background-clip:text;color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:8px}.dashboard-header p{color:#666;font-size:1.1rem;margin:0}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px}.stat-card{transition:all .3s ease}.stat-card:before{background:linear-gradient(135deg,#4caf50,#388e3c)}.stat-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.stat-content h3{color:#1a1a1a;font-size:2.2rem;font-weight:700;margin-bottom:4px}.stat-content p{color:#666;font-size:.95rem;font-weight:500;margin:0}.quick-actions{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;padding:24px}.quick-actions h3{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin:0 0 20px}.actions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:768px){.teacher-dashboard{padding:16px}.dashboard-header h1{font-size:2rem}.stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.stat-card{flex-direction:column;padding:16px;text-align:center}.stat-icon{margin-bottom:12px;margin-right:0}.actions-grid{grid-template-columns:1fr}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.table-container{border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.data-table{background:#fff;border-collapse:collapse;width:100%}.data-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#333;font-size:.9rem;font-weight:600;padding:16px 12px;text-align:left;white-space:nowrap}.data-table td{border-bottom:1px solid #f0f0f0;padding:16px 12px;vertical-align:top}.data-table.striped tbody tr:nth-child(2n){background:#f8f9fa}.data-table.hoverable tbody tr:hover{background:#f0f8ff}.data-table tbody tr:last-child td{border-bottom:none}.table-empty{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.table-empty .empty-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.table-empty p{font-size:1.1rem;margin:0}@media (max-width:768px){.data-table td,.data-table th{font-size:.85rem;padding:12px 8px}.table-empty{padding:40px 20px}.table-empty .empty-icon{font-size:2rem}.table-empty p{font-size:1rem}}.school-list{background:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}@media (max-width:768px){.school-list{padding:16px}.page-header{align-items:stretch;gap:16px}.actions-cell,.page-header{flex-direction:column}}.school-form{background:#f5f5f5;margin:0 auto;max-width:1000px;min-height:100vh;padding:24px}@media (max-width:768px){.form-grid,.school-form{padding:16px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}}.form-section-label{color:#2a3883;font-size:1.1em;font-weight:700;margin:16px 0 4px;width:100%}.form-group.checkbox-group{align-items:center;display:flex;gap:8px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-container{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-sm{max-width:400px;width:100%}.modal-md{max-width:600px;width:100%}.modal-lg{max-width:800px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:0;padding:24px 24px 16px}.modal-title{color:#1a1a1a;font-size:1.5rem;font-weight:600;margin:0}.modal-close-btn{align-items:center;border-radius:50%;display:flex;font-size:1.2rem;height:36px;justify-content:center;line-height:1;padding:0;width:36px}.modal-body{flex:1 1;overflow-y:auto;padding:24px}@media (max-width:768px){.modal-overlay{padding:10px}.modal-container{max-height:95vh}.modal-lg{max-width:100%}.modal-header{padding:16px 16px 0}.modal-body{padding:16px}.modal-title{font-size:1.25rem}}.student-list{margin:0 auto;max-width:1400px;padding:24px}.header-actions{display:flex;gap:12px}.student-info-cell .student-name{color:#1a1a1a;font-weight:600;margin-bottom:4px}.student-info-cell .student-details{color:#666;font-size:.85rem}.parent-contact-cell .parent-name{color:#1a1a1a;font-weight:500;margin-bottom:2px}.parent-contact-cell .parent-phone{color:#666;font-size:.85rem}.pagination{display:flex;gap:8px;justify-content:center;margin-top:24px;padding:20px}.pagination-btn{background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;padding:8px 12px;transition:all .2s ease}.pagination-btn:hover{background:#f5f5f5;border-color:#d0d0d0}.pagination-btn.active{background:#2196f3;border-color:#2196f3;color:#fff}.delete-confirmation{text-align:center}.student-details{background:#f8f9fa;border-radius:8px;margin:16px 0;padding:16px;text-align:left}.student-details p{font-size:.95rem;margin:8px 0}@media (max-width:768px){.student-list{padding:16px}.page-header{align-items:stretch;flex-direction:column;gap:16px}.header-actions{justify-content:stretch}.filters-row{grid-template-columns:1fr}.actions-cell{flex-direction:column}.pagination{flex-wrap:wrap}}.student-form{margin:0 auto;max-width:1000px;padding:24px}.card-header{border-bottom:1px solid #f0f0f0;margin-bottom:20px;padding:20px 24px}.card-header h3{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin:0}.form-grid{padding:0 24px 24px}.form-group.full-width{grid-column:1/-1}.contact-section{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px 24px}.contact-section h4{color:#1a1a1a;font-size:1.1rem;font-weight:600;margin:0 0 16px}@media (max-width:768px){.student-form{padding:16px}.form-grid{grid-template-columns:1fr;padding:0 16px 16px}.card-header,.contact-section{padding:16px}.form-actions{flex-direction:column}}.bulk-import{background:#f5f5f5;margin:0 auto;max-width:1000px;min-height:100vh;padding:24px}.page-header h1{background:linear-gradient(135deg,#667eea,#764ba2)}.page-header p{margin:0}.instructions{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-bottom:24px;padding:24px}.instructions h3{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin:0 0 20px}.instruction-steps{grid-gap:20px;display:grid;gap:20px}.step{align-items:flex-start;border:1px solid #e0e0e0;border-radius:12px;display:flex;gap:16px;padding:20px;transition:all .2s ease}.step:hover{border-color:#2196f3;box-shadow:0 4px 12px #2196f31a}.step-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:600;height:32px;justify-content:center;width:32px}.step-content{flex:1 1}.step-content h4{color:#1a1a1a;font-size:1.1rem;font-weight:600;margin:0 0 8px}.step-content p{color:#666;line-height:1.5;margin:0 0 12px}.step-content ul{color:#666;margin:8px 0 12px 20px}.step-content li{margin-bottom:4px}.upload-section{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-bottom:24px;padding:24px}.upload-section h3{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin:0 0 20px}.file-drop-zone{border:2px dashed #e0e0e0;border-radius:12px;cursor:pointer;margin-bottom:20px;padding:40px 20px;text-align:center;transition:all .2s ease}.file-drop-zone.drag-active,.file-drop-zone:hover{background:#f0f8ff;border-color:#2196f3}.drop-zone-content{align-items:center;display:flex;flex-direction:column;gap:12px}.upload-icon{font-size:3rem;opacity:.5}.file-types{color:#999;font-size:.85rem;margin-top:8px}.file-selected{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:16px;padding:16px}.file-icon{font-size:2rem}.file-info{flex:1 1}.file-name{color:#1a1a1a;font-weight:600;margin-bottom:4px}.file-size{color:#666;font-size:.85rem}.upload-actions{display:flex;gap:16px;justify-content:center}.import-results{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;padding:24px}.import-results h3{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin:0 0 20px}.results-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}.result-stat{border-radius:12px;padding:20px;text-align:center}.result-stat.success{background:#e8f5e8;color:#2e7d32}.result-stat.error{background:#ffebee;color:#d32f2f}.error-details{margin-bottom:24px}.error-details h4{color:#d32f2f;font-size:1.1rem;font-weight:600;margin:0 0 16px}.error-list{background:#ffebee;border-radius:8px;max-height:200px;overflow-y:auto;padding:16px}.error-item{display:flex;font-size:.9rem;gap:12px;margin-bottom:8px}.error-row{color:#d32f2f;font-weight:600;min-width:60px}.error-message{color:#666}.success-message{background:#e8f5e8;border-radius:8px;color:#2e7d32;padding:20px;text-align:center}.success-message p{font-size:1.1rem;font-weight:500;margin:0 0 16px}@media (max-width:768px){.bulk-import{padding:16px}.instruction-steps{gap:16px}.step{flex-direction:column;text-align:center}.step-number{align-self:center}.results-summary{grid-template-columns:1fr}.file-selected,.upload-actions{flex-direction:column}.file-selected{text-align:center}}.teacher-list{background:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.status-badge.active{background:#e8f5e8;color:#2e7d32}.status-badge.inactive{background:#ffebee;color:#d32f2f}@media (max-width:768px){.teacher-list{padding:16px}.page-header{align-items:stretch;gap:16px}.actions-cell,.page-header{flex-direction:column}}.LoadingSpinner_spinner__DFYZS{display:inline-block}.LoadingSpinner_spinnerCircle__ltp1t{animation:LoadingSpinner_spin__07K4e 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#007bff}.LoadingSpinner_small__ka3KA .LoadingSpinner_spinnerCircle__ltp1t{border-width:2px;height:16px;width:16px}.LoadingSpinner_medium__wngXo .LoadingSpinner_spinnerCircle__ltp1t{border-width:3px;height:24px;width:24px}.LoadingSpinner_large__IFEdq .LoadingSpinner_spinnerCircle__ltp1t{border-width:4px;height:40px;width:40px}.LoadingSpinner_primary__0N-Uo .LoadingSpinner_spinnerCircle__ltp1t{border-top-color:#007bff}.LoadingSpinner_secondary__PTkAX .LoadingSpinner_spinnerCircle__ltp1t{border-top-color:#6c757d}.LoadingSpinner_white__v08fS .LoadingSpinner_spinnerCircle__ltp1t{border-color:#fff #ffffff4d #ffffff4d}@keyframes LoadingSpinner_spin__07K4e{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.TeacherForm_form__JT2xW{width:100%}.TeacherForm_formGrid__iNgZ1{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.TeacherForm_formGroup__1OXgx{display:flex;flex-direction:column}.TeacherForm_formGroup__1OXgx label{color:#343a40;font-size:14px;font-weight:500;margin-bottom:6px}.TeacherForm_formInput__gf6n3,.TeacherForm_formSelect__bEuES{border:2px solid #e9ecef;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s ease}.TeacherForm_formInput__gf6n3:focus,.TeacherForm_formSelect__bEuES:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.TeacherForm_formInput__gf6n3.TeacherForm_error__xiEDJ,.TeacherForm_formSelect__bEuES.TeacherForm_error__xiEDJ{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.TeacherForm_formSelect__bEuES{background:#fff;min-height:120px}.TeacherForm_formSelect__bEuES option{margin:2px 0;padding:8px}.TeacherForm_formSelect__bEuES option:checked{background:#007bff;color:#fff}.TeacherForm_errorText__8RHNm{color:#dc3545;font-size:12px;margin-top:4px}.TeacherForm_helpText__Bl4gg{color:#6c757d;font-size:12px;font-style:italic;margin-top:4px}.TeacherForm_formActions__GlVCL{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding-top:20px}@media (max-width:768px){.TeacherForm_formGrid__iNgZ1{gap:16px;grid-template-columns:1fr}.TeacherForm_formActions__GlVCL{flex-direction:column-reverse}.TeacherForm_formSelect__bEuES{min-height:100px}}.teacher-form{background:#f5f5f5;margin:0 auto;max-width:1000px;min-height:100vh;padding:24px}.page-header h1{background:linear-gradient(135deg,#4caf50,#388e3c)}.form-control:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}@media (max-width:768px){.form-grid,.teacher-form{padding:16px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}}.class-list{background:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.page-header{align-items:center}.page-header h1{margin:0}.loading-state{font-size:1.1rem}@media (max-width:768px){.class-list{padding:16px}.page-header{align-items:stretch;gap:16px}.actions-cell,.page-header{flex-direction:column}}.class-form{background:#f5f5f5;margin:0 auto;max-width:1000px;min-height:100vh;padding:24px}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff9800,#f57c00);-webkit-background-clip:text;background-clip:text}.form-grid{grid-gap:20px;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px;padding:24px}.form-control:focus{border-color:#ff9800;box-shadow:0 0 0 3px #ff98001a}.sections-section{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-bottom:24px;padding:24px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h3{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin:0}.section-row{grid-gap:16px;background:#f8f9fa;border-radius:8px;display:grid;gap:16px;grid-template-columns:1fr 150px;margin-bottom:16px;padding:16px}.form-actions{border-top:1px solid #e0e0e0;display:flex;gap:16px;justify-content:center;margin-top:32px;padding-top:24px}@media (max-width:768px){.class-form,.form-grid{padding:16px}.form-grid,.section-row{grid-template-columns:1fr}.form-actions{flex-direction:column}}.mark-attendance{margin:0 auto;max-width:1200px;padding:24px}.page-header{text-align:center}.page-header h1{color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:8px}.page-header p{color:#666;font-size:1.1rem}.attendance-controls{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-bottom:24px;padding:24px}.control-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.bulk-actions{border-top:1px solid #f0f0f0;display:flex;gap:12px;justify-content:center;padding-top:20px}.attendance-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{border-radius:12px;padding:20px;text-align:center}.stat-card.present{border-left:4px solid #4caf50}.stat-card.absent{border-left:4px solid #f44336}.stat-card.late{border-left:4px solid #ff9800}.stat-card.excused{border-left:4px solid #2196f3}.stat-number{display:block;font-size:2rem}.stat-label{font-size:.9rem}.students-list{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;padding:24px}.students-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.students-header h3{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin:0}.students-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:32px}.student-card{border:2px solid #f0f0f0;border-radius:12px;padding:20px;transition:all .2s ease}.student-card:hover{border-color:#e0e0e0;box-shadow:0 4px 12px #0000001a}.student-info{margin-bottom:16px}.student-name{color:#1a1a1a;font-size:1.1rem;font-weight:600;margin-bottom:4px}.student-roll{color:#666;font-size:.9rem}.attendance-controls{display:flex;flex-direction:column;gap:12px}.status-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.status-btn{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 12px;transition:all .2s ease}.status-btn:hover{border-color:#d0d0d0}.status-btn.active{border-color:#0000;color:#fff}.status-btn.present.active{background:#4caf50}.status-btn.absent.active{background:#f44336}.status-btn.late.active{background:#ff9800}.status-btn.excused.active{background:#2196f3}.remarks-input{border:1px solid #e0e0e0;border-radius:6px;font-size:.85rem;padding:8px 12px;transition:border-color .2s ease}.remarks-input:focus{border-color:#2196f3;outline:none}.save-section{border-top:1px solid #f0f0f0;padding-top:24px;text-align:center}.empty-state,.loading-state{color:#666;padding:60px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#2196f3;height:40px;margin:0 auto 20px;width:40px}.confirm-modal{text-align:center}.confirm-details{background:#f8f9fa;border-radius:8px;margin:16px 0;padding:16px}.confirm-details p{font-size:.95rem;margin:8px 0}.confirm-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin:20px 0}.confirm-stats .stat{background:#f0f0f0;border-radius:6px;font-size:.9rem;font-weight:500;padding:8px}.modal-actions{justify-content:center}@media (max-width:768px){.mark-attendance{padding:16px}.control-row{grid-template-columns:1fr}.attendance-stats{grid-template-columns:repeat(2,1fr)}.students-grid{grid-template-columns:1fr}.bulk-actions{flex-direction:column}}.attendance-reports{background:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.header-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text}.filters-section{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-bottom:24px;padding:24px}.filters-section h3{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin:0 0 20px}.filters-grid{grid-gap:20px;align-items:end;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-actions{align-items:end;display:flex}.stats-section{margin-bottom:32px}.stats-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.stat-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;display:flex;overflow:hidden;padding:24px;position:relative;transition:transform .2s ease}.stat-card:before{content:"";height:100%;left:0;position:absolute;top:0;width:4px}.stat-card.present:before{background:linear-gradient(135deg,#4caf50,#388e3c)}.stat-card.absent:before{background:linear-gradient(135deg,#f44336,#d32f2f)}.stat-card.late:before{background:linear-gradient(135deg,#ff9800,#f57c00)}.stat-card.excused:before{background:linear-gradient(135deg,#2196f3,#1976d2)}.stat-card:hover{transform:translateY(-2px)}.stat-icon{font-size:2.5rem;margin-right:20px;opacity:.8}.stat-content{flex:1 1}.stat-number{color:#1a1a1a;font-size:2.2rem;font-weight:700;margin-bottom:4px}.stat-label{color:#666;font-size:.95rem;font-weight:500}.charts-section{margin-bottom:32px}.chart-header{background:#fafafa;border-bottom:1px solid #f0f0f0;padding:20px 24px}.chart-header h3{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin:0}.chart-content{padding:20px}.table-info{color:#666;font-size:.9rem}.student-cell .student-name{color:#1a1a1a;font-weight:600;margin-bottom:4px}.student-cell .student-roll{color:#666;font-size:.85rem}.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.status-badge.present{background:#e8f5e8;color:#2e7d32}.status-badge.absent{background:#ffebee;color:#d32f2f}.status-badge.late{background:#fff3e0;color:#f57c00}.status-badge.excused{background:#e3f2fd;color:#1976d2}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1200px){.stats-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.attendance-reports{padding:16px}.page-header{align-items:stretch;flex-direction:column;gap:16px}.filters-grid,.stats-cards{grid-template-columns:1fr}.stat-card{padding:16px}}.notification-center{margin:0 auto;max-width:1400px;padding:24px}.page-header{align-items:flex-start;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.header-content h1{color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:8px}.header-content p{color:#666;font-size:1.1rem;margin:0}.filters-card{margin-bottom:24px}.filters-row{grid-gap:20px;align-items:end;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#333;font-size:.9rem;font-weight:600;margin-bottom:8px}.table-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px 24px}.table-header h3{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin:0}.table-stats{color:#666;font-size:.9rem}.type-cell{align-items:center;display:flex;gap:8px}.type-icon{font-size:1.2rem}.type-text{font-weight:500;text-transform:capitalize}.title-cell .title{color:#1a1a1a;font-weight:600;margin-bottom:4px}.title-cell .message-preview{color:#666;font-size:.85rem;line-height:1.3}.recipients-cell .total-recipients{color:#1a1a1a;font-weight:600;margin-bottom:4px}.recipients-cell .delivery-stats{display:flex;font-size:.8rem;gap:12px}.recipients-cell .sent{color:#4caf50}.recipients-cell .delivered{color:#2196f3}.recipients-cell .failed{color:#f44336}.badge{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.badge-success{background:#e8f5e8;color:#2e7d32}.badge-warning{background:#fff3e0;color:#f57c00}.badge-info{background:#e3f2fd;color:#1976d2}.badge-danger{background:#ffebee;color:#d32f2f}.badge-secondary{background:#f5f5f5;color:#616161}.actions-cell{display:flex;gap:8px}.create-notification-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-size:.9rem;font-weight:600;margin-bottom:8px}.form-control{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .2s ease}.form-control:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.form-control:disabled{background:#f5f5f5;cursor:not-allowed}textarea.form-control{min-height:100px;resize:vertical}.character-count{text-align:right}.character-count,.form-text{color:#666;font-size:.8rem;margin-top:4px}.modal-actions{border-top:1px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-state .spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#2196f3;height:40px;margin-bottom:20px;width:40px}@media (max-width:768px){.notification-center{padding:16px}.page-header{align-items:stretch;flex-direction:column;gap:16px}.filters-row,.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}}.notification-details{color:#222;font-size:16px;padding:12px 0}.notification-details p{line-height:1.5;margin:0 0 8px}.notification-details strong{color:#1e2952}.notification-details hr{border:none;border-top:1px solid #e2e2e2;margin:18px 0 12px}.notification-details ul{list-style:disc;margin:0 0 0 18px;max-height:120px;overflow-y:auto;padding:0 0 4px}.notification-details li{color:#294967;font-size:15px;margin-bottom:2px}.notification-details .delivery-stats{color:#555;font-size:15px;margin-top:6px}.notification-details .modal-section-label{color:#426be2;display:block;font-size:17px;font-weight:600;margin-top:10px}.notification-details .message-block{background:#f7faff;border:1px solid #dbeafe;border-radius:4px;color:#26314f;font-size:15px;margin-bottom:1em;padding:10px 14px;white-space:pre-line}@media (max-width:600px){.notification-details{font-size:15px;padding:3px 0}.notification-details ul{font-size:14px;max-height:64px}}