.admin-dashboard{padding:40px;max-width:1400px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.admin-dashboard h1{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e2e8f0;display:flex;align-items:center;gap:15px}.admin-dashboard h1:before{content:"";font-size:2rem}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px;margin-bottom:40px}.stat-card{background:#fff;border-radius:16px;padding:25px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(255,255,255,.8);transition:all .3s ease;cursor:pointer}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.stat-card h3{font-size:14px;color:#64748b;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;display:flex;align-items:center;gap:10px}.stat-value{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:5px}.stat-trend{font-size:14px;padding:4px 12px;border-radius:20px;display:inline-flex;align-items:center;gap:5px}.trend-up{background:#dcfce7;color:#166534}.trend-down{background:#fee2e2;color:#991b1b}.dashboard-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin-bottom:40px}.action-card{background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.action-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0000001f}.action-card h3{font-size:1.25rem;color:#1e293b;margin-bottom:15px;display:flex;align-items:center;gap:12px}.action-card p{color:#64748b;line-height:1.6;margin-bottom:25px}.open-modal-btn{background:linear-gradient(135deg,#3bf6ce,#199dbe);color:#fff;border:none;padding:16px 32px;font-size:16px;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 15px #3b82f64d}.open-modal-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.open-modal-btn:active{transform:translateY(0)}.open-modal-btn:before{content:"📝";font-size:18px}.quick-actions{display:flex;flex-wrap:wrap;gap:15px;margin:30px 0}.quick-btn{padding:12px 24px;background:#fff;border:2px solid #e2e8f0;border-radius:10px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:10px}.quick-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.quick-btn i{font-size:16px}.recent-activity{background:#fff;border-radius:16px;padding:30px;margin-top:40px;box-shadow:0 4px 20px #00000014}.recent-activity h2{font-size:1.5rem;color:#1e293b;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e2e8f0}.activity-list{display:flex;flex-direction:column;gap:20px}.activity-item{display:flex;align-items:center;gap:15px;padding:15px;border-radius:10px;background:#f8fafc;transition:background .2s ease}.activity-item:hover{background:#f1f5f9}.activity-icon{width:40px;height:40px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}.activity-title{font-weight:600;color:#1e293b;margin-bottom:5px}.activity-time{font-size:14px;color:#64748b}@media(max-width:1024px){.admin-dashboard{padding:30px 20px}.admin-dashboard h1{font-size:2rem}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.admin-dashboard{padding:20px 15px}.admin-dashboard h1{font-size:1.75rem}.dashboard-stats,.dashboard-actions{grid-template-columns:1fr}.open-modal-btn{width:100%;justify-content:center}.quick-actions{flex-direction:column}.quick-btn{width:100%;justify-content:center}}@media(max-width:480px){.admin-dashboard h1{font-size:1.5rem}.stat-card{padding:20px}.stat-value{font-size:2rem}.action-card{padding:20px}}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;overflow-x:hidden}.teacher-dashboard{display:flex;min-height:100vh;width:100%}.sidebar{width:280px;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;box-shadow:2px 0 20px #0000001a;position:fixed;height:100vh;overflow-y:auto;z-index:1000}.sidebar-header{padding:30px 25px;border-bottom:1px solid #4a6572;background:#ffffff0d}.teacher-profile{text-align:center}.avatar{font-size:50px;background:#ffffff1a;border-radius:50%;width:70px;height:70px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;border:3px solid rgba(255,255,255,.2)}.teacher-info h3{margin:0 0 8px;font-size:1.2em;font-weight:600;color:#fff}.teacher-info p{margin:0 0 15px;opacity:.8;font-size:.85em;color:#bdc3c7}.teacher-badge{background:linear-gradient(135deg,#3498db,#2980b9);padding:6px 12px;border-radius:15px;font-size:.75em;font-weight:600;display:inline-block;box-shadow:0 2px 8px #3498db4d}.sidebar-nav{padding:20px 0}.sidebar-nav button{width:100%;padding:16px 25px;background:none;border:none;color:#bdc3c7;text-align:left;font-size:14px;cursor:pointer;transition:all .3s ease;border-left:4px solid transparent;display:flex;align-items:center;gap:12px}.sidebar-nav button:hover{background:#ffffff0d;color:#fff;border-left-color:#3498db;transform:translate(5px)}.sidebar-nav button.active{background:#3498db26;color:#fff;border-left-color:#3498db;box-shadow:inset 0 0 20px #3498db1a}.main-content{flex:1;margin-left:280px;min-height:100vh;display:flex;flex-direction:column;background:#f8f9fa}.content-header{background:#fff;padding:25px 40px;border-bottom:1px solid #e9ecef;box-shadow:0 2px 10px #0000000a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.content-header h1{color:#2c3e50;margin:0;font-size:2em;font-weight:300;background:linear-gradient(135deg,#2c3e50,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.user-info{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.quick-info{display:flex;gap:10px;flex-wrap:wrap}.subject-badge{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;padding:8px 16px;border-radius:20px;font-size:.85em;font-weight:600;box-shadow:0 2px 8px #3498db4d}.class-teacher-info{color:#7f8c8d;font-size:.9em;background:#f8f9fa;padding:8px 16px;border-radius:8px;border:1px solid #e9ecef}.dashboard-content{flex:1;padding:30px;overflow-y:auto;display:flex;justify-content:center}.teacher-dashboard-section{width:100%;max-width:1400px;animation:fadeIn .6s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px;border-radius:20px;margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 30px #667eea4d;position:relative;overflow:hidden}.welcome-banner:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);animation:shine 3s infinite}@keyframes shine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.welcome-content h2{margin:0 0 10px;font-size:2.2em;font-weight:300;position:relative;z-index:2}.welcome-content p{margin:0;opacity:.9;font-size:1.1em;position:relative;z-index:2}.current-time{font-size:1.1em;opacity:.9;background:#ffffff1a;padding:10px 20px;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:2}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px;margin-bottom:40px}.stat-card{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #00000014;display:flex;align-items:center;gap:20px;transition:all .3s ease;border:1px solid #f1f3f4;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#3498db,#2980b9)}.stat-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0000001f}.stat-icon{font-size:40px;opacity:.8;background:linear-gradient(135deg,#3498db,#2980b9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-number{font-size:2.5em;font-weight:800;color:#2c3e50;margin-bottom:5px;line-height:1;background:linear-gradient(135deg,#2c3e50,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{color:#7f8c8d;font-size:.95em;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:30px}.dashboard-card{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #00000014;border:1px solid #f1f3f4;transition:all .3s ease}.dashboard-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0000001f}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:20px;border-bottom:2px solid #f8f9fa}.card-header h3{margin:0;color:#2c3e50;font-size:1.4em;font-weight:600}.card-badge{background:#e8f4fd;color:#2980b9;padding:6px 12px;border-radius:6px;font-size:.85em;font-weight:600}.btn-sm{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-size:.85em;font-weight:600;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #3498db4d}.btn-primary:hover{background:linear-gradient(135deg,#2980b9,#21618c);transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.schedule-list{display:flex;flex-direction:column;gap:15px}.schedule-item{display:flex;align-items:center;gap:15px;padding:18px;background:#f8f9fa;border-radius:10px;border-left:4px solid #3498db;transition:all .3s ease}.schedule-item:hover{background:#e8f4fd;transform:translate(5px)}.session-time{font-weight:600;color:#2c3e50;min-width:80px;font-size:.9em}.session-details{flex:1}.session-class{font-weight:600;color:#2c3e50;margin-bottom:4px}.session-topic{color:#7f8c8d;font-size:.9em}.session-type{padding:6px 12px;border-radius:6px;font-size:.8em;font-weight:600}.session-type.lesson{background:#e8f4fd;color:#2980b9}.session-type.practical{background:#e8f6f3;color:#27ae60}.assessments-list{display:flex;flex-direction:column;gap:20px}.assessment-item{padding:20px;background:#f8f9fa;border-radius:10px;border-left:4px solid #f39c12;transition:all .3s ease}.assessment-item:hover{background:#fef9e7;transform:translate(3px)}.assessment-info{margin-bottom:15px}.assessment-title{font-weight:600;color:#2c3e50;margin-bottom:5px}.assessment-class{color:#7f8c8d;font-size:.9em;margin-bottom:3px}.assessment-date{color:#bdc3c7;font-size:.85em}.assessment-progress{display:flex;align-items:center;gap:15px}.progress-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:4px;transition:width .5s ease}.progress-text{font-size:.85em;color:#7f8c8d;font-weight:600;min-width:80px;text-align:right}.quick-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.action-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:25px 15px;border:none;border-radius:12px;cursor:pointer;font-weight:600;transition:all .3s ease;text-align:center;font-size:.9em}.action-btn.primary{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;box-shadow:0 4px 12px #3498db4d}.action-btn.secondary{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;box-shadow:0 4px 12px #27ae604d}.action-btn.tertiary{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;box-shadow:0 4px 12px #9b59b64d}.action-btn.quaternary{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;box-shadow:0 4px 12px #e74c3c4d}.action-btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0003}.action-icon{font-size:1.5em}.events-list{display:flex;flex-direction:column;gap:15px}.event-item{display:flex;align-items:center;gap:15px;padding:15px;background:#f8f9fa;border-radius:10px;border-left:4px solid #9b59b6;transition:all .3s ease}.event-item:hover{background:#f4ecf7;transform:translate(3px)}.event-date{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;padding:8px 12px;border-radius:8px;font-weight:600;font-size:.9em;min-width:50px;text-align:center}.event-title{font-weight:600;color:#2c3e50;margin-bottom:3px}.event-time{color:#7f8c8d;font-size:.85em}.my-classes-section{width:100%;max-width:1400px;animation:fadeIn .6s ease}.section-header{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #00000014;margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.header-content h2{color:#2c3e50;margin:0 0 8px;font-size:2em;font-weight:300}.header-content p{color:#7f8c8d;margin:0;font-size:1em}.class-teacher-badge{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;padding:12px 20px;border-radius:10px;font-weight:600;box-shadow:0 4px 12px #27ae604d}.classes-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-item{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 15px #00000014;text-align:center;transition:all .3s ease}.stat-item:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001f}.stat-number{display:block;font-size:2.2em;font-weight:800;color:#2c3e50;margin-bottom:8px;background:linear-gradient(135deg,#2c3e50,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{color:#7f8c8d;font-size:.9em;font-weight:600}.classes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:25px}.class-card{background:#fff;padding:25px;border-radius:15px;box-shadow:0 5px 20px #00000014;border:1px solid #f1f3f4;transition:all .3s ease;position:relative;overflow:hidden}.class-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(135deg,#3498db,#2980b9)}.class-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0000001f}.class-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.class-title{flex:1}.class-title h3{margin:0 0 8px;color:#2c3e50;font-size:1.3em;font-weight:600}.class-teacher-tag{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;padding:4px 10px;border-radius:12px;font-size:.75em;font-weight:600}.stream-badge{background:#e8f4fd;color:#2980b9;padding:6px 12px;border-radius:6px;font-size:.8em;font-weight:600;border:1px solid #3498db}.class-info{margin-bottom:20px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f8f9fa}.info-row:last-child{border-bottom:none}.info-label{color:#7f8c8d;font-size:.9em}.info-value{font-weight:600;color:#2c3e50;font-size:.9em}.class-performance{margin-bottom:20px}.performance-metric{display:flex;align-items:center;gap:10px;margin-bottom:10px}.performance-metric:last-child{margin-bottom:0}.metric-label{color:#7f8c8d;font-size:.85em;min-width:100px}.metric-bar{flex:1;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.metric-fill{height:100%;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:3px;transition:width .5s ease}.metric-value{color:#2c3e50;font-weight:600;font-size:.85em;min-width:35px;text-align:right}.class-actions{display:flex;gap:10px}.btn-secondary{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85em;transition:all .3s ease}.btn-secondary:hover{background:linear-gradient(135deg,#7f8c8d,#6c7b7d);transform:translateY(-2px)}.btn-tertiary{background:#f8f9fa;color:#2c3e50;border:1px solid #e9ecef;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85em;transition:all .3s ease}.btn-tertiary:hover{background:#e9ecef;transform:translateY(-2px)}.students-section{width:100%;max-width:1400px;animation:fadeIn .6s ease}.filters{display:flex;gap:15px;align-items:center}.filter-select{padding:10px 15px;border:1px solid #e9ecef;border-radius:8px;background:#fff;font-size:.9em;transition:all .3s ease}.students-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.students-table-container{background:#fff;border-radius:15px;box-shadow:0 5px 20px #00000014;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:linear-gradient(135deg,#2c3e50,#34495e)}.data-table th{padding:18px 16px;text-align:left;color:#fff;font-weight:600;font-size:.9em;text-transform:uppercase;letter-spacing:.5px}.data-table tbody tr{transition:all .3s ease;border-bottom:1px solid #f8f9fa}.data-table tbody tr:hover{background:#f8f9fa;transform:scale(1.01)}.data-table td{padding:16px;vertical-align:middle}.student-info{display:flex;align-items:center;gap:10px}.student-name{font-weight:600;color:#2c3e50}.performance-badge{padding:6px 12px;border-radius:6px;font-size:.8em;font-weight:600}.performance-badge.excellent{background:#d5f4e6;color:#27ae60}.performance-badge.good{background:#e8f4fd;color:#2980b9}.performance-badge.average{background:#fef9e7;color:#f39c12}.assessment-score{text-align:center}.attendance-display{text-align:center}.attendance-percentage{font-weight:600;color:#27ae60}.action-buttons{display:flex;gap:8px}.btn-view,.btn-assess,.btn-message{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;font-size:1.1em;transition:all .3s ease}.btn-view:hover{background:#e8f4fd;transform:scale(1.1)}.btn-assess:hover{background:#fef9e7;transform:scale(1.1)}.btn-message:hover{background:#f4ecf7;transform:scale(1.1)}.attendance-section{width:100%;max-width:1400px;animation:fadeIn .6s ease}.attendance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.attendance-table-container{background:#fff;border-radius:15px;box-shadow:0 5px 20px #00000014;overflow:hidden}.present-count{color:#27ae60;font-weight:600}.absent-count{color:#e74c3c;font-weight:600}.attendance-percentage-display{text-align:center}.percentage{padding:6px 12px;border-radius:6px;font-weight:600;font-size:.9em}.percentage.high{background:#d5f4e6;color:#27ae60}.percentage.medium{background:#fef9e7;color:#f39c12}.status-badge{padding:6px 12px;border-radius:6px;font-size:.8em;font-weight:600}.status-badge.good{background:#d5f4e6;color:#27ae60}.status-badge.warning{background:#fdebd0;color:#f39c12}@media(max-width:1200px){.dashboard-grid{grid-template-columns:1fr}.classes-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media(max-width:768px){.sidebar{width:70px}.sidebar-header{padding:20px 10px}.teacher-info,.sidebar-nav button span:not(:first-child){display:none}.avatar{width:40px;height:40px;font-size:20px}.main-content{margin-left:70px}.content-header{padding:20px;flex-direction:column;align-items:flex-start}.user-info{flex-direction:column;align-items:flex-start}.dashboard-content{padding:20px}.welcome-banner{padding:25px;flex-direction:column;gap:15px;text-align:center}.welcome-content h2{font-size:1.8em}.stats-grid{grid-template-columns:1fr}.section-header{padding:20px;flex-direction:column;align-items:flex-start}.filters{flex-direction:column;width:100%}.filter-select,.btn-primary{width:100%}}@media(max-width:480px){.dashboard-grid,.classes-grid,.quick-actions-grid{grid-template-columns:1fr}.class-actions{flex-direction:column}.data-table{font-size:.8em}.data-table th,.data-table td{padding:12px 8px}}.sidebar::-webkit-scrollbar,.dashboard-content::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track,.dashboard-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.sidebar::-webkit-scrollbar-thumb,.dashboard-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover,.dashboard-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.loading{opacity:.7;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #f3f3f3;border-top:2px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.assessments-section{width:100%;max-width:1400px;animation:fadeIn .6s ease}.assessments-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.assessments-stats .stat-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 15px #00000014;display:flex;align-items:center;gap:15px;transition:all .3s ease;border-left:4px solid #3498db}.assessments-stats .stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001f}.assessments-stats .stat-icon{font-size:32px;opacity:.8}.assessments-stats .stat-content{flex:1}.assessments-stats .stat-number{font-size:2em;font-weight:800;color:#2c3e50;margin-bottom:5px;line-height:1}.assessments-stats .stat-label{color:#7f8c8d;font-size:.9em;font-weight:600}.filters-bar{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 15px #00000014;margin-bottom:25px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.search-box{flex:1;min-width:300px}.search-input{width:100%;padding:12px 20px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:all .3s ease;background:#f8f9fa}.search-input:focus{outline:none;border-color:#3498db;background:#fff;box-shadow:0 0 0 3px #3498db1a}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-weight:600;color:#2c3e50;font-size:.9em}.filter-select{padding:10px 15px;border:2px solid #e9ecef;border-radius:8px;background:#fff;font-size:.9em;transition:all .3s ease}.filter-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.assessments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:25px}.assessment-card{background:#fff;padding:25px;border-radius:15px;box-shadow:0 5px 20px #00000014;border:1px solid #f1f3f4;transition:all .3s ease;position:relative;overflow:hidden}.assessment-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(135deg,#3498db,#2980b9)}.assessment-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0000001f}.assessment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.assessment-title-section{display:flex;align-items:flex-start;gap:15px;flex:1}.type-icon{font-size:24px;margin-top:2px}.assessment-title-section h3{margin:0 0 8px;color:#2c3e50;font-size:1.2em;font-weight:600;line-height:1.3}.assessment-meta{display:flex;gap:10px;flex-wrap:wrap}.subject-badge{background:#e8f4fd;color:#2980b9;padding:4px 10px;border-radius:6px;font-size:.8em;font-weight:600;border:1px solid #3498db}.class-info{color:#7f8c8d;font-size:.85em;font-weight:500}.assessment-status{flex-shrink:0}.status-badge{padding:6px 12px;border-radius:6px;font-size:.75em;font-weight:600;color:#fff;text-transform:capitalize}.assessment-details{margin-bottom:20px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f8f9fa}.detail-row:last-child{border-bottom:none}.detail-label{color:#7f8c8d;font-size:.85em;font-weight:500}.detail-value{font-weight:600;color:#2c3e50;font-size:.85em;text-align:right}.detail-value.topics{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grading-progress{margin-bottom:20px}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progress-label{color:#7f8c8d;font-size:.85em;font-weight:500}.progress-text{color:#2c3e50;font-size:.85em;font-weight:600}.progress-bar{height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .5s ease}.performance-overview{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px}.performance-metric{text-align:center}.metric-label{color:#7f8c8d;font-size:.85em;font-weight:500;margin-bottom:8px;display:block}.score-display{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:5px}.score-value{font-size:1.5em;font-weight:800;color:#2c3e50}.score-total{color:#7f8c8d;font-size:1em;font-weight:600}.score-percentage{color:#27ae60;font-weight:600;font-size:.9em}.assessment-actions{display:flex;gap:10px;align-items:center}.assessment-actions .btn-primary,.assessment-actions .btn-secondary{flex:1}.action-menu{position:relative}.btn-more{background:none;border:1px solid #e9ecef;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:1.2em;color:#7f8c8d;transition:all .3s ease}.btn-more:hover{background:#f8f9fa;border-color:#bdc3c7}.dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 4px 15px #0000001a;padding:8px 0;min-width:150px;z-index:100;display:none}.action-menu:hover .dropdown-menu{display:block}.dropdown-item{width:100%;padding:10px 16px;border:none;background:none;text-align:left;cursor:pointer;font-size:.9em;color:#2c3e50;transition:all .3s ease}.dropdown-item:hover{background:#f8f9fa}.dropdown-item.delete{color:#e74c3c}.dropdown-item.delete:hover{background:#fadbd8}.empty-state{text-align:center;padding:60px 40px;background:#fff;border-radius:15px;box-shadow:0 5px 20px #00000014}.empty-icon{font-size:4em;margin-bottom:20px;opacity:.5}.empty-state h3{color:#2c3e50;margin:0 0 10px;font-size:1.5em;font-weight:600}.empty-state p{color:#7f8c8d;margin:0 0 25px;font-size:1em;line-height:1.5}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:#fff;border-radius:15px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;animation:modalSlideIn .3s ease-out}.modal-content.large{max-width:800px}.modal-content.xlarge{max-width:1000px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:2px solid #ecf0f1}.modal-header h3{margin:0;color:#2c3e50;font-size:1.5em;font-weight:600}.btn-close{background:none;border:none;font-size:24px;cursor:pointer;color:#7f8c8d;transition:color .3s ease}.btn-close:hover{color:#e74c3c}.assessment-form{padding:30px}.assessment-form .form-row{display:flex;gap:20px;margin-bottom:20px}.assessment-form .form-row .form-group{flex:1}.assessment-form .form-group{margin-bottom:20px}.assessment-form label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:.9em}.assessment-form input,.assessment-form select,.assessment-form textarea{width:100%;padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:all .3s ease;background:#fff}.assessment-form input:focus,.assessment-form select:focus,.assessment-form textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.topics-input{display:flex;gap:10px;margin-bottom:10px}.topics-input input{flex:1}.btn-add-topic{background:#3498db;color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-add-topic:hover{background:#2980b9}.topics-list{display:flex;flex-wrap:wrap;gap:8px}.topic-tag{background:#e8f4fd;color:#2980b9;padding:6px 12px;border-radius:6px;font-size:.85em;font-weight:500;display:flex;align-items:center;gap:6px}.timetable-section{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start;min-height:100vh;padding:0;background:linear-gradient(135deg,#667eea,#764ba2);position:relative}.timetable-section:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" opacity="0.03"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="white" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');pointer-events:none}.timetable-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;grid-column:1 / -1;padding:0 24px;margin-top:24px}.stat-card{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 8px 32px #0000001f;border:1px solid rgba(255,255,255,.3);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.stat-card:hover:before{left:100%}.stat-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #0000002e}.stat-icon{font-size:2.25rem;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:14px;color:#fff;box-shadow:0 6px 20px #667eea66;flex-shrink:0}.stat-number{font-size:2rem;font-weight:800;color:#2d3748;margin-bottom:6px;background:linear-gradient(135deg,#2d3748,#4a5568);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.stat-label{font-size:.9rem;color:#718096;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.timetable-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:0;box-shadow:0 4px 20px #00000014;border:none;border-bottom:1px solid rgba(255,255,255,.2);grid-column:1 / -1}.view-toggle{display:flex;gap:8px;background:#f7fafccc;padding:8px;border-radius:14px;border:1px solid rgba(226,232,240,.6);box-shadow:inset 0 2px 8px #0000000f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.view-toggle button{padding:14px 28px;border:none;border-radius:10px;background:transparent;cursor:pointer;transition:all .3s ease;font-weight:600;color:#4a5568;font-size:.9rem;position:relative;overflow:hidden}.view-toggle button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .5s ease}.view-toggle button:hover:before{left:100%}.view-toggle button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 6px 20px #667eea80;transform:scale(1.05)}.filters{display:flex;align-items:center;gap:20px}.filter-select{padding:14px 20px;border:1px solid rgba(226,232,240,.8);border-radius:12px;background:#ffffffe6;font-size:.9rem;color:#4a5568;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000014;min-width:180px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26,0 6px 20px #0000001f}.btn-primary,.btn-secondary{padding:14px 28px;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 6px 20px #667eea80}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #667eeab3}.btn-secondary{background:#ffffffe6;color:#4a5568;border:1px solid rgba(226,232,240,.8);box-shadow:0 4px 12px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#f7fafce6;border-color:#cbd5e0cc;transform:translateY(-1px);box-shadow:0 6px 20px #0000001f}.timetable-content{grid-column:1;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:32px;box-shadow:0 8px 40px #0000001a;border:none;min-height:calc(100vh - 300px);transition:all .3s ease;margin:0 24px 24px;border-radius:20px}.timetable-content:hover{box-shadow:0 12px 50px #00000026}.daily-timetable-view{width:100%;height:100%}.timetable-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid rgba(226,232,240,.6);position:relative}.timetable-header:after{content:"";position:absolute;bottom:-2px;left:0;width:120px;height:4px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.timetable-header h3{font-size:1.75rem;font-weight:800;color:#2d3748;margin:0;background:linear-gradient(135deg,#2d3748,#4a5568);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.session-count,.total-sessions{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:10px 20px;border-radius:24px;font-size:.9rem;font-weight:700;box-shadow:0 6px 20px #667eea66}.time-slots-grid{display:flex;flex-direction:column;gap:20px;height:calc(100% - 100px);overflow-y:auto;padding-right:8px}.time-slots-grid::-webkit-scrollbar{width:8px}.time-slots-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.time-slots-grid::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}.time-slot-row{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:start;transition:all .3s ease}.time-slot-row:hover{transform:translate(4px)}.time-label{font-weight:700;color:#2d3748;padding:20px;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:14px;text-align:center;font-size:1.1rem;border:1px solid rgba(226,232,240,.8);box-shadow:0 4px 12px #0000000f;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.time-label:before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background:linear-gradient(135deg,#667eea,#764ba2)}.sessions-container{display:flex;flex-direction:column;gap:16px}.timetable-session{padding:24px;border-radius:16px;border-left:8px solid #667eea;background:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 20px #00000014;border:1px solid rgba(247,250,252,.8);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.timetable-session:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.05),transparent);transition:left .6s ease}.timetable-session:hover:before{left:100%}.timetable-session:hover{transform:translateY(-6px);box-shadow:0 16px 40px #00000026}.timetable-session.theory{border-left-color:#48bb78;background:linear-gradient(135deg,#f0fff4,#c6f6d5)}.timetable-session.practical{border-left-color:#ed8936;background:linear-gradient(135deg,#fffaf0,#fed7aa)}.timetable-session.lab{border-left-color:#9f7aea;background:linear-gradient(135deg,#faf5ff,#e9d8fd)}.session-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.subject-name{font-weight:700;color:#2d3748;font-size:1.2rem}.period-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:24px;font-size:.8rem;font-weight:700;min-width:50px;text-align:center;box-shadow:0 4px 12px #667eea66}.session-details{margin-bottom:16px}.class-name{font-weight:600;color:#4a5568;font-size:1.1rem;margin-bottom:8px}.room-info{font-size:.9rem;color:#718096;font-weight:500;display:flex;align-items:center;gap:8px}.room-info:before{content:"📍";font-size:.9rem}.session-time{font-size:.9rem;color:#718096;font-weight:600;padding-top:16px;border-top:1px solid rgba(226,232,240,.6);display:flex;align-items:center;gap:8px}.session-time:before{content:"🕐";font-size:.9rem}.empty-slot{padding:32px;background:#f7fafccc;border:2px dashed rgba(203,213,224,.6);border-radius:14px;text-align:center;color:#a0aec0;font-style:italic;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.empty-slot:hover{background:#edf2f7cc;border-color:#a0aec0cc;transform:scale(1.02)}.weekly-timetable-view{width:100%;height:100%;overflow-x:auto}.weekly-grid{display:grid;grid-template-columns:140px repeat(5,1fr);gap:1px;background:#e2e8f099;border:1px solid rgba(226,232,240,.6);border-radius:20px;overflow:hidden;min-width:1000px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.time-column,.day-column{display:contents}.time-header,.day-header{background:linear-gradient(135deg,#2d3748,#4a5568);color:#fff;padding:24px 20px;text-align:center;font-weight:700;position:sticky;left:0;z-index:10;box-shadow:0 4px 16px #0003;font-size:1rem}.time-header{background:linear-gradient(135deg,#4a5568,#2d3748)}.time-cell{background:#fff;padding:20px 16px;text-align:center;font-weight:600;color:#2d3748;border-bottom:1px solid rgba(226,232,240,.6);font-size:.9rem;transition:all .3s ease}.time-cell:hover{background:#f7fafc}.session-cell{background:#fff;min-height:120px;border-bottom:1px solid rgba(226,232,240,.6);padding:6px;transition:all .3s ease}.session-cell:hover{background:#fafafa}.weekly-session{padding:16px 12px;margin:2px;border-radius:12px;background:#ebf8ff;border-left:5px solid #4299e1;font-size:.8rem;height:calc(100% - 4px);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.weekly-session:hover{transform:scale(1.06);box-shadow:0 8px 24px #00000026}.weekly-session.theory{background:#f0fff4;border-left-color:#48bb78}.weekly-session.practical{background:#fffaf0;border-left-color:#ed8936}.session-subject{font-weight:600;color:#2d3748;margin-bottom:6px;font-size:.85rem}.session-class{color:#4a5568;margin-bottom:4px;font-size:.75rem}.session-room{color:#718096;font-size:.7rem}.free-period{height:100%;background:#f7fafccc;border-radius:8px;border:1px dashed rgba(226,232,240,.6)}.today-sessions-sidebar{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:24px;box-shadow:0 8px 40px #0000001a;border:1px solid rgba(255,255,255,.3);position:sticky;top:24px;height:calc(100vh - 48px);overflow-y:auto;transition:all .3s ease;margin:24px 24px 24px 0}.today-sessions-sidebar:hover{box-shadow:0 12px 50px #00000026}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid rgba(226,232,240,.6);position:relative}.sidebar-header:after{content:"";position:absolute;bottom:-2px;left:0;width:80px;height:4px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.sidebar-header h4{font-size:1.4rem;font-weight:700;color:#2d3748;margin:0}.current-day{font-size:.9rem;color:#718096;font-weight:500;background:#f7fafccc;padding:8px 14px;border-radius:10px;box-shadow:0 4px 12px #0000000f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.today-sessions-list{display:flex;flex-direction:column;gap:16px}.today-session-item{padding:20px;background:#fff;border-radius:14px;border-left:6px solid #667eea;box-shadow:0 6px 20px #00000014;border:1px solid rgba(247,250,252,.8);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.today-session-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.05),transparent);transition:left .6s ease}.today-session-item:hover:before{left:100%}.today-session-item:hover{transform:translate(8px);box-shadow:0 10px 30px #0000001f}.session-time{font-size:.8rem;color:#718096;margin-bottom:10px;font-weight:600;display:flex;align-items:center;gap:8px}.session-time:before{content:"🕐";font-size:.8rem}.session-details{margin-bottom:10px}.session-class{font-weight:600;color:#2d3748;margin-bottom:8px;font-size:1rem}.session-subject{color:#4a5568;font-size:.85rem;margin-bottom:6px;display:flex;align-items:center;gap:8px}.session-room{color:#718096;font-size:.8rem;display:flex;align-items:center;gap:6px}.session-room:before{content:"📍";font-size:.8rem}.session-type{display:inline-block;padding:6px 12px;background:#f7fafccc;color:#4a5568;border-radius:10px;font-size:.75rem;font-weight:600;text-transform:capitalize;box-shadow:0 4px 12px #0000000f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.no-sessions{text-align:center;padding:60px 30px;color:#a0aec0;background:#f7fafccc;border-radius:16px;border:2px dashed rgba(203,213,224,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.no-sessions-icon{font-size:3.5rem;margin-bottom:20px;opacity:.7}.no-sessions p{margin:0;font-size:.9rem;font-weight:500}.today-sessions-sidebar::-webkit-scrollbar{width:8px}.today-sessions-sidebar::-webkit-scrollbar-track{background:#f1f1f1cc;border-radius:4px}.today-sessions-sidebar::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}.today-sessions-sidebar::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190)}@media(max-width:1200px){.timetable-section{grid-template-columns:1fr;gap:20px}.today-sessions-sidebar{position:static;height:auto;margin:0 24px 24px}.timetable-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.timetable-section{padding:0;gap:16px}.timetable-stats,.timetable-content,.today-sessions-sidebar{margin:16px}.timetable-controls{flex-direction:column;gap:20px;padding:20px}.filters{width:100%;justify-content:center;flex-wrap:wrap}.timetable-stats{grid-template-columns:1fr}.time-slot-row{grid-template-columns:1fr;gap:12px}.time-label{text-align:left;padding:16px}.weekly-grid{min-width:800px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.timetable-session,.today-session-item,.stat-card{animation:fadeInUp .6s ease-out}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:24px;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:0;box-shadow:0 4px 20px #00000014;border:none;border-bottom:1px solid rgba(255,255,255,.2);grid-column:1 / -1}.header-content h2{font-size:2.25rem;font-weight:800;color:#2d3748;margin:0 0 10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-content p{font-size:1.1rem;color:#718096;margin:0;font-weight:500}.header-actions{display:flex;gap:16px}.coming-soon{text-align:center;padding:100px 50px;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 12px 50px #0000001a;border:1px solid rgba(255,255,255,.3);margin:24px}.coming-soon h3{color:#4a5568;margin-bottom:20px;font-size:1.75rem;font-weight:700}.coming-soon p{color:#718096;font-size:1.1rem;max-width:450px;margin:0 auto;line-height:1.7}.messages-section{width:100%;max-width:1400px;animation:fadeIn .6s ease;padding:0}.messages-section .section-header{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #00000014;margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.messages-section .header-content h2{color:#2c3e50;margin:0 0 8px;font-size:2em;font-weight:300;background:linear-gradient(135deg,#2c3e50,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.messages-section .header-content p{color:#7f8c8d;margin:0;font-size:1em}.messages-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px;margin-bottom:40px}.messages-stats .stat-card{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #00000014;display:flex;align-items:center;gap:20px;transition:all .3s ease;border:1px solid #f1f3f4;position:relative;overflow:hidden}.messages-stats .stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#3498db,#2980b9)}.messages-stats .stat-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0000001f}.messages-stats .stat-icon{font-size:40px;opacity:.8;background:linear-gradient(135deg,#3498db,#2980b9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.messages-stats .stat-content{flex:1}.messages-stats .stat-number{font-size:2.5em;font-weight:800;color:#2c3e50;margin-bottom:5px;line-height:1;background:linear-gradient(135deg,#2c3e50,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.messages-stats .stat-label{color:#7f8c8d;font-size:.95em;font-weight:600}.messages-container{display:grid;grid-template-columns:400px 1fr;gap:0;background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;border:1px solid #e1e8ed;height:600px;overflow:hidden;position:relative}.conversations-sidebar{border-right:1px solid #e1e8ed;display:flex;flex-direction:column;background:#fafbfc;height:100%}.conversations-sidebar .sidebar-header{padding:25px;border-bottom:1px solid #e1e8ed;background:#fff}.conversations-sidebar .view-toggle{display:flex;gap:8px;margin-bottom:20px;background:#f8f9fa;padding:6px;border-radius:12px}.conversations-sidebar .view-toggle button{flex:1;padding:12px 16px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s ease}.conversations-sidebar .view-toggle button.active{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;box-shadow:0 4px 12px #3498db4d}.conversations-sidebar .view-toggle button:hover:not(.active){background:#e9ecef;color:#2c3e50}.conversations-sidebar .search-box{position:relative}.conversations-sidebar .search-input{width:100%;padding:14px 16px 14px 45px;border:2px solid #e9ecef;border-radius:12px;font-size:14px;background:#f8f9fa;transition:all .3s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.3-4.3'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:16px center;background-size:18px}.conversations-sidebar .search-input:focus{outline:none;border-color:#3498db;background-color:#fff;box-shadow:0 0 0 3px #3498db1a}.conversations-sidebar .search-input::placeholder{color:#9ca3af}.conversations-list{flex:1;overflow-y:auto;padding:8px 0}.conversation-item{display:flex;align-items:flex-start;gap:15px;padding:20px 25px;cursor:pointer;border-bottom:1px solid #f1f3f4;transition:all .3s ease;position:relative}.conversation-item:hover{background:#f8f9fa;transform:translate(5px)}.conversation-item.active{background:#e3f2fd;border-right:4px solid #3498db}.conversation-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#3498db}.contact-avatar{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;flex-shrink:0;box-shadow:0 4px 12px #3498db4d}.contact-avatar.large{width:60px;height:60px;font-size:26px}.conversation-details{flex:1;min-width:0}.contact-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.contact-name{font-weight:700;color:#2c3e50;font-size:16px;display:flex;align-items:center;gap:8px}.unread-badge{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-size:11px;padding:3px 8px;border-radius:12px;font-weight:700;min-width:20px;text-align:center;box-shadow:0 2px 8px #e74c3c4d}.message-time{font-size:12px;color:#9ca3af;white-space:nowrap;font-weight:500}.contact-role{font-size:13px;color:#64748b;margin-bottom:8px;display:flex;align-items:center;gap:6px;font-weight:500}.student-info{color:#3498db;font-weight:600;font-size:12px}.last-message{font-size:14px;color:#64748b;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.chat-area{display:flex;flex-direction:column;background:#fff;position:relative;height:100%}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid #e1e8ed;background:#fff;box-shadow:0 2px 8px #0000000a}.chat-contact-info{display:flex;align-items:center;gap:15px}.chat-contact-info .contact-name{font-size:18px;font-weight:700;color:#2c3e50}.contact-details{font-size:14px;color:#64748b;margin-top:4px;font-weight:500}.chat-actions{display:flex;gap:10px}.btn-icon{width:44px;height:44px;border:2px solid #e9ecef;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all .3s ease;color:#64748b}.btn-icon:hover{background:#3498db;border-color:#3498db;color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #3498db4d}.messages-list{flex:1;overflow-y:auto;padding:30px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.message-bubble{max-width:70%;padding:16px 20px;border-radius:20px;position:relative;animation:fadeIn .4s ease;box-shadow:0 2px 8px #00000014;line-height:1.5}.message-bubble.sent{align-self:flex-end;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-bottom-right-radius:6px}.message-bubble.received{align-self:flex-start;background:#fff;color:#2c3e50;border:1px solid #e9ecef;border-bottom-left-radius:6px;box-shadow:0 2px 8px #0000000d}.message-content{font-size:15px;line-height:1.5;margin-bottom:8px;word-wrap:break-word}.message-time{font-size:11px;opacity:.8;text-align:right;font-weight:500}.message-bubble.received .message-time{text-align:left;color:#9ca3af}.message-status{position:absolute;bottom:8px;right:16px;font-size:12px;opacity:.8}.message-input-area{padding:25px 30px;border-top:1px solid #e1e8ed;background:#fff}.input-container{display:flex;gap:15px;align-items:flex-end}.message-input{flex:1;padding:16px 20px;border:2px solid #e9ecef;border-radius:25px;font-size:15px;resize:none;max-height:120px;background:#f8f9fa;transition:all .3s ease;font-family:inherit}.message-input:focus{outline:none;border-color:#3498db;background:#fff;box-shadow:0 0 0 3px #3498db1a}.message-input::placeholder{color:#9ca3af}.send-button{width:52px;height:52px;border:none;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;transition:all .3s ease;flex-shrink:0;box-shadow:0 4px 12px #3498db4d}.send-button:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#21618c);transform:scale(1.05);box-shadow:0 6px 16px #3498db66}.send-button:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;box-shadow:none}.no-conversation-selected{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.no-conversation-selected .empty-state{text-align:center;padding:50px 40px;background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;border:1px solid #e9ecef}.no-conversation-selected .empty-icon{font-size:80px;margin-bottom:25px;opacity:.7;background:linear-gradient(135deg,#3498db,#2980b9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.no-conversation-selected h3{margin:0 0 15px;color:#2c3e50;font-size:28px;font-weight:600}.no-conversation-selected p{margin:0 0 30px;color:#7f8c8d;font-size:16px;max-width:400px;line-height:1.6}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content.medium{background:#fff;border-radius:20px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px #00000040;animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-30px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:30px;border-bottom:2px solid #f1f3f4;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.modal-header h3{margin:0;font-size:24px;font-weight:700;color:#2c3e50;background:linear-gradient(135deg,#2c3e50,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-close{background:none;border:none;font-size:28px;cursor:pointer;color:#7f8c8d;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .3s ease}.btn-close:hover{background:#e74c3c;color:#fff;transform:rotate(90deg)}.modal-body{padding:30px;max-height:60vh;overflow-y:auto}.form-group label{display:block;margin-bottom:10px;font-weight:600;color:#2c3e50;font-size:15px}.form-input,.form-textarea{width:100%;padding:16px 20px;border:2px solid #e9ecef;border-radius:12px;font-size:15px;transition:all .3s ease;font-family:inherit;background:#f8f9fa}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3498db;background:#fff;box-shadow:0 0 0 3px #3498db1a}.form-textarea{resize:vertical;min-height:120px}.suggested-recipients{margin-top:30px;padding-top:25px;border-top:2px solid #f1f3f4}.suggested-recipients h4{margin:0 0 15px;font-size:16px;font-weight:600;color:#2c3e50}.recipients-list{display:flex;flex-wrap:wrap;gap:10px}.recipient-chip{padding:12px 18px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e9ecef;border-radius:25px;font-size:14px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;font-weight:500;color:#2c3e50}.recipient-chip:hover{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-color:#3498db;transform:translateY(-2px);box-shadow:0 6px 16px #3498db4d}.modal-actions{display:flex;gap:15px;justify-content:flex-end;padding:25px 30px;border-top:2px solid #f1f3f4;background:#f8f9fa}.btn-primary{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:10px;box-shadow:0 4px 12px #3498db4d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#21618c);transform:translateY(-2px);box-shadow:0 8px 20px #3498db66}.btn-secondary{background:#fff;color:#64748b;border:2px solid #e9ecef;padding:16px 32px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#f8f9fa;border-color:#3498db;color:#3498db;transform:translateY(-2px)}.conversations-list::-webkit-scrollbar,.messages-list::-webkit-scrollbar,.modal-body::-webkit-scrollbar{width:8px}.conversations-list::-webkit-scrollbar-track,.messages-list::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track{background:#f1f3f4;border-radius:4px}.conversations-list::-webkit-scrollbar-thumb,.messages-list::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3498db,#2980b9);border-radius:4px}.conversations-list::-webkit-scrollbar-thumb:hover,.messages-list::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2980b9,#21618c)}@media(max-width:1200px){.messages-container{grid-template-columns:350px 1fr}.messages-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.messages-section{padding:0}.messages-container{grid-template-columns:1fr;height:500px}.conversations-sidebar{display:none}.messages-stats{grid-template-columns:1fr;gap:15px}.section-header{flex-direction:column;gap:15px;align-items:flex-start}.header-actions{width:100%}.btn-primary{width:100%;justify-content:center}.message-bubble{max-width:85%}.messages-list,.chat-header,.message-input-area{padding:20px}}@media(max-width:480px){.messages-section .header-content h2{font-size:24px}.messages-stats .stat-card{padding:20px}.messages-stats .stat-number{font-size:2em}.modal-content.medium{margin:10px}.modal-header,.modal-body{padding:20px}.modal-actions{padding:20px;flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}}.conversation-item.loading{opacity:.6;pointer-events:none}.message-bubble.loading{opacity:.7}.conversations-list:empty:after{content:"No conversations found";display:block;text-align:center;padding:60px 20px;color:#9ca3af;font-style:italic;font-size:16px}.messages-list:empty:after{content:"No messages yet. Start the conversation!";display:block;text-align:center;padding:60px 20px;color:#9ca3af;font-style:italic;font-size:16px}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.message-bubble{animation:messageSlideIn .3s cubic-bezier(.4,0,.2,1)}.typing-indicator{display:flex;align-items:center;gap:8px;padding:16px 20px;background:#fff;border-radius:20px;border:1px solid #e9ecef;align-self:flex-start;max-width:120px;box-shadow:0 2px 8px #0000000d}.typing-dots{display:flex;gap:4px}.typing-dot{width:8px;height:8px;background:#3498db;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.message-status{transition:all .3s ease}.message-status:hover{transform:scale(1.2)}.resources-section{padding:20px;background:#f8f9fa;min-height:100vh}.resources-section .section-header{display:flex;justify-content:between;align-items:center;margin-bottom:30px;background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 10px #00000014}.resources-section .header-content h2{color:#2c3e50;margin:0 0 5px;font-size:1.8rem;font-weight:700}.resources-section .header-content p{color:#7f8c8d;margin:0;font-size:1rem}.resources-section .header-actions{display:flex;gap:15px}.resources-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.resources-stats .stat-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;align-items:center;gap:15px;transition:transform .2s ease,box-shadow .2s ease}.resources-stats .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001f}.resources-stats .stat-icon{font-size:2.5rem;opacity:.8}.resources-stats .stat-content{flex:1}.resources-stats .stat-number{font-size:2rem;font-weight:700;color:#2c3e50;line-height:1}.resources-stats .stat-label{color:#7f8c8d;font-size:.9rem;margin-top:5px}.resources-tabs{display:flex;background:#fff;border-radius:12px;padding:8px;margin-bottom:25px;box-shadow:0 2px 10px #00000014;gap:5px}.resources-tabs button{flex:1;padding:12px 20px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;color:#7f8c8d;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.resources-tabs button:hover{background:#f8f9fa;color:#3498db}.resources-tabs button.active{background:#3498db;color:#fff;box-shadow:0 2px 8px #3498db4d}.filters-bar{display:flex;gap:15px;margin-bottom:25px;align-items:center;flex-wrap:wrap}.filters-bar .search-box{flex:1;min-width:300px}.filters-bar .search-input{width:100%;padding:12px 20px;border:2px solid #e9ecef;border-radius:10px;font-size:.95rem;transition:border-color .3s ease}.filters-bar .search-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.filters-bar .filter-group{display:flex;align-items:center;gap:10px}.filters-bar .filter-group label{color:#7f8c8d;font-size:.9rem;font-weight:500}.filters-bar .filter-select{padding:10px 15px;border:2px solid #e9ecef;border-radius:8px;background:#fff;font-size:.9rem;cursor:pointer;transition:border-color .3s ease}.filters-bar .filter-select:focus{outline:none;border-color:#3498db}.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px;margin-bottom:30px}.resource-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;border:1px solid #e9ecef}.resource-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.resource-card.shared{border-left:4px solid #2ecc71}.resource-header{display:flex;justify-content:between;align-items:flex-start;padding:20px 20px 0;margin-bottom:15px}.resource-type-badge{display:flex;align-items:center;gap:8px;background:#f8f9fa;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.type-icon{font-size:1rem}.type-label{color:#2c3e50}.resource-actions{display:flex;gap:5px}.btn-icon{background:none;border:none;padding:6px;border-radius:6px;cursor:pointer;font-size:.9rem;opacity:.7;transition:all .2s ease}.btn-icon:hover{opacity:1;background:#f8f9fa}.shared-by{font-size:.8rem;color:#7f8c8d;background:#f8f9fa;padding:4px 10px;border-radius:12px}.resource-content{display:flex;gap:15px;padding:0 20px;margin-bottom:20px}.resource-icon{font-size:2.5rem;opacity:.8;flex-shrink:0}.resource-info{flex:1}.resource-title{color:#2c3e50;margin:0 0 8px;font-size:1.1rem;font-weight:600;line-height:1.3}.resource-description{color:#7f8c8d;font-size:.9rem;line-height:1.4;margin-bottom:15px}.resource-meta{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.meta-item{font-size:.85rem;color:#5d6d7e}.meta-item strong{color:#2c3e50}.resource-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#e8f4fd;color:#3498db;padding:3px 8px;border-radius:10px;font-size:.75rem;font-weight:500}.resource-footer{padding:15px 20px;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:between;align-items:center}.resource-stats{display:flex;flex-direction:column;gap:3px}.resource-stats .stat{font-size:.8rem;color:#7f8c8d}.resource-stats .stat strong{color:#2c3e50}.resource-buttons{display:flex;gap:8px}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px}.book-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;border:1px solid #e9ecef}.book-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.book-cover{position:relative;background:linear-gradient(135deg,#667eea,#764ba2);padding:30px;text-align:center}.cover-placeholder{font-size:4rem;color:#fff;opacity:.9}.availability-badge{position:absolute;top:15px;right:15px}.availability-badge .available{background:#27ae60;color:#fff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.availability-badge .unavailable{background:#e74c3c;color:#fff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.book-details{padding:20px}.book-title{color:#2c3e50;margin:0 0 5px;font-size:1.1rem;font-weight:600;line-height:1.3}.book-author{color:#7f8c8d;font-size:.9rem;margin-bottom:15px;font-style:italic}.book-meta{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.book-meta .meta-item{font-size:.8rem;color:#5d6d7e}.book-copies{margin-top:15px;padding-top:15px;border-top:1px solid #e9ecef}.copies-info{font-size:.85rem;color:#7f8c8d;font-weight:500}.book-actions{padding:15px 20px;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:10px}.borrowed-books-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #00000014}.borrowed-books-table .data-table{width:100%;border-collapse:collapse}.borrowed-books-table th{background:#34495e;color:#fff;padding:15px 12px;text-align:left;font-weight:600;font-size:.9rem}.borrowed-books-table td{padding:12px;border-bottom:1px solid #e9ecef;font-size:.9rem}.borrowed-books-table tr:hover{background:#f8f9fa}.days-remaining.overdue{color:#e74c3c;font-weight:600;background:#fdedec;padding:4px 8px;border-radius:6px;font-size:.8rem}.days-remaining.warning{color:#f39c12;font-weight:600;background:#fef5e7;padding:4px 8px;border-radius:6px;font-size:.8rem}.days-remaining.normal{color:#27ae60;font-weight:600;background:#eafaf1;padding:4px 8px;border-radius:6px;font-size:.8rem}.fine-amount{font-weight:600;color:#e74c3c}.view-header{display:flex;justify-content:between;align-items:center;margin-bottom:25px}.view-header h3{color:#2c3e50;margin:0;font-size:1.4rem;font-weight:600}.resource-count,.book-count,.borrow-count{background:#3498db;color:#fff;padding:6px 12px;border-radius:15px;font-size:.8rem;font-weight:600}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.empty-state h3{color:#2c3e50;margin-bottom:10px;font-size:1.3rem}.empty-state p{color:#7f8c8d;margin-bottom:25px;font-size:1rem;max-width:400px;margin-left:auto;margin-right:auto}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:90vw;max-height:90vh;overflow:auto}.modal-content.large{width:700px}.modal-content.xlarge{width:900px}.modal-content.medium{width:500px}.modal-header{display:flex;justify-content:between;align-items:center;padding:25px 30px 0;margin-bottom:20px}.modal-header h3{color:#2c3e50;margin:0;font-size:1.4rem;font-weight:600}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;padding:5px;border-radius:4px;transition:background .2s ease}.btn-close:hover{background:#f8f9fa;color:#e74c3c}.resource-form{padding:0 30px 30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:600;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:.95rem;transition:border-color .3s ease;background:#fff}.form-group textarea{resize:vertical;min-height:80px}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400;color:#5d6d7e}.radio-label input{width:auto}.tags-input{display:flex;gap:10px;margin-bottom:10px}.tags-input input{flex:1}.btn-add-tag{background:#3498db;color:#fff;border:none;padding:0 15px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s ease}.btn-add-tag:hover{background:#2980b9}.tags-list{display:flex;flex-wrap:wrap;gap:8px}.tags-list .tag{background:#e8f4fd;color:#3498db;padding:5px 10px;border-radius:12px;font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:5px}.remove-tag{background:none;border:none;color:#3498db;cursor:pointer;font-size:1rem;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%}.remove-tag:hover{background:#3498db;color:#fff}.file-upload-area{border:2px dashed #e9ecef;border-radius:8px;padding:40px 20px;text-align:center;position:relative;transition:border-color .3s ease;cursor:pointer}.file-upload-area:hover{border-color:#3498db}.upload-placeholder{pointer-events:none}.upload-icon{font-size:3rem;margin-bottom:15px;opacity:.5}.upload-hint{font-size:.8rem;color:#7f8c8d;margin-top:8px}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.book-management-tabs{display:flex;background:#f8f9fa;border-radius:8px;padding:6px;margin-bottom:25px;gap:5px}.book-management-tabs button{flex:1;padding:10px 15px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:.9rem;color:#7f8c8d;transition:all .3s ease}.book-management-tabs button:hover{background:#fff;color:#3498db}.book-management-tabs .tab-active{background:#fff;color:#3498db;font-weight:600;box-shadow:0 2px 5px #0000001a}.inventory-table{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e9ecef}.inventory-table .data-table{width:100%;border-collapse:collapse}.inventory-table th{background:#f8f9fa;color:#2c3e50;padding:15px 12px;text-align:left;font-weight:600;font-size:.85rem;border-bottom:1px solid #e9ecef}.inventory-table td{padding:12px;border-bottom:1px solid #e9ecef;font-size:.85rem;color:#5d6d7e}.inventory-table tr:last-child td{border-bottom:none}.inventory-table tr:hover{background:#f8f9fa}.availability.available{color:#27ae60;font-weight:600}.availability.unavailable{color:#e74c3c;font-weight:600}.modal-body{padding:0 30px;max-height:60vh;overflow-y:auto}.modal-actions{display:flex;gap:15px;justify-content:flex-end;padding:25px 30px;border-top:1px solid #e9ecef;margin-top:20px}@media(max-width:768px){.resources-section .section-header{flex-direction:column;gap:20px;text-align:center}.resources-stats{grid-template-columns:1fr}.resources-tabs{flex-direction:column}.filters-bar{flex-direction:column;align-items:stretch}.filters-bar .search-box{min-width:auto}.resources-grid,.books-grid,.form-row{grid-template-columns:1fr}.modal-content.large,.modal-content.xlarge,.modal-content.medium{width:95vw;margin:20px}.resource-content{flex-direction:column;text-align:center}.resource-footer{flex-direction:column;gap:15px;text-align:center}.book-actions{flex-direction:column}}.btn-primary{background:#3498db;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{background:#2980b9;transform:translateY(-1px);box-shadow:0 4px 12px #3498db4d}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#95a5a6;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{background:#7f8c8d;transform:translateY(-1px)}.btn-sm{padding:8px 16px;font-size:.85rem}.text-center{text-align:center}.mb-20{margin-bottom:20px}.mt-20{margin-top:20px}.justify-between{justify-content:space-between}.items-center{align-items:center}.flex{display:flex}.flex-col{flex-direction:column}.gap-10{gap:10px}.gap-15{gap:15px}.gap-20{gap:20px}.profile-section{padding:0}.profile-layout{display:grid;grid-template-columns:300px 1fr;gap:2rem;margin-top:1.5rem}.profile-sidebar{display:flex;flex-direction:column;gap:1.5rem}.profile-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;border:1px solid #e1e5e9;text-align:center}.profile-avatar{position:relative;display:inline-block;margin-bottom:1rem}.avatar-large{font-size:4rem;width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;margin:0 auto}.online-status{position:absolute;bottom:8px;right:8px;width:16px;height:16px;background:#27ae60;border:2px solid white;border-radius:50%}.profile-basic-info h3{margin:0 0 .5rem;font-size:1.25rem;color:#2c3e50;font-weight:600}.profile-position{color:#7f8c8d;margin:0 0 .5rem;font-size:.9rem}.profile-employee-id{color:#3498db;margin:0 0 1rem;font-weight:500}.profile-badges{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.badge{padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:500;display:inline-block}.badge.primary{background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.badge.secondary{background:#f3e5f5;color:#7b1fa2;border:1px solid #e1bee7}.profile-stats{display:flex;flex-direction:column;gap:1rem;border-top:1px solid #ecf0f1;padding-top:1rem}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.1rem;font-weight:600;color:#2c3e50}.stat-label{font-size:.8rem;color:#7f8c8d;margin-top:.25rem}.profile-tabs{display:flex;flex-direction:column;gap:.5rem}.profile-tabs button{background:#fff;border:1px solid #e1e5e9;padding:1rem;border-radius:8px;text-align:left;font-size:.9rem;color:#5d6d7e;transition:all .3s ease;cursor:pointer}.profile-tabs button:hover{border-color:#3498db;color:#3498db;transform:translate(4px)}.profile-tabs button.active{background:#3498db;color:#fff;border-color:#3498db;transform:translate(4px)}.profile-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid #e1e5e9;min-height:600px}.profile-tab-content{padding:2rem}.tab-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #ecf0f1}.tab-header h3{margin:0 0 .5rem;color:#2c3e50;font-size:1.5rem;font-weight:600}.tab-header p{margin:0;color:#7f8c8d;font-size:.95rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:500;color:#2c3e50;margin-bottom:.5rem;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #dcdfe6;border-radius:6px;font-size:.9rem;transition:all .3s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-group input:disabled,.form-group select:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.display-value{padding:.75rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;font-size:.9rem;color:#2c3e50;min-height:46px;display:flex;align-items:center}.display-value.highlight{background:#e3f2fd;color:#1976d2;font-weight:500;border-color:#bbdefb}.section-divider{margin:2rem 0 1.5rem;padding-bottom:.5rem;border-bottom:1px solid #ecf0f1}.section-divider h4{margin:0;color:#2c3e50;font-size:1.1rem;font-weight:600}.subjects-input{border:1px solid #dcdfe6;border-radius:6px;padding:.75rem;background:#fff}.selected-subjects{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.subject-tag{display:inline-flex;align-items:center;background:#e3f2fd;color:#1976d2;padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500}.remove-subject{background:none;border:none;color:#1976d2;margin-left:.5rem;cursor:pointer;font-size:1rem;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.remove-subject:hover{color:#d32f2f}.add-subject input{width:100%;border:1px dashed #bdc3c7;background:#fafbfc}.add-subject input:focus{border-color:#3498db;border-style:solid}.subjects-display{display:flex;flex-wrap:wrap;gap:.5rem}.subject-badge{background:#e3f2fd;color:#1976d2;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:500;border:1px solid #bbdefb}.financial-notes{margin-top:2rem}.info-box{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;padding:1.5rem}.info-box h4{margin:0 0 1rem;color:#1976d2;font-size:1rem}.info-box ul{margin:0;padding-left:1.2rem;color:#34495e}.info-box li{margin-bottom:.5rem;font-size:.9rem}.info-box li:last-child{margin-bottom:0}.performance-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.performance-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:transform .3s ease,box-shadow .3s ease}.performance-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.performance-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.performance-content{flex:1}.performance-value{font-size:1.5rem;font-weight:700;color:#2c3e50;margin-bottom:.25rem}.performance-label{font-size:.85rem;color:#7f8c8d;margin-bottom:.5rem}.performance-trend{font-size:.75rem;font-weight:500;padding:.2rem .6rem;border-radius:12px;display:inline-block}.performance-trend.positive{background:#d5f4e6;color:#27ae60}.performance-trend.negative{background:#fde8e8;color:#e74c3c}.recent-activity-section{margin-bottom:2rem}.recent-activity-section h4{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem;font-weight:600}.activity-timeline{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #3498db}.activity-icon{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}.activity-content{flex:1}.activity-description{color:#2c3e50;margin-bottom:.25rem;font-weight:500}.activity-time{color:#7f8c8d;font-size:.8rem}.performance-charts{margin-top:2rem}.chart-placeholder{background:#f8f9fa;border:2px dashed #bdc3c7;border-radius:12px;padding:3rem 2rem;text-align:center}.chart-placeholder h4{margin:0 0 1rem;color:#2c3e50}.chart-placeholder p{color:#7f8c8d;margin-bottom:1.5rem}.chart-actions{display:flex;gap:1rem;justify-content:center}.security-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #ecf0f1}.security-section h4{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem;font-weight:600}.security-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.security-item{display:flex;flex-direction:column}.security-item label{font-weight:500;color:#7f8c8d;margin-bottom:.5rem;font-size:.9rem}.security-value{color:#2c3e50;font-weight:500;font-size:.95rem}.security-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.toggle-setting{display:flex;align-items:center}.toggle-setting label{display:flex;align-items:center;gap:.5rem;color:#2c3e50;font-weight:500;cursor:pointer;margin:0}.toggle-setting input[type=checkbox]{width:18px;height:18px;accent-color:#3498db}.privacy-section{margin-bottom:2rem}.privacy-section h4{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem;font-weight:600}.privacy-settings{display:flex;flex-direction:column;gap:1rem}.privacy-item label{display:flex;align-items:center;gap:.5rem;color:#2c3e50;font-weight:500;cursor:pointer;margin:0}.privacy-item input[type=checkbox]{width:18px;height:18px;accent-color:#3498db}.account-actions-section h4{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem;font-weight:600}.account-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-danger{background:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-danger:hover{background:#c0392b;transform:translateY(-1px)}.password-requirements{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:1rem;margin-top:1rem}.password-requirements h5{margin:0 0 .5rem;color:#2c3e50;font-size:.9rem}.password-requirements ul{margin:0;padding-left:1.2rem;color:#7f8c8d;font-size:.8rem}.password-requirements li{margin-bottom:.25rem}.edit-actions{display:flex;gap:1rem}@media(max-width:1024px){.profile-layout{grid-template-columns:1fr;gap:1.5rem}.profile-sidebar{order:2}.profile-content{order:1}.profile-tabs{flex-direction:row;overflow-x:auto;padding-bottom:.5rem}.profile-tabs button{white-space:nowrap;flex-shrink:0}}@media(max-width:768px){.form-grid{grid-template-columns:1fr;gap:1rem}.performance-stats-grid,.security-grid{grid-template-columns:1fr}.security-actions{flex-direction:column;align-items:flex-start;gap:1rem}.chart-actions,.account-actions{flex-direction:column}.edit-actions{flex-direction:column;width:100%}.edit-actions button{width:100%}}@media(max-width:480px){.profile-tab-content,.profile-card{padding:1rem}.avatar-large{width:80px;height:80px;font-size:3rem}.performance-card{flex-direction:column;text-align:center;padding:1rem}.activity-item{flex-direction:column;text-align:center;gap:.5rem}}.profile-tab-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-group input:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.profile-tabs button:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid #3498db;outline-offset:2px}.profile-tabs::-webkit-scrollbar{height:4px}.profile-tabs::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.profile-tabs::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.profile-tabs::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.parent-dashboard{display:flex;min-height:100vh;background:#f8f9fa}.sidebar{width:280px;background:#fff;border-right:1px solid #e1e5e9;display:flex;flex-direction:column}.sidebar-header{padding:1.5rem;border-bottom:1px solid #e1e5e9}.parent-profile{text-align:center}.parent-profile .avatar{font-size:3rem;margin-bottom:1rem}.parent-info h3{margin:0 0 .5rem;font-size:1.1rem;color:#2c3e50}.parent-info p{margin:0 0 1rem;color:#7f8c8d;font-size:.9rem}.parent-badge{background:#e3f2fd;color:#1976d2;padding:.4rem .8rem;border-radius:15px;font-size:.8rem;font-weight:500}.sidebar-nav{flex:1;padding:1rem 0}.sidebar-nav button{width:100%;padding:1rem 1.5rem;border:none;background:none;text-align:left;color:#5d6d7e;cursor:pointer;transition:all .3s ease;border-left:3px solid transparent}.sidebar-nav button:hover{background:#f8f9fa;color:#3498db}.sidebar-nav button.active{background:#e3f2fd;color:#1976d2;border-left-color:#1976d2}.children-selector{padding:1.5rem;border-top:1px solid #e1e5e9}.children-selector h4{margin:0 0 1rem;color:#2c3e50;font-size:.9rem;font-weight:600}.child-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid #e1e5e9;border-radius:8px;background:#fff;cursor:pointer;transition:all .3s ease;margin-bottom:.5rem;width:100%}.child-item:hover{border-color:#3498db}.child-item.active{border-color:#3498db;background:#e3f2fd}.child-avatar{font-size:1.5rem}.child-info{flex:1;text-align:left}.child-name{font-weight:600;color:#2c3e50;font-size:.9rem}.child-class{color:#7f8c8d;font-size:.8rem}.main-content{flex:1;display:flex;flex-direction:column}.content-header{background:#fff;padding:1.5rem 2rem;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;align-items:center}.content-header h1{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.user-info{display:flex;gap:2rem;align-items:center}.current-child-info,.class-teacher-info{color:#7f8c8d;font-size:.9rem}.dashboard-content{flex:1;padding:2rem;overflow-y:auto}.welcome-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;border-radius:12px;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.welcome-content h2{margin:0 0 .5rem;font-size:1.5rem}.welcome-content p{margin:0;opacity:.9}.current-time{font-size:.9rem;opacity:.8}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#e3f2fd}.stat-content{flex:1}.stat-number{font-size:1.5rem;font-weight:700;color:#2c3e50;margin-bottom:.25rem}.stat-label{font-size:.85rem;color:#7f8c8d}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.dashboard-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:1.5rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h3{margin:0;color:#2c3e50;font-size:1.1rem;font-weight:600}.card-badge{background:#e3f2fd;color:#1976d2;padding:.3rem .6rem;border-radius:12px;font-size:.75rem;font-weight:500}.assessments-list{display:flex;flex-direction:column;gap:1rem}.assessment-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.subject-badge{background:#1976d2;color:#fff;padding:.3rem .6rem;border-radius:6px;font-size:.75rem;font-weight:500}.assessment-details{flex:1}.assessment-title{font-weight:600;color:#2c3e50;margin-bottom:.25rem}.assessment-score{display:flex;align-items:center;gap:.5rem}.score{font-weight:600;color:#2c3e50}.grade{padding:.2rem .4rem;border-radius:4px;font-size:.75rem;font-weight:600}.grade.A{background:#d5f4e6;color:#27ae60}.grade.B{background:#e3f2fd;color:#1976d2}.grade.C{background:#fff3cd;color:#856404}.assessment-date{color:#7f8c8d;font-size:.8rem}.btn-primary{background:#1976d2;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-primary:hover{background:#1565c0;transform:translateY(-1px)}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#5a6268}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.quick-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.action-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:1px solid #e1e5e9;border-radius:8px;background:#fff;cursor:pointer;transition:all .3s ease}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.action-btn.primary{border-color:#1976d2;color:#1976d2}.action-btn.secondary{border-color:#28a745;color:#28a745}.action-btn.tertiary{border-color:#ffc107;color:#ffc107}.action-btn.quaternary{border-color:#6f42c1;color:#6f42c1}.action-icon{font-size:1.5rem}.events-list{display:flex;flex-direction:column;gap:1rem}.event-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.event-date{background:#1976d2;color:#fff;padding:.5rem;border-radius:6px;text-align:center;min-width:50px}.event-details{flex:1}.event-title{font-weight:600;color:#2c3e50;margin-bottom:.25rem}.event-time{color:#7f8c8d;font-size:.8rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e1e5e9}.header-content h2{margin:0 0 .5rem;color:#2c3e50;font-size:1.5rem;font-weight:600}.header-content p{margin:0;color:#7f8c8d}.academics-tabs,.fees-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid #e1e5e9;padding-bottom:.5rem}.academics-tabs button,.fees-tabs button{background:none;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;color:#5d6d7e;transition:all .3s ease}.academics-tabs button:hover,.fees-tabs button:hover{background:#f8f9fa;color:#1976d2}.academics-tabs button.active,.fees-tabs button.active{background:#1976d2;color:#fff}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.data-table th{background:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:1px solid #e1e5e9}.data-table td{padding:1rem;border-bottom:1px solid #e1e5e9}.data-table tr:hover{background:#f8f9fa}.status-badge{padding:.3rem .6rem;border-radius:12px;font-size:.75rem;font-weight:500}.status-badge.present,.status-badge.successful{background:#d5f4e6;color:#27ae60}.status-badge.absent,.status-badge.failed{background:#fde8e8;color:#e74c3c}.empty-state{text-align:center;padding:3rem 2rem;color:#7f8c8d}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{margin:0 0 1rem;color:#2c3e50}.empty-state p{margin:0}@media(max-width:1024px){.parent-dashboard{flex-direction:column}.sidebar{width:100%;height:auto}.sidebar-nav{display:flex;overflow-x:auto;padding:1rem}.sidebar-nav button{white-space:nowrap;flex-shrink:0}.children-selector{display:flex;gap:1rem;overflow-x:auto}.child-item{flex-shrink:0;min-width:200px}}@media(max-width:768px){.content-header{flex-direction:column;gap:1rem;align-items:flex-start}.user-info{flex-direction:column;gap:.5rem;align-items:flex-start}.stats-grid,.dashboard-grid,.quick-actions-grid{grid-template-columns:1fr}.academics-tabs,.fees-tabs{flex-direction:column}}@media(max-width:480px){.dashboard-content{padding:1rem}.welcome-banner{flex-direction:column;gap:1rem;text-align:center}.assessment-item,.event-item{flex-direction:column;text-align:center;gap:.5rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#1a2980,#26d0ce);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.teacher-registration-container{width:100%;max-width:1000px;min-height:auto;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 15px 50px #0003;padding:40px}.registration-form-container{width:100%}.registration-header{text-align:center;margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid #e8f4fc}.header-icon{width:100px;height:100px;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 25px;font-size:48px;color:#fff;box-shadow:0 5px 15px #3498db4d}.registration-header h1{color:#2c3e50;margin-bottom:15px;font-size:36px;font-weight:700;background:linear-gradient(135deg,#2c3e50,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-subtitle{color:#7f8c8d;font-size:18px;font-weight:500;margin-bottom:15px}.welcome-message{color:#5d6d7e;font-size:16px;line-height:1.6;max-width:700px;margin:0 auto;padding:15px;background:#f8f9fa;border-radius:10px;border-left:4px solid #3498db}.error-alert{background:#fee;border-left:4px solid #e74c3c;padding:15px;margin-bottom:25px;border-radius:8px;color:#c0392b;display:flex;align-items:center;font-size:14px}.error-alert i{margin-right:10px}.form-section{background:#fff;border-radius:12px;padding:30px;margin-bottom:30px;box-shadow:0 4px 12px #00000014;border:1px solid #e0e0e0}.form-section h3{color:#2c3e50;margin-bottom:25px;font-size:22px;display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:2px solid #e8f4fc}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:25px}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:10px;color:#2c3e50;font-weight:600;font-size:15px}.form-group label small{color:#7f8c8d;font-weight:400;margin-left:5px}.form-group input,.form-group select{width:100%;padding:14px;border:1px solid #ddd;border-radius:8px;font-size:16px;transition:all .3s;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-group input.error,.form-group select.error{border-color:#e74c3c}.error-text{color:#e74c3c;font-size:13px;margin-top:8px;display:block}.generate-btn{background:#27ae60;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer;margin-left:12px;display:inline-flex;align-items:center;gap:6px;transition:all .3s}.generate-btn:hover{background:#219653;transform:translateY(-1px)}.assignment-row{display:grid;grid-template-columns:1fr 1fr;gap:35px}.assignment-column h4{color:#2c3e50;margin-bottom:18px;font-size:17px;font-weight:600}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;max-height:220px;overflow-y:auto;padding:15px;border:1px solid #e0e0e0;border-radius:10px;background:#fafafa}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:15px;padding:8px;border-radius:6px;transition:all .3s}.checkbox-label:hover{background:#e8f4fc;transform:translate(5px)}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#3498db}.checkbox-text{color:#2c3e50;font-weight:500}.checkbox-text small{color:#7f8c8d;font-size:12px}.password-input{position:relative}.password-toggle{position:absolute;right:15px;top:50%;transform:translateY(-50%);background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:18px;transition:color .3s}.password-toggle:hover{color:#3498db}.form-terms{margin:25px 0}.terms-checkbox{display:flex;align-items:flex-start;gap:12px;color:#2c3e50;font-size:15px;cursor:pointer;line-height:1.5}.terms-checkbox input[type=checkbox]{width:20px;height:20px;accent-color:#3498db;margin-top:3px}.terms-checkbox a{color:#3498db;text-decoration:none;font-weight:500}.terms-checkbox a:hover{text-decoration:underline}.register-btn{width:100%;padding:18px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:10px;font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .3s;margin:25px 0}.register-btn:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#1c6ea4);transform:translateY(-3px);box-shadow:0 8px 20px #3498db4d}.register-btn:disabled{opacity:.6;cursor:not-allowed}.form-footer{text-align:center;color:#2c3e50;font-size:15px}.form-footer a{color:#3498db;text-decoration:none;font-weight:600;transition:color .3s}.form-footer a:hover{color:#2980b9;text-decoration:underline}.form-note{margin-top:20px;padding:15px;background:#e8f4fc;border-radius:8px;font-size:14px;line-height:1.5;border-left:4px solid #3498db}.form-note i{color:#3498db;margin-right:10px}.success-message{text-align:center;padding:50px 30px}.success-icon{width:120px;height:120px;background:linear-gradient(135deg,#2ecc71,#27ae60);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 35px;font-size:56px;color:#fff;box-shadow:0 8px 25px #2ecc714d}.success-message h2{color:#2c3e50;margin-bottom:20px;font-size:32px;font-weight:700}.success-message p{color:#5d6d7e;margin-bottom:15px;font-size:18px;line-height:1.5}.success-details{background:#f8f9fa;border-radius:12px;padding:25px;text-align:left;border:1px solid #e0e0e0;max-width:600px;margin:30px auto}.success-details p{margin-bottom:12px;color:#2c3e50;font-size:16px}.success-details strong{color:#3498db}.back-to-form-btn{background:#3498db;color:#fff;border:none;border-radius:8px;padding:14px 28px;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:10px;margin:25px 0;transition:all .3s}.back-to-form-btn:hover{background:#2980b9;transform:translateY(-2px);box-shadow:0 5px 15px #3498db4d}.welcome-actions{margin-top:30px;padding-top:25px;border-top:1px solid #e0e0e0}.login-redirect-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;background:#2ecc71;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s}.login-redirect-btn:hover{background:#27ae60;transform:translateY(-2px);box-shadow:0 5px 15px #2ecc714d}@media(max-width:768px){.teacher-registration-container{padding:25px;border-radius:15px}.form-row{grid-template-columns:1fr;gap:0}.assignment-row{grid-template-columns:1fr;gap:25px}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.registration-header h1{font-size:28px}.header-icon{width:80px;height:80px;font-size:36px}.header-subtitle{font-size:16px}.welcome-message{font-size:14px}}@media(max-width:480px){.teacher-registration-container{padding:20px;border-radius:10px}.registration-header h1{font-size:24px}.header-icon{width:70px;height:70px;font-size:32px}.form-section{padding:20px}.success-message h2{font-size:26px}.success-icon{width:100px;height:100px;font-size:48px}}
