@charset "UTF-8";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.mobile-navbar{align-items:center;background-color:#fff;bottom:0;box-shadow:0 -2px 10px #0000001a;display:flex;height:60px;justify-content:space-around;left:0;position:fixed;right:0;z-index:100}.mobile-nav-item{align-items:center;color:#444;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:center;padding:8px 4px;text-decoration:none;transition:color .2s}.mobile-nav-item.active{color:#007bff}.mobile-nav-icon{font-size:20px;margin-bottom:4px}.mobile-nav-label{font-size:12px;font-weight:500}@supports (padding-bottom:env(safe-area-inset-bottom)){.mobile-navbar{height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}@media (max-width:768px){body{padding-bottom:60px}@supports (padding-bottom:env(safe-area-inset-bottom)){body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}}}.logout-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.logout-modal{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0003;max-width:360px;overflow:hidden;width:90%}.logout-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:15px 20px}.logout-modal-header h3{color:#333;font-size:18px;margin:0}.close-modal{background:none;border:none;color:#666;cursor:pointer;font-size:20px}.logout-modal-content{padding:20px}.user-profile-info{align-items:center;display:flex;flex-direction:column;margin-bottom:20px}.user-avatar-large{align-items:center;background-color:#007bff;border-radius:50%;color:#fff;display:flex;font-size:28px;font-weight:500;height:64px;justify-content:center;margin-bottom:15px;width:64px}.user-profile-info h3{color:#333;font-size:18px;margin:0 0 5px}.user-profile-info p{color:#666;font-size:14px;margin:0 0 5px}.user-role-badge{background-color:#e1f5fe;border-radius:12px;color:#0288d1;display:inline-block;font-size:12px;font-weight:500;margin-top:5px!important;padding:4px 12px;text-transform:capitalize}.modal-actions{flex-direction:column}.profile-link{background-color:#f5f7fa;border:1px solid #ddd;border-radius:4px;color:#333;font-weight:500;padding:10px;text-align:center;text-decoration:none;transition:all .2s}.profile-link:hover{background-color:#eee}.logout-button{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;font-size:14px;padding:10px;transition:all .2s}.logout-button:hover{background-color:#f1b0b7}.close-modal,.logout-button,.mobile-nav-item,.profile-link{align-items:center;display:flex;justify-content:center;min-height:44px}.center-branding-header{align-items:center;background-color:#fff;border-bottom:1px solid #eee;box-shadow:0 2px 4px #0000000d;display:flex;padding:12px 16px;position:relative;width:100%}.center-logo-container{align-items:center;border-radius:50%;display:flex;height:40px;justify-content:center;margin-right:12px;overflow:hidden;width:40px}.center-logo{height:100%;object-fit:contain;width:100%}.center-logo-placeholder{align-items:center;background-color:#4a90e2;border-radius:50%;display:flex;height:40px;justify-content:center;margin-right:12px;width:40px}.center-initial{color:#fff;font-size:18px;font-weight:700;text-transform:uppercase}.center-name{color:#fff;flex:1 1;font-weight:600;margin:0}.subdomain-info{margin-left:auto}.subdomain-badge{background-color:#f0f0f0;border-radius:10px;color:#666;font-size:12px;font-weight:500;padding:3px 8px}@media (max-width:768px){.center-branding-header{padding:8px 12px}.center-logo-container,.center-logo-placeholder{height:32px;margin-right:8px;width:32px}.center-initial{font-size:14px}.center-name{font-size:16px}}.login-container{align-items:center;background-color:#f5f7fa;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px;padding:30px;width:100%}.login-header{margin-bottom:30px;text-align:center}.logo-container{justify-content:center;margin-bottom:15px}.memoraize-logo{height:auto;max-width:100%;width:200px}.login-header p{color:#666;font-size:16px}.login-form{margin-bottom:20px}.form-group input{font-size:16px;padding:12px;transition:border-color .2s}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.password-input-container{position:relative}.password-toggle{background:none;border:none;color:#007bff;cursor:pointer;font-size:14px;padding:0;position:absolute;right:12px;text-decoration:underline;top:50%;transform:translateY(-50%)}.form-options{justify-content:space-between;margin-bottom:20px}.form-options,.remember-me{align-items:center;display:flex}.remember-me input[type=checkbox]{height:16px;margin-right:8px;width:16px}.forgot-password{color:#007bff;font-size:14px;text-decoration:none}.forgot-password:hover{text-decoration:underline}.login-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px;transition:background-color .2s;width:100%}.login-button:hover{background-color:#0069d9}.login-button:disabled{background-color:#b3d7ff;cursor:not-allowed}.login-footer{border-top:1px solid #eee;margin-top:20px;padding-top:20px;text-align:center}.login-footer p{color:#666;margin-bottom:8px}.register-link{color:#007bff;font-weight:500;text-decoration:none}.register-link:hover{text-decoration:underline}.error-message{padding:10px}.screen-indicator{background-color:#000000b3;border-radius:4px;bottom:10px;color:#fff;display:none;font-size:12px;padding:5px 10px;position:fixed;right:10px;z-index:1000}@media (max-width:480px){.login-card{background-color:initial;box-shadow:none;padding:20px}.memoraize-logo{width:180px}.form-group input,.login-button{font-size:16px;padding:14px}.password-toggle{padding:5px 10px;right:5px}.remember-me input[type=checkbox]{height:20px;width:20px}}@media (min-width:481px) and (max-width:768px){.login-card{max-width:480px}}.dashboard-loading{height:100vh}.error-message{background-color:#f8d7da;color:#721c24}.unknown-role{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:50px;text-align:center}.unknown-role h2{color:#333;margin-bottom:15px}.unknown-role p{color:#666}@media (max-width:768px){.dashboard-layout{padding-top:0}.sidebar{opacity:0;visibility:hidden;width:0}.close-sidebar,.sidebar,.sidebar-overlay,.sidebar-overlay.visible{display:none}.dashboard-content{flex:1 1;padding:15px;width:100%}.menu-button{display:none}}@media (max-width:480px){.dashboard-content{padding:10px}}@media (prefers-color-scheme:dark){body{background-color:#121212;color:#e0e0e0}.dashboard-container{background-color:#1a1a1a}.mobile-header,.sidebar{box-shadow:0 2px 8px #0006}.mobile-header,.sidebar,.user-info{background-color:#232323}.sidebar-header,.user-info{border-color:#333}.nav-item{color:#f0f0f0}.nav-item:hover{background-color:#4fc0ff26;color:#60b8ff}.nav-item.active{background-color:#4fc0ff40;color:#60b8ff;font-weight:600}.user-role{color:#aaa}.logout-btn{background-color:#dc354533;border-color:#dc35454d;color:#ff6b6b}.logout-btn:hover{background-color:#dc35454d}.unknown-role{background-color:#232323;box-shadow:0 4px 12px #0000004d}.unknown-role h2{color:#e0e0e0}.unknown-role p{color:#b0b0b0}}@media (max-width:768px){.nav-item{font-size:16px;margin-bottom:10px;padding:16px 15px}.nav-item:active{background-color:#007bff33}.avatar,.close-sidebar,.menu-button,.nav-item{align-items:center;display:flex;min-height:48px;min-width:44px}.nav-menu{padding:10px}}.student-dashboard{background-color:#f5f7fa;min-height:100vh;padding:0;width:100%}.dashboard-header{color:#fff;padding:15px 20px;position:relative;text-align:center}.dashboard-header h1{font-size:22px}.center-branding{background-color:#fff;gap:15px;padding:15px}.center-branding,.center-logo{align-items:center;display:flex}.center-logo{background-color:#4a90e2;border-radius:50%;color:#fff;font-size:24px;font-weight:700;height:50px;justify-content:center;width:50px}.center-name{color:#333;font-size:18px;font-weight:500}.welcome-section{background-color:#f5f7fa;padding:20px}.welcome-section h1{color:#333;font-size:24px;margin-bottom:5px}.welcome-section p{color:#666;margin-top:0}.stats-container{border-radius:12px;box-shadow:0 2px 8px #0000000d;margin:0 20px 20px;padding:0}.stat-card{padding:15px 5px;position:relative}.stat-card:not(:last-child):after{background-color:#eee;content:"";height:60%;position:absolute;right:0;top:20%;width:1px}.assignments-section{margin:0 20px 20px}.assignments-section h2{color:#333;font-size:18px;margin-bottom:15px}.assignment-card{color:inherit;min-height:70px;padding:0}.border-indicators{display:flex;height:100%}.blue-border,.status-border{align-self:stretch;height:auto;min-width:6px}.assignment-content{align-items:stretch;display:flex!important;height:100%;padding:0}.title-box{align-self:flex-start;border-radius:0;height:100%;margin:0;padding:16px 24px;width:100%}.assignment-title{font-size:12px;padding:0}.assignment-due-date,.assignment-title{display:block!important}.assignment-details{flex-direction:column;gap:4px;margin-bottom:12px}.assignment-created,.assignment-teacher{align-items:center;display:flex}.assignment-badges{display:flex!important;flex-wrap:wrap;gap:8px;margin-bottom:12px;visibility:visible!important}.practice-progress{margin-top:10px}.progress-label{color:#555;font-size:14px;font-weight:500;margin-bottom:5px}.status-badge{border-radius:16px;display:inline-block!important;opacity:1!important;padding:8px 12px;visibility:visible!important}.status-badge.pending{background-color:#e3f2fd;color:#0277bd}.status-badge.overdue{color:#d32f2f}.assessment-badge,.type-badge{border-radius:16px;display:inline-block!important;opacity:1!important;padding:8px 12px;visibility:visible!important}.type-badge{font-size:13px;font-weight:500}.assignment-details{flex-wrap:wrap;gap:8px;margin-top:10px}.type-badge.new{background-color:#e3f2fd!important;color:#1976d2!important}.type-badge.new,.type-badge.revision{display:inline-block!important;visibility:visible!important}.type-badge.revision{background-color:#fff8e1!important;color:#ff8f00!important}.progress-container{display:flex!important;margin-top:10px;opacity:1!important;visibility:visible!important}.progress-background{background-color:#f1f1f1;border-radius:5px;flex:1 1;height:10px;margin-right:12px;overflow:hidden}.progress-fill{border-radius:5px}.progress-text{color:#333;font-size:16px;font-weight:600;text-align:right;width:50px}.empty-state-message{color:#999;font-size:14px;line-height:1.4}.navigation-buttons{display:flex;flex-direction:column;gap:12px;padding:0 20px 30px}.nav-button{background-color:#f1f8ff;border:1px solid #e6f0ff;border-radius:12px;box-shadow:0 2px 4px #0000000d;color:#4a90e2;font-weight:500;padding:15px;text-align:center;text-decoration:none;transition:all .2s}.nav-button:hover{background-color:#e3f2fd;transform:translateY(-2px)}.student-dashboard-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:50vh}.student-dashboard-error{background-color:#fff3f3;border-radius:12px;margin:30px;padding:30px;text-align:center}.student-dashboard-error h2{color:#d32f2f;margin-bottom:10px}.student-dashboard-error p{color:#333;margin-bottom:20px}.retry-button{padding:10px 15px}@media (max-width:768px){.stats-container{flex-direction:column;padding-bottom:10px}.stat-card{padding:15px}.stat-card:not(:last-child):after{background-color:#eee;bottom:0;content:"";height:1px;left:10%;position:absolute;right:0;top:auto;width:80%}.assignments-section{margin:0 15px 15px}.assignment-card{border-radius:10px;display:flex;min-height:70px;overflow:hidden;position:relative}.blue-border,.status-border{min-width:5px;width:5px}.assignment-content{align-items:stretch;display:flex!important;height:100%;padding:0}.title-box{border-radius:0;height:100%;margin:0;padding:12px}.assignment-title{font-size:16px;font-weight:500}.navigation-buttons{padding:0 15px 20px}.nav-button{font-size:15px;padding:12px 15px}}.assignment-card{border-radius:12px;color:#333;height:70px;margin-bottom:12px;text-decoration:none}.blue-border{background-color:#4a90e2;left:0}.blue-border,.status-border{bottom:0;position:absolute;top:0;width:6px}.status-border{left:6px}.status-border.red{background-color:#f44336}.status-border.green{background-color:#4caf50}.title-box{align-items:center;background-color:#f0f7ff;display:flex;flex:1 1;font-size:16px;font-weight:500;margin-left:12px;overflow:hidden;padding:0 20px;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.assignment-card{height:60px}.title-box{font-size:15px;padding:0 15px}}.teacher-dashboard{margin:0 auto;max-width:1200px;padding:20px;width:100%}.dashboard-header-container{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.dashboard-header{background-color:#4a90e2;border-radius:8px;box-shadow:0 2px 4px #0000001a;justify-content:center;padding:8px 10px}.dashboard-header h1{color:#fff;font-size:18px;font-weight:500}.header-icon{align-items:center;background-color:#fff3;border-radius:50%;display:flex;height:32px;justify-content:center;margin-right:12px;width:32px}.header-icon span{color:#fff;font-size:18px}.center-info-box{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;padding:8px 10px}.center-info-box h2{color:#333;font-size:18px;font-weight:500;margin:0}.center-icon{align-items:center;background-color:#4a90e2;border-radius:50%;display:flex;height:32px;justify-content:center;margin-right:12px;width:32px}.center-icon span{color:#fff;font-size:18px;font-weight:700}.welcome-message{margin-bottom:24px}.welcome-message h2{color:#555;font-size:18px;font-weight:400;margin:0}.class-switcher-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;padding:12px 16px;width:100%}.class-switcher-container h3{color:#666;font-size:14px;margin-bottom:8px;margin-top:0}.class-switcher{position:relative}.selected-class{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:8px 0}.selected-class span{color:#4a90e2;font-size:20px;font-weight:600}.class-dropdown{background-color:#fff;border:1px solid #eee;border-radius:4px;box-shadow:0 4px 8px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.class-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px}.class-item:last-child{border-bottom:none}.class-item:hover{background-color:#f5f7fa}.class-item.active{background-color:#f1f8ff}.student-count{background-color:#f5f7fa;border-radius:10px;color:#888;font-size:12px;padding:2px 8px}.view-students-btn{align-items:center;background:none;border:none;border-radius:4px;color:#4a90e2;cursor:pointer;display:flex;font-size:16px;font-weight:500;justify-content:center;margin-top:10px;padding:8px 12px;text-decoration:none;transition:background-color .2s;width:100%}.view-students-btn:hover{background-color:#4a90e21a}.students-icon{font-size:18px;margin-right:6px}.stats-section{display:flex;justify-content:space-between;margin-left:0;margin-right:0;max-width:100%;width:100%}.stats-card{flex-basis:calc(50% - 10px);flex-grow:0;flex-shrink:0}.stats-card h3{font-size:14px;margin-top:0}.stat-value{color:#4a90e2}.section-title{margin:0 0 16px}.quick-actions{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.action-card{cursor:pointer;flex-direction:column;transition:transform .2s}.action-card,.action-icon{align-items:center;display:flex}.action-icon{border-radius:24px;height:48px;justify-content:center;margin-bottom:12px;width:48px}.book-icon{background-color:#e3f2fd;position:relative}.book-icon:before{content:"📚";font-size:24px}.calendar-icon{background-color:#e8f5e9;position:relative}.calendar-icon:before{content:"📅";font-size:24px}.chart-icon{background-color:#fff8e1;position:relative}.chart-icon:before{content:"📊";font-size:24px}.action-label{color:#555;font-size:14px;margin-top:4px}.dashboard-content{grid-gap:20px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:30px}.dashboard-content.full-width{grid-template-columns:1fr}.panel-header{margin-bottom:16px}.panel-header h2{font-size:16px}.sort-indicator{color:#666;font-size:12px;font-style:italic}.view-all-btn{background:none;color:#4a90e2;padding:0}.assessment-item,.assessments-list{margin-bottom:15px}.assessment-item{align-items:center;background-color:#f9f9f9;border-radius:8px;box-shadow:0 1px 3px #0000000d;display:flex;padding:15px;position:relative;transition:background-color .2s}.assessment-item:hover{background-color:#f5f7fa}.assessment-item:last-child{margin-bottom:0}.priority-indicator{border-bottom-left-radius:8px;border-top-left-radius:8px;bottom:0;height:100%;left:0;position:absolute;top:0;width:6px}.assessment-details{flex:1 1;padding-left:15px}.assessment-details h3{color:#333;font-size:16px;font-weight:500;margin:0 0 6px}.assignment-meta{color:#666;font-size:14px}.assessment-meta{min-width:90px;text-align:right}.due-date{color:#666;display:block;font-size:13px;margin-bottom:6px}.overdue-indicator{background-color:#f4433614;border-radius:4px;color:#f44336;display:inline-block;font-size:12px;font-weight:600;padding:2px 6px}.assessment-actions{margin-left:15px}.assess-btn{background-color:#5cb85c;box-shadow:0 1px 3px #0000001a;font-size:14px;padding:8px 16px;transition:all .2s}.assess-btn:hover{background-color:#4cae4c;box-shadow:0 2px 5px #00000026;transform:translateY(-1px)}.empty-state{padding:24px 0}.empty-icon{color:#e0e0e0;font-size:24px;margin-bottom:8px}.empty-state p{color:#888;margin:0}.create-btn{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;margin-top:12px;padding:8px 16px}.show-more{margin-top:12px;text-align:center}.show-more button{background:none;border:none;color:#4a90e2;cursor:pointer;font-size:13px;padding:0}.filter-bar{display:flex;margin-bottom:16px}.filter-btn{background:none;border:1px solid #ddd;border-radius:30px;color:#666;cursor:pointer;font-size:13px;margin-right:8px;padding:6px 12px}.filter-btn.active{background-color:#4a90e2;border-color:#4a90e2;color:#fff}.assignments-list{max-height:400px;overflow-y:auto}.assignment-item{align-items:flex-start;background-color:#f9f9f9;border-radius:4px;display:flex;margin-bottom:10px;padding:15px;position:relative}.assignment-item:last-child{margin-bottom:0}.assignment-type-indicator{border-bottom-left-radius:4px;border-top-left-radius:4px;bottom:0;height:100%;left:0;position:absolute;top:0;width:4px}.assignment-details{flex:1 1;padding-left:12px}.assignment-details h3{color:#333;font-size:15px;margin:0 0 6px}.assignment-students{color:#666;font-size:13px;margin-bottom:8px}.assignment-meta{align-items:center;justify-content:space-between}.assignment-type{border-radius:30px;font-size:11px;font-weight:500;padding:3px 8px}.assignment-actions{margin-left:12px}.edit-btn{color:#4a90e2;display:inline-block;font-size:12px;padding:6px 12px}.progress-section{margin-bottom:30px}.section-header{margin-bottom:16px}.details-btn{background:none;border:none;color:#4a90e2;cursor:pointer;font-size:14px;padding:0}.progress-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px}.progress-stats{display:flex;justify-content:space-around;margin-bottom:24px}.progress-stat{text-align:center}.progress-value{color:#4a90e2;font-size:24px;font-weight:600;margin-bottom:4px}.progress-label{color:#888;font-size:12px}.mini-chart{align-items:flex-end;border-top:1px solid #f0f0f0;display:flex;height:120px;justify-content:space-between;padding-top:12px}.chart-column{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:flex-end;text-align:center;width:13%}.chart-bar{background-color:#4a90e2;border-radius:2px;margin-bottom:8px;min-height:4px;width:60%}.chart-label{color:#888;font-size:11px}.loading-spinner-container{height:400px}@media (max-width:768px){.dashboard-content,.quick-actions,.stats-section{grid-template-columns:1fr}.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-header h1{margin-bottom:16px}.action-buttons{width:100%}.action-button{flex:1 1}.dashboard-panel{padding:16px}.mobile-logout-button{display:flex!important}}@media (max-width:480px){.assessment-item{flex-wrap:wrap;margin-bottom:12px;padding:16px 12px;position:relative}.assessment-details{flex:1 0 100%;margin-bottom:10px;padding-left:8px;padding-right:0}.assessment-meta{margin-right:5px;padding-left:8px;text-align:left;width:40%}.assessment-actions{flex:1 1;margin-left:0;text-align:right;width:auto}.assess-btn{max-width:100px;padding:8px 16px;width:100%}.user-profile-menu{position:fixed;right:10px;top:10px}}.user-profile-menu{align-items:center;display:flex;gap:10px;position:absolute;right:20px;top:20px;z-index:1000}.user-avatar{box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s ease}.user-avatar:hover{transform:scale(1.05)}.user-initial{color:#fff;font-size:18px;font-weight:700}.logout-icon{align-items:center;background-color:#f5f5f5;border-radius:50%;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .2s ease;width:24px}.logout-icon:hover{background-color:#e0e0e0;transform:scale(1.05)}.logout-icon-symbol{color:#f44336;font-size:14px}.dashboard-container{display:flex;flex:1 1;flex-direction:column;min-height:calc(100vh - 70px)}.user-header{align-items:center;background-color:#fff;justify-content:space-between;padding:10px 20px}.app-title h1{color:#333;font-size:24px;font-weight:700;margin:0}.user-profile{align-items:center;display:flex}.user-avatar{background-color:#4a90e2;font-size:18px;font-weight:700}.dashboard-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:50vh}.dashboard-error{background-color:#fff3f3;border-radius:8px;margin:30px auto;max-width:600px;padding:40px;text-align:center}.dashboard-error h2{color:#e53935;margin-bottom:15px}.dashboard-error p{color:#424242;line-height:1.5}.dashboard-welcome{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;padding:30px}.dashboard-welcome h1{color:#333;font-size:24px;margin-bottom:10px}.dashboard-welcome p{color:#666;line-height:1.5}.dashboard-actions{display:flex;gap:10px;margin-top:20px}.action-link{background-color:#f5f5f5;border-radius:4px;color:#333;display:inline-block;font-weight:500;padding:10px 15px;text-decoration:none;transition:all .2s}.action-link.primary{background-color:#4a90e2;color:#fff}.action-link:hover{background-color:#e0e0e0;transform:translateY(-2px)}.action-link.primary:hover{background-color:#3a80d2}.dashboard-stats{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px}.stat-card{min-width:200px}.stat-card h3{text-transform:uppercase}.stat-card .stat-value{color:#4a90e2;font-size:28px;font-weight:700}.dashboard-content{display:flex;flex-wrap:wrap;gap:20px}.content-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;flex:1 1;min-width:300px;padding:20px}.content-card h2{border-bottom:1px solid #eee;color:#333;font-size:18px;margin-bottom:15px;padding-bottom:10px}.children-list{display:flex;flex-direction:column;gap:16px;width:100%}.child-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;padding:16px;transition:transform .2s ease,box-shadow .2s ease}.child-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.child-info{margin-bottom:16px}.avatar{background-color:#4a90e233;height:50px;margin-right:16px;width:50px}.avatar span{color:#4a90e2;font-size:24px;font-weight:700}.child-details h3{color:#333;font-size:18px;margin:0}.stats-container{gap:8px}.stat-box{border-radius:8px;flex:1 1;padding:12px;text-align:center}.assignment-stat{background-color:#4a90e21a}.rating-stat{background-color:#ffc1071a}.attendance-stat{background-color:#4caf501a}.stat-value{font-size:18px}.assignment-stat .stat-value{color:#4a90e2}.rating-stat .stat-value{color:#ff9800}.loading-container{border-radius:8px;box-shadow:0 2px 4px #0000000d;width:100%}.error-container{background-color:#fff3f3;width:100%}.error-container p{color:#e53935;margin-bottom:16px}.error-container button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.empty-state p{margin-bottom:8px}.logout-container{display:flex;justify-content:center;margin-bottom:60px;margin-top:30px}.logout-button{background-color:#fff;border:1px solid #ff6b6b;border-radius:4px;color:#ff6b6b;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s ease}.logout-button:hover{background-color:#ffebee}@media (max-width:768px){.dashboard-stats{flex-direction:column}.content-card{min-width:100%}.stats-container{flex-direction:column}.stat-box{margin-bottom:8px}.dashboard-actions{flex-direction:column;width:100%}.action-link{text-align:center;width:100%}.logout-container{margin-bottom:80px}.logout-button{padding:15px;width:80%}}.admin-dashboard{padding:20px;width:100%}.stats-card{transition:transform .2s ease,box-shadow .2s ease}.stats-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.stats-card:first-child{border-top:4px solid #4267b2}.stats-card:nth-child(2){border-top:4px solid #1da1f2}.stats-card:nth-child(3){border-top:4px solid #34a853}.dashboard-panels{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.dashboard-panels.two-panel-layout{grid-template-columns:1fr 2fr}.dashboard-panel{border-left:4px solid #0000;box-shadow:0 3px 6px #00000014;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.dashboard-panel:hover{box-shadow:0 6px 12px #0000001a;transform:translateY(-2px)}.dashboard-panel:first-child{border-left-color:#9c27b0}.dashboard-panel:nth-child(2){border-left-color:#ff9800}.panel-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.panel-header h2{color:#333;font-size:18px;margin:0}.view-all-link{background-color:#007bff1a;border-radius:12px;color:#007bff;font-size:14px;padding:4px 10px;transition:all .2s ease}.view-all-link:hover{background-color:#007bff33;color:#0056b3;text-decoration:none;transform:translateY(-1px)}.panel-content{display:flex;flex:1 1;flex-direction:column}.panel-content p{color:#666;line-height:1.5;margin-bottom:15px}.panel-content .classes-list,.panel-content .users-list{margin-bottom:20px}.panel-actions{display:flex;gap:10px;margin-top:auto}.panel-button{background-color:#f5f7fa;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:8px 16px;text-align:center;text-decoration:none;transition:all .2s}.panel-button:hover{background-color:#eee}.panel-button.primary{background-color:#007bff;border-color:#007bff;color:#fff}.panel-button.primary:hover{background-color:#0069d9}.users-list{display:flex;flex-direction:column;gap:15px}.user-item{background-color:#f9f9f9;border-radius:6px;justify-content:space-between;padding:12px;position:relative}.user-avatar,.user-item{align-items:center;display:flex}.user-avatar{background-color:#007bff;border-radius:50%;color:#fff;font-weight:500;height:40px;justify-content:center;margin-right:12px;width:40px}.user-info h3{color:#333;font-size:16px;margin:0 0 5px}.user-info p{color:#666;font-size:14px;margin:0 0 5px}.user-role{background-color:#e1f5fe;border-radius:12px;color:#0288d1;display:inline-block;font-size:12px;font-weight:500;padding:2px 8px}.user-actions{display:flex;gap:8px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.view-button{border:1px solid #43a047;border-radius:4px;color:#fff;font-size:13px;padding:5px 12px;text-decoration:none;transition:all .2s;z-index:5}.view-button:hover{box-shadow:0 2px 4px #0000001a}.classes-list{display:flex;flex-direction:column;gap:15px}.class-item{align-items:center;background-color:#f9f9f9;border-left:3px solid #0000;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:15px;position:relative;transition:all .2s ease}.class-item:hover{background-color:#f0f7ff;border-left-color:#4299e1;box-shadow:0 2px 4px #0000000d;transform:translateX(3px)}.class-info h3{color:#333;font-size:16px;margin:0 0 5px}.class-info p{color:#666;font-size:14px;margin:0 0 5px}.class-schedule{color:#0288d1;font-weight:500}.class-actions{display:flex;gap:8px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.quick-actions{margin-bottom:30px}.quick-actions h2{color:#333;font-size:18px;margin-bottom:20px;margin-top:0}.actions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.action-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px;text-align:center;text-decoration:none;transition:transform .2s,box-shadow .2s}.action-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.action-icon{font-size:24px;margin-bottom:10px}.action-card h3{color:#333;font-size:14px;margin:0}.empty-state.mini{font-size:14px;margin-bottom:15px;padding:15px}.error-state{background-color:#ffebee;border-radius:8px;color:#c62828;padding:20px}@media (prefers-color-scheme:dark){.admin-dashboard,.dashboard-header h1{color:#e0e0e0}.stats-card{background-color:#232323;box-shadow:0 3px 6px #0003}.stats-card h3{color:#aaa}.stat-value{color:#e0e0e0}.stat-label{color:#aaa}.dashboard-panel{background-color:#232323;box-shadow:0 3px 6px #0003}.panel-header{border-color:#444}.panel-header h2{color:#e0e0e0}.view-all-link{background-color:#60b8ff1a;color:#60b8ff}.view-all-link:hover{background-color:#60b8ff33;color:#8fcaff}.panel-content p{color:#aaa}.class-item,.user-item{background-color:#2c2c2c}.class-item:hover{background-color:#333844;border-left-color:#60b8ff}.class-info h3,.user-info h3{color:#e0e0e0}.class-info p,.user-info p{color:#aaa}.user-role{background-color:#60b8ff26;color:#60b8ff}.action-icon{color:#e0e0e0}.action-card{background-color:#232323;box-shadow:0 3px 6px #0003}.action-card h3{color:#e0e0e0}.action-card:hover{box-shadow:0 6px 12px #0000004d}.panel-button{background-color:#333;border-color:#444;color:#e0e0e0}.panel-button:hover{background-color:#444}.view-button{background-color:#2e7d32;border-color:#1b5e20;color:#fff}.view-button:hover{background-color:#1b5e20}.action-button.primary,.panel-button.primary{background-color:#0069d9;border-color:#0062cc}.action-button.primary:hover,.panel-button.primary:hover{background-color:#0062cc}.empty-state{background-color:#2c2c2c;color:#aaa}}@media (max-width:768px){.dashboard-panels,.dashboard-panels.two-panel-layout,.stats-section{grid-template-columns:1fr}.actions-grid{grid-template-columns:repeat(2,1fr)}.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-header h1{margin-bottom:15px}.action-buttons{width:100%}.action-button{flex:1 1;text-align:center}.class-item,.user-item{align-items:flex-start;flex-direction:column;padding-bottom:50px;position:relative}.class-actions,.user-actions{bottom:10px;flex-direction:row;margin-top:0;position:absolute;right:10px}.panel-actions{align-self:stretch;flex-direction:column;margin-top:15px}.panel-button,.view-button{margin-bottom:8px;text-align:center;width:100%}}@media (max-width:480px){.actions-grid{grid-template-columns:1fr}.action-button,.view-button{align-items:center;display:flex;justify-content:center;min-height:44px}.mobile-logout-button{display:flex!important}}.mobile-logout-button{align-items:center;background:none;background-color:initial;border:none;border-radius:0;box-shadow:none;color:#0000;cursor:pointer;display:none;height:auto;justify-content:center;padding:0;position:fixed;right:20px;top:20px;width:auto;z-index:9999}.superadmin-dashboard{padding:20px;width:100%}.loading-spinner-container{align-items:center;background-color:#f9f9f9;border-radius:8px;display:flex;flex-direction:column;justify-content:center;margin-bottom:20px;padding:30px}.error-message{background-color:#fff8f7;border-left:4px solid #e53935;border-radius:8px;color:#e53935;padding:15px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.dashboard-header h1{color:#333;font-size:24px;margin:0}.action-button{background-color:#f5f7fa;border:1px solid #ddd;color:#333;text-decoration:none}.action-button:hover{background-color:#eee}.action-button.primary{background-color:#007bff;border-color:#007bff}.action-button.primary:hover{background-color:#0069d9}.stats-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:30px}.stats-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px}.stats-card h3{color:#666;font-size:16px;margin-bottom:10px}.stat-value{font-size:28px}.dashboard-panel{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:30px;padding:20px}.dashboard-panel h2{color:#333;font-size:18px;margin-bottom:20px;margin-top:0}.centers-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.center-card{background-color:#f9f9f9;border-radius:8px;display:flex;flex-direction:column;padding:20px}.center-info{flex:1 1}.center-info h3{color:#333;font-size:18px;margin-bottom:10px;margin-top:0}.center-code{color:#0288d1;font-size:14px;font-weight:500;margin-bottom:10px}.center-details,.center-stats{color:#666;font-size:14px;margin-bottom:15px}.center-stats{display:flex;gap:15px}.center-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.edit-btn,.view-details-btn{background-color:#f5f7fa;border:1px solid #ddd;border-radius:4px;color:#333;font-size:14px;padding:8px 16px;text-decoration:none;transition:all .2s}.edit-btn:hover,.view-details-btn:hover{background-color:#eee}.edit-btn{background-color:#e3f2fd;border-color:#bbdefb;color:#2196f3}.edit-btn:hover{background-color:#bbdefb}.admins-list{display:flex;flex-direction:column;gap:15px}.admin-item{background-color:#f9f9f9;border-radius:8px;padding:15px}.admin-avatar,.admin-item{align-items:center;display:flex}.admin-avatar{background-color:#007bff;border-radius:50%;color:#fff;font-size:20px;font-weight:500;height:50px;justify-content:center;margin-right:15px;width:50px}.admin-info{flex:1 1}.admin-info h3{color:#333;font-size:16px;margin:0 0 5px}.admin-info p{color:#666;font-size:14px;margin:0 0 5px}.admin-actions{display:flex;gap:10px}.quick-links-section{margin-bottom:30px}.quick-links-section h2{color:#333;font-size:18px;margin-bottom:20px}.quick-links-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.quick-link-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px;text-align:center;text-decoration:none;transition:transform .2s,box-shadow .2s}.quick-link-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.quick-link-icon{font-size:28px;margin-bottom:10px}.quick-link-card h3{color:#333;font-size:16px;margin:0}.empty-state{background-color:#f9f9f9}@media (max-width:768px){.centers-list,.stats-section{grid-template-columns:1fr}.quick-links-grid{grid-template-columns:repeat(2,1fr)}.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-header h1{margin-bottom:15px}.action-buttons{width:100%}.action-button{flex:1 1;text-align:center}}@media (max-width:480px){.quick-links-grid{grid-template-columns:1fr}.admin-item{flex-direction:column;text-align:center}.admin-avatar{margin-bottom:10px;margin-right:0}.admin-actions{justify-content:center;margin-top:15px}.action-button,.view-details-btn{align-items:center;display:flex;justify-content:center;min-height:44px}}.forgot-password-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.forgot-password-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px;overflow:hidden;width:100%}.forgot-password-form{padding:20px}.back-to-login-btn{background-color:#2196f3;border-radius:4px;color:#fff;display:inline-block;font-weight:500;padding:10px 20px;text-decoration:none}.back-to-login-btn:hover{background-color:#0b7dda}.reset-password-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.reset-password-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px;overflow:hidden;width:100%}.form-header{border-bottom:1px solid #eee;padding:20px;text-align:center}.form-header h1{color:#333;font-size:24px;margin-bottom:10px;margin-top:0}.form-header p{color:#666;font-size:14px;margin:0}.reset-password-form{padding:20px}.submit-btn{font-size:16px;padding:12px;width:100%}.back-link{display:block;margin-top:15px;text-align:center}.success-message{padding:20px;text-align:center}.success-icon{align-items:center;background-color:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:30px;height:60px;justify-content:center;margin:0 auto 20px;width:60px}.success-message h2{color:#333;margin-top:0}.success-message p{color:#666;margin-bottom:20px}.login-now-btn{background-color:#2196f3;border-radius:4px;color:#fff;display:inline-block;font-weight:500;padding:10px 20px;text-decoration:none}.login-now-btn:hover{background-color:#0b7dda}.invalid-token-message{padding:20px;text-align:center}.invalid-token-message p{color:#c62828;margin-bottom:20px}.request-new-link-btn{background-color:#2196f3;border-radius:4px;color:#fff;display:inline-block;font-weight:500;padding:10px 20px;text-decoration:none}.request-new-link-btn:hover{background-color:#0b7dda}.profile-container{margin:0 auto;max-width:800px;padding:20px}.profile-content{display:flex;flex-direction:column;gap:20px}.password-update-card,.profile-info-card,.profile-update-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.profile-header{background-color:#f8f8f8;border-bottom:1px solid #eee;display:flex;padding:20px}.profile-title{display:flex;flex-direction:column;justify-content:center}.profile-title h2{font-size:20px;margin:0 0 5px}.profile-meta{display:flex;gap:10px}.center-badge,.role-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.role-badge{background-color:#4a90e2;border-radius:20px;color:#fff;padding:3px 12px}.center-badge{background-color:#f5f5f5;color:#333}.password-update-card,.profile-update-card{padding:20px}.password-update-card h2,.profile-update-card h2{color:#333;font-size:18px;margin-bottom:20px;margin-top:0}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.form-group input:focus{border-color:#2196f3;outline:none}.form-group input.error{border-color:#f44336}.form-group input.disabled-field{background-color:#f5f5f5;border-color:#ddd;color:#666;cursor:not-allowed}.update-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 15px}.update-btn:hover{background-color:#45a049}.update-btn:disabled{background-color:#a5d6a7;cursor:not-allowed}@media (max-width:768px){.profile-container{padding:15px}.header{align-items:flex-start;flex-direction:column;gap:10px}.back-btn{font-size:16px;justify-content:center;padding:12px 15px;width:100%}.profile-header{align-items:center;flex-direction:column;text-align:center}.avatar{font-size:36px;height:80px;margin-bottom:10px;margin-right:0;width:80px}.profile-meta{justify-content:center}.profile-content{gap:15px}.form-group{margin-bottom:15px}.form-group input{font-size:16px;padding:12px}.update-btn{font-size:16px;padding:14px;width:100%}.password-update-card{margin-bottom:80px;padding-bottom:30px}.error-message,.success-message{font-size:14px;padding:15px}}.center-code-container{align-items:center;background-color:#f5f7fa;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.center-code-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;max-width:450px;padding:30px;text-align:center;width:100%}.center-code-header{margin-bottom:24px}.center-code-header h1{color:#333;font-size:24px;margin-bottom:12px}.subtitle{color:#666;font-size:16px;line-height:1.5}.center-code-form{margin-bottom:24px}.center-code-input{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;font-size:18px;letter-spacing:8px;padding:15px;text-align:center;text-transform:uppercase;width:100%}.center-code-input:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233;outline:none}.error-message{color:#ff6b6b;font-size:14px;margin:10px 0;text-align:center}.continue-button{background-color:#4a90e2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:15px;transition:background-color .3s;width:100%}.continue-button:hover{background-color:#3a80d2}.continue-button:disabled{background-color:#a0c3e8;cursor:not-allowed}.help-section{margin-bottom:20px}.help-button{background:none;border:none;color:#4a90e2;cursor:pointer;font-size:16px;text-decoration:underline}.help-button:hover{color:#3a80d2}@media (max-width:768px){.center-code-card{max-width:350px;padding:20px}.center-code-header h1{font-size:22px}.subtitle{font-size:14px}.center-code-input{font-size:16px;padding:12px}}@media (max-width:480px){.center-code-container{padding:15px}.center-code-card{box-shadow:0 2px 8px #0000001a;padding:15px}.center-code-header h1{font-size:20px}}.parent-registration-container{background-color:#f5f7fa;margin:0 auto;max-width:800px;min-height:100vh;padding:20px;width:100%}.parent-registration-header{background-color:#4a90e2;border-radius:10px 10px 0 0;color:#fff;margin-bottom:20px;padding:15px 20px}.parent-registration-header h1{font-size:24px;font-weight:700;margin:0}.parent-registration-content{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:20px}.center-info{color:#666;font-size:16px;margin-bottom:20px;text-align:center}.registration-form{display:flex;flex-direction:column;gap:20px}.form-section{background-color:#f9f9f9;border:1px solid #eee;margin-bottom:20px}.section-title{font-weight:700}.form-group{margin-bottom:15px}.form-group label{font-size:14px;margin-bottom:5px}.form-input,.form-textarea{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:16px;padding:12px;width:100%}.form-textarea{min-height:100px;resize:vertical}.input-error{border-color:#ff6b6b}.error-text{color:#ff6b6b}.child-toggle-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.switch{display:inline-block;height:34px;position:relative;width:60px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;bottom:4px;content:"";height:26px;left:4px;width:26px}input:checked+.slider{background-color:#4a90e2}input:focus+.slider{box-shadow:0 0 1px #4a90e2}input:checked+.slider:before{transform:translateX(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.notice-container{background-color:#4a90e21a;border-radius:8px;margin-bottom:20px;padding:15px}.notice-text{color:#4a90e2;font-size:14px;line-height:1.5;margin:0}.general-error{background-color:#fff2f2;border:1px solid #ffcaca;border-radius:8px;color:#d63031;font-size:14px;margin-bottom:20px;padding:12px;text-align:center}.loading-container{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-top:50px;padding:40px 20px}.submit-button{border-radius:8px;font-weight:700;margin-bottom:20px;padding:15px;transition:background-color .3s}.submit-button:hover{background-color:#3a80d2}.submit-button:disabled{background-color:#a0c3e8}.login-link-container{color:#666;font-size:14px;margin-top:20px;text-align:center}.login-link{color:#4a90e2;font-weight:700;margin-left:5px;text-decoration:none}.login-link:hover{text-decoration:underline}@media (max-width:768px){.parent-registration-container{padding:10px}.form-section,.parent-registration-content{padding:15px}.section-title{font-size:16px}.form-input,.form-textarea{font-size:14px;padding:10px}.submit-button{font-size:14px;padding:12px}}@media (max-width:480px){.parent-registration-header h1{font-size:20px}.center-info{font-size:14px}.form-section{padding:12px}.child-toggle-container{align-items:flex-start;flex-direction:column;gap:10px}.switch{margin-left:auto;margin-right:auto}}.registration-confirmation-container{align-items:center;background-color:#f5f7fa;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.confirmation-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;max-width:600px;padding:30px;text-align:center;width:100%}.success-icon-container{margin:20px 0}.success-icon{color:#4caf50;font-size:80px}.confirmation-title{color:#333;font-size:24px;margin-bottom:20px}.confirmation-message{color:#666;font-size:16px;line-height:1.5;margin-bottom:30px}.center-name{color:#4a90e2;font-weight:700}.registration-id-container{align-items:center;background-color:#4a90e21a;border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px;padding:15px}.registration-id-label{color:#4a90e2;font-weight:700;margin:0}.registration-id{color:#333;font-family:monospace;margin:0}.info-container{background-color:#f9f9f9;border:1px solid #eee;border-radius:10px;margin-bottom:30px;padding:20px;text-align:left}.info-title{color:#333;font-size:18px;margin-bottom:20px;margin-top:0;text-align:center}.info-item{align-items:flex-start;margin-bottom:15px}.info-icon{font-size:24px;margin-right:15px;margin-top:2px}.info-text{color:#666;flex:1 1;font-size:16px;line-height:1.5;margin:0}.back-to-login-button{background-color:#4a90e2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-bottom:20px;padding:15px;transition:background-color .3s;width:100%}.back-to-login-button:hover{background-color:#3a80d2}.contact-container{margin-top:20px}.contact-text{color:#888;font-size:14px;line-height:1.5;margin:0}@media (max-width:768px){.confirmation-card{max-width:500px;padding:20px}.success-icon{font-size:60px}.confirmation-title{font-size:22px}.confirmation-message,.info-text{font-size:14px}.info-container{padding:15px}.info-title{font-size:16px}.back-to-login-button{font-size:15px;padding:12px}}@media (max-width:480px){.confirmation-card,.registration-confirmation-container{padding:15px}.success-icon{font-size:50px}.confirmation-title{font-size:20px}.registration-id-container{gap:5px}.info-item,.registration-id-container{align-items:center;flex-direction:column}.info-item{text-align:center}.info-icon{margin-bottom:10px;margin-right:0}}.sidebar-overlay{background-color:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:99}.sidebar-overlay.visible{display:block}.sidebar{height:100vh;justify-content:space-between;overflow-y:auto;position:-webkit-sticky;position:sticky;top:0;z-index:100}@media (min-width:769px){.sidebar{border-right:1px solid #e0e0e0}}.close-sidebar{align-items:center;background:#0000001a;border:none;border-radius:50%;color:#333;cursor:pointer;display:none;font-size:24px;height:40px;justify-content:center;padding:8px;right:15px;top:15px;transition:background-color .2s;width:40px;z-index:1001}.close-sidebar:active,.close-sidebar:hover{background-color:#0000001a}.sidebar-header{margin-bottom:10px;padding:8px 0}.nav-menu{flex:0 1 auto;max-height:calc(100vh - 150px);overflow-y:auto}.nav-item{-webkit-tap-highlight-color:rgba(0,0,0,.1);color:#444;display:block;margin-bottom:3px;padding:10px 15px;text-decoration:none;touch-action:manipulation}@media (min-width:769px){.nav-item{color:#000;font-weight:700;letter-spacing:.02em}.nav-item:hover{background-color:#007bff33;box-shadow:0 2px 4px #00000026;color:#004085}.nav-item.active{background-color:#007bff40;border-left:4px solid #004085;color:#004085;font-weight:800;padding-left:14px}}.user-info{background-color:#fff;bottom:0;box-sizing:border-box;flex:0 0 auto;flex-direction:column;padding:10px 15px;position:-webkit-sticky;position:sticky;width:100%;z-index:10}.user-avatar,.user-details{margin-bottom:10px}.user-details{text-align:center;width:100%}.user-name{color:#000;font-weight:700;letter-spacing:.02em;margin-bottom:3px}.user-role{color:#222;font-weight:600;letter-spacing:.01em;text-transform:capitalize}.logout-btn{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;font-size:14px;margin-top:5px;padding:8px 10px;transition:all .2s}.logout-btn:hover{background-color:#f1b0b7}@media (max-width:768px){.sidebar{box-shadow:0 0 15px #0003;left:-270px;position:fixed;transition:left .3s ease-in-out}.sidebar.open{left:0}.close-sidebar{display:flex}}@media (min-width:769px){#root .dashboard-layout .sidebar .nav-item,.dashboard-layout .sidebar .nav-item,.nav-item,.sidebar .nav-item,.user-info .user-name{color:#000!important;font-weight:700!important}.user-info .user-role{color:#222!important;font-weight:600!important}}@media (prefers-color-scheme:dark){.sidebar{box-shadow:0 2px 8px #0006}.sidebar,.user-info{background-color:#232323}.sidebar-header,.user-info{border-color:#333}.user-name{color:#fff}.user-role{color:#ccc;font-weight:500}.logout-btn{background-color:#dc354533;border-color:#dc35454d;color:#ff6b6b}.logout-btn:hover{background-color:#dc35454d}}@media (prefers-color-scheme:dark) and (min-width:769px){.nav-item{color:#fff!important;font-weight:700!important}.nav-item:hover{background-color:#4fc0ff33!important;box-shadow:0 1px 3px #0000004d!important;color:#78caff!important}.nav-item.active{background-color:#4fc0ff4d!important;border-left:3px solid #78caff!important;color:#78caff!important;font-weight:700!important}}.users-list-container{margin:0;max-width:100%;padding:0}.back-to-dashboard{background:none;border:none;cursor:pointer;padding:0;text-align:left}.create-user-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-weight:500;padding:10px 20px;text-decoration:none}.create-user-btn:hover{background-color:#45a049}.users-count{color:#666;font-style:italic;margin-bottom:10px}.users-table-container{overflow-x:auto}.users-table{border-collapse:collapse;box-shadow:0 2px 3px #0000001a;width:100%}.users-table td,.users-table th{border-bottom:1px solid #ddd;padding:12px 15px;text-align:left}.users-table th{background-color:#f8f8f8;font-weight:600}.users-table tr:hover{background-color:#f5f5f5}.clickable-row{cursor:pointer;transition:background-color .2s}.clickable-row:hover{background-color:#e3f2fd}.role-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;text-transform:capitalize}.error,.loading,.no-results{padding:20px}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:15px}.header-left{width:100%}.create-user-btn{text-align:center;width:100%}.users-table td,.users-table th{font-size:14px;padding:8px 10px}}.dashboard-container{background-color:#f5f7fa;min-height:100vh}.mobile-header{box-shadow:0 2px 4px #0000001a;display:none;position:-webkit-sticky;position:sticky;top:0;z-index:10}.mobile-header-content{align-items:center;display:flex;justify-content:space-between}.menu-button{align-items:center;background:#0000000d;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;min-height:44px;min-width:44px;padding:10px 15px;transition:all .2s}.hamburger-icon{display:block;line-height:1}.menu-button:active,.menu-button:hover{background-color:#0000001a;transform:scale(1.05)}.app-title{font-weight:500}.dashboard-layout{display:flex;min-height:100vh}.dashboard-content{flex:1 1;overflow-y:auto;padding:15px;width:100%}@media (max-width:768px){.mobile-header{display:block}.dashboard-content{padding:15px}}.user-details-container{margin:0 auto;max-width:1200px;padding:20px}.edit-user-btn{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 15px;text-decoration:none}.edit-user-btn:hover{background-color:#0b7dda}.user-details-content{display:flex;flex-direction:column;gap:20px}.additional-info-card,.user-info-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.user-header{background-color:#f8f8f8;border-bottom:1px solid #eee;display:flex;padding:20px}.avatar{font-size:24px;height:60px;width:60px}.user-title{display:flex;flex-direction:column;justify-content:center}.user-title h2{font-size:20px;margin:0 0 5px}.user-meta{display:flex;gap:10px}.role-badge,.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.badge-admin{background-color:#3498db;color:#fff}.badge-super-admin{background-color:#8e44ad;color:#fff}.badge-teacher{background-color:#2ecc71;color:#fff}.badge-student{background-color:#f39c12;color:#fff}.badge-parent{background-color:#e74c3c;color:#fff}.badge-default{background-color:#95a5a6;color:#fff}.actions-section,.info-section,.role-specific-info{border-bottom:1px solid #eee;padding:20px}.additional-info-card h3,.role-specific-info h3{color:#333;font-size:18px;margin-bottom:15px;margin-top:0}.label{width:140px}.actions-section{border-bottom:none;display:flex;gap:10px}.delete-user-btn,.reset-password-btn,.status-toggle-btn{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 15px;transition:background-color .2s}.reset-password-btn{background-color:#e3f2fd;color:#1565c0}.delete-user-btn{background-color:#ffebee;color:#c62828}.reset-password-btn:hover{background-color:#bbdefb}.delete-user-btn:hover{background-color:#ffcdd2}.additional-info-card{padding:20px}.placeholder-text{font-style:italic}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:10px}.header-actions{width:100%}.back-btn,.edit-user-btn{flex:1 1;text-align:center}.user-header{align-items:center;flex-direction:column;text-align:center}.avatar{margin-bottom:10px;margin-right:0}.user-meta{justify-content:center}.info-item{flex-direction:column}.label{margin-bottom:4px;width:100%}.actions-section{flex-direction:column}.delete-user-btn,.reset-password-btn,.status-toggle-btn{width:100%}}.create-user-container{margin:0 auto;max-width:1000px;padding:20px}.form-group input[type=email],.form-group input[type=number],.form-group input[type=password],.form-group input[type=text],.form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.form-group input.error,.form-group select.error{border-color:#f44336}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:10px}.back-btn{text-align:center;width:100%}.form-group{min-width:100%}.form-actions{flex-direction:column}.cancel-btn,.delete-btn,.submit-btn{text-align:center;width:100%}}.classes-list-container{margin:0;max-width:100%;padding:0}.filters-container{background-color:#f5f5f5;border-radius:5px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:15px}.filter{display:flex;flex:1 1;flex-direction:column;min-width:200px}.filter label{font-weight:500;margin-bottom:5px}.filter input,.filter select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px}.classes-count{color:#666;font-style:italic;margin-bottom:10px}.classes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.class-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.class-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-3px)}.clickable-card{cursor:pointer;position:relative;z-index:1}.clickable-card:hover{background-color:#f9f9f9}.class-card.inactive{opacity:.7}.class-header{padding:15px}.class-header h2{color:#333;font-size:18px;font-weight:600;margin:0}.class-meta{border-bottom:1px solid #eee;flex-wrap:wrap;padding:15px}.meta-item{align-items:center;font-size:14px;gap:5px}.class-description{border-bottom:1px solid #eee;color:#555;font-size:14px;min-height:60px;padding:15px}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:15px}.header-left{width:100%}.create-class-btn{text-align:center;width:100%}.classes-grid{grid-template-columns:1fr}}.dashboard-content .delete-btn,.dashboard-content .edit-btn{display:none}.class-card .delete-btn,.class-card .edit-btn{display:inline-block}.modal-container{z-index:1001}.modal-container h3{color:#333;font-size:18px;margin-bottom:15px}.modal-container p{color:#555;line-height:1.4;margin-bottom:20px}.cancel-btn,.confirm-btn{font-size:14px;transition:background-color .2s}.confirm-btn{background-color:#2196f3;color:#fff}.confirm-btn:hover{background-color:#0b7dda}.confirm-btn.danger:hover{background-color:#d32f2f}@media (max-width:768px){.modal-container{padding:15px;width:95%}.modal-actions{flex-direction:column}.cancel-btn,.confirm-btn{padding:10px;width:100%}}.class-details-container{margin:0 auto;max-width:1200px;padding:20px}.edit-class-btn,.save-btn{background-color:#2196f3;color:#fff}.cancel-edit-btn,.edit-class-btn,.save-btn{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 15px;text-decoration:none}.cancel-edit-btn{background-color:#f5f5f5;color:#333}.edit-mode-actions{display:flex;gap:10px}.edit-class-btn:hover,.save-btn:hover{background-color:#0b7dda}.cancel-edit-btn:hover{background-color:#e0e0e0}.class-details-content{display:flex;flex-direction:column;gap:20px}.class-info-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.class-header{align-items:center;background-color:#f8f8f8;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.class-title h2{font-size:20px;margin:0 0 5px}.class-meta{display:flex;gap:10px}.status-toggle-btn{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 15px;transition:background-color .2s}.status-toggle-btn.deactivate{background-color:#ffebee;color:#c62828}.status-toggle-btn.activate{background-color:#e8f5e9;color:#2e7d32}.status-toggle-btn.deactivate:hover{background-color:#ffcdd2}.status-toggle-btn.activate:hover{background-color:#c8e6c9}.delete-class-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 15px;transition:background-color .2s}.delete-class-btn:hover{background-color:#d32f2f}.tabs-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.tabs{background-color:#f8f8f8;border-bottom:1px solid #eee;display:flex}.tab{background:none;border-bottom:2px solid #0000;color:#666;transition:color .2s,border-bottom .2s}.tab:hover{color:#333}.tab.active{border-bottom:2px solid #2196f3}.tab-content{padding:20px}.assignments-tab h3,.details-tab h3,.students-tab h3,.teachers-tab h3{color:#333;font-size:18px;margin-bottom:15px;margin-top:0}.data-table{border-collapse:collapse;font-size:14px}.data-table td,.data-table th{border-bottom:1px solid #eee;padding:12px 15px;text-align:left}.data-table th{background-color:#f5f5f5;color:#555;font-weight:600}.data-table tr:hover{background-color:#f9f9f9}.view-btn{background-color:#e0e0e0;border-radius:4px;color:#333;display:inline-block;font-size:12px;padding:5px 10px;text-decoration:none}.view-btn:hover{background-color:#d0d0d0}.remove-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:5px 10px;transition:background-color .2s}.remove-btn:hover{background-color:#d32f2f}.empty-state p{margin-bottom:15px}.info-message{background-color:#f9f9f9;border-top:1px solid #eee;color:#666;font-size:14px;margin-top:10px;padding:10px 15px;text-align:center}.teacher-message{background-color:#f0f7ff;border-top:1px solid #d0e1f9}.tab-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.tab-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.add-teacher-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s}.add-teacher-btn:hover{background-color:#45a049}.teacher-select{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-top:8px;padding:10px;width:100%}.modal-content{margin:15px 0}.confirm-btn.success:hover{background-color:#45a049}.confirm-btn:disabled{background-color:#b0b0b0;cursor:not-allowed}.action-btn{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;padding:8px 15px;text-decoration:none}.action-btn:hover{background-color:#0b7dda}.cancel-btn,.confirm-btn{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 15px}.confirm-btn.danger{background-color:#f44336;color:#fff}.confirm-btn.success{background-color:#4caf50;color:#fff}.confirm-btn.danger:hover{background-color:#e53935}.confirm-btn.success:hover{background-color:#43a047}.delete-confirmation-title{color:#d32f2f;margin-top:0}.delete-confirmation-message{color:#555;line-height:1.5;margin-bottom:20px}.error,.loading,.not-found{font-size:16px}.edit-form{padding:20px}.checkbox-group{align-items:center;display:flex;gap:10px}.checkbox-group input{margin:0}.checkbox-label{margin-bottom:0!important}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:10px}.header-actions{width:100%}.back-btn,.cancel-edit-btn,.edit-class-btn,.save-btn{flex:1 1;text-align:center}.edit-mode-actions{display:flex;width:100%}.class-header{flex-direction:column;gap:10px}.status-toggle{width:100%}.delete-class-btn,.status-toggle-btn{margin-top:10px;width:100%}.tabs{flex-wrap:wrap}.tab{flex:1 1;min-width:50%;padding:10px;text-align:center}.info-item{flex-direction:column}.label{margin-bottom:4px;width:100%}}.create-class-container{margin:0 auto;max-width:1000px;padding:20px}.back-btn{display:inline-block}.form-card{border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-row{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.form-row:last-child{margin-bottom:0}.form-group{flex:1 1;min-width:200px}.form-group.full-width{flex-basis:100%;width:100%}.form-group input[type=email],.form-group input[type=number],.form-group input[type=password],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.form-group textarea{min-height:100px}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#f44336}.form-group .error-text{color:#f44336;font-size:12px;margin-top:4px}.form-group.checkbox-group{align-items:center;display:flex;gap:10px}.form-group.checkbox-group input{margin:0}.form-group.checkbox-group label{margin-bottom:0}.multi-select{height:120px}.cancel-btn{display:inline-block}.delete-btn{padding:10px 20px}.loading-indicator{padding:40px;text-align:center}.spinner{animation:spin 1s ease-in-out infinite;border:3px solid #0000001a;border-top-color:#2196f3}.modal-container h3{color:#f44336}.confirm-delete-btn{padding:8px 16px}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:15px}.back-btn,.header-left{width:100%}.back-btn{text-align:center}.form-group{min-width:100%}.form-actions{flex-direction:column}.cancel-btn,.delete-btn,.submit-btn{text-align:center;width:100%}}.halaqa-students-page{margin:0 auto;max-width:1200px;padding:20px;width:100%}.page-header{margin-bottom:30px}.back-button{background-color:initial;padding:8px 16px;transition:all .2s}.search-and-actions{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.search-container{flex:1 1;min-width:250px}.search-input{border-radius:8px;box-shadow:0 1px 3px #0000000d}.action-button{border:1px solid #0000;font-size:14px;padding:10px 16px}.action-button.primary{background-color:#4a90e2;color:#fff}.action-button.primary:hover{background-color:#357cc7}.action-button.secondary{background-color:#fff;border-color:#4a90e2;color:#4a90e2}.action-button.secondary:hover{background-color:#f0f7ff}.students-stats{margin-bottom:20px}.stat-card{border-left:4px solid #4a90e2;padding:15px 20px}.stat-card h3{margin-bottom:10px}.students-list{display:flex;flex-direction:column;gap:15px}.student-card{align-items:center;background-color:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;display:flex;justify-content:space-between;padding:12px 20px;transition:transform .2s,box-shadow .2s}.student-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.student-avatar{align-items:center;background-color:#e0e0e0;border-radius:50%;color:#666;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:50px;justify-content:center;margin-right:20px;width:50px}.student-name{font-size:17px;font-weight:500}.student-actions{display:flex;gap:10px}.view-profile-btn{background-color:#4a90e2;font-size:14px;padding:8px 12px;transition:all .2s}.view-profile-btn:hover{background-color:#357cc7}.empty-state{border-radius:8px;padding:40px}.clear-search{background-color:#f5f7fa;border:1px solid #4a90e2;border-radius:4px;color:#4a90e2;cursor:pointer;font-size:14px;padding:8px 16px}.loading-container{height:400px}@media (max-width:768px){.search-and-actions{align-items:stretch;flex-direction:column}.action-buttons{width:100%}.student-card{flex-direction:column;text-align:center}.student-avatar{margin-bottom:15px;margin-right:0}.student-actions{flex-direction:column;margin-top:15px;width:100%}.view-assignments-btn,.view-profile-btn{width:100%}}.student-profile-page{background-color:#f5f7fa;margin:0 auto;max-width:1200px;padding:20px}.page-header{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:16px 20px}.page-header h1{font-size:20px}.back-button{color:#2196f3;display:inline-flex;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.back-button:hover{text-decoration:underline}.profile-card{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;gap:16px;margin-bottom:24px;padding:16px}.profile-avatar,.profile-card{align-items:center;display:flex}.profile-avatar{background-color:#e0e0e0;border-radius:50%;color:#666;flex-shrink:0;font-size:18px;height:40px;justify-content:center;width:40px}.profile-info{flex:1 1}.profile-name{color:#333;font-size:16px;font-weight:600;margin-bottom:4px;margin-top:0}.profile-email{color:#666;font-size:13px;margin:0}.section-title{font-size:16px;margin:24px 0 12px}.stats-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;margin-bottom:24px;overflow:hidden}.stat-item{display:flex;flex-direction:column;justify-content:center;padding:16px 10px}.stat-item.with-border{border-left:1px solid #eee;border-right:1px solid #eee}.stat-value{color:#2196f3;font-size:20px}.stat-label{font-size:13px}.section-header{margin-bottom:12px}.view-all-link{color:#2196f3;font-size:13px;font-weight:500;text-decoration:none}.view-all-link:hover{text-decoration:underline}.assignments-list{margin-bottom:24px}.assignment-card{border-radius:6px;box-shadow:0 1px 2px #00000014;min-height:64px;transition:transform .15s ease,box-shadow .15s ease}.assignment-card:hover{box-shadow:0 3px 6px #0000001f}.assignment-indicator{bottom:0;left:0;position:absolute;top:0;width:4px}.assignment-content{justify-content:center;padding:12px 14px}.empty-assignments{box-shadow:0 1px 3px #0000001a;color:#666;font-size:14px;padding:20px}.assignment-header{margin-bottom:6px;width:100%}.assignment-title{font-size:14px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-type-badge{flex-shrink:0;font-size:10px;margin-left:8px;min-width:80px;text-align:right;white-space:nowrap}.assignment-details{align-items:center;display:flex;justify-content:space-between}.assignment-date{color:#666;font-size:11px;margin:0}.assessment-badge{display:inline-block;font-size:11px;font-weight:500;margin-left:auto}.performance-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;margin-bottom:24px;overflow:hidden}.performance-link{color:inherit;flex:1 1;padding:16px;text-decoration:none;transition:background-color .2s}.performance-link:hover{background-color:#f5f7fa}.performance-divider{background-color:#eee;width:1px}.performance-link-title{color:#333;font-size:14px;font-weight:600;margin:0 0 4px}.performance-link-subtitle{color:#666;font-size:12px;margin:0}.actions-container{display:flex;gap:12px;margin-bottom:24px}.action-button{background-color:#2196f3;font-size:13px;transition:background-color .2s}.action-button:hover{background-color:#1976d2}.notes-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:16px}.notes-input{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:13px;line-height:1.5;min-height:100px;padding:10px;resize:vertical;width:100%}.notes-input:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a;outline:none}.saving-indicator{align-items:center;color:#2196f3;display:flex;font-size:12px;margin-top:8px}.saving-spinner{animation:spin 1s linear infinite;border:2px solid #2196f333;border-radius:50%;border-top-color:#2196f3;height:14px;margin-right:6px;width:14px}@media (max-width:768px){.profile-card{text-align:center}.profile-card,.profile-info{align-items:center;flex-direction:column}.profile-info{display:flex}.stats-container{flex-direction:column}.stat-item.with-border{border:1px solid #eee;border-left:none;border-right:none}.performance-container{flex-direction:column}.performance-divider{height:1px;width:auto}.actions-container{flex-direction:column}.action-button{width:100%}}@media (max-width:480px){.page-header{gap:10px}.page-header,.section-header{align-items:flex-start;flex-direction:column}.section-header{gap:5px}.assignment-content{padding:12px 12px 12px 16px}.assignment-header{margin-bottom:6px}.assignment-type-badge{font-size:9px;min-width:70px}.assignment-details{align-items:center;flex-direction:row;justify-content:space-between}.assessment-badge{font-size:10px;margin-left:auto}.assignment-date{font-size:10px}.assignment-card{min-height:70px}.assignment-title{font-size:13px;max-width:70%}}.student-profile-page .assignment-card{background-color:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:inherit;display:flex;flex-direction:row;margin-bottom:24px;min-height:170px;overflow:hidden;padding:0;position:relative;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;width:100%}.student-profile-page .assignment-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-3px)}.student-profile-page .assignment-content{display:flex!important;flex:1 1;flex-direction:column;height:100%;padding:24px;position:relative;width:100%}.student-profile-page .assignment-header{align-items:center;display:flex!important;flex-shrink:0;justify-content:space-between;margin-bottom:12px;width:100%}.student-profile-page .assignment-title{color:#333;display:block!important;flex:1 1;font-size:18px;font-weight:600;margin:0 0 6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-profile-page .assignment-type-badge{background-color:#e3f2fd;border-radius:16px;color:#1976d2;display:inline-block!important;flex-shrink:0;font-size:13px;font-weight:500;margin-left:12px;min-width:auto;padding:6px 12px;visibility:visible!important;white-space:nowrap}.student-profile-page .assignment-details{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:16px;margin-top:12px}.student-profile-page .assignment-date{color:#666;display:block!important;font-size:15px;font-weight:500;margin:0}.student-profile-page .assessment-actions{align-items:center;bottom:24px;display:flex;justify-content:flex-end;margin-top:auto;position:absolute;right:24px;width:auto}.student-profile-page .assess-btn{background-color:#4a90e2;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:15px;font-weight:500;min-width:100px;padding:10px 20px;text-align:center;transition:background-color .2s,transform .1s}.student-profile-page .assess-btn:hover{background-color:#3a7bd5;transform:translateY(-2px)}.student-profile-page .assignment-indicator{background-color:#4a90e2;bottom:0;left:0;position:absolute;top:0;width:8px}@media (max-width:480px){.student-profile-page .assignment-card{min-height:180px}.student-profile-page .assignment-content{padding:16px 16px 70px}.student-profile-page .assignment-header{align-items:flex-start;flex-direction:column}.student-profile-page .assignment-title{font-size:16px;margin-bottom:6px;max-width:100%}.student-profile-page .assignment-type-badge{font-size:12px;margin-left:0;padding:4px 10px}.student-profile-page .assignment-date{font-size:14px}.student-profile-page .assessment-actions{bottom:16px;right:16px;width:calc(100% - 32px)}.student-profile-page .assess-btn{width:100%}}.child-profile-container{margin:0 auto;max-width:1200px;padding:20px}.child-profile-header{display:flex;flex-direction:column;margin-bottom:20px}.child-profile-header h1{color:#333;font-size:24px;margin:0}.child-profile-error,.child-profile-loading{align-items:center;display:flex;flex-direction:column;height:300px;justify-content:center;text-align:center}.child-profile-error p{color:#e53935;margin-bottom:16px}.child-profile-error button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.child-stats-overview{display:flex;gap:16px;margin-bottom:24px}.stat-card{padding:16px}.stat-card h3{color:#666;font-size:14px;margin-top:0}.stat-card h3,.stat-value{margin-bottom:8px}.stat-details{color:#888;font-size:12px}.assignments-stat .stat-value{color:#4a90e2}.ratings-stat .stat-value{color:#ff9800}.attendance-stat .stat-value{color:#4caf50}.assignments-section,.attendance-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:24px;overflow:hidden}.section-header{align-items:center;background-color:#f5f7fa;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px}.section-header h2{color:#333;font-size:18px;margin:0}.view-all-btn{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px}.view-all-btn:hover{background-color:#3a7bc8}.assignments-list{gap:12px;padding:16px}.assignment-card{border:1px solid #eee;position:relative}.assignment-status.has-assessment{color:#4a90e2}.attendance-summary{padding:16px}.attendance-stats{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.attendance-stat{flex:1 1;min-width:120px}.stat-label{color:#888;font-size:12px;margin-right:8px}.attendance-progress{margin-top:16px}.attendance-bar-bg{background-color:#eee;border-radius:4px;height:8px;overflow:hidden}.attendance-bar-fill{background-color:#4caf50;border-radius:4px;height:100%;transition:width .5s ease}@media (max-width:768px){.child-stats-overview{flex-direction:column}.stat-card{margin-bottom:16px}.attendance-stats{flex-direction:column}.assignment-card{align-items:center;display:grid;grid-template-areas:"type status" "title title" "date date";grid-template-columns:auto auto;padding:12px}.assignment-type-badge{grid-area:type;margin-bottom:0}.assignment-title{color:#333;display:block!important;font-size:16px;font-weight:700;grid-area:title;margin:10px 0;width:100%}.assignment-due-date{font-size:14px;grid-area:date;margin-top:5px;text-align:right}.assignment-status{grid-area:status;justify-self:end;margin-top:0;text-align:right}}.child-profile-container .assignment-card{display:flex;flex-direction:column;min-height:170px;padding:16px;position:relative}.child-profile-container .assignment-title{color:#333;font-size:18px;font-weight:600;line-height:1.4;margin:10px 0;overflow:visible;white-space:normal}.child-profile-container .assignment-due-date{color:#666;font-size:14px;font-weight:500;margin-top:8px;position:relative}.child-profile-container .assignment-status{font-size:14px;font-weight:500;margin-top:10px;position:relative}.child-profile-container .assignment-type-badge{border-radius:16px;display:inline-block;font-size:13px;margin-bottom:8px;padding:6px 12px}@media (max-width:768px){.child-profile-container .assignment-card{display:flex;flex-direction:column;min-height:180px}.child-profile-container .assignment-title{order:2;width:100%}.child-profile-container .assignment-type-badge{align-self:flex-start;order:1}.child-profile-container .assignment-due-date{order:3}.child-profile-container .assignment-status{align-self:flex-start;margin-top:8px;order:4}}.child-attendance-page{margin:0 auto;max-width:1200px;padding:20px}.page-header{flex-direction:column}.back-link{margin-bottom:12px}.page-header h1{font-size:24px}.summary-container{margin-bottom:24px;padding:20px}.percentage-container,.summary-title{margin-bottom:16px}.percentage-value{font-weight:700}.percentage-label{margin-top:4px}.stats-row{margin-top:16px}.stat-item{border-radius:8px;min-width:100px;padding:12px 16px}.stat-item.present{background-color:#4caf501a}.stat-item.absent{background-color:#d32f2f1a}.stat-item.late{background-color:#ff8f001a}.stat-item.present .stat-value{color:#4caf50}.stat-item.absent .stat-value{color:#d32f2f}.stat-item.late .stat-value{color:#ff8f00}.stat-label{margin-top:4px}.section-title{margin-top:24px}.attendance-list{display:flex;flex-direction:column;gap:16px}.status-indicator{flex-shrink:0;width:8px}.date-text{font-weight:500;margin:0 0 4px}.halaqa-text{margin-bottom:8px}.status-text{font-weight:500}.comments-text{background-color:#f5f7fa;border-radius:4px;margin-top:8px;padding:8px}.empty-container,.error-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:24px;text-align:center}.empty-text{color:#666}.retry-button:hover{background-color:#3a7bc8}@media (max-width:768px){.stats-row{flex-direction:column;gap:12px}.stat-item{margin:0 auto;max-width:200px;width:80%}.attendance-card{flex-direction:column}.status-indicator{height:8px;width:100%}}.assignments-list-container{background-color:#f5f7fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px 20px 80px;position:relative}.header h1{font-weight:600}.header-actions{gap:15px}.back-link{color:#3b82f6}.create-assignment-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-weight:500;padding:10px 20px;text-decoration:none}.create-assignment-btn:hover{background-color:#45a049}.filter-bar{box-shadow:0 1px 3px #0000001a;margin-bottom:15px;overflow-x:auto;padding:8px 0}.filter-chips{align-items:center;min-width:-webkit-max-content;min-width:max-content;padding:4px 10px}.filter-chip{border:none;border-radius:25px;font-weight:500;margin:0 5px;padding:8px 20px;white-space:nowrap}.filter-chip[data-filter-type=new-memorization].filter-chip-active,.filter-chip[data-filter-type=revision].filter-chip-active{background-color:#6e9fe7;color:#fff}.filter-chip:hover{background-color:#e8eaed}.filter-chip-active{background-color:#6e9fe7;box-shadow:0 1px 3px #0003;color:#fff}.assignment-card{border-radius:10px;box-shadow:0 1px 3px #0000001a;display:flex;margin-bottom:15px;overflow:hidden;width:100%}.simple-assignment-card{background-color:#fff;border-left:4px solid #4a90e2;border-radius:12px;box-shadow:0 1px 5px #0000001a;display:block;padding:16px;width:100%}.simple-assignment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.simple-assignment-title{color:#333;font-size:16px;font-weight:600;margin:0}.simple-action-buttons{display:flex;gap:10px}.simple-assess-btn,.simple-edit-btn{border-radius:15px;font-size:14px;font-weight:500;padding:6px 12px;text-decoration:none}.simple-edit-btn{background-color:#e3f2fd;color:#1976d2}.simple-assess-btn{background-color:#4a90e2;color:#fff}.simple-assignment-details{color:#666;font-size:14px;margin-bottom:15px}.simple-assignment-footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.simple-assessment,.simple-due-date,.simple-status,.simple-type{background-color:#f0f0f0;border-radius:15px;color:#666;display:inline-block;font-size:13px;padding:4px 10px}.simple-status{background-color:#e3f2fd;color:#1976d2}.simple-type{background-color:#fef8e8;color:#f57c00}.simple-assessment{background-color:#e8f5e9;color:#2e7d32}.assignment-indicator{flex-shrink:0;height:auto;min-height:100%;width:5px}.assignment-header{margin-bottom:12px}.assignment-title{flex:1 1;margin:0 12px 0 0}.header-actions{flex-wrap:nowrap;gap:8px}.edit-button{border:none;border-radius:15px;color:#1976d2;cursor:pointer;display:inline-block;font-size:12px;font-weight:500;padding:6px 12px}.assignment-details{color:#666;font-size:14px;margin-bottom:10px}.assignment-meta{flex-direction:column;margin-top:12px}.status-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.due-date-text{color:#888;font-size:12px;margin-right:10px}.status-chip,.type-chip{border-radius:10px;display:inline-block;font-size:12px;margin-right:5px;padding:3px 8px}.assess-button{background-color:#4a90e2;border:none;border-radius:15px;color:#fff;cursor:pointer;display:inline-block;font-size:12px;font-weight:500;padding:6px 12px;text-align:center;text-decoration:none}.assess-button:hover{background-color:#3a7bc8}.view-button{background-color:#4caf50}.view-button:hover{background-color:#43a047}.assessment-chip{background-color:#e8f5e9;border-radius:10px;padding:3px 10px}.assessment-text{color:#2e7d32;font-size:12px;font-weight:500}.loading-text{color:#666}.error{background-color:#ffebee;border-radius:8px;margin-top:20px;padding:20px;text-align:center}.empty-container{box-shadow:0 1px 3px #0000001a;margin-top:20px}.empty-text{margin-bottom:20px}.create-assignment-link{background-color:#4caf50;border-radius:4px;color:#fff;display:inline-block;font-weight:500;padding:8px 15px;text-decoration:none}.create-assignment-link:hover{background-color:#45a049}.assignments-list{margin-bottom:50px;margin-top:15px;overflow:visible;padding-bottom:50px}.assignments-count{margin-bottom:15px;padding-left:5px}.assignments-showing{color:#999;font-style:italic}.load-more-btn{background-color:#4a90e2;border:none;border-radius:25px;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:500;margin:25px auto;max-width:300px;padding:12px 20px;transition:background-color .2s ease;width:90%}.load-more-btn:hover{background-color:#3a7bc8}.scroll-top-btn{align-items:center;background-color:#4a90e2;border:none;border-radius:50%;bottom:70px;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;display:flex;font-size:16px;height:50px;justify-content:center;position:fixed;right:20px;width:50px;z-index:999}.assignment-wrapper{display:block;margin-bottom:20px;width:100%}.list-end-spacer{height:60px;width:100%}@media (max-width:768px){.header,.header-actions{align-items:flex-start;flex-direction:column;gap:10px}.header-actions{width:100%}.back-link{margin-bottom:5px}.create-assignment-btn{text-align:center;width:100%}.assignment-wrapper{margin-bottom:16px}.simple-assignment-card{border-radius:10px;padding:14px}.simple-assignment-header{flex-wrap:wrap}.simple-assignment-title{font-size:16px;margin-bottom:10px;width:100%}.simple-action-buttons{justify-content:space-between;width:100%}.simple-assess-btn,.simple-edit-btn{font-size:14px;padding:8px 15px}.simple-assignment-footer{flex-wrap:wrap;gap:10px;margin-top:15px}.load-more-btn{margin:20px auto;padding:14px 20px;width:90%}.scroll-top-btn{bottom:75px;height:45px;right:15px;width:45px}}.assignment-details-container{margin:0 auto;max-width:1000px;padding:20px}.edit-actions{display:flex;gap:10px}.edit-btn{background-color:#2196f3;border:none;color:#fff;cursor:pointer;font-weight:500;text-decoration:none}.delete-btn,.edit-btn{border-radius:4px;padding:10px 15px}.assess-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 15px;text-decoration:none}.edit-btn:hover{background-color:#0b7dda}.assess-btn:hover{background-color:#45a049}.delete-btn:hover{background-color:#e53935}.assignment-details-content{display:flex;flex-direction:column;gap:20px}.assignment-info-card,.submission-card,.submissions-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.assignment-header{background-color:#f8f8f8;border-bottom:1px solid #eee;padding:20px}.assignment-title h2{font-size:20px;margin:0 0 5px}.assignment-meta{display:flex;gap:10px;margin-top:5px}.status-badge{text-transform:capitalize}.status-completed{background-color:#e8f5e9;color:#2e7d32}.status-in-progress{background-color:#e3f2fd;color:#1565c0}.status-pending{background-color:#fff8e1;color:#f57f17}.status-overdue{background-color:#ffebee;color:#c62828}.info-section{padding:20px}.info-item{margin-bottom:12px}.label{color:#666;font-weight:500;width:120px}.value{color:#333;flex:1 1}.submission-card,.submissions-card{padding:20px}.submission-card h2,.submissions-card h2{color:#333;font-size:18px;margin-bottom:20px;margin-top:0}.submission-form{gap:15px}.form-group,.submission-form{display:flex;flex-direction:column}.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px}.submit-btn{align-self:flex-end;background-color:#4caf50;border-radius:4px;padding:10px 20px}.submit-btn:hover{background-color:#45a049}.submit-btn:disabled{background-color:#a5d6a7}.submissions-list{display:flex;flex-direction:column;gap:20px}.submission-item{border:1px solid #eee;border-radius:8px;overflow:hidden}.submission-header{align-items:center;background-color:#f8f8f8;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:15px}.student-info h3{font-size:16px;margin:0}.submission-date{color:#666;font-size:12px}.submission-content{border-bottom:1px solid #eee;padding:15px}.submission-content p{color:#333;line-height:1.5;margin:0}.audio-player{margin-top:15px}.audio-player h4{font-size:14px;font-weight:500;margin:0 0 10px}.feedback-section{background-color:#f5f5f5;border-bottom:1px solid #eee;padding:15px}.feedback-section h4{font-size:14px;font-weight:500;margin:0 0 10px}.feedback-section p{color:#333;line-height:1.5;margin:0}.feedback-form{display:flex;flex-direction:column;gap:10px;padding:15px}.feedback-form textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;resize:vertical}.send-feedback-btn{align-self:flex-end;background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 15px}.send-feedback-btn:hover{background-color:#0b7dda}.send-feedback-btn:disabled{background-color:#90caf9;cursor:not-allowed}.modal-container{border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:20px}.modal-container h3{margin-top:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-btn{background-color:#e0e0e0;padding:8px 15px}.delete-confirm-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 15px}.cancel-btn:hover{background-color:#d0d0d0}.delete-confirm-btn:hover{background-color:#e53935}.error,.loading,.not-found{color:#666;padding:40px;text-align:center}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:10px}.header-actions{flex-direction:column;width:100%}.assess-btn,.back-btn,.delete-btn,.edit-btn{text-align:center;width:100%}.edit-actions{display:flex;width:100%}.edit-actions,.info-item{flex-direction:column}.label{margin-bottom:4px;width:100%}.submission-header{align-items:flex-start;flex-direction:column;gap:10px}.submission-header .status-badge{align-self:flex-start}.send-feedback-btn,.submit-btn{align-self:stretch}}.verse-preview-container{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.verse-preview-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px 20px}.verse-preview-header h2{color:#333;font-size:18px;margin:0}.close-button{background:none;border:none;color:#888;cursor:pointer;font-size:24px;line-height:1;padding:0}.verse-preview-content{max-height:calc(80vh - 60px);overflow-y:auto;padding:0}.verse-item{border-bottom:1px solid #eee;padding:20px}.verse-item:last-child{border-bottom:none}.verse-number{color:#555;font-size:14px;font-weight:600;margin-bottom:10px}.verse-text{color:#333;direction:rtl;font-family:Traditional Arabic,Scheherazade,serif;font-size:20px;line-height:1.6;margin-bottom:15px;text-align:right}.teaching-tip-container{margin-bottom:5px;margin-top:10px}.loading-indicator{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#4a90e2;height:40px;margin-bottom:15px;width:40px}.no-verses{color:#666;padding:30px 20px;text-align:center}.verse-preview-modal{background-color:#00000080}.teaching-tip-container{margin:10px 0;padding:0}.teaching-tip-toggle{background-color:#edf4ff;border:1px solid #cce0ff;border-radius:4px;cursor:pointer;margin-bottom:0;text-decoration:none;transition:background-color .2s ease;width:100%}.teaching-tip-toggle-content{align-items:center;display:flex;justify-content:space-between;padding:8px 12px}.teaching-tip-toggle:hover{background-color:#d5e6ff}.teaching-tip-toggle.expanded{border-bottom-left-radius:0;border-bottom-right-radius:0}.teaching-tip-icon{font-size:16px;margin-right:8px}.teaching-tip-text{color:#4285f4;flex-grow:1;font-size:14px;font-weight:500}.teaching-tip-arrow{color:#4285f4;margin-left:8px}.teaching-tip-content{background-color:#f8f9fa;border:1px solid #cce0ff;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:none;font-size:15px;line-height:1.5;margin-bottom:10px;padding:12px 15px}.teaching-tip-loading{color:#6c757d;font-style:italic;padding:10px}.teaching-tip-error{color:#dc3545;font-style:italic;padding:10px}.no-translation-message .teaching-tip-toggle{background-color:#f8f9fa;border-color:#e9ecef;color:#6c757d}.no-translation-message .teaching-tip-arrow,.no-translation-message .teaching-tip-text{color:#6c757d}.create-assignment-container{background-color:#f5f7fa;margin:0 auto;max-width:1000px;padding:20px}.header h1{color:#333;font-size:24px}.back-btn{padding:0}.form-card{background-color:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;overflow:hidden}.form-section{border-bottom:1px solid #eee}.form-section:last-child{border-bottom:none}.assignment-type-buttons{display:flex;gap:15px;margin-bottom:10px}.type-button{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:15px;transition:all .2s ease}.type-button.active{background-color:#2196f3;border-color:#2196f3;color:#fff}.type-icon{font-size:24px;margin-bottom:8px}.form-group:last-child{margin-bottom:0}.form-group label{color:#555}.form-group input[type=date],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background-color:#fff;border:1px solid #ddd;border-radius:8px;font-size:14px;padding:12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a;outline:none}.form-group.half-width{min-width:auto;width:48%}.dropdown-field{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 15px;transition:border-color .2s;width:100%}.dropdown-field:hover{border-color:#aaa}.dropdown-field.error{border-color:#f44336}.placeholder-text{color:#999}.selected-text{color:#333}.dropdown-icon{color:#666;font-size:12px}.dropdown-overlay{background-color:initial;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10}.dropdown-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;margin-top:5px;max-height:300px;max-width:1000px;position:absolute;width:calc(100% - 40px);z-index:20}.search-container{border-bottom:1px solid #eee;padding:10px}.search-input{padding:10px}.dropdown-list{max-height:250px;overflow-y:auto}.dropdown-item{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:12px 15px;transition:background-color .2s}.dropdown-item.selected{background-color:#e3f2fd}.checkmark{color:#2196f3;font-weight:700}.empty-dropdown{color:#666;padding:20px;text-align:center}.selected-items-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.selected-item-pill{align-items:center;background-color:#e3f2fd;border-radius:16px;color:#2196f3;display:flex;font-size:13px;padding:5px 10px}.remove-pill-btn{background:none;border:none;color:#2196f3;cursor:pointer;font-size:16px;line-height:1;margin-left:5px;padding:0 2px}.verse-range{display:flex;gap:15px;margin-bottom:15px}.preview-button{background-color:#e3f2fd;border:none;border-radius:8px;color:#2196f3;cursor:pointer;font-weight:500;padding:12px;transition:background-color .2s;width:100%}.preview-button:hover{background-color:#bbdefb}.preview-button:disabled{background-color:#f5f5f5;color:#aaa;cursor:not-allowed}.switch-container{align-items:center;display:flex;justify-content:space-between}.toggle-switch{height:28px;width:56px}.switch-label{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.switch-label:before{background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:20px;left:4px;position:absolute;top:4px;transition:.4s;width:20px}input:checked+.switch-label{background-color:#2196f3}input:checked+.switch-label:before{transform:translateX(28px)}.form-actions{justify-content:space-between;padding:20px}.cancel-btn{border-radius:8px;flex:1 1;padding:12px 20px;text-align:center;transition:background-color .2s}.submit-btn{background-color:#2196f3;flex:2 1}.delete-btn,.submit-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px 20px;transition:background-color .2s}.delete-btn{background-color:#f44336;flex:1 1;margin:0 10px;text-align:center;text-decoration:none}.delete-btn:hover{background-color:#d32f2f}.delete-btn:disabled{background-color:#ef9a9a;cursor:not-allowed}.submit-btn:hover{background-color:#1976d2}.submit-btn:disabled{background-color:#90caf9;cursor:not-allowed}.loading-container{color:#666;height:200px}.loading-spinner{height:30px;width:30px}.error-text{color:#f44336;font-size:12px;margin-top:4px}.verse-preview-modal{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:10px}.back-btn{text-align:center;width:100%}.verse-range{flex-direction:row;flex-wrap:wrap}.verse-range .form-group.half-width{width:46%}.form-group{min-width:100%}.form-group.switch-container{align-items:center;display:flex;flex-direction:row;justify-content:space-between;width:100%}.form-group.switch-container label{margin-bottom:0}.form-actions{flex-direction:column;gap:12px}.cancel-btn,.delete-btn,.submit-btn{margin:0;text-align:center;width:100%}}.assessment-container{font-family:Roboto,Arial,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.assessment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.assessment-header h1{color:#333;font-size:24px;margin:0}.back-btn{background:none;display:inline-flex;padding:8px 16px}.back-btn:hover{color:#0c7cd5}.assessment-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.student-info-container{align-items:center;background-color:#f5f7fa;border-radius:8px;display:flex;margin-bottom:20px;padding:15px}.student-initial-circle{align-items:center;background-color:#4a90e2;border-radius:50%;display:flex;height:50px;justify-content:center;margin-right:15px;width:50px}.student-initial{color:#fff;font-size:24px;font-weight:700}.student-name-container{display:flex;flex-direction:column}.student-name{color:#333;font-size:18px;font-weight:600;margin:0}.assignment-details-container{background-color:#f5f7fa;border-radius:8px;margin-bottom:20px;overflow:hidden}.assignment-header{background-color:#f1f8ff;border-top-left-radius:8px;border-top-right-radius:8px;padding:10px 15px}.assignment-header h3{color:#333;font-size:16px;font-weight:600;margin:0}.assignment-content{padding:15px}.assignment-type-badge{border-radius:20px;margin-bottom:10px}.assignment-info-row{align-items:center;display:flex;justify-content:space-between}.assignment-title{font-weight:600;margin:0}.practice-status-container,.quiz-status-container{align-items:center;border-radius:8px;display:flex;margin-bottom:20px;padding:15px}.practice-status-container{background-color:#e8f5e9}.practice-status-container.practice-status-not-practiced{background-color:#fff8e1}.practice-status-container.practice-status-loading{background-color:#f5f5f5}.quiz-status-container{background-color:#e3f2fd}.practice-status-icon,.quiz-status-icon{align-items:center;border-radius:50%;display:flex;font-size:18px;height:30px;justify-content:center;margin-right:15px;width:30px}.practice-status-icon{background-color:#43a047;color:#fff}.practice-status-icon.practice-status-icon-not-practiced{background-color:#ffa000;color:#fff}.practice-status-loading .practice-status-icon{animation:spin 1.5s linear infinite;background-color:#9e9e9e;color:#fff}.quiz-status-icon{background-color:#1976d2;color:#fff}.practice-status-text,.quiz-status-text{flex:1 1}.practice-status-text h4{color:#2e7d32;font-size:16px;font-weight:600;margin:0 0 5px}.practice-status-not-practiced .practice-status-text h4{color:#e65100}.practice-status-not-practiced .practice-status-text p{color:#f57c00}.practice-status-loading .practice-status-text h4{color:#616161}.practice-status-loading .practice-status-text p{color:#757575}.quiz-status-text h4{color:#1976d2;font-size:16px;font-weight:600;margin:0 0 5px}.practice-status-text p{color:#43a047;font-size:14px;margin:0}.quiz-status-text p{color:#2196f3;font-size:14px;margin:0}.assessment-section{margin-bottom:20px}.assessment-section h3{color:#333;font-size:18px;margin-bottom:15px}.assessment-levels{display:flex;flex-wrap:wrap;gap:10px}.assessment-level-button{background-color:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;flex:1 1;font-weight:500;min-width:150px;padding:12px;text-align:center;transition:all .2s}.assessment-level-button:hover{border-color:#aaa}.assessment-level-button.selected{color:#fff}.assessment-level-text{font-size:14px;font-weight:600}.assessment-level-text.selected-text{color:#fff}.comments-section{margin-bottom:20px}.comments-section h3{color:#333;font-size:18px;margin-bottom:15px}.comments-input{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;width:100%}.comments-input:focus{border-color:#4a90e2;outline:none}.submit-button{background-color:#4a90e2;border:none;border-radius:6px;cursor:pointer;display:block;font-size:16px;font-weight:600;padding:14px;transition:background-color .2s;width:100%}.submit-button:hover{background-color:#3a7bc8}.submit-button:disabled{background-color:#a0a0a0;cursor:not-allowed}.assessment-loading{align-items:center;color:#666;display:flex;font-size:18px;height:200px;justify-content:center}@media (max-width:768px){.assessment-header{align-items:flex-start;gap:10px}.assessment-header,.assessment-levels{flex-direction:column}.assessment-level-button{width:100%}.assignment-info-row{align-items:flex-start;flex-direction:column;gap:5px}.student-info-container{flex-direction:column;text-align:center}.student-initial-circle{margin-bottom:10px;margin-right:0}}.child-assignments-container{margin:0 auto;max-width:1200px;padding:20px}.child-assignments-header{display:flex;flex-direction:column;margin-bottom:20px}.back-link{display:inline-block;margin-bottom:10px}.child-assignments-header h1{color:#333;font-size:24px;margin:0}.child-assignments-error,.child-assignments-loading{align-items:center;display:flex;flex-direction:column;height:300px;justify-content:center;text-align:center}.child-assignments-error p{color:#e53935;margin-bottom:16px}.child-assignments-error button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.filter-bar{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:24px;padding:16px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{background-color:#f5f7fa;border:1px solid #e0e0e0;border-radius:16px;color:#666;cursor:pointer;font-size:14px;padding:6px 16px;transition:all .2s ease}.filter-chip-active,.filter-chip:hover{background-color:#e3f2fd;border-color:#bbdefb;color:#1976d2}.filter-chip-active{font-weight:500}.assignments-list{gap:16px}.assignments-count{color:#666;font-size:14px;margin-bottom:8px}.assignment-card{background-color:#fff;border-left:4px solid #4a90e2;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;padding:16px;transition:transform .2s ease,box-shadow .2s ease}.assignment-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.assignment-card.completed{border-left-color:#4caf50}.assignment-type-badge{display:inline-block;margin-bottom:8px;padding:4px 8px}.assignment-card.completed .assignment-type-badge{background-color:#e8f5e9;color:#2e7d32}.assignment-title{font-size:16px;margin:0 0 8px}.assignment-due-date,.assignment-status{color:#888;font-size:12px;margin-bottom:8px}.assignment-status{font-weight:500}.assessment-good{color:#4caf50}.assessment-needs-improvement{color:#d32f2f}.assignment-comments{background-color:#f5f7fa;border-radius:4px;margin-top:8px;padding:8px 12px}.comments-label{color:#666;display:block;font-size:12px}.comments-text{color:#333;margin:0}.empty-assignments{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#888;padding:32px;text-align:center}@media (max-width:768px){.filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.filter-chip{white-space:nowrap}.assignment-card{align-items:center;display:grid;grid-template-areas:"type status" "title title" "date date" "comments comments";grid-template-columns:auto auto;padding:12px}.assignment-type-badge{grid-area:type;margin-bottom:0}.assignment-title{color:#333;display:block!important;font-size:16px;font-weight:700;grid-area:title;margin:10px 0;width:100%}.assignment-due-date{font-size:14px;grid-area:date;margin-top:5px;text-align:right}.assignment-status{grid-area:status;justify-self:end;margin-top:0;text-align:right}.assignment-comments{grid-area:comments;margin-top:10px}}.student-assignment-container{background-color:#f5f7fa;margin:0 auto;max-width:800px;min-height:100vh;padding:20px}.assignment-header{align-items:center;margin-bottom:20px;position:relative}.assignment-header h1{color:#333;flex:1 1;font-size:24px;margin:0;text-align:center}.assignment-info-block{background-color:#f1f8ff;border-left:4px solid #4a90e2;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden;padding:15px 20px}.assignment-title-block{display:flex;flex-direction:column}.assignment-title-block h2{color:#333;font-size:22px;margin:0 0 10px}.assignment-due-date{margin-bottom:5px}.assignment-verses{color:#666;font-size:14px}.arabic-text-card{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden}.arabic-text-container{padding:20px}.verse{border-radius:8px;margin-bottom:20px;padding:15px;transition:background-color .3s ease}.verse.active-verse{background-color:#4a90e21a}.arabic-text{color:#333;direction:rtl;font-size:24px;line-height:1.7;text-align:right}.reciter-selection{align-items:center;background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;margin-bottom:20px;padding:15px}.reciter-selection label{color:#333;font-weight:500;margin-right:15px}.reciter-dropdown{background-color:#f9f9f9;border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;padding:10px}.audio-player{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.audio-controls{margin-bottom:15px}.audio-button,.audio-controls{align-items:center;display:flex;justify-content:center}.audio-button{background-color:#4a90e2;border:none;border-radius:50%;color:#fff;cursor:pointer;height:40px;margin:0 10px;transition:background-color .2s;width:40px}.play-button{font-size:18px;height:50px;width:50px}.audio-button:hover{background-color:#3a7fcb}.audio-button:disabled{background-color:#b0c8e4;cursor:not-allowed}.progress-container{align-items:center;cursor:pointer;display:flex;height:20px;margin-bottom:10px}.progress-bar{background-color:#e0e0e0;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.progress-fill{background-color:#4a90e2;border-radius:2px;height:100%;transition:width .1s linear}.verse-indicator{color:#666;font-size:14px;text-align:center}.action-buttons{align-items:center;background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex-direction:column;gap:15px;margin-bottom:20px;padding:20px}.practice-status{max-width:300px;text-align:center;width:100%}.practice-badge{background-color:#e8f5e9;border:2px solid #43a047;border-radius:25px;color:#43a047;display:inline-block;font-size:16px;font-weight:600;padding:10px 20px}.practice-badge.not-practiced{background-color:#fff8e1;border-color:#ff8f00;color:#ff8f00}.quiz-button{background-color:#4a90e2;border:none;border-radius:25px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:16px;font-weight:600;max-width:300px;padding:15px 25px;transition:all .2s;width:100%}.quiz-button:hover{background-color:#3a7fcb;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.practice-button{background-color:#fff;border:2px solid #4a90e2;border-radius:25px;color:#4a90e2;cursor:pointer;font-size:16px;font-weight:600;max-width:300px;padding:15px 25px;transition:all .2s;width:100%}.practice-button:hover{background-color:#4a90e21a}.practice-button.practiced{background-color:#e8f5e9;border-color:#43a047;color:#43a047}.practice-button.practiced:hover{background-color:#d7eeda}.practice-timestamp{color:#43a047;font-size:14px;margin-top:10px}.quiz-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.quiz-modal{background-color:#fff;border-radius:16px;box-shadow:0 4px 20px #0003;max-height:80vh;max-width:800px;overflow-y:auto;padding:20px;position:relative;width:90%}.quiz-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.quiz-title{color:#333;font-size:20px;font-weight:700;margin:0}.quiz-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#888;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.quiz-close-button:hover{background-color:#f1f1f1}.quiz-instructions{color:#666;font-size:14px;margin-bottom:20px;text-align:center}.matching-columns{display:flex;gap:20px;margin-bottom:20px}.quiz-column{display:flex;flex:1 1;flex-direction:column}.column-header{color:#4a90e2;font-size:16px;font-weight:600;margin-bottom:10px;text-align:center}.column-scroll{flex:1 1;max-height:350px;overflow-y:auto}.quiz-item{background-color:#f9f9f9;border:2px solid #0000;border-radius:8px;cursor:pointer;margin-bottom:10px;padding:15px;transition:all .2s}.quiz-item:hover,.selected-quiz-item{background-color:#f1f8ff}.selected-quiz-item{border-color:#4a90e2}.matched-quiz-item{background-color:#e8f5e9;border-color:#4caf50;cursor:default}.incorrect-match-quiz-item{background-color:#ffebee;border-color:#ef5350}.matched-quiz-item-text{color:#2e7d32}.quiz-arabic-text{direction:rtl;font-size:18px;line-height:1.5;margin:0;text-align:right}.quiz-translation-text{font-size:14px;line-height:1.5;margin:0}.show-results-button{background-color:#4a90e2;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:600;margin:0 auto;max-width:300px;padding:12px;transition:background-color .2s;width:100%}.show-results-button:hover{background-color:#3a7fcb}.quiz-results-container{padding:15px}.quiz-score-container{margin-bottom:30px;text-align:center}.quiz-score-text{color:#555;font-size:18px;margin-bottom:10px}.quiz-score-value{color:#4a90e2;font-size:48px;font-weight:700;margin:5px 0}.quiz-score-detail{color:#666;margin-top:5px}.correct-matches-title{color:#333;font-size:18px;margin-bottom:15px}.result-items-container{margin-bottom:20px;max-height:300px;overflow-y:auto}.result-item{background-color:#f9f9f9;border-radius:8px;margin-bottom:15px;padding:15px}.result-verse{color:#555;font-size:14px;font-weight:700;margin-bottom:5px}.result-arabic{direction:rtl;font-size:18px;line-height:1.5;margin-bottom:10px;text-align:right}.result-translation{color:#666;font-size:14px;font-style:italic;line-height:1.5}.quiz-buttons-container{display:flex;gap:15px;margin-top:20px}.try-again-button{background-color:#4a90e2;color:#fff}.close-quiz-button,.try-again-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px}.close-quiz-button{background-color:#f1f1f1;color:#555}.navigation-footer{background-color:#fff;border-radius:12px;bottom:20px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-around;margin-top:40px;padding:15px;position:-webkit-sticky;position:sticky}.nav-link{border-radius:20px;color:#888;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .2s}.nav-link:hover{color:#4a90e2}.nav-link.active{background-color:#4a90e21a;color:#4a90e2}.student-assignment-error,.student-assignment-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px;text-align:center}.loading-spinner{margin-bottom:20px}.student-assignment-error h2{color:#e53935;margin-bottom:10px}.student-assignment-error p{color:#666;margin-bottom:20px}.retry-button:hover{background-color:#3a7fcb}@media (max-width:768px){.student-assignment-container{padding:15px}.assignment-header h1{font-size:20px}.assignment-info-block{padding:12px 15px}.assignment-title-block h2{font-size:18px}.assignment-due-date,.assignment-verses{font-size:13px}.arabic-text{font-size:20px}.audio-button{height:36px;width:36px}.play-button{height:46px;width:46px}.practice-button{font-size:14px;padding:12px 20px}}.student-assignments-container{background-color:#f5f7fa;margin:0 auto;max-width:800px;min-height:100vh;padding:20px}.assignments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.assignments-header h1{color:#333;font-size:24px;font-weight:500;margin:0;text-align:center}.placeholder-div{width:50px}.filter-tabs{background-color:#fff;border-radius:28px;box-shadow:0 2px 4px #0000000d;display:flex;margin-bottom:20px;overflow:hidden}.filter-tab{background-color:initial;border:none;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 15px;text-align:center;transition:all .2s ease}.filter-tab:hover{background-color:#4a90e20d}.filter-tab.active{background-color:#4a90e21a;color:#4a90e2;font-weight:600}.assignments-list{display:flex;flex-direction:column;gap:15px;width:100%}.student-assignment-card{background-color:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;color:inherit;display:flex;min-height:160px;overflow:hidden;position:relative;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;width:100%}.student-assignment-card.has-comments{min-height:280px}.student-assignment-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.card-left-border{align-self:stretch;background-color:#4caf50;height:auto;min-width:6px;width:6px}.card-left-border.overdue{background-color:#f44336}.card-left-border.completed{background-color:#4caf50}.card-left-border.practiced{background-color:#2196f3}.assignment-content{display:flex;flex:1 1;flex-direction:column;padding:20px;width:100%}.assignment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.assignment-title{color:#333;font-size:20px;font-weight:500;margin:0 0 5px}.assignment-type-badge{background-color:#e3f2fd;border-radius:12px;color:#1976d2;font-size:12px;font-weight:500;padding:5px 10px}.student-assignment-card[class*=revision] .assignment-type-badge{background-color:#fff8e1;color:#ff8f00}.assignment-due-date{color:#666;font-size:14px;margin-bottom:12px}.assignment-status-badges{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;width:100%}.status-badge{background-color:#e8f5e9;color:#2e7d32;font-weight:600}.status-badge.overdue{background-color:#ffebee;color:#c62828}.status-badge.completed{background-color:#e8f5e9;color:#2e7d32}.status-badge.practiced{background-color:#e3f2fd;color:#0277bd}.assessment-badge{background-color:#f5f5f5;border-radius:12px;color:#757575;font-size:13px;font-weight:600;padding:6px 12px}.assessment-badge.excellent{background-color:#e8f5e9;color:#2e7d32}.assessment-badge.very-good{background-color:#e8f5e9;color:#388e3c}.assessment-badge.good{background-color:#fff8e1;color:#ff8f00}.assessment-badge.pass{background-color:#e3f2fd;color:#0288d1}.assessment-badge.need-to-repeat,.assessment-badge.needs-improvement{background-color:#ffebee;color:#c62828}.teacher-comments{background-color:#f5f7fa;border-radius:8px;box-shadow:0 1px 3px #0000000d;display:block;font-size:14px;margin-top:14px;min-height:70px;padding:12px;width:100%}.comments-label{color:#555;font-weight:500;margin-bottom:4px}.comments-text{font-style:italic}.loading-state{padding:60px 20px}.loading-spinner{border:4px solid #0000001a;border-left-color:#4a90e2;height:36px;width:36px}.error-state{background-color:#fff3f3;border-radius:12px;margin:20px 0;padding:30px;text-align:center}.error-state h2{color:#c62828;font-size:18px;margin-bottom:10px;margin-top:0}.error-state p{color:#666;margin-bottom:20px}.empty-state{background-color:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d}.empty-state p{color:#666;margin-bottom:20px}.view-all-button{background-color:#f1f8ff;border:1px solid #c2deff;border-radius:4px;color:#4a90e2;cursor:pointer;font-weight:500;padding:10px 20px}@media (max-width:768px){.student-assignments-container{padding:15px}.assignments-header h1{font-size:20px}.filter-tabs{border-radius:20px;overflow-x:auto;white-space:nowrap}.filter-tab{padding:10px}.student-assignment-card{min-height:150px}.assignment-content{padding:16px}.assignment-title{font-size:18px}.assignment-type-badge{font-size:11px;padding:4px 8px}.assessment-badge,.status-badge{font-size:12px;padding:5px 10px}.teacher-comments{font-size:13px;padding:10px}}.conversations-list-container{margin:0;max-width:100%;padding:0}.new-message-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 15px;text-decoration:none}.new-message-btn:hover{background-color:#45a049}.search-input{background-color:#f8f8f8;border-radius:25px;padding:10px 15px}.conversations-list,.search-input:focus{background-color:#fff}.conversations-list{border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.conversation-item{align-items:center;border-bottom:1px solid #eee;color:inherit;display:flex;padding:15px;position:relative;text-decoration:none;transition:background-color .2s}.conversation-item:last-child{border-bottom:none}.conversation-item:hover{background-color:#f5f5f5}.conversation-item.unread{background-color:#e8f5e9}.conversation-item.unread:hover{background-color:#d7eeda}.conversation-actions{align-items:center;display:flex;gap:10px;margin-left:10px}.delete-button{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;opacity:0;padding:5px 10px;transition:background-color .2s;transition:opacity .2s,visibility .2s;visibility:hidden}.delete-button:hover{background-color:#d32f2f}.conversation-item:hover .delete-button{opacity:1;visibility:visible}.avatar{align-items:center;background-color:#2196f3;border-radius:50%;color:#fff;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;margin-right:15px;width:40px}.conversation-content{min-width:0}.conversation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.participant-name{color:#333;font-weight:600;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timestamp{color:#666;font-size:12px}.last-message{color:#666;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item.unread .participant-name{color:#2e7d32;font-weight:700}.conversation-item.unread .last-message{color:#333;font-weight:500}.unread-indicator{background-color:#4caf50;border-radius:50%;height:8px;position:absolute;right:15px;top:15px;width:8px}.empty-state{font-style:italic;padding:30px}.start-conversation-btn{background-color:#2196f3;border-radius:4px;color:#fff;display:inline-block;font-style:normal;font-weight:500;margin-top:10px;padding:8px 15px;text-decoration:none}.start-conversation-btn:hover{background-color:#0b7dda}.delete-confirmation-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-confirmation-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #0003;max-width:400px;padding:25px;text-align:center;width:90%}.delete-confirmation-content h3{color:#d32f2f;margin-top:0}.delete-confirmation-content p{color:#555;margin-bottom:20px}.delete-confirmation-actions{display:flex;gap:15px;justify-content:center}.cancel-delete-btn{background-color:#f5f5f5;color:#333}.cancel-delete-btn,.confirm-delete-btn{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 15px}.confirm-delete-btn{background-color:#f44336;color:#fff}.cancel-delete-btn:hover{background-color:#e0e0e0}.confirm-delete-btn:hover{background-color:#d32f2f}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:15px}.header-left{width:100%}.new-message-btn{text-align:center;width:100%}.delete-button{font-size:14px;opacity:1;padding:8px 12px;visibility:visible}.conversation-actions{position:absolute;right:15px;top:50%;transform:translateY(-50%)}}.conversation-details-container{display:flex;flex-direction:column;height:calc(100vh - 40px);margin:0 auto;max-width:900px;padding:20px}.header{gap:20px}.header h1{font-size:20px;margin:0}.conversation-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.messages-container{background-color:#f9f9f9;flex:1 1;overflow-y:auto;padding:20px}.messages-list{display:flex;flex-direction:column;gap:15px}.message{display:flex;max-width:70%}.message.sent{align-self:flex-end}.message.received{align-self:flex-start}.message-content{border-radius:18px;box-shadow:0 1px 2px #0000001a;overflow:hidden;padding:12px 15px}.message.sent .message-content{background-color:#e3f2fd;border-bottom-right-radius:4px;color:#0d47a1}.message.received .message-content{background-color:#e8f5e9;border-bottom-left-radius:4px;color:#1b5e20}.message-text{line-height:1.4;margin-bottom:5px;white-space:pre-wrap;word-break:break-word}.message-attachment{margin-bottom:5px;margin-top:10px}.attachment-link{align-items:center;background-color:#ffffff80;border-radius:4px;color:inherit;display:flex;gap:5px;padding:5px 10px;text-decoration:none}.attachment-icon{font-size:18px}.attachment-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-timestamp{font-size:10px;opacity:.7;text-align:right}.no-messages{color:#666;font-style:italic;padding:40px;text-align:center}.message-input-container{background-color:#fff;border-top:1px solid #eee;padding:15px}.message-input-container form{display:flex;flex-direction:column;gap:10px}.attachment-input{align-items:center;display:flex;gap:10px}.attachment-input input[type=file]{display:none}.attachment-label{cursor:pointer;font-size:18px}.attachment-name{color:#666;font-size:12px}.message-input-field{display:flex;gap:10px}.message-input-field textarea{border:1px solid #ddd;border-radius:18px;flex:1 1;font-family:inherit;font-size:14px;padding:10px;resize:none}.message-input-field textarea:focus{border-color:#2196f3;outline:none}.send-btn{align-self:flex-end;border-radius:18px}@media (max-width:768px){.conversation-details-container{height:calc(100vh - 20px);padding:10px}.header{align-items:flex-start;flex-direction:column;gap:10px}.back-btn{text-align:center;width:100%}.message{max-width:85%}.message-input-field{flex-direction:column}.send-btn{align-self:stretch}}.new-message-container{margin:0 auto;max-width:800px;padding:20px}.message-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.recipient-filter-tabs{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;overflow-x:auto}.recipient-filter-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 15px;text-align:center;transition:all .2s;white-space:nowrap}.recipient-filter-tabs button.active{border-bottom-color:#4285f4;color:#4285f4}.recipient-filter-tabs button:hover{background-color:#f4f8ff;color:#4285f4}.form-group label{margin-bottom:8px}.recipient-type-toggle{display:flex;gap:15px;margin-bottom:10px}.recipient-type-toggle label{align-items:center;background-color:#f5f5f5;border-radius:20px;cursor:pointer;display:inline-flex;gap:5px;padding:8px 15px;transition:all .2s}.recipient-type-toggle label.active{background-color:#e3f2fd;color:#0d47a1}.message-type-toggle{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.message-type-toggle button{background-color:#f5f5f5;border:none;border-radius:20px;cursor:pointer;font-size:14px;padding:8px 15px;transition:all .2s}.message-type-toggle button.active{background-color:#e3f2fd;color:#0d47a1;font-weight:500}.message-type-toggle button:hover{background-color:#e0e0e0}.template-tip{background-color:#fffde7;border-left:3px solid #ffc107;border-radius:4px;margin-top:15px;padding:10px}.create-template-btn{background-color:#ffc107;border:none;border-radius:4px;color:#333;cursor:pointer;font-size:12px;margin-top:8px;padding:6px 12px}.create-template-btn:hover{background-color:#ffb300}.recipient-type-toggle input{height:0;opacity:0;position:absolute;width:0}.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.form-group select{background-color:#fff}.form-group textarea{min-height:120px}.content-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.use-example-btn{background-color:#e3f2fd;border:none;border-radius:4px;color:#0d47a1;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.use-example-btn:hover{background-color:#bbdefb}.message-preview{background-color:#f9f9f9;border-left:3px solid #2196f3;border-radius:4px;margin-top:15px;padding:15px}.message-preview h4{color:#2196f3;font-size:14px;margin-top:0}.preview-content{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:10px;white-space:pre-wrap}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2196f3;outline:none}.helper-text{color:#666;display:block;font-size:12px;margin-top:4px}.helper-text.warning{align-items:center;background-color:#ffebee;border-radius:4px;color:#e53935;display:flex;font-weight:500;margin-top:8px;padding:8px 12px}.helper-text.warning:before{content:"⚠️";margin-right:8px}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;font-weight:400!important;gap:8px}.checkbox-label input[type=checkbox]{height:18px;width:18px}.sms-toggle{border-top:1px solid #eee;margin-top:25px;padding-top:15px}.form-actions{gap:10px;margin-top:30px}.cancel-btn{text-decoration:none}.error-message{white-space:pre-line}.error,.loading{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;justify-content:center;margin-top:20px;padding:40px;text-align:center}.loading p{color:#666;margin:0}.error{padding:30px}.error-icon{font-size:30px;margin-bottom:15px}.error p{margin:0 0 20px}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:10px}.back-btn{text-align:center;width:100%}.recipient-type-toggle{flex-direction:column;gap:10px}.recipient-type-toggle label{text-align:center}.form-actions{flex-direction:column}.cancel-btn,.send-btn{text-align:center;width:100%}}.parent-new-message-container{margin:0 auto;max-width:800px;padding:20px}.back-btn{background-color:#f5f5f5;border:none;border-radius:4px;color:#333;cursor:pointer;font-weight:500;padding:10px 15px}.back-btn:hover{background-color:#e0e0e0}.error-message{align-items:center;display:flex;justify-content:space-between}.retry-button{background-color:#2196f3;transition:background-color .2s}.retry-button:hover{background-color:#0b7dda}.loading-state{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;justify-content:center;margin-top:20px;padding:40px;text-align:center}.loading-spinner{border-top-color:#007bff}.loading-state p{color:#666;margin:0}.teacher-selection-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.search-container{margin-bottom:20px}.search-input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-position:10px;background-repeat:no-repeat;background-size:16px 16px;border:1px solid #ddd;border-radius:4px;font-size:14px;padding:12px 12px 12px 36px;width:100%}.search-input:focus{border-color:#2196f3;outline:none}.empty-state{color:#666;padding:40px 20px;text-align:center}.empty-state p{font-size:16px;margin:0 0 10px}.empty-state-hint{color:#999;font-size:14px}.teachers-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));max-height:60vh;overflow-y:auto;padding-right:5px}.teacher-card{align-items:center;background-color:#f8f9fa;border-radius:8px;cursor:pointer;display:flex;gap:15px;padding:15px;transition:all .2s}.teacher-card:hover{background-color:#e3f2fd;transform:translateY(-2px)}.teacher-avatar{align-items:center;background-color:#4285f4;border-radius:50%;color:#fff;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px}.teacher-avatar.large{font-size:24px;height:60px;width:60px}.teacher-info{flex:1 1}.teacher-name{font-size:16px;font-weight:500;margin:0 0 5px}.teacher-role{color:#666;font-size:13px;margin:0}.compose-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.recipient-header{border-bottom:1px solid #eee;display:flex;flex-direction:column;gap:15px;margin-bottom:20px;padding-bottom:20px}.back-to-list-btn{align-items:center;align-self:flex-start;background:none;border:none;color:#2196f3;cursor:pointer;display:flex;font-size:14px;padding:0}.back-to-list-btn:hover{text-decoration:underline}.selected-teacher{align-items:center;background-color:#f8f9fa;border-radius:8px;display:flex;gap:15px;padding:15px}.message-area{margin-bottom:20px}.message-area label{color:#333;display:block;font-weight:500;margin-bottom:8px}.message-input{border:1px solid #ddd;border-radius:4px;font-size:14px;min-height:120px;padding:12px;resize:vertical;width:100%}.message-input:focus{border-color:#2196f3;outline:none}.message-tips{background-color:#f0f7ff;border-left:3px solid #4285f4;border-radius:4px;margin-top:15px;padding:15px}.message-tips h4{color:#333;font-size:16px;font-weight:500;margin-bottom:8px;margin-top:0}.message-tips p{color:#555;font-size:14px;margin-bottom:8px}.message-tips ul{margin:0;padding-left:20px}.message-tips li{font-size:14px;margin-bottom:5px}.action-buttons{gap:10px;justify-content:flex-end;margin-top:20px}.cancel-btn{background-color:#f5f5f5;color:#333}.cancel-btn,.send-btn{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 20px}.send-btn{background-color:#4caf50;color:#fff}.cancel-btn:hover{background-color:#e0e0e0}.send-btn:hover{background-color:#45a049}.send-btn:disabled{background-color:#a5d6a7;cursor:not-allowed}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:10px}.back-btn{text-align:center;width:100%}.teachers-list{grid-template-columns:1fr}.action-buttons{flex-direction:column}.cancel-btn,.send-btn{width:100%}}.settings-container{margin:0;max-width:100%;padding:0}.settings-content{display:flex;flex-direction:column;gap:20px}.settings-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;padding:20px}.settings-card h2{color:#333;font-size:20px;margin-bottom:20px;margin-top:0}.settings-section{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h3{color:#555;font-size:16px;margin-bottom:15px;margin-top:0}.setting-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.setting-item:last-child{margin-bottom:0}.setting-item label{color:#333;font-weight:500}.setting-item small{color:#666;display:block;font-size:12px;margin-top:2px}.setting-item select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px;width:200px}.toggle-switch{display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:16px;left:4px;position:absolute;transition:.4s;width:16px}input:checked+.toggle-slider{background-color:#4caf50}input:focus+.toggle-slider{box-shadow:0 0 1px #4caf50}input:checked+.toggle-slider:before{transform:translateX(26px)}.center-info{margin-bottom:15px}.info-item{display:flex;margin-bottom:10px}.info-item:last-child{margin-bottom:0}.info-item .label{color:#666;font-weight:500;width:100px}.info-item .value{color:#333;flex:1 1}.edit-center-btn{background-color:#2196f3;border-radius:4px;color:#fff;display:inline-block;font-size:14px;font-weight:500;margin-top:15px;padding:10px 20px;text-decoration:none;transition:background-color .2s,transform .1s}.edit-center-btn:hover{background-color:#0b7dda;transform:translateY(-2px)}.settings-actions{display:flex;justify-content:flex-end;margin-top:20px}.save-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.save-btn:hover{background-color:#45a049}.save-btn:disabled{background-color:#a5d6a7;cursor:not-allowed}.logout-section{border-top:1px solid #eee;display:flex;justify-content:center;margin-top:30px;padding-top:20px}.logout-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;max-width:200px;padding:12px 30px;transition:background-color .3s;width:100%}.logout-btn:hover{background-color:#d32f2f}.force-logout-container,.user-profile-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px;width:100%}.force-logout-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .3s}.force-logout-btn:hover{background-color:#d32f2f}.view-profile-btn{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-weight:500;padding:8px 16px;text-decoration:none;transition:background-color .3s}.view-profile-btn:hover{background-color:#0b7dda}.loading{text-align:center}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:15px}.header-left{width:100%}.setting-item{align-items:flex-start;flex-direction:column;gap:10px}.setting-item.checkbox{flex-direction:row;justify-content:space-between}.notification-group{background-color:#f9f9f9;border-radius:6px;margin-top:15px;padding:15px}.notification-group h4{color:#333;font-size:15px;font-weight:500;margin:0 0 12px}.sub-setting{border-left:2px solid #e0e0e0;margin-top:10px;padding-left:15px}.logout-section{margin-top:40px;padding-bottom:80px;padding-top:25px}.logout-btn{font-size:16px;max-width:100%;padding:15px;width:100%}}.setting-item select{width:100%}.edit-center-container{margin:0 auto;max-width:900px;padding:20px}.back-link{color:#2196f3;font-size:14px;margin-bottom:5px}.back-link:hover{color:#0b7dda}.edit-center-content{gap:20px}.edit-center-content,.loading{display:flex;flex-direction:column}.loading{align-items:center;color:#666;justify-content:center;padding:40px}.loading-spinner{border-top-color:#2196f3}.error-message{background-color:#ffebee;color:#c62828}.error-message,.success-message{border-radius:4px;margin-bottom:20px;padding:12px}.success-message{background-color:#e8f5e9;color:#2e7d32}.center-form,.form-sections{display:flex;flex-direction:column;gap:30px}.form-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.form-section h2{color:#333;font-size:18px;font-weight:600;margin-bottom:20px;margin-top:0}.logo-container,.logo-section{align-items:center;display:flex;flex-direction:column}.logo-container{gap:15px;width:100%}.logo-preview{align-items:center;background-color:#f5f5f5;border:1px solid #ddd;border-radius:50%;display:flex;height:150px;justify-content:center;overflow:hidden;width:150px}.logo-image{height:100%;object-fit:cover;width:100%}.logo-placeholder{align-items:center;color:#999;display:flex;flex-direction:column;justify-content:center}.placeholder-icon{font-size:36px;margin-bottom:8px}.logo-upload-button{background-color:#e3f2fd;border:none;border-radius:4px;color:#2196f3;cursor:pointer;font-weight:500;padding:8px 16px;text-align:center;transition:background-color .2s}.logo-upload-button:hover{background-color:#bbdefb}.file-input{display:none}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:6px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.form-group textarea{min-height:80px;resize:vertical}.form-actions{display:flex;gap:15px;justify-content:flex-end}.cancel-button{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.cancel-button:hover{background-color:#e0e0e0}.save-button{background-color:#2196f3;border-radius:4px;font-weight:500;padding:10px 20px;transition:background-color .2s}.save-button:hover{background-color:#0b7dda}.save-button:disabled{background-color:#90caf9}.branding-section{display:flex;flex-direction:column;gap:20px}.subdomain-input-group{align-items:center;display:flex}.subdomain-input-group input{border-bottom-right-radius:0;border-top-right-radius:0;flex:1 1}.subdomain-suffix{background-color:#f5f5f5;border:1px solid #ddd;border-bottom-right-radius:4px;border-left:none;border-top-right-radius:4px;color:#666;padding:10px}.help-text{color:#666;font-size:12px;margin-top:4px}.color-pickers{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.color-input-group{align-items:center;display:flex;gap:10px}.color-input-group input[type=color]{border:1px solid #ddd;cursor:pointer;height:36px;padding:0;width:36px}.color-text-input{flex:1 1;font-family:monospace}.branding-preview{background-color:#f9f9f9;border-radius:4px;display:flex;flex-direction:column;gap:10px;padding:15px}.branding-preview h3{font-size:16px;font-weight:500;margin:0 0 10px}.color-preview{font-weight:500;margin-bottom:10px;padding:10px}@media (max-width:768px){.logo-section{margin-bottom:20px}.color-pickers{grid-template-columns:1fr}}@media (max-width:480px){.form-actions{flex-direction:column;gap:10px}.cancel-button,.save-button{width:100%}}.center-details-content{display:flex;flex-direction:column;gap:20px}.details-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.details-section h2{color:#333;font-size:18px;font-weight:600;margin-bottom:20px;margin-top:0}.detail-row{border-bottom:1px solid #f0f0f0;display:flex;margin-bottom:12px;padding-bottom:12px}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-label{color:#666;font-weight:500;width:180px}.detail-value{color:#333;flex:1 1}.header-actions{gap:10px}.edit-button{background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:4px;color:#2196f3;font-size:14px;padding:8px 16px;text-decoration:none;transition:all .2s}.edit-button:hover{background-color:#bbdefb}.center-logo-display{display:flex;justify-content:center;margin:20px 0}.center-logo-image{border-radius:8px;box-shadow:0 2px 4px #0000001a;max-height:200px;max-width:200px}.color-preview{border-radius:4px;display:inline-block;font-family:monospace;padding:8px;text-align:center;width:100px}.classes-table,.users-table{overflow-x:auto;width:100%}td,th{border-bottom:1px solid #f0f0f0}th{background-color:#f9f9f9}tr:hover{background-color:#f5f7fa}.no-data{color:#666;padding:10px 0}@media (max-width:768px){.detail-row{flex-direction:column}.detail-label{margin-bottom:5px;width:100%}.header{align-items:flex-start;flex-direction:column}.header-actions{margin-top:10px}}.registrations-container{margin:0 auto;max-width:1200px;padding:20px}.filter-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;margin-bottom:20px;overflow:hidden}.filter-button{background:none;border:none;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:12px;transition:all .2s ease}.filter-button:hover{background-color:#4a90e20d}.active-filter{background-color:#4a90e21a;color:#4a90e2;font-weight:700}.registrations-list{display:flex;flex-direction:column;gap:15px}.registration-item{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;padding:20px;transition:all .2s ease}.registration-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.registration-header{margin-bottom:12px}.registration-name{color:#333;font-size:18px;font-weight:700;margin:0}.status-badge{font-size:14px;font-weight:700;padding:6px 12px}.registration-info{margin-bottom:12px}.registration-email,.registration-phone{color:#666;font-size:15px;margin:3px 0}.child-info{align-items:center;background-color:#4a90e21a;border-radius:6px;display:flex;margin-bottom:12px;padding:10px}.child-icon{color:#4a90e2;margin-right:8px}.child-text{color:#4a90e2;font-weight:500}.registration-footer{align-items:center;border-top:1px solid #eee;display:flex;justify-content:space-between;padding-top:10px}.registration-date{color:#888;font-size:13px}.chevron-icon{color:#888}.empty-container{align-items:center;display:flex;flex-direction:column}.empty-icon{color:#ccc;font-size:48px;margin-bottom:15px}.empty-text{font-size:17px}@media (max-width:768px){.registrations-container{padding:15px}.page-title{font-size:22px}.filter-button{font-size:14px;padding:10px}.registration-name{font-size:16px}.status-badge{font-size:12px;padding:4px 10px}.registration-email,.registration-phone{font-size:14px}}@media (max-width:480px){.registrations-container{padding:10px}.page-title{font-size:20px}.registration-item{padding:15px}.registration-header{align-items:flex-start;flex-direction:column;gap:10px}.status-badge{align-self:flex-start}.child-info{padding:8px}}.registration-detail-container{margin:0 auto;max-width:1200px;padding:20px}.registration-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.back-button{align-items:center;background:none;border:none;border-radius:6px;color:#4a90e2;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:8px 12px;transition:background-color .2s}.back-button:hover{background-color:#4a90e21a}.header-title{color:#333;flex:1 1;font-size:24px;margin:0;text-align:center}.header-placeholder{width:80px}.registration-content{display:flex;flex-direction:column;gap:20px}.status-badge-large{align-self:center;border-radius:20px;font-size:16px;font-weight:700;margin-bottom:10px;padding:8px 24px}.pending-badge{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.approved-badge{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.rejected-badge{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.detail-section{background-color:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.section-title{border-bottom:1px solid #eee;font-size:18px;margin-bottom:15px;margin-top:0;padding-bottom:10px}.field-group{border-bottom:1px solid #f5f5f5;margin-bottom:15px;padding-bottom:15px}.field-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.field-label{align-items:center;color:#666;display:flex;font-size:14px;gap:8px;margin-bottom:5px}.field-icon{color:#4a90e2;width:16px}.field-value{color:#333;font-size:16px}.halaqa-selection{margin-top:15px}.halaqa-dropdown{border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:16px;margin-top:5px;padding:12px;width:100%}.action-button-container{display:flex;gap:15px;margin-top:10px}.action-button{border:none;font-size:16px;font-weight:700;padding:15px;transition:all .2s ease}.approve-button{background-color:#4a90e2}.approve-button:hover{background-color:#3a80d2}.reject-button{background-color:#dc3545}.reject-button:hover{background-color:#c82333}.action-button:disabled{cursor:not-allowed;opacity:.7}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px;text-align:center}.error-text{font-size:18px;margin-bottom:15px}.retry-button{border-radius:6px;font-size:16px;padding:10px 20px}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-container{background-color:#fff;border-radius:10px;box-shadow:0 5px 15px #0000004d;max-width:500px;padding:25px;width:90%}.modal-title{color:#333;font-size:20px;margin-bottom:20px;margin-top:0;text-align:center}.rejection-reason-input{border:1px solid #ddd;border-radius:6px;font-size:16px;height:150px;margin-bottom:20px;padding:12px;resize:none;width:100%}.rejection-reason-input:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233;outline:none}.modal-button-container{display:flex;gap:15px}.modal-button{border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:700;padding:12px;transition:all .2s ease}.cancel-button{background-color:#6c757d}.cancel-button:hover{background-color:#5a6268}.confirm-button{background-color:#dc3545}.confirm-button:hover{background-color:#c82333}.modal-button:disabled{cursor:not-allowed;opacity:.7}@media (max-width:768px){.registration-detail-container{padding:15px}.header-title{font-size:20px}.back-button{font-size:14px;padding:6px 10px}.detail-section{padding:15px}.section-title{font-size:16px}.field-value{font-size:15px}.action-button{font-size:15px;padding:12px}.modal-container{padding:20px}.modal-title{font-size:18px}}@media (max-width:480px){.registration-detail-container{padding:10px}.header-title{font-size:18px}.detail-section{padding:12px}.section-title{font-size:15px;margin-bottom:12px}.field-label{font-size:13px}.field-value{font-size:14px}.action-button-container,.modal-button-container{flex-direction:column}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.admin-attendance-page{margin:0 auto;max-width:1200px;padding:20px}.page-header{margin-bottom:20px}.header-with-back{align-items:center;display:flex;margin-bottom:10px}.back-link{border-radius:4px;margin-right:15px;padding:5px 10px;transition:background-color .2s}.back-link:hover{background-color:#4a90e21a}.back-link svg{margin-right:5px}.page-title{font-size:24px}.filter-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:15px}.filter-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.filter-row:last-child{margin-bottom:0}.filter-group{flex:1 1;min-width:200px}.filter-label{color:#666;display:block;font-size:14px;margin-bottom:5px}.dropdown-container{position:relative}.dropdown-header{align-items:center;background-color:#f5f7fa;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;padding:10px 12px;transition:all .2s}.dropdown-header:hover{border-color:#bbb}.dropdown-icon{color:#4a90e2;margin-right:8px}.dropdown-text{color:#333;flex:1 1;font-size:15px}.dropdown-arrow{color:#888;font-size:12px}.dropdown-menu{background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 8px #0000001a;left:0;margin-top:5px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.dropdown-item{color:#333;cursor:pointer;font-size:15px;padding:10px 12px;transition:all .2s}.dropdown-item:hover{background-color:#f5f7fa}.dropdown-item.active{background-color:#4a90e21a;color:#4a90e2}.date-range-picker{align-items:center;background-color:#f5f7fa;border:1px solid #ddd;border-radius:6px;display:flex;padding:10px 12px}.date-icon{color:#4a90e2;margin-right:8px}.date-input{background:none;flex:1 1;font-size:15px;outline:none}.export-group{align-items:flex-end;display:flex}.export-button{align-items:center;background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s}.export-button:hover{background-color:#43a047}.export-button:disabled{background-color:#a5d6a7;cursor:not-allowed}.export-icon{font-size:16px}.search-container{align-items:center;background-color:#f5f7fa;border:1px solid #ddd;border-radius:6px;display:flex;padding:10px 12px;width:100%}.search-icon{color:#888;margin-right:8px}.search-input{background:none;border:none;color:#333;flex:1 1;font-size:15px;outline:none}.attendance-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:20px}.stat-card{box-shadow:0 2px 4px #0000001a;padding:15px}.total-card{border-top:4px solid #4a90e2}.present-card{border-top:4px solid #4caf50}.absent-card{border-top:4px solid #f44336}.late-card{border-top:4px solid #ff9800}.stat-value{font-weight:700}.stat-label,.stat-value{margin-bottom:5px}.stat-percentage{color:#333;font-size:14px;font-weight:500}.attendance-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;padding:15px}.attendance-table{border-collapse:collapse;width:100%}.attendance-table th{background-color:#f5f7fa;border-bottom:2px solid #eee;color:#333;font-weight:600;padding:12px 15px;text-align:left}.attendance-table td{border-bottom:1px solid #eee;color:#333;padding:12px 15px}.attendance-table tbody tr:hover{background-color:#f9f9f9}.status-badge{font-size:13px;padding:5px 10px}.present-status{background-color:#e8f5e9;color:#2e7d32}.absent-status{background-color:#ffebee;color:#c62828}.late-status{background-color:#fff8e1;color:#f57f17}.unknown-status{background-color:#e0e0e0;color:#616161}.excused-status{background-color:#e3f2fd;color:#1976d2}.partial-status{background-color:#fff3e0;color:#e65100}.empty-message{color:#888;padding:30px 0;text-align:center}.loading-container{padding:40px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;margin-bottom:15px}@media (max-width:768px){.admin-attendance-page{padding:15px}.page-title{font-size:20px}.filter-group{min-width:100%}.attendance-stats{grid-template-columns:repeat(2,1fr)}.attendance-table td,.attendance-table th{font-size:14px;padding:10px}}@media (max-width:480px){.admin-attendance-page{padding:10px}.page-title{font-size:18px}.attendance-stats{grid-template-columns:1fr}}.reports-container{margin:0;max-width:100%;padding:0}.back-to-dashboard{align-items:center;color:#2196f3;display:flex;font-size:14px;margin-bottom:5px;text-decoration:none;transition:color .2s}.back-to-dashboard:hover{color:#0b7dda;text-decoration:underline}.reports-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.report-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.report-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-3px)}.report-card.inactive{opacity:.7}.report-header{align-items:center;background-color:#f8f8f8;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:15px}.report-header h2{color:#333;font-size:18px;font-weight:600;margin:0}.status-badge{font-size:12px;font-weight:500;padding:4px 8px}.status-active{background-color:#e8f5e9;color:#2e7d32}.status-inactive{background-color:#ffebee;color:#c62828}.report-meta{grid-gap:10px;border-bottom:1px solid #eee;display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:15px}.meta-item{background-color:#f5f5f5;border-radius:4px;display:flex;flex-direction:column;padding:5px 10px}.meta-item .label{color:#666;font-size:12px;font-weight:500;margin-bottom:3px}.meta-item .value{color:#333;font-size:16px;font-weight:600}.report-actions{display:flex;justify-content:center;padding:15px}.view-report-btn{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-weight:500;padding:10px 20px;text-align:center;text-decoration:none;transition:background-color .2s;width:100%}.view-report-btn:hover{background-color:#0b7dda}.error,.loading,.no-results{color:#666;grid-column:1/-1;padding:40px;text-align:center}.no-results p{margin-bottom:20px}.create-class-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-weight:500;padding:10px 20px;text-decoration:none}.create-class-btn:hover{background-color:#45a049}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:15px}.report-meta,.reports-grid{grid-template-columns:1fr}}.class-report-container{margin:0 auto;max-width:1200px;padding:20px}.header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.header-left{align-items:flex-start;display:flex;flex-direction:column;gap:5px}.back-btn{align-items:center;color:#2196f3;display:flex;font-size:14px;margin-bottom:5px;text-decoration:none;transition:color .2s}.back-btn:hover{color:#0b7dda;text-decoration:underline}.report-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.report-tabs{background-color:#f5f5f5;border-bottom:1px solid #ddd;display:flex}.tab{background:#0000;border:none;color:#555;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:15px 20px;position:relative;text-align:center;transition:all .2s}.tab.active{background-color:#fff;color:#2196f3}.tab.active:after{background-color:#2196f3;bottom:0;content:"";height:3px;left:0;position:absolute;width:100%}.tab:hover:not(.active){background-color:#e0e0e0}.period-selector{align-items:center;border-bottom:1px solid #ddd;display:flex;gap:10px;padding:15px 20px}.period-selector label{color:#333;font-weight:500}.period-select{border:1px solid #ccc;border-radius:4px;font-size:14px;min-width:150px;padding:8px 12px}.class-averages-section{border-bottom:1px solid #eee;padding:20px}.class-averages-section h2{color:#333;font-size:18px;font-weight:600;margin-bottom:15px;margin-top:0}.averages-container{background-color:#f9f9f9;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;padding:15px}.average-item{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000000d;display:flex;flex:1 1;flex-direction:column;min-width:150px;padding:15px}.average-item .label{color:#666;font-size:14px;font-weight:500;margin-bottom:5px}.average-item .value{color:#333;font-size:24px;font-weight:600}.average-item .value.highlight{color:#2196f3}.performance-section{padding:20px}.performance-section h2{color:#333;font-size:18px;font-weight:600;margin-bottom:15px;margin-top:0}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.performance-table{border-collapse:collapse;font-size:14px;width:100%}.performance-table td,.performance-table th{border-bottom:1px solid #eee;padding:12px 15px;text-align:left}@media (max-width:768px){.performance-table td,.performance-table th{padding:10px 8px}.surahs-col{padding-right:12px}}.performance-table th{background-color:#f5f5f5;color:#555;font-weight:600}.performance-table tr:hover{background-color:#f9f9f9}.surahs-col{color:#555;font-style:italic;-webkit-hyphens:auto;hyphens:auto;max-width:300px;word-break:break-word}@media (max-width:768px){.surahs-col{font-size:13px;max-width:180px}}.attendance-col,.rating-col{font-weight:600}@media (max-width:768px){.attendance-col,.rating-col{width:80px}}.rating-value-only{align-items:center;display:flex}.attendance-with-trend,.rating-with-trend{align-items:center;display:flex;gap:10px}@media (max-width:768px){.attendance-with-trend,.rating-with-trend{align-items:flex-start;flex-direction:column;gap:5px}}.attendance-value,.rating-value{font-size:16px}.trend{border-radius:12px;font-size:12px;font-weight:500;padding:2px 6px}.trend.green{background-color:#e8f5e9;color:#2e7d32}.trend.red{background-color:#ffebee;color:#c62828}.trend.gray{background-color:#f5f5f5;color:#555}.no-data{color:#888;font-style:italic;padding:30px 0;text-align:center}.error,.loading,.no-report-data{color:#666;padding:40px;text-align:center}.error{color:#c62828}.no-report-data p{margin-bottom:10px}@media (max-width:768px){.header{align-items:flex-start;flex-direction:column;gap:15px}.averages-container{flex-direction:column;gap:10px}.tab{font-size:14px;padding:10px}}.attendance-card{align-items:center;border:2px solid #0000;border-radius:10px;box-shadow:0 2px 4px #0000001a;justify-content:space-between;margin-bottom:10px;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.present-border{border-color:#e8f5e9}.absent-border{border-color:#ffcdd2}.late-border{border-color:#ffe0b2}.student-info{align-items:center;display:flex;flex:1 1}.avatar-container{align-items:center;background-color:#4a90e2;border-radius:25px;display:flex;height:50px;justify-content:center;margin-right:15px;width:50px}.avatar-text{color:#fff;font-size:24px;font-weight:700}.details-container{flex:1 1}.name-text{color:#333;font-size:18px;font-weight:700;margin:0}.status-badge{align-items:center;border:none;border-radius:20px;cursor:pointer;display:flex;justify-content:center;padding:8px 15px;transition:transform .2s ease}.status-badge:hover{transform:scale(1.05)}.status-text{font-weight:700}@media (max-width:768px){.attendance-card{padding:12px}.avatar-container{border-radius:20px;height:40px;margin-right:10px;width:40px}.avatar-text{font-size:20px}.name-text{font-size:16px}.status-badge{padding:6px 12px}.status-text{font-size:13px}}.attendance-management-page{margin:0 auto;max-width:1200px;padding:0 20px 80px;position:relative;width:100%}.page-title{color:#333;font-size:28px;font-weight:600;margin:0}.attendance-controls{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px}.control-group{flex:1 1;min-width:250px}.control-label{color:#666;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.date-selector,.halaqa-selector{align-items:center;background-color:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;padding:12px 16px;position:relative}.selector-icon{color:#4a90e2;font-size:18px;margin-right:12px}.date-input{border:none;color:#333;cursor:pointer;font-size:16px;width:100%}.selector-display{align-items:center;cursor:pointer;display:flex;width:100%}.selector-text{color:#333;flex:1 1;font-size:16px}.halaqa-dropdown{background-color:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;max-height:250px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:10}.halaqa-option{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:background-color .2s}.halaqa-option:last-child{border-bottom:none}.halaqa-option:hover{background-color:#f5f7fa}.halaqa-option.active{background-color:#e3f2fd;font-weight:500}.attendance-stats-container{margin-bottom:24px}.attendance-stats-row{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:10px 5px;width:100%}.stat-card{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:0 3px;min-width:0;overflow:hidden;padding:15px 2px;text-align:center}.stat-card:first-child{margin-left:0}.stat-card:last-child{margin-right:0}.stat-card.present{background-color:#e8f5e9}.stat-card.absent{background-color:#ffcdd2}.stat-card.late{background-color:#ffe0b2}.stat-number{color:#333;font-size:32px;font-weight:600;margin-bottom:4px}.action-buttons{display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.action-button{align-items:center;background-color:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#4a90e2;cursor:pointer;display:flex;flex:1 1;font-size:15px;justify-content:center;padding:12px 16px;transition:all .2s}.action-button:hover{background-color:#f5f7fa;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.student-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-title{margin:0}.helper-text{color:#888;font-size:14px;font-style:italic;margin:0}.students-list{margin-bottom:24px}.empty-container{padding:32px}.empty-text{margin:0}.save-bar{align-items:center;background-color:#fff;border-top:1px solid #eee;bottom:0;box-shadow:0 -2px 10px #0000001a;display:flex;justify-content:space-between;left:0;max-width:100%;padding:16px 24px;position:fixed;right:0;transition:opacity .3s ease,transform .3s ease;width:100%;z-index:999}.save-bar.hidden{opacity:0;pointer-events:none;transform:translateY(100%)}.save-bar.visible{opacity:1;transform:translateY(0)}.save-status{align-items:center;display:flex}.info-icon{color:#4a90e2;margin-right:8px}.status-text{color:#666;font-size:15px}.save-button{align-items:center;background-color:#4a90e2;border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;justify-content:center;min-width:120px;padding:12px 28px;transition:all .2s ease}.save-button:hover{background-color:#3a80d2;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.save-button:disabled{background-color:#a0c4f1;box-shadow:none;cursor:not-allowed;transform:none}.spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.button-icon{margin-right:8px}.loading-container{min-height:300px}@media (min-width:1201px){.save-bar{left:50%;max-width:1200px;width:100%}.save-bar,.save-bar.visible{transform:translateX(-50%)}}@media (min-width:769px) and (max-width:1200px){.save-bar{padding:16px 24px}}@media (max-width:768px){.attendance-controls{flex-direction:column;gap:12px}.control-group{width:100%}.attendance-stats-row{flex-direction:row;padding:8px 2px}.stat-card{margin:0 2px;padding:8px 2px}.stat-number{font-size:24px;margin-bottom:2px}.stat-label{font-size:10px;white-space:nowrap}.action-buttons{flex-direction:column;gap:12px}.save-bar{background-color:#fff;border-top:1px solid #eee;bottom:0;box-shadow:0 -4px 10px #0000001a;left:0;padding:12px 16px;position:fixed;right:0;z-index:9999}.save-status{display:none}.save-button{font-size:16px;justify-content:center;padding:12px 20px;width:100%}}@media (max-width:480px){.page-title{font-size:24px}.student-list-header{align-items:flex-start;flex-direction:column;gap:4px}.helper-text{font-size:12px}.save-bar{padding:10px 12px}.save-button{font-size:15px;padding:12px 16px}.attendance-management-page{padding-bottom:100px}}.student-attendance-page{margin:0 auto;max-width:1200px;padding:20px;width:100%}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-header h1{color:#333;font-size:28px;font-weight:600;margin:0}.back-link{align-items:center;color:#4a90e2;display:flex;font-size:16px;font-weight:500;text-decoration:none;transition:color .2s}.back-link:hover{color:#2a70c2;text-decoration:underline}.back-icon{margin-right:8px}.summary-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:30px;padding:24px}.summary-title{color:#333;font-size:18px;font-weight:600;margin-bottom:20px;margin-top:0}.percentage-container{margin-bottom:20px;text-align:center}.percentage-value{color:#4a90e2;font-size:36px;font-weight:600;margin-bottom:4px}.percentage-label{color:#666;font-size:14px}.stats-row{border-top:1px solid #f0f0f0;display:flex;justify-content:space-around;padding-top:20px}.stat-item{flex:1 1;text-align:center}.stat-value{color:#333;font-weight:600;margin-bottom:4px}.stat-label{color:#666;font-size:14px}.section-title{color:#333;font-size:20px;font-weight:600;margin-bottom:16px}.attendance-list{margin-bottom:30px}.attendance-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;margin-bottom:12px;overflow:hidden;transition:transform .2s ease}.attendance-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.status-indicator{height:auto;width:5px}.attendance-content{flex:1 1;padding:16px}.date-text{color:#333;font-size:16px;font-weight:600;margin-bottom:4px;margin-top:0}.halaqa-text{color:#666;font-size:14px;margin-bottom:12px}.status-badge{border-radius:12px;display:inline-block;margin-bottom:8px;padding:4px 12px}.status-text{font-size:14px;font-weight:600}.comments-text{color:#666;font-size:14px;margin-top:10px}.comments-label{font-weight:600}.empty-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:40px;text-align:center}.empty-text{color:#888;font-size:16px}.error-container{background-color:#ffebee;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px;text-align:center}.error-text{color:#d32f2f;margin-bottom:16px}.retry-button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px}.retry-button:hover{background-color:#3a80d2}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{animation:spin 1s ease-in-out infinite;border:3px solid #0000001a;border-radius:50%;border-top-color:#4a90e2;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:12px}.stats-row{flex-direction:row;flex-wrap:wrap;gap:16px}.stat-item{flex-basis:calc(33.33% - 16px)}}@media (max-width:480px){.student-attendance-page{padding:16px}.page-header h1{font-size:24px}.percentage-value{font-size:30px}.stat-value{font-size:20px}.attendance-content{padding:12px}.date-text{font-size:15px}.status-badge{padding:3px 10px}.status-text{font-size:13px}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f7fa;color:#333;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font-family:inherit}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:.5em}.app-container{min-height:100vh;position:relative}.main-layout{display:flex;min-height:100vh}.sidebar{background-color:#fff;box-shadow:0 0 10px #0000000d;width:250px;z-index:10}.sidebar,.sidebar-header{display:flex;flex-direction:column;padding:20px 0}.sidebar-header{align-items:center;border-bottom:1px solid #eee;margin-bottom:20px}.app-logo{font-size:32px;margin-bottom:10px}.app-name{font-size:18px;font-weight:500}.nav-menu{display:flex;flex:1 1;flex-direction:column;padding:0 15px}.nav-item{border-radius:5px;font-weight:500;margin-bottom:5px;padding:12px 15px;transition:all .2s}.nav-item.active,.nav-item:hover{background-color:#007bff1a}.nav-item.active{color:#007bff}.user-info{align-items:center;border-top:1px solid #eee;display:flex;padding:15px}.user-avatar{font-size:24px;margin-right:10px}.user-name{font-weight:500;margin-bottom:2px}.user-role{color:#777;font-size:14px}.main-content{flex:1 1;overflow-y:auto;padding:20px}.desktop-header{justify-content:space-between;margin-bottom:30px}.desktop-header,.header-actions{align-items:center;display:flex}.action-button{background-color:#007bff;border-radius:4px;color:#fff;font-weight:500;margin-right:15px;padding:8px 16px}.avatar{cursor:pointer;font-size:20px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.stat-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px}.stat-title{color:#666;font-size:14px;margin-bottom:10px}.stat-value{font-size:24px;font-weight:500}.form-card,.table-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:30px;padding:20px}.card-title{font-size:18px}.card-title,.form-group{margin-bottom:20px}label{display:block;font-weight:500;margin-bottom:8px}input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px;width:100%}input.error{border-color:#dc3545}.error-text{color:#dc3545;font-size:14px;margin-top:5px}.submit-button{background-color:#007bff;border-radius:4px;color:#fff;font-weight:500;padding:10px 20px}.data-table{overflow-x:auto;width:100%}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #eee;padding:12px 15px;text-align:left}th{color:#666}.status,th{font-weight:500}.status{border-radius:12px;display:inline-block;font-size:12px;padding:4px 8px}.status.completed{background-color:#28a7451a;color:#28a745}.status.in-progress{background-color:#ffc1071a;color:#ffc107}.mobile-header{align-items:center;background-color:#fff;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:15px}.menu-button{font-size:24px}.app-title{font-size:18px}.close-sidebar{font-size:18px;padding:5px;position:absolute;right:10px;top:10px}.mobile-cards{display:flex;flex-direction:column;gap:15px}.mobile-card{border:1px solid #eee;border-radius:8px;padding:15px}.card-row{display:flex;margin-bottom:8px}.card-row span:first-child{flex-shrink:0;font-weight:500;width:100px}.screen-size-indicator{background-color:#000000b3;border-radius:4px;bottom:10px;color:#fff;display:none;font-size:12px;padding:5px 10px;position:fixed;right:10px;z-index:1000}@media (max-width:768px){.sidebar{bottom:0;left:0;position:fixed;top:0;transform:translateX(0);transition:transform .3s ease;width:80%}.sidebar.hidden{transform:translateX(-100%)}.main-layout{flex-direction:column;padding-top:0}.stats-grid{grid-template-columns:repeat(2,1fr)}.mobile-view table{display:none}}@media (min-width:769px){.close-sidebar,.mobile-cards,.mobile-header{display:none}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.form-card,.main-content,.table-card{padding:15px}}@media (max-width:768px){.mobile-card,.nav-item,.submit-button,button{min-height:44px}button,input{font-size:16px}.nav-item{margin-bottom:8px;padding:12px 15px}}
/*# sourceMappingURL=main.5b9584ba.css.map*/