:root{--primary-color: #1976d2;--primary-light: #e3f2fd;--primary-dark: #1565c0;--text-primary: #333;--text-secondary: #666;--bg-color: #f5f5f5;--card-color: #ffffff;--border-color: #eee;--shadow: 0 2px 4px rgba(0, 0, 0, .05);--shadow-medium: 0 4px 6px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-color)}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}button{cursor:pointer}table{width:100%;border-collapse:collapse}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.card{background-color:var(--card-color);border-radius:8px;padding:24px;box-shadow:var(--shadow)}.btn{display:inline-block;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;padding:.5rem 1rem;font-size:1rem;border-radius:4px;border:1px solid transparent;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.btn-primary{color:#fff;background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark)}.mt-1{margin-top:.25rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}#root{width:100%;margin:0;padding:0;text-align:left}:root{--primary-color: #3f5efb;--primary-dark: #6e54ec;--secondary-color: #fc466b;--secondary-light: #ff9776;--background-light: #f5f7fa;--background-white: #ffffff;--text-dark: #333333;--text-medium: #555555;--text-light: #666666;--border-color: #e0e0e0;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 4px 15px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .15);--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 20px;--nav-height: 64px}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--background-light);color:var(--text-dark)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.card{background-color:var(--background-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);padding:20px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.btn{background-color:var(--primary-color);color:#fff;border:none;padding:12px 20px;border-radius:var(--border-radius-sm);font-weight:500;transition:all .3s;box-shadow:0 2px 6px #3f5efb4d;cursor:pointer}.btn:hover{background-color:var(--primary-dark);box-shadow:0 4px 10px #3f5efb80;transform:translateY(-2px)}.btn-secondary{background-color:var(--secondary-color);box-shadow:0 2px 6px #fc466b4d}.btn-secondary:hover{background-color:var(--secondary-light);box-shadow:0 4px 10px #fc466b80}.text-center{text-align:center}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.p-4{padding:1rem}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.read-the-docs{color:#888}.landing-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);padding:20px;position:relative;overflow:hidden}.landing-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:float 20s linear infinite;pointer-events:none}@keyframes float{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.landing-content{max-width:1200px;width:100%;position:relative;z-index:1}.landing-header{text-align:center;margin-bottom:50px;animation:fadeInDown .8s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.main-logo{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}.logo-circle{width:80px;height:80px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;box-shadow:0 10px 30px #0003;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.landing-header h1{margin:0;font-size:4rem;font-weight:900;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.2);letter-spacing:3px}.landing-header h2{margin:10px 0;font-size:2rem;font-weight:600;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.2)}.landing-header p{margin:10px 0 0;font-size:1.2rem;color:#ffffffe6;font-weight:400}.login-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-bottom:50px}.login-option-card{background:#fff;border-radius:20px;padding:40px 30px;text-align:center;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001a;animation:fadeInUp .6s ease-out backwards}.login-option-card:nth-child(1){animation-delay:.1s}.login-option-card:nth-child(2){animation-delay:.2s}.login-option-card:nth-child(3){animation-delay:.3s}.login-option-card:nth-child(4){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-option-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--card-color);transform:scaleX(0);transform-origin:left;transition:transform .3s}.login-option-card:hover:before{transform:scaleX(1)}.login-option-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #00000026}.developer-card{border:2px solid #e53e3e;background:linear-gradient(135deg,#fff,#fff5f5)}.card-icon{font-size:4rem;margin-bottom:20px;transition:transform .3s}.login-option-card:hover .card-icon{transform:scale(1.2) rotate(5deg)}.login-option-card h3{margin:0 0 15px;font-size:1.5rem;font-weight:700;color:#2d3748}.login-option-card p{margin:0 0 20px;color:#718096;font-size:.95rem;line-height:1.6}.developer-tag{display:inline-flex;align-items:center;gap:6px;background:#e53e3e;color:#fff;padding:5px 12px;border-radius:15px;font-size:.75rem;font-weight:600;margin-bottom:15px}.developer-tag i{font-size:.8rem}.card-arrow{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--card-color);color:#fff;transition:transform .3s}.login-option-card:hover .card-arrow{transform:translate(5px)}.card-arrow i{font-size:1.2rem}.landing-footer{text-align:center;color:#fff;animation:fadeIn 1s ease-out .5s backwards}.landing-footer p{margin:10px 0;font-size:.95rem;opacity:.9}.footer-links{display:flex;align-items:center;justify-content:center;gap:15px}.footer-links a{color:#fff;text-decoration:none;font-weight:500;transition:opacity .2s}.footer-links a:hover{opacity:.7;text-decoration:underline}.footer-links span{opacity:.5}@media(max-width:768px){.landing-header h1{font-size:2.5rem}.landing-header h2{font-size:1.5rem}.landing-header p{font-size:1rem}.logo-circle{width:60px;height:60px;font-size:2rem}.login-options-grid{grid-template-columns:1fr;gap:20px}.login-option-card{padding:30px 20px}}@media(max-width:480px){.main-logo{flex-direction:column;gap:10px}.landing-header h1{font-size:2rem}.card-icon{font-size:3rem}}.student-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0ea5e9,#3b82f6);padding:20px}.student-login-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:450px;text-align:center}.student-login-header{margin-bottom:40px}.student-logo{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px}.logo-icon{font-size:3rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.student-logo h1{margin:0;color:#1e293b;font-size:2.5rem;font-weight:700}.student-subtitle{color:#64748b;font-size:1.1rem;margin:0}.student-login-form{text-align:left}.student-input{width:100%;padding:15px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.student-input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.student-input::placeholder{color:#9ca3af}.student-login-btn{width:100%;background:linear-gradient(135deg,#0ea5e9,#3b82f6);color:#fff;border:none;padding:16px;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.student-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #0ea5e94d}.student-login-btn:disabled{opacity:.7;cursor:not-allowed}.student-login-footer{margin-top:30px;padding-top:20px;border-top:1px solid #e5e7eb;color:#6b7280;font-size:.9rem}.student-login-footer p{margin:5px 0}.signup-section span{color:#0ea5e9;font-weight:600;cursor:pointer;transition:color .3s ease}.signup-section span:hover{color:#3b82f6;text-decoration:underline}.admin-link a{color:#0ea5e9;text-decoration:none;font-weight:600}.admin-link a:hover{text-decoration:underline}@media(max-width:480px){.student-login-container{padding:30px 20px}.student-logo h1{font-size:2rem}.logo-icon{font-size:2.5rem}}.dashboard-container{display:flex;flex-direction:column;justify-content:baseline;min-height:100vh;background-color:#f5f7fa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow-x:hidden;overflow-y:auto}@media screen and (max-width:768px){.header-left{width:100%;display:flex;align-items:center;justify-content:space-between}.header-right{width:100%;display:flex;align-items:center;justify-content:center!important}.menu-toggle{display:none!important}}.ln-card{gap:20px;display:flex;flex-direction:column;justify-content:space-around}.dashboard-header{background:linear-gradient(135deg,#3f5efb,#6e54ec);color:#fff;padding:15px 20px;box-shadow:0 4px 15px #0003;top:0;z-index:100}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1)}.header-left{display:flex;align-items:center;width:100%;justify-content:center;gap:10px}.header-right{width:100%;display:flex;align-items:center;gap:20px}.menu-toggle{display:none;background:#ffffff26;border:none;color:#fff;font-size:24px;cursor:pointer;margin-right:15px;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s,transform .2s;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2)}.menu-toggle:hover{background-color:#ffffff40;transform:translateY(-2px)}.menu-icon{font-size:24px}.notification-wrapper{position:relative}.notification-button{background:linear-gradient(145deg,#4c6ef5,#7950f2);border:none;color:#fff;font-size:18px;cursor:pointer;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;transition:transform .2s ease,box-shadow .2s ease,background .3s ease;position:relative;box-shadow:0 10px 18px #4c6ef559}.notification-button:hover{transform:translateY(-2px);box-shadow:0 14px 26px #4c6ef573}.notification-button.open{background:linear-gradient(145deg,#3b5bdb,#7048e8)}.notification-icon{font-size:20px}.notification-badge{position:absolute;top:-6px;right:-6px;background-color:#e74c3c;color:#fff;font-size:10px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 2px 8px #e74c3c59;border:2px solid #ffffff}.notification-button:hover .notification-icon{animation:ring .8s ease-in-out}@keyframes ring{0%{transform:rotate(0)}15%{transform:rotate(15deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}75%{transform:rotate(2deg)}to{transform:rotate(0)}}.notifications-dropdown{position:absolute;top:57px;left:-40px;width:320px;background-color:#fff;border-radius:15px;box-shadow:0 10px 30px #00000040;z-index:200;overflow:hidden;animation:slideDown .3s ease-out;border:1px solid rgba(0,0,0,.05)}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.notifications-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee;background-color:#f8f9fa}.notifications-header h3{margin:0;color:#2c3e50;font-size:18px;font-weight:600}.close-notifications{cursor:pointer;font-size:18px;color:#666;transition:color .3s;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#0000000d}.close-notifications:hover{color:#333;background-color:#0000001a}.notifications-list{max-height:350px;overflow-y:auto;padding:5px 0}.notification-item{padding:15px 20px;border-bottom:1px solid #f0f0f0;transition:background-color .3s;cursor:pointer;position:relative}.notification-item:last-child{border-bottom:none}.notification-item:hover{background-color:#f5f7fa}.notification-item.new{background-color:#e6f7ff}.notification-date{font-size:12px;color:#666;margin-bottom:6px}.notification-message{font-size:14px;color:#333;line-height:1.4}.notification-new-badge{position:absolute;top:15px;right:15px;background-color:#e74c3c;color:#fff;font-size:10px;padding:2px 8px;border-radius:10px;font-weight:500;box-shadow:0 2px 5px #e74c3c4d}.no-notifications{padding:30px 20px;text-align:center;color:#666;font-size:14px;font-style:italic}.calendar{background-color:#fff;border-radius:12px;padding:16px 16px 12px;box-shadow:0 2px 10px #0000000d}.calendar-table{width:80%;border-collapse:separate;border-spacing:8px;justify-self:center}.calendar-table thead th{background-color:#eef1ff;color:#3f5efb;font-weight:600;text-align:center;padding:10px 0;border-radius:10px}.calendar-table tbody td{background-color:#f7f9fc;text-align:center;border-radius:10px;padding:12px 0;min-width:20px}.calendar-table tbody td.present{background-color:#e6f9ed;border:1px solid #b9e8c7}.calendar-table tbody td.absent{background-color:#fdecea;border:1px solid #f5b5ae}.calendar-table tbody td.holiday{background-color:#f1f1f1;border:1px dashed #d0d0d0}.cal-cell{background-color:#f7f9fc;border-radius:10px;min-height:44px;display:flex;align-items:center;justify-content:center;color:#555;min-width:0}.cal-cell.cal-head{background-color:#eef1ff;color:#3f5efb;font-weight:600;min-height:38px}.cal-cell.empty{background:transparent;box-shadow:none}.cal-day.present{background-color:#e6f9ed;border:1px solid #b9e8c7}.cal-day.absent{background-color:#fdecea;border:1px solid #f5b5ae}.cal-day.holiday{background-color:#f1f1f1;border:1px dashed #d0d0d0}.cal-date{font-weight:600}.calendar-legend{margin-top:12px;display:flex;gap:12px}.legend-item{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid transparent}.legend-item.present{background:#e6f9ed;border-color:#b9e8c7}.legend-item.absent{background:#fdecea;border-color:#f5b5ae}.legend-item.holiday{background:#f1f1f1;border-color:#d0d0d0}.school-info{display:flex;padding:10px;align-items:center;gap:10px}.school-logo{width:50px;height:50px;border-radius:12px;overflow:hidden;background-color:#fff;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 10px #0003;transition:transform .3s ease}.school-logo:hover{transform:scale(1.05)}.school-logo img{width:85%;height:85%;object-fit:contain}.school-name{font-size:20px;font-weight:700;margin:0;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);letter-spacing:.5px}.school-motto{font-size:12px;margin:3px 0 0;color:#ffffffd9;font-style:italic}.student-profile{display:flex;align-items:center;gap:15px;background-color:#ffffff26;padding:12px 20px;border-radius:15px;box-shadow:0 4px 12px #00000026;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);margin-top:10px}.student-photo{width:55px;height:55px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.7);box-shadow:0 2px 10px #0003;transition:transform .3s ease}.student-photo:hover{transform:scale(1.05)}.student-photo img{width:100%;height:100%;object-fit:cover}.student-info{color:#fff}.student-info h2{font-size:16px;color:#fff!important;margin:0 0 3px;font-weight:600;text-shadow:0 1px 2px rgba(255,255,255,.3)}.student-info p{font-size:12px;color:#fff!important;margin:0;opacity:.9}.logout-button{background-color:#fc466b40;color:#fff;border:none;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2)}.logout-button:hover{background-color:#fc466b66;transform:translateY(-2px)}.logout-icon{font-size:18px}.tab-navigation{display:flex;overflow-x:auto;overflow-y:hidden;background-color:#fff;padding:8px 20px;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d;z-index:90}.tab-navigation::-webkit-scrollbar{height:4px}.tab-navigation::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.tab-navigation::-webkit-scrollbar-thumb{background-color:#c1c1c1;border-radius:4px}.tab-navigation::-webkit-scrollbar-thumb:hover{background-color:#a8a8a8}.tab-button{display:flex;flex-direction:column;align-items:center;padding:8px 14px;margin:0 6px;border:none;background:none;cursor:pointer;transition:all .25s ease;border-radius:10px;color:#555;min-width:90px;position:relative}.tab-icon{font-size:22px;margin-bottom:6px}.tab-label{font-size:13px;font-weight:500}.tab-button:hover{background-color:#eef3ff;color:#3f5efb;transform:translateY(-2px)}.tab-button.active{background-color:#eef1ff;color:#3f5efb;font-weight:600;transform:translateY(-3px);box-shadow:0 3px 10px #3f5efb33}.tab-button.active:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:30%;height:3px;background-color:#3f5efb;border-radius:3px}.dashboard-content{display:flex;flex:1;background-color:#f5f7fa;position:relative}.dashboard-sidebar{width:280px;height:calc(100vh - 80px);background-color:#fff;box-shadow:5px 0 15px #00000026;transition:transform .3s ease,box-shadow .3s ease;z-index:1000;overflow-y:auto;overflow-x:hidden;transform:translate(-100%)}.dashboard-sidebar.open{transform:translate(0);position:fixed;top:0;height:100vh}.dashboard-sidebar::-webkit-scrollbar{width:6px}.dashboard-sidebar::-webkit-scrollbar-track{background:#f8fafc;border-radius:10px}.dashboard-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.dashboard-sidebar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dashboard-sidebar ul{list-style:none;padding:10px 0;margin:0}.dashboard-sidebar li{display:flex;align-items:center;padding:15px 20px;cursor:pointer;transition:all .3s;color:#555;border-radius:0;gap:12px;margin:2px 0;position:relative}.dashboard-sidebar li:hover{background-color:#eef3ff;color:#3f5efb;padding-left:25px}.dashboard-sidebar li.active{background-color:#eef1ff;color:#3f5efb;border-left:5px solid #3f5efb;padding-left:25px}.sidebar-icon{font-size:20px;width:24px;text-align:center}.sidebar-label{font-weight:500}.main-content{display:flex!important;justify-content:center!important;align-items:start!important;padding:0 20px 20px;background-color:#f0f2f5;margin:10px;width:90%;max-width:1200px}.main-content>section:first-child{margin-top:0}.section-icon{margin-right:8px;font-size:24px;vertical-align:middle}.profile-section,.attendance-section,.fees-section,.holidays-section,.events-section,.results-section,.query-section,.transfer-section,.previous-schools-section,.gallery-section{background-color:#fff;border-radius:12px;padding:20px;margin-top:20px;margin-bottom:20px;box-shadow:0 2px 10px #0000000d;transition:transform .2s,box-shadow .2s;border-top:4px solid transparent}.profile-section{border-top-color:#3f5efb;width:95%}.attendance-section{width:100%!important;border-top-color:#4e95ff}.fees-section{border-top-color:#27ae60;width:90%}.holidays-section{border-top-color:#f39c12;width:90%;display:flex;flex-direction:column;align-items:center;justify-content:center}.events-section{border-top-color:#9b59b6;display:flex;width:100%;justify-content:center;align-items:center;flex-direction:column}.results-section{border-top-color:#e74c3c;width:100%}.gallery-section{border-top-color:#3498db;width:100%}.query-section{border-top-color:#4e95ff;width:100%}.transfer-section{border-top-color:#e74c3c}.previous-schools-section{border-top-color:#27ae60}.profile-section:hover,.attendance-section:hover,.fees-section:hover,.holidays-section:hover,.events-section:hover,.results-section:hover,.query-section:hover,.transfer-section:hover,.previous-schools-section:hover,.gallery-section:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.profile-section h2,.attendance-section h2,.fees-section h2,.holidays-section h2,.events-section h2,.results-section h2,.query-section h2,.transfer-section h2,.previous-schools-section h2,.gallery-section h2{margin-top:0;color:#333;border-bottom:1px solid #eee;padding-bottom:15px;margin-bottom:25px;font-size:22px}.profile-info{display:flex;align-items:center}.profile-photo{width:140px;height:140px;border-radius:12px;object-fit:cover;margin-right:30px;border:5px solid #f5f5f5;box-shadow:0 4px 15px #0000001a;transition:transform .3s}.profile-photo:hover{transform:scale(1.05)}.profile-details{flex:1}.profile-details p{margin:12px 0;font-size:16px;color:#555;line-height:1.6}.attendance-info{background-color:#f8f9fa;border-radius:10px;padding:20px;border-left:4px solid #4e95ff}.attendance-info p{margin:12px 0;font-size:16px;color:#555;line-height:1.6}.fees-info{background-color:#f8f9fa;border-radius:10px;padding:20px;border-left:4px solid #27ae60}.fees-info p{margin:12px 0;font-size:16px;color:#555;line-height:1.6}.holidays-table{width:100%;border-collapse:collapse;margin-top:15px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.holidays-table th,.holidays-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #e0e0e0}.holidays-table th{background-color:#eef1ff;color:#3f5efb;font-weight:600}.holidays-table tr:hover{background-color:#f8f9fa}.events-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;width:100%}.event-card{background-color:#fff;border-radius:12px;padding:15px;margin:10px;flex:1;min-width:200px;box-shadow:0 2px 8px #00000014;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.event-card.sports{border-left:4px solid #4caf50}.event-card.academic{border-left:4px solid #2196f3}.event-card.cultural{border-left:4px solid #ff9800}.event-card.meeting{border-left:4px solid #9c27b0}.event-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001a}.event-date{font-size:14px;color:#666;margin-bottom:10px}.event-name{font-size:18px;font-weight:600;color:#333;margin-bottom:12px}.event-type{display:inline-block;font-size:12px;padding:6px 12px;border-radius:20px;text-transform:capitalize;font-weight:500}.event-card.sports .event-type{background-color:#ffebee;color:#f44336}.event-card.academic .event-type{background-color:#eef1ff;color:#3f5efb}.event-card.cultural .event-type{background-color:#fff8e1;color:#ff9800}.event-card.meeting .event-type{background-color:#f3e5f5;color:#9c27b0}.result-card{background-color:#f8f9fa;border-radius:10px;padding:20px;margin-bottom:20px;border-left:4px solid #ff9800}.result-card h3{margin-top:0;color:#333;margin-bottom:20px;font-size:18px}.results-table{border-collapse:collapse;border-radius:8px;overflow:scroll;box-shadow:0 2px 8px #0000000d}.results-table th,.results-table td{padding:12px 15px;text-align:left;min-width:20px;border-bottom:1px solid #e0e0e0}.results-table th{background-color:#f5f7fa;color:#2c3e50;font-weight:600}.results-table tr:last-child td{border-bottom:none}.results-table tr:hover{background-color:#f8f9fa}.query-form{background-color:#f8f9fa;border-radius:10px;padding:25px;border-left:4px solid #4e95ff}.form-group label{display:block;margin-bottom:10px;font-weight:500;color:#555}.form-group select,.form-group textarea,.form-group input{width:100%;padding:10px 15px;border:1px solid #e0e0e0;border-radius:8px;font-size:15px;transition:border-color .3s,box-shadow .3s;background-color:#f9f9f9}.form-group select:focus,.form-group textarea:focus,.form-group input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e833;background-color:#fff}.form-group textarea{min-height:140px;resize:vertical}.submit-btn,.tc-btn,.download-btn{background-color:#3f5efb;color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s;box-shadow:0 2px 6px #3f5efb4d}.submit-btn:hover,.tc-btn:hover,.download-btn:hover{background-color:#6e54ec;box-shadow:0 4px 10px #3f5efb80;transform:translateY(-3px)}.transfer-info{background-color:#f8f9fa;border-radius:10px;padding:25px;border-left:4px solid #e74c3c}.transfer-info p{margin:12px 0;font-size:15px;color:#555;line-height:1.6}.transfer-info ul{margin:20px 0;padding-left:20px}.transfer-info li{margin-bottom:10px;color:#555;line-height:1.6}.school-records{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px}.school-card{background-color:#f8f9fa;border-radius:10px;padding:25px;box-shadow:0 4px 15px #0000000d;transition:transform .3s,box-shadow .3s;border-top:5px solid #4caf50}.school-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001a}.school-card h3{margin-top:0;color:#333;margin-bottom:20px;font-size:18px}.school-card p{margin:10px 0;color:#555;line-height:1.6}.download-btn{background:linear-gradient(135deg,#66bb6a,#4caf50);color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s;margin-top:20px}.download-btn:hover{transform:translateY(-3px);box-shadow:0 5px 15px #4caf504d}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;justify-content:flex-start}@media(max-width:992px){.school-name{font-size:20px}.profile-info{flex-direction:column;align-items:center}.profile-photo{margin-right:0;margin-bottom:20px}.profile-details{text-align:center}.events-container{grid-template-columns:1fr}}@media(max-width:768px){.tab-navigation{display:flex;overflow-x:scroll;padding:5px}.tab-button{padding:10px 15px;flex-direction:column;font-size:12px}.tab-icon{font-size:24px}.school-info{flex-direction:column;text-align:center}.school-logo{margin-right:0;margin-bottom:10px}.header-top{flex-direction:column;align-items:flex-start}.header-right{margin-top:15px;width:100%;justify-content:space-between}.student-profile{flex-direction:column;text-align:center}.student-photo{margin-right:0;margin-bottom:15px}.events-container,.school-records{grid-template-columns:1fr}.main-content{padding:0 15px 15px}.profile-section,.attendance-section,.fees-section,.holidays-section,.events-section,.results-section,.query-section,.transfer-section,.previous-schools-section{padding:15px}.notifications-dropdown{width:280px;right:-50px}.notifications-dropdown:before{right:65px}.dashboard-sidebar{width:250px}}.gallery-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.gallery-card{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014;transition:transform .3s ease,box-shadow .3s ease}.gallery-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.gallery-image-container{width:100%;height:220px;overflow:hidden;background:#f9f9f9;display:flex;align-items:center;justify-content:center}.gallery-image{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .5s ease;background:#fff}.gallery-card:hover .gallery-image{transform:scale(1.05)}.gallery-title{padding:15px;font-weight:600;color:#1e3c72;font-size:15px;text-align:center}.gallery-description{padding:0 15px 15px;color:#666;font-size:14px;line-height:1.5;text-align:center}.gallery-uploaded{padding:10px 15px;font-size:12px;color:#888;text-align:center;border-top:1px solid #eee;background:#f9f9f9;font-style:italic}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#3f5efb,#6e54ec);color:#fff;position:sticky;top:0;z-index:5}.sidebar-header h3{margin:0;color:#fff;font-size:18px;font-weight:500}.close-sidebar{background:#fff3;border:none;font-size:18px;color:#fff;cursor:pointer;transition:all .3s;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.close-sidebar:hover{color:#fff;background-color:#ffffff4d}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background-color:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;pointer-events:none}.sidebar-overlay.show{opacity:1;visibility:visible;pointer-events:all}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dashboard-container ::-webkit-scrollbar{width:10px}.dashboard-container ::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.dashboard-container ::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.dashboard-container ::-webkit-scrollbar-thumb:hover{background:#555}.tc-modal-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;background:#0f172a8c!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;isolation:isolate!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:1000000!important;padding:20px!important;overflow:hidden}.tc-modal-content{position:relative;background:#fff;width:100%;max-width:700px;max-height:calc(100vh - 140px);overflow-y:auto;border-radius:14px;padding:24px 32px 32px;box-shadow:0 25px 50px #0000004d;scroll-behavior:smooth}.tc-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;font-size:18px;font-weight:700;background:#f1f5f9;color:#1e293b;display:flex;align-items:center;justify-content:center;z-index:2}.tc-modal-close:hover{background:#e2e8f0}.tc-modal-title{margin:0 0 24px;padding-bottom:16px;color:#2c3e50;font-size:24px;font-weight:600;text-align:center;border-bottom:3px solid #3498db}.tc-error-message{background-color:#fee;color:#c33;padding:14px 16px;border-radius:8px;margin-bottom:20px;border-left:5px solid #c33;font-size:14px}.tc-form-group{margin-bottom:20px}.tc-form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:14px}.tc-required{color:#e74c3c}.tc-form-input,.tc-form-textarea{width:100%;padding:12px 14px;border:2px solid #dcdcdc;border-radius:8px;font-size:15px;font-family:inherit;background-color:#fafafa;box-sizing:border-box}.tc-form-input:focus,.tc-form-textarea:focus{outline:none;border-color:#3498db;background-color:#fff;box-shadow:0 0 0 3px #3498db1f}.tc-form-textarea{resize:vertical;min-height:90px;line-height:1.5}.tc-form-actions{display:flex;gap:14px;justify-content:center;margin-top:30px;padding-top:20px;border-top:2px solid #ecf0f1}.tc-btn-cancel,.tc-btn-submit{padding:12px 32px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;border:none}.tc-btn-cancel{background-color:#95a5a6;color:#fff}.tc-btn-cancel:hover:not(:disabled){background-color:#7f8c8d}.tc-btn-submit{background-color:#3498db;color:#fff}.tc-btn-submit:hover:not(:disabled){background-color:#2980b9}.tc-btn-cancel:disabled,.tc-btn-submit:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){.tc-modal-content{padding:20px;max-height:calc(100vh - 100px)}.tc-modal-title{font-size:20px}}.marksheet-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a}.marksheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:3px solid #667eea}.student-info h2{margin:0 0 .5rem;color:#1f2937;font-size:1.75rem;font-weight:700}.student-info p{margin:.25rem 0;color:#6b7280;font-size:.95rem}.download-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 8px #667eea4d}.download-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.download-btn:active{transform:translateY(0)}.marksheet-table-wrapper{overflow-x:auto;margin-top:1rem}.marksheet-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden}.marksheet-table thead tr:first-child th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem .75rem;text-align:center;font-weight:700;font-size:1rem;border-right:1px solid rgba(255,255,255,.2)}.marksheet-table thead tr:first-child th:last-child{border-right:none}.subject-header{text-align:left!important;background:linear-gradient(135deg,#667eea,#764ba2);z-index:2}.exam-header{min-width:100px}.total-header{min-width:100px;background:#ffffff26!important}.percentage-header{min-width:80px;background:#ffffff26!important}.subheader-row th{background:#f3f4f6!important;color:#4b5563;padding:.5rem;font-size:.85rem;font-weight:600;text-align:center;border-right:1px solid #e5e7eb}.subheader-row th:first-child{position:sticky;left:0;background:#f3f4f6!important;z-index:2;border-right:2px solid #d1d5db}.marks-subheader{color:#6b7280;font-size:.8rem}.marksheet-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.marksheet-table tbody tr:hover{background-color:#f9fafb}.subject-row td{padding:.75rem;text-align:center;border-right:1px solid #e5e7eb}.subject-name{text-align:left!important;font-weight:600;color:#1f2937;background:#fff;z-index:1;border-right:2px solid #d1d5db!important}.marksheet-table tbody tr:hover .subject-name{background-color:#f9fafb}.marks-cell{color:#374151;font-weight:500}.max-marks{color:#6b7280;font-size:.85rem}.total-obtained{background-color:#f0fdf4;font-weight:700;color:#15803d}.total-max{background-color:#f0fdf4;color:#16a34a;font-size:.85rem}.percentage-cell{background-color:#eff6ff;font-weight:700;color:#1d4ed8;font-size:.95rem}.marksheet-table tfoot{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);font-weight:700}.total-row td{padding:1rem .75rem;border-right:1px solid #d1d5db;text-align:center}.total-label{text-align:left!important;font-size:1rem;color:#1f2937;position:sticky;left:0;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);z-index:2;border-right:2px solid #d1d5db!important}.total-marks{color:#374151;font-size:.95rem}.grand-total{background:#dbeafe;color:#1e40af;font-size:1rem;font-weight:800}.grand-percentage{background:#dcfce7;color:#15803d;font-size:1.1rem;font-weight:800}@media(max-width:768px){.marksheet-header{flex-direction:column;align-items:flex-start;gap:1rem}.download-btn{width:100%}.marksheet-table{font-size:.8rem}.marksheet-table thead tr:first-child th{padding:.75rem .5rem;font-size:.85rem}.subject-row td{padding:.5rem}.subject-name{min-width:120px;font-size:.85rem}}@media print{.download-btn{display:none}.marksheet-container{box-shadow:none}.marksheet-table{border:1px solid #000}.marksheet-table thead tr:first-child th{background:#333!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.subject-name,.total-label{background:#fff!important}}#previous-schooling-container{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 10px 30px #00000014;margin:2rem auto;max-width:100%;border:1px solid #e5e7eb}#previous-schooling-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:3px solid #667eea}#previous-schooling-header .header-info h2{margin:0 0 .5rem;color:#1f2937;font-size:1.875rem;font-weight:700;letter-spacing:-.5px}#previous-schooling-header .header-info p{margin:.25rem 0;color:#6b7280;font-size:.95rem;font-weight:400}#previous-schooling-table-wrapper{overflow-x:auto;margin-top:1.5rem;border-radius:12px;box-shadow:0 4px 12px #0000000d;position:relative;overflow:visible}#previous-schooling-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;overflow:visible;position:relative}#previous-schooling-table .session-header{text-align:left!important;min-width:150px;position:sticky;left:0;background:linear-gradient(135deg,#667eea,#764ba2);z-index:3}#previous-schooling-table .class-header{min-width:100px}#previous-schooling-table .status-header{min-width:120px}#previous-schooling-table .passing-year-header{min-width:100px}#previous-schooling-table .attendance-header{min-width:200px;background:#ffffff1a!important}#previous-schooling-table .performance-header{min-width:150px;background:#ffffff26!important}#previous-schooling-table .exams-header{min-width:180px;background:#ffffff1a!important}#previous-schooling-table .subheader-row th{background:#f9fafb!important;color:#4b5563;padding:.6rem .5rem;font-size:.85rem;font-weight:600;text-align:center;border-right:1px solid #e5e7eb;border-top:1px solid rgba(255,255,255,.3)}#previous-schooling-table .marks-subheader{color:#6b7280;font-size:.8rem;font-weight:600}#previous-schooling-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .25s ease,transform .15s ease}#previous-schooling-table tbody tr:hover{background-color:#f9fafb;transform:scale(1.001)}#previous-schooling-table tbody tr:last-child{border-bottom:none}#previous-schooling-table .record-row td{padding:.9rem .75rem;text-align:center;border-right:1px solid #e5e7eb;vertical-align:middle;color:#374151;font-size:.9rem}#previous-schooling-table .record-row td:last-child{border-right:none}#previous-schooling-table .session-name{text-align:left!important;font-weight:700;color:#1f2937;position:sticky;left:0;background:#fff;z-index:2;border-right:2px solid #d1d5db!important;font-size:.95rem}#previous-schooling-table tbody tr:hover .session-name{background-color:#f9fafb}#previous-schooling-table .class-badge{display:inline-block;padding:.4rem .85rem;border-radius:8px;font-weight:700;font-size:.9rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d;letter-spacing:.3px}#previous-schooling-table .status-badge{display:inline-block;padding:.4rem .85rem;border-radius:8px;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}#previous-schooling-table .status-completed{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}#previous-schooling-table .status-transferred{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}#previous-schooling-table .status-promoted{background-color:#dbeafe;color:#1e40af;border:1px solid #93c5fd}#previous-schooling-table .passing-year{font-weight:700;color:#374151;font-size:.95rem}#previous-schooling-table .attendance-cell{color:#059669;font-weight:700;font-size:.95rem}#previous-schooling-table .attendance-cell.absent{color:#dc2626}#previous-schooling-table .attendance-percentage{background-color:#f0fdf4;font-weight:800;color:#15803d;font-size:1rem;border-left:3px solid #86efac}#previous-schooling-table .performance-percentage{background-color:#eff6ff;font-weight:800;color:#1d4ed8;font-size:1rem;border-left:3px solid #93c5fd}#previous-schooling-table .grade-badge{display:inline-block;padding:.4rem .7rem;border-radius:8px;font-weight:800;font-size:1.05rem;letter-spacing:.5px;box-shadow:0 2px 6px #0000001a}#previous-schooling-table .grade-aplus,#previous-schooling-table .grade-a{background-color:#d1fae5;color:#065f46;border:2px solid #6ee7b7}#previous-schooling-table .grade-bplus,#previous-schooling-table .grade-b{background-color:#dbeafe;color:#1e40af;border:2px solid #93c5fd}#previous-schooling-table .grade-c{background-color:#fef3c7;color:#92400e;border:2px solid #fcd34d}.header-info{display:flex;flex-direction:column;height:80px;margin-top:15px;align-items:center;justify-content:center;gap:10px}#previous-schooling-table .grade-d,#previous-schooling-table .grade-e,#previous-schooling-table .grade-f{background-color:#fee2e2;color:#991b1b;border:2px solid #fca5a5}#previous-schooling-table .exam-details-cell{padding:.6rem!important;position:relative}#previous-schooling-table .exam-details{text-align:left;position:relative}#previous-schooling-table .exam-summary{cursor:pointer;padding:.6rem 2.5rem .6rem 1rem;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;font-size:.875rem;transition:all .25s ease;list-style:none;text-align:center;box-shadow:0 4px 12px #667eea4d;border:none;outline:none;display:block;width:100%;position:relative}#previous-schooling-table .exam-summary::-webkit-details-marker{display:none}#previous-schooling-table .exam-summary::marker{display:none}#previous-schooling-table .exam-summary:after{content:"▼";position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:transform .3s ease;font-size:.7rem}#previous-schooling-table details[open] .exam-summary:after{transform:translateY(-50%) rotate(180deg)}#previous-schooling-table .exam-summary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66;background:linear-gradient(135deg,#5568d3,#6a4491)}#previous-schooling-table .exam-list{position:absolute;top:calc(100% + .5rem);right:0;z-index:10000;width:380px;max-width:90vw;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background-color:#fff;border-radius:12px;border:2px solid #667eea;box-shadow:0 12px 48px #667eea40,0 4px 12px #00000026;max-height:70vh;overflow-y:auto}#previous-schooling-table .exam-list:before{content:"";position:absolute;top:-8px;right:1.5rem;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #667eea}#previous-schooling-table details[open]{position:static}#previous-schooling-table tbody tr{position:relative}#previous-schooling-table details[open] .exam-list{display:flex;animation:slideDown .3s ease-out}#previous-schooling-table details:not([open]) .exam-list{display:none}#previous-schooling-table .exam-item{padding:.85rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center;transition:all .2s ease}#previous-schooling-table .exam-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26;transform:translate(3px);background:#fff}#previous-schooling-table .exam-name{font-weight:700;color:#1f2937;font-size:.925rem}#previous-schooling-table .exam-marks{font-size:.875rem;color:#6b7280;grid-column:1;font-weight:600}#previous-schooling-table .exam-performance{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}#previous-schooling-table .exam-percentage{font-weight:800;color:#3b82f6;font-size:1rem}#previous-schooling-table .exam-grade{padding:.25rem .6rem;border-radius:6px;font-weight:700;font-size:.8rem;letter-spacing:.3px}#previous-schooling-table .no-exams{color:#9ca3af;font-style:italic;font-size:.9rem}#previous-schooling-summary{display:flex;justify-content:space-around;align-items:stretch;margin-top:2.5rem;padding:2rem;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:12px;border:2px solid #d1d5db;box-shadow:0 4px 12px #0000000d}#previous-schooling-summary .summary-item{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1rem;flex:1;border-right:2px solid #d1d5db}#previous-schooling-summary .summary-item:last-child{border-right:none}#previous-schooling-summary .summary-label{font-size:.95rem;color:#6b7280;font-weight:700;text-transform:uppercase;letter-spacing:.5px}#previous-schooling-summary .summary-value{font-size:2rem;font-weight:900;color:#1f2937;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(max-width:1024px){#previous-schooling-container{padding:2rem}#previous-schooling-table{font-size:.85rem}#previous-schooling-table .record-row td{padding:.7rem .6rem}}@media(max-width:768px){#previous-schooling-container{padding:1.5rem;margin:1rem auto}#previous-schooling-header{flex-direction:column;align-items:flex-start;gap:1rem}#previous-schooling-header .header-info h2{font-size:1.5rem}#previous-schooling-table{font-size:.8rem}#previous-schooling-table .record-row td{padding:.6rem .5rem}#previous-schooling-table .session-name{min-width:120px;font-size:.85rem}#previous-schooling-summary{flex-direction:column;gap:1rem;padding:1.5rem}#previous-schooling-summary .summary-item{flex-direction:row;justify-content:space-between;width:100%;border-right:none;border-bottom:2px solid #d1d5db;padding:.75rem 0}#previous-schooling-summary .summary-item:last-child{border-bottom:none}#previous-schooling-summary .summary-value{font-size:1.5rem}}@media(max-width:480px){#previous-schooling-container{padding:1rem;border-radius:12px}#previous-schooling-header .header-info h2{font-size:1.25rem}#previous-schooling-header .header-info p{font-size:.85rem}#previous-schooling-table{font-size:.75rem}#previous-schooling-summary .summary-label{font-size:.85rem}#previous-schooling-summary .summary-value{font-size:1.25rem}}@media print{#previous-schooling-container{box-shadow:none;border:1px solid #000}#previous-schooling-table{border:2px solid #000}#previous-schooling-table .session-name{background:#fff!important}#previous-schooling-table tbody tr:hover{background-color:transparent!important}#previous-schooling-table .exam-summary{display:none}#previous-schooling-table .exam-list{display:flex!important;border:1px solid #000}#previous-schooling-summary{background:#f3f4f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}#previous-schooling-table .exam-list::-webkit-scrollbar{width:6px}#previous-schooling-table .exam-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}#previous-schooling-table .exam-list::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}#previous-schooling-table .exam-list::-webkit-scrollbar-thumb:hover{background:#5568d3}#previous-schooling-table details[open] .exam-list{animation:slideDown .3s ease-out}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.admin-login-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:450px;text-align:center}.admin-login-header{margin-bottom:40px}.admin-logo{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px}.admin-logo h1{margin:0;color:#2d3748;font-size:2.5rem;font-weight:700}.admin-subtitle{color:#718096;font-size:1.1rem;margin:0}.admin-login-form{text-align:left}.form-group label{display:block;margin-bottom:8px;color:#4a5568;font-weight:600;font-size:.95rem}.admin-input{width:100%;padding:15px;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.admin-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.admin-input::placeholder{color:#a0aec0}.error-message{background:#fed7d7;color:#c53030;padding:12px;border-radius:8px;margin-bottom:20px;font-size:.9rem;border:1px solid #feb2b2}.admin-login-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.admin-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}.admin-login-btn:disabled{opacity:.7;cursor:not-allowed}.admin-login-footer{margin-top:30px;padding-top:20px;border-top:1px solid #e2e8f0;color:#718096;font-size:.9rem}.admin-login-footer p{margin:5px 0}.register-link{margin-top:15px!important;font-weight:500}.register-link a,.student-link a,.teacher-link a{color:#667eea;text-decoration:none;font-weight:600;transition:all .2s}.register-link a:hover,.student-link a:hover,.teacher-link a:hover{color:#764ba2;text-decoration:underline}@media(max-width:480px){.admin-login-container{padding:30px 20px}.admin-logo h1{font-size:2rem}.logo-icon{font-size:2.5rem}}.admin-dashboard{min-height:100vh;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}body{margin:0}.admin-navbar{background:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a;position:sticky!important;top:0;z-index:100;overflow-y:auto}.admin-content{display:flex;height:calc(100dvh - var(--nav-height))}.admin-sidebar{flex-shrink:0;width:280px;background:#fff;border-right:1px solid #e2e8f0;box-shadow:2px 0 10px #0000000d;position:relative;z-index:99;overflow-y:auto;overflow-x:hidden}.admin-sidebar::-webkit-scrollbar{width:6px}.admin-sidebar::-webkit-scrollbar-track{background:#f8fafc;border-radius:10px}.admin-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.admin-sidebar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar-nav{display:flex;width:100%;flex-direction:column;gap:8px;padding:2rem 1.5rem}.admin-main{flex:1;height:100%;overflow-y:auto;overflow-x:hidden;padding:2rem;min-height:0}.main-content{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0000000d}.overview-section{display:flex;flex-direction:column;width:100%;height:100%;gap:2rem}.stats-grid{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;display:flex;align-items:center;gap:1rem}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.stat-number{margin:0 0 4px;color:#1e293b;font-size:2rem;font-weight:700}.stat-change{margin:0;font-size:.85rem;font-weight:500}.stat-change.positive{color:#059669}.stat-change.negative{color:#dc2626}.recent-activities h3{color:#1e293b;margin-bottom:1rem}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;transition:all .2s ease;border:1px solid transparent}.activity-item:hover{background:#f8fafc;border-color:#e2e8f0}.activity-item.unread{background:#f0f9ff;border-color:#0ea5e9}.activity-icon{font-size:1.2rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#e2e8f0;border-radius:8px}.activity-content{flex:1}.activity-title{margin:0 0 4px;color:#1e293b;font-weight:600}.activity-time{margin:0;color:#64748b;font-size:.85rem}.students-section{display:flex;flex-direction:column;width:100%;gap:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{margin:0;color:#1e293b}.search-box{position:relative;display:inline-block;width:100%;z-index:0;max-width:400px}.search-box input{padding:14px 45px;border:2px solid #cbd5e1;border-radius:10px;font-size:.95rem;width:100%;overflow:hidden;transition:all .3s ease;background:#fff;box-shadow:0 2px 8px #00000014;font-weight:500}.search-box input::placeholder{color:#94a3b8}.search-box input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea26;transform:translateY(-1px)}.search-box:before{content:"🔍";position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;pointer-events:none;z-index:1}.clear-search-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:#e2e8f0;border:none;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s ease;z-index:2}.clear-search-btn:hover{background:#cbd5e1;color:#1e293b;transform:translateY(-50%) scale(1.1)}.class-tabs{display:flex;flex-direction:column;gap:2rem}.class-tab{background:#f8fafc;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0}.class-tab h4{margin:0 0 1rem;color:#1e293b;font-size:1.2rem}.class-stats{display:flex;gap:2rem;margin-bottom:1.5rem;color:#64748b;font-size:.9rem}.students-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.students-table th,.students-table td{padding:16px;text-align:left;border-bottom:1px solid #e2e8f0}.students-table td{color:#1f2937}.staff-section{display:flex;flex-direction:column;gap:2rem}.staff-filters,.student-filters{background:#fff;display:flex;flex-direction:column;align-items:start;justify-content:space-between;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000000d;border:1px solid #e2e8f0;margin-bottom:1rem}.staff-filters h3,.student-filters h3{margin:0 0 1rem;color:#1e293b;font-size:1.1rem}.filter-buttons{display:flex;gap:12px;flex-wrap:wrap}.filter-btn{padding:10px 20px;border:2px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-weight:500;font-size:.95rem;color:#64748b;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.filter-btn:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 4px 12px #667eea4d}.filter-count{font-size:.85rem;opacity:.8;margin-left:4px}.filter-btn.active .filter-count{opacity:1;font-weight:600}.staff-tab h3{margin:10px;color:#1e293b}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.staff-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.staff-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.staff-avatar{font-size:3rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:1rem}.staff-info h4{margin:0 0 8px;color:#1e293b;font-size:1.2rem}.staff-info p{margin:0 0 4px;color:#64748b;font-size:.9rem}.staff-designation{color:#667eea!important;font-weight:600}.staff-classes{margin:12px 0;padding:8px 12px;background:#f0f9ff;border-radius:6px;font-size:.85rem}.staff-actions{display:flex;gap:8px;margin-top:1rem}.deactivate-btn{background:linear-gradient(135deg,#f093fb,#f5576c)!important;color:#fff!important;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #f5576c33}.deactivate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #f5576c4d}.activate-btn{background:linear-gradient(135deg,#84fab0,#8fd3f4)!important;color:#1e293b!important;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #84fab033}.activate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #84fab04d}.transfer-certificates-section h3{margin:0 0 1.5rem;color:#1e293b}.tc-requests{display:flex;flex-direction:column;gap:1rem}.tc-request-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000000d;border:1px solid #e2e8f0}.tc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tc-header h4{margin:0;color:#1e293b}.tc-details{margin-bottom:1rem}.tc-details p{margin:0 0 4px;color:#64748b}.tc-actions{display:flex;gap:8px}.events-section h3{margin:0 0 1.5rem;color:#1e293b}.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.event-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;position:relative}.event-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.event-type{position:absolute;top:12px;right:12px;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;color:#fff}.event-type.sports{background:#059669}.event-type.cultural{background:#7c3aed}.event-type.academic{background:#dc2626}.event-card h4{margin:0 0 8px;color:#1e293b;font-size:1.1rem}.event-date{margin:0 0 12px;color:#667eea;font-weight:600;font-size:.9rem}.event-description{margin:0 0 1rem;color:#64748b;font-size:.9rem;line-height:1.5}.event-actions{display:flex;gap:8px}.add-event-card{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:16px;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#64748b}.add-event-card:hover{border-color:#667eea;color:#667eea;background:#f0f9ff}.add-event-icon{font-size:2rem;margin-bottom:8px}.inbox-section h3{margin:0 0 1.5rem;color:#1e293b}.messages-list{display:flex;flex-direction:column;gap:1rem}.message-item{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000000d;border:1px solid #e2e8f0;transition:all .2s ease}.message-item:hover{box-shadow:0 4px 20px #0000001a}.message-item.unread{border-left:4px solid #667eea;background:#f0f9ff}.message-sender{font-weight:600;color:#1e293b;margin-bottom:8px}.message-content h4{margin:0 0 8px;color:#1e293b;font-size:1.1rem}.message-content p{margin:0 0 8px;color:#64748b;line-height:1.5}.message-time{color:#94a3b8;font-size:.85rem}.message-actions{display:flex;gap:8px;margin-top:1rem}.status-badge.paid{background:#059669}.status-badge.pending{background:#d97706}.status-badge.overdue{background:#dc2626}.status-badge.approved{background:#059669}.status-badge.rejected{background:#dc2626}.status-dropdown{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23000' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;padding-right:32px!important;min-width:140px}.status-dropdown:hover{transform:translateY(-2px)!important;box-shadow:0 6px 12px #0003!important}.status-dropdown:focus{outline:none;box-shadow:0 0 0 3px #4299e180!important}.status-dropdown option{padding:10px;font-weight:600;background:#fff}.action-btn.reject{background:#ef4444}.action-btn.reject:hover{background:#dc2626}.action-btn.send-to-teacher{background:#8b5cf6}.action-btn.send-to-teacher:hover{background:#7c3aed}@media(max-width:1024px){.admin-sidebar{width:240px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:768px){.admin-content{flex-direction:column}.admin-sidebar{width:100%;overflow-y:scroll;border-right:none;border-bottom:1px solid #e2e8f0}.sidebar-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:scroll;padding:1rem;z-index:5!important}.nav-item{white-space:nowrap;min-width:fit-content}.stats-grid,.staff-grid,.events-grid{grid-template-columns:1fr}.search-box input{width:100%;z-index:0}.section-header{flex-direction:column;gap:1rem;align-items:flex-start}}@media(max-width:480px){.admin-navbar{padding:1rem}.admin-main{padding:1rem;height:calc(100dvh - var(--nav-height));overflow:auto!important}.main-content{padding:1rem}.stat-card{flex-direction:column;text-align:center}.staff-actions,.tc-actions,.event-actions,.message-actions{flex-direction:column}}.student-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.student-detail-modal{background:#fff;border-radius:20px;width:90%;max-width:1600px;max-height:90vh;height:85vh;overflow:hidden;box-shadow:0 25px 50px #0000004d;animation:slideUp .3s ease;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-header h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.student-name{margin:0;font-size:.9rem;opacity:.95;font-weight:500}.close-btn{background:#fff3;border:none;font-size:2rem;cursor:pointer;color:#fff;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease}.modal-tabs{display:flex;border-bottom:2px solid #e5e7eb;background:#f8fafc}.tab-btn{background:none;border:none;padding:1rem 2rem;cursor:pointer;font-size:1rem;font-weight:600;color:#6b7280;border-bottom:3px solid transparent;transition:all .2s ease;position:relative}.tab-btn:hover{color:#667eea;background:#f0f4ff}.tab-btn.active{color:#667eea;border-bottom-color:#667eea;background:#fff}.tab-btn.active:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2)}.modal-content{padding:2rem;flex:1;overflow-y:auto;background:linear-gradient(to bottom,#fff,#f9fafb);max-width:none!important;width:100%}.personal-info{display:flex;flex-direction:column;gap:2rem;width:100%;box-sizing:border-box}.info-section{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 12px #0000000f;border:1px solid #e5e7eb;transition:all .2s ease;width:100%;box-sizing:border-box}.info-section:hover{box-shadow:0 6px 20px #667eea1a;transform:translateY(-2px)}.section-title{margin:0 0 1.5rem;color:#667eea;font-size:1.1rem;font-weight:700;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;box-sizing:border-box}.info-item{display:flex;flex-direction:column;gap:.5rem;width:100%;box-sizing:border-box;min-width:0}.astrick{padding:0!important;background:#fff0!important;border-radius:6px!important;border:0px solid #e5e7eb!important;font-weight:500!important;font-size:.95rem!important;width:20%!important}.info-item.full-width{grid-column:1 / -1}.info-item label{font-weight:700;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;display:flex;width:100%;align-items:center;justify-content:center}.info-item span{color:#1f2937;padding:.75rem;background:linear-gradient(135deg,#f9fafb,#fff);border-radius:10px;border:1px solid #e5e7eb;font-weight:500;transition:all .2s ease;display:block;width:100%;box-sizing:border-box}.info-item span:hover{background:#fff;border-color:#667eea;transform:translate(2px)}.info-value{color:#1f2937;padding:.75rem;background:linear-gradient(135deg,#f9fafb,#fff);border-radius:10px;border:1px solid #e5e7eb;font-weight:500}.badge-class{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;font-weight:600;text-align:center;border:none!important}.badge-primary{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;font-weight:700;text-align:center;font-size:1.1rem;border:none!important}.badge-blood{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;font-weight:600;text-align:center;border:none!important}.edit-input,.edit-textarea,.edit-input[type=date],.edit-input[type=tel],.edit-input[type=number],select.edit-input{padding:.75rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;transition:all .2s ease;font-family:inherit;width:100%;box-sizing:border-box}.edit-textarea{resize:vertical;min-height:80px}.edit-input:focus,.edit-textarea:focus,select.edit-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-message{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:10px;margin-bottom:1rem;border-left:4px solid #dc2626;font-weight:500}.contact-info h4{margin:0 0 1rem;color:#1e293b;font-size:1.1rem}.fee-catalog{display:flex;flex-direction:column;gap:2rem}.no-fees-message{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#f8fafc,#e5e7eb);border-radius:16px;border:2px dashed #cbd5e1}.no-fees-message h3{color:#1f2937;font-size:1.5rem;margin-bottom:1rem;font-weight:700}.no-fees-message p{color:#6b7280;font-size:1rem;margin-bottom:2rem}.generate-fees-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 32px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.generate-fees-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.generate-fees-btn:disabled{opacity:.6;cursor:not-allowed}.loading-message{text-align:center;padding:3rem 2rem;color:#6b7280;font-size:1.1rem}.fee-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.fee-summary-card{background:#fff;padding:1.5rem;border-radius:16px;text-align:center;border:2px solid #e5e7eb;box-shadow:0 4px 12px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.fee-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.fee-summary-card:hover:before{transform:scaleX(1)}.fee-summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea26}.fee-summary-card h4{margin:0 0 .75rem;color:#6b7280;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.fee-summary-card .amount{font-size:1.75rem;font-weight:800;color:#1f2937;font-family:Segoe UI,system-ui,sans-serif}.fee-summary-card.paid{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.fee-summary-card.paid .amount{color:#059669;text-shadow:0 2px 4px rgba(5,150,105,.1)}.fee-summary-card.pending{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.fee-summary-card.pending .amount{color:#d97706;text-shadow:0 2px 4px rgba(217,119,6,.1)}.fee-summary-card.overdue{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.fee-summary-card.overdue .amount{color:#dc2626;text-shadow:0 2px 4px rgba(220,38,38,.1)}.fee-calendar h4{margin:0 0 1rem;color:#1e293b;font-size:1.1rem}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}.calendar-month{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem .5rem;text-align:center;transition:all .2s ease}.calendar-month:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.calendar-month.paid{border-color:#10b981;background:#f0fdf4}.calendar-month.overdue{border-color:#ef4444;background:#fef2f2}.calendar-month.pending{border-color:#f59e0b;background:#fef3c7}.month-name{font-weight:600;color:#374151;font-size:.9rem;margin-bottom:.25rem}.month-year{font-size:.7rem;color:#9ca3af;font-weight:500;margin-bottom:.5rem}.month-status{margin-bottom:.5rem}.status-paid{color:#059669;font-size:1.2rem;font-weight:700}.status-overdue{color:#dc2626;font-size:1.2rem;font-weight:700}.status-pending{color:#d97706;font-size:1.2rem;font-weight:700}.month-amount{font-size:.8rem;color:#6b7280;font-weight:500}.fee-details h4{margin:0 0 1rem;color:#1e293b;font-size:1.1rem}.fee-table{overflow-x:auto}.fee-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.fee-table th,.fee-table td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb}.fee-table th{background:#f8fafc;font-weight:600;color:#374151;font-size:.9rem}.fee-table td{color:#1f2937;font-size:.9rem}.fee-row.paid{background-color:#f0fdf4}.fee-row.overdue,.fee-row.pending{background-color:#fef2f2}.fee-row.paid:hover{background-color:#dcfce7}.fee-row.overdue:hover,.fee-row.pending:hover{background-color:#fee2e2}.academic-info h4{margin:0 0 1rem;color:#1e293b;font-size:1.1rem}.academic-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.modal-footer{display:flex;justify-content:flex-end;padding:1.5rem 2rem;border-top:2px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#fff);min-height:80px}.footer-buttons{display:flex;gap:1rem;align-items:center;justify-content:flex-end;width:100%}.footer-buttons .action-btn{flex-shrink:0;margin:0;padding:.875rem 1.75rem;height:48px;display:flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:.95rem;font-weight:600;white-space:nowrap;text-decoration:none;line-height:1;box-sizing:border-box;position:relative;box-shadow:0 2px 8px #00000014}.footer-buttons .action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.footer-buttons .action-btn:active{transform:translateY(0)}.action-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.875rem 1.75rem;border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:.95rem;font-weight:600;height:48px;display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;text-decoration:none;line-height:1;box-sizing:border-box;box-shadow:0 4px 12px #667eea4d}.action-btn:hover{background:linear-gradient(135deg,#5568d3,#6941a3);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.action-btn.secondary{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 4px 12px #6b72804d}.action-btn.secondary:hover{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 6px 20px #6b728066}.action-btn.primary{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.action-btn.primary:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 20px #10b98166}.action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.status-badge{padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#fff}.status-badge.pending,.status-badge.overdue{background:#ef4444}.calendar-month.paid{border-color:#10b981;background:#d1fae5;color:#065f46}.calendar-month.overdue{border-color:#ef4444;background:#fee2e2;color:#991b1b}.calendar-month.pending{border-color:#f59e0b;background:#fef3c7;color:#92400e}@media(max-width:1200px){.info-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.student-detail-modal{max-width:95vw;margin:10px;width:100%;height:90vh}.modal-header,.modal-content,.modal-footer{padding:1rem}.modal-tabs{overflow-x:auto}.tab-btn{padding:.75rem 1rem;white-space:nowrap}.info-grid{grid-template-columns:1fr}.fee-summary{grid-template-columns:repeat(2,1fr)}.calendar-grid{grid-template-columns:repeat(3,1fr)}.academic-actions{flex-direction:column}.modal-footer{flex-direction:column;align-items:stretch}.footer-buttons{flex-direction:column;gap:.5rem}.modal-footer .action-btn{width:100%;justify-content:center}}.teacher-avatar{background:linear-gradient(135deg,#667eea,#764ba2);padding:5px 10px;border-radius:30%;color:#e5e7eb}.btn-edit{background-color:#667eea!important;width:fit-content}.btn-save{padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;background:#ecf0f1;color:#2c3e50}.student-detail-tabs{display:flex;justify-content:center;gap:10px;padding:5px}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1.5rem}.class-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;transition:all .3s ease}.class-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#667eea}.class-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #f3f4f6}.class-card-header h4{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937}.class-id{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:4px 8px;border-radius:6px}.class-card-body{display:flex;flex-direction:column;gap:.5rem}.subject-name{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#374151;margin:0}.subject-icon{font-size:1.25rem}.subject-id{font-size:.875rem;color:#6b7280;margin:0}.subjects-summary{margin-top:2rem;padding:1.5rem;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.subjects-summary h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#1f2937}.subjects-list{display:flex;flex-direction:column;flex-wrap:wrap;gap:.5rem}.subject-badge{display:inline-flex;align-items:center;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:.875rem;font-weight:500;transition:all .2s ease}.subject-badge:hover{transform:scale(1.05);box-shadow:0 2px 8px #667eea66}.empty-state{text-align:center;padding:3rem 2rem;background:#f9fafb;border-radius:12px;border:2px dashed #e5e7eb}.empty-state p{font-size:1.25rem;margin:0 0 .5rem;color:#6b7280}.empty-state span{font-size:.875rem;color:#9ca3af}@media(max-width:768px){.classes-grid{grid-template-columns:1fr}.class-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.subjects-list{justify-content:center}}.nts-avatar{background:linear-gradient(135deg,#f59e0b,#ea580c)}.nts-detail-modal .student-detail-header{border-bottom:3px solid #f59e0b}.header-meta{gap:10px;display:flex}.nts-detail-modal .tab.active{border-bottom-color:#f59e0b;color:#ea580c}.nts-detail-modal .btn-edit{background:linear-gradient(135deg,#f59e0b,#ea580c)}.nts-detail-modal .btn-edit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.nts-detail-modal .btn-save{background:linear-gradient(135deg,#22c55e,#16a34a)}.nts-detail-modal .btn-save:hover{box-shadow:0 4px 12px #22c55e66}.nts-detail-modal .status-badge{font-weight:600;text-transform:uppercase;letter-spacing:.5px}.header-left{display:flex;width:100%}@media(max-width:768px){.nts-detail-modal .header-left{flex-direction:column;align-items:flex-start;gap:1rem}.nts-detail-modal .header-right{width:100%;justify-content:flex-end}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:90%;max-height:90vh;overflow:auto;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.school-profile-modal{width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #f3f4f6}.modal-header h2{margin:0;font-size:1.5rem;color:#1f2937}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;transition:all .2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group label{font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.875rem}.form-group input,.form-group textarea{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;transition:all .2s;font-family:inherit}.logo-preview{margin-top:1rem;padding:1rem;background:#f9fafb;border-radius:8px;text-align:center}.logo-preview img{max-width:200px;max-height:100px;object-fit:contain}.logo-upload-section{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.btn-remove-logo{padding:.75rem 1.5rem;border-radius:8px;border:2px solid #ef4444;background:#fff;color:#ef4444;font-weight:600;cursor:pointer;transition:all .2s;font-size:.875rem}.btn-remove-logo:hover:not(:disabled){background:#ef4444;color:#fff}.btn-remove-logo:disabled{opacity:.5;cursor:not-allowed}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:2px solid #f3f4f6}.btn{padding:.75rem 1.5rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s;font-size:.875rem}.btn-secondary{background:#f3f4f6;color:#374151}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:500}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.loading-state{padding:3rem;text-align:center}.spinner{width:40px;height:40px;margin:0 auto 1rem;border:4px solid #f3f4f6;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}.loading-state p{color:#6b7280;font-size:.875rem}@media(max-width:768px){.school-profile-modal{width:95%;max-height:95vh}.form-grid{grid-template-columns:1fr}.modal-header{padding:1rem 1.5rem}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;flex-direction:column}.btn{width:100%}}.student-registration-form{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.form-header{margin-bottom:32px;border-bottom:2px solid #f0f0f0;padding-bottom:16px}.form-he.form-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:32px;padding-top:24px;border-top:2px solid #e2e8f0}.form-header h2{font-size:1.75rem;color:#2c3e50;margin:0 0 8px;font-weight:600}.form-header p{color:#7f8c8d;margin:0;font-size:.95rem}.success-banner,.error-banner{padding:16px 20px;border-radius:8px;margin-bottom:24px;display:flex;align-items:center;gap:12px;font-size:.95rem;animation:slideDown .3s ease-out}.success-banner{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.error-banner{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.success-icon,.error-icon{font-size:1.2rem;font-weight:700}.loading-message{text-align:center;padding:60px 20px}.loading-message p{color:#7f8c8d;font-size:1rem}.registration-form{display:flex;flex-direction:column;gap:32px}.form-section{background:#f8f9fa;border-radius:10px;padding:24px;border:1px solid #e9ecef}.section-title{display:flex;align-items:center;gap:10px;color:#667eea;font-size:1.25rem;font-weight:600;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #e9ecef}.section-icon{font-size:1.4rem}.section-description{background:#e7f3ff;border-left:4px solid #667eea;padding:12px 16px;margin:0 0 20px;color:#495057;font-size:.9rem;border-radius:4px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:20px}.form-row:last-child{margin-bottom:0}.form-group:last-child{margin-bottom:0}.optional{color:#95a5a6;font-weight:400;font-size:.85rem}.field-hint{font-weight:400;color:#7f8c8d;font-size:.85rem;font-style:italic}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:2px solid #dee2e6;border-radius:8px;font-size:.95rem;transition:all .3s ease;background:#fff;color:#495057;font-family:inherit}.form-group select{color:#2c3e50!important;background-color:#fff!important}.form-group select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;min-height:44px;line-height:1.5;font-weight:500}.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;background-color:#fff}.form-group select{background-color:#fff!important}.form-group select option{padding:8px 12px;background-color:#fff!important;color:#2c3e50!important;font-size:.95rem;font-weight:400}.form-group select option[value=""]{color:#95a5a6!important;font-style:italic}.form-group select option:disabled{color:#bdc3c7!important;background-color:#f8f9fa!important}.form-group select:not([value=""]){font-weight:600;color:#2c3e50}.form-group select:valid:not([value=""]):not(:focus){border-color:#27ae60;background-color:#f0fff4!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#e74c3c;background:#fff5f5}.form-group textarea{resize:vertical;min-height:80px}.form-group input[type=file]{padding:10px;cursor:pointer}.file-selected{color:#27ae60;font-size:.9rem;font-weight:500;margin-top:4px}.error-message{color:#e74c3c;font-size:.85rem;font-weight:500;margin-top:4px;display:flex;align-items:center;gap:4px}.error-message:before{content:"⚠";font-size:.9rem}.form-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:32px;padding-top:24px;border-top:2px solid #e2e8f0}.btn-reset{background:linear-gradient(135deg,#f8f9fa,#e9ecef);color:#495057;border:2px solid #dee2e6;padding:14px 32px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px #00000014;position:relative;overflow:hidden}.btn-reset:before{content:"🔄";margin-right:4px;font-size:1.1rem;transition:transform .3s ease}.btn-reset:hover:not(:disabled){background:linear-gradient(135deg,#e9ecef,#dee2e6);border-color:#adb5bd;transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.btn-reset:hover:not(:disabled):before{transform:rotate(180deg)}.btn-reset:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.btn-reset:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 40px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #667eea66;position:relative;overflow:hidden}.btn-submit:before{content:"✓";margin-right:4px;font-size:1.2rem;font-weight:700}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6a3f8f);transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 3px 8px #667eea4d}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-submit:disabled:before{content:"";width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #667eea4d}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}@media(max-width:768px){.student-registration-form,.form-section{padding:16px}.form-row{grid-template-columns:1fr;gap:16px}.form-header h2{font-size:1.5rem}.section-title{font-size:1.1rem}.form-actions{flex-direction:column}.submit-btn{width:100%;justify-content:center}}@media(max-width:480px){.form-header h2{font-size:1.3rem}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;font-size:.9rem}}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:2px solid #667eea;outline-offset:2px}.form-group select:not([value=""]){border-color:#95afc0}@media print{.form-actions{display:none}.success-banner,.error-banner{border:2px solid currentColor}}.unified-registration{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014}.registration-header{text-align:center;margin-bottom:2rem}.registration-header h2{margin:0 0 .5rem;color:#1e293b;font-size:2rem;font-weight:700}.registration-header p{margin:0;color:#64748b;font-size:1rem}.registration-type-selector{display:flex;gap:1.5rem;justify-content:center;margin-bottom:2.5rem;flex-wrap:wrap}.type-btn{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem 2rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:.75rem;min-width:180px;box-shadow:0 2px 8px #0000000d}.type-btn:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 6px 20px #667eea33}.type-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.type-icon{font-size:2.5rem;transition:transform .3s ease}.type-btn:hover .type-icon{transform:scale(1.1)}.type-label{font-weight:600;font-size:1rem;text-align:center}.type-btn.active .type-label{color:#fff}.registration-form-container{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.registration-type-selector{flex-direction:column;align-items:stretch}.type-btn{min-width:100%}.unified-registration{padding:1.5rem}}.session-management{padding:24px;max-width:1400px;margin:0 auto}.session-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.session-header h2{font-size:1.75rem;color:#2c3e50;margin:0 0 8px;font-weight:600}.session-header p{color:#7f8c8d;margin:0;font-size:.95rem}.btn-create-session{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-create-session:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-create-session:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner p{color:#7f8c8d;font-size:1rem}.session-form-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;margin-bottom:32px;border:2px solid #667eea}.session-form .form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e9ecef}.session-form .form-header h3{color:#667eea;margin:0;font-size:1.25rem}.btn-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#95a5a6;transition:color .2s;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.error-icon{font-size:1rem}.form-group input[type=text],.form-group input[type=date]{padding:12px 16px;border:2px solid #dee2e6;border-radius:8px;font-size:.95rem;transition:all .3s ease;background:#fff;color:#2c3e50!important;background-color:#fff!important}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.form-group input.error{border-color:#e74c3c;background-color:#fff5f5!important}.checkbox-group{grid-column:1 / -1}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;color:#2c3e50}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.sessions-list{margin-top:32px}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.session-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;border:2px solid transparent}.session-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #0000001f}.session-card.status-active{border-color:#27ae60;background:linear-gradient(to bottom,#f0fff4,#fff)}.session-card.status-upcoming{border-color:#3498db}.session-card.status-past{border-color:#95a5a6;opacity:.8}.session-card-header{margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e9ecef}.session-card-header h3{font-size:1.25rem;color:#2c3e50;margin:0 0 8px}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge.active{background:#d4edda;color:#155724}.status-badge.upcoming{background:#cce5ff;color:#004085}.status-badge.past{background:#e2e3e5;color:#383d41}.status-badge.inactive{background:#fff3cd;color:#856404}.session-card-body{margin-bottom:20px}.session-info{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:center;flex-direction:row;align-items:center}.session-card-footer{display:flex;justify-content:center;align-items:center;gap:8px;padding-top:16px;border-top:2px solid #e9ecef}.btn-set-active{background:#27ae60;color:#fff}.btn-set-active:hover{background:#229954;transform:scale(1.05)}.btn-edit{background:#3498db;color:#fff}.btn-edit:hover{background:#2980b9;transform:scale(1.05)}.btn-delete{background:#e74c3c;color:#fff}@media(max-width:768px){.session-management{padding:16px}.session-header{flex-direction:column;gap:16px}.btn-create-session{width:100%}.sessions-grid,.form-grid{grid-template-columns:1fr}.btn-action{width:100%}}@media(max-width:480px){.session-header h2{font-size:1.5rem}.session-form-container{padding:16px}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.class-management{padding:24px;max-width:1400px;margin:0 auto}.class-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.class-header h2{font-size:1.75rem;color:#2c3e50;margin:0 0 8px;font-weight:600}.class-header p{color:#7f8c8d;margin:0;font-size:.95rem}.header-actions{display:flex;gap:12px}.btn-create-class,.btn-copy-classes{padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-create-class{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-create-class:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-copy-classes{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;box-shadow:0 4px 12px #f093fb4d}.btn-copy-classes:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f093fb66}.btn-create-class:disabled,.btn-copy-classes:disabled{opacity:.6;cursor:not-allowed;transform:none}.session-filter{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:32px;display:flex;align-items:center;gap:16px}.session-filter label{font-weight:600;color:#2c3e50;font-size:1rem}.session-filter select{flex:1;max-width:400px;padding:12px 16px;border:2px solid #dee2e6;border-radius:8px;font-size:.95rem;background:#fff;color:#2c3e50;cursor:pointer;transition:all .3s ease}.session-filter select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.alert-close{margin-left:auto;background:none;border:none;font-size:1.5rem;cursor:pointer;opacity:.6;transition:opacity .2s}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;animation:scaleIn .2s ease-out}.modal-header{padding:24px;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;color:#2c3e50;font-size:1.25rem}.modal-footer{padding:20px 24px;border-top:2px solid #e9ecef;display:flex;justify-content:flex-end;gap:12px}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.class-form-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;margin-bottom:32px;border:2px solid #667eea}.class-form .form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e9ecef}.class-form .form-header h3{color:#667eea;margin:0;font-size:1.25rem}.btn-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#95a5a6;transition:color .2s;padding:0;width:32px;height:32px}.btn-close:hover{color:#e74c3c}.form-error{background-color:#fff5f5;border:1px solid #feb2b2;color:#c53030;padding:12px 16px;border-radius:6px;margin-bottom:20px;display:flex;align-items:center;gap:8px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.form-group label{font-weight:600;color:#2c3e50;font-size:.95rem;display:flex;flex-direction:column;gap:4px}.required{color:#e74c3c;font-weight:700}.hint{font-weight:400;color:#7f8c8d;font-size:.85rem;font-style:italic}.form-group input,.form-group select{padding:12px 16px;border:2px solid #dee2e6;border-radius:8px;font-size:.95rem;transition:all .3s ease;background:#fff;color:#2c3e50}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.form-group input.error,.form-group select.error{border-color:#e74c3c;background-color:#fff5f5}.error-text{color:#e74c3c;font-size:.85rem;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:2px solid #e9ecef}.btn-cancel,.btn-submit{padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-cancel{background:#f8f9fa;color:#495057;border:2px solid #dee2e6}.btn-cancel:hover:not(:disabled){background:#e9ecef}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d;display:flex;align-items:center;gap:8px}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{text-align:center;padding:60px 20px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}.empty-state{text-align:center;padding:80px 20px;background:#f8f9fa;border-radius:12px;border:2px dashed #dee2e6}.empty-icon{font-size:4rem;margin-bottom:16px}.empty-state h3{color:#2c3e50;margin:0 0 8px;font-size:1.5rem}.empty-state p{color:#7f8c8d;margin:0 0 24px}.link-button{background:none;border:none;color:#3498db;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0}.link-button:hover{color:#2980b9}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.class-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;border:2px solid #e9ecef}.class-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #0000001f;border-color:#667eea}.class-card-header{margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.class-card-header h3{font-size:1.25rem;color:#2c3e50;margin:0}.student-count{background:#e3f2fd;color:#1565c0;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.class-card-body{margin-bottom:20px}.class-info{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:space-between;align-items:center}.info-label{color:#7f8c8d;font-size:.9rem;font-weight:500}.info-value{color:#2c3e50;font-weight:600;font-size:.95rem}.class-card-footer{display:flex;justify-content:center;align-items:center;gap:8px;padding-top:16px;border-top:2px solid #e9ecef}.btn-action{flex:1;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-edit{background:#3498db;color:#fff;width:100%}.btn-edit:hover:not(:disabled){background:#2980b9;transform:scale(1.05)}.btn-delete{background:#e74c3c;color:#fff;width:100%}.btn-delete:hover:not(:disabled){background:#c0392b;transform:scale(1.05)}.btn-delete:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}@media(max-width:768px){.class-management{padding:16px}.class-header{flex-direction:column;gap:16px}.header-actions{width:100%;flex-direction:column}.btn-create-class,.btn-copy-classes{width:100%}.session-filter{flex-direction:column;align-items:stretch}.session-filter select{max-width:none}.classes-grid,.form-grid{grid-template-columns:1fr}.modal-content{width:100%}}.event-management{padding:20px}.event-header{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px;margin-bottom:20px}.event-header h2{margin:0;color:#2c3e50}.alert{padding:12px 20px;border-radius:6px;margin-bottom:20px;font-weight:500}.event-form-container{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.event-form-container h3{margin-top:0;margin-bottom:20px;color:#2c3e50}.event-form{display:flex;flex-direction:column;gap:16px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4a90e2}.btn-secondary{background-color:#95a5a6;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-secondary:hover{background-color:#7f8c8d}.events-list{margin-top:30px}.events-list h3{margin-bottom:20px;color:#2c3e50}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.event-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.event-card-header{display:flex;justify-content:space-between;align-items:start;padding:16px;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.event-card-header h4{margin:0;color:#2c3e50;font-size:18px;flex:1}.event-type-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize;margin-left:12px}.event-type-badge.academic{background-color:#e3f2fd;color:#1976d2}.event-type-badge.sports{background-color:#fff3e0;color:#f57c00}.event-type-badge.cultural{background-color:#f3e5f5;color:#7b1fa2}.event-type-badge.holiday{background-color:#e8f5e9;color:#388e3c}.event-type-badge.exam{background-color:#ffebee;color:#c62828}.event-type-badge.meeting{background-color:#fff9c4;color:#f57f17}.event-type-badge.other{background-color:#eceff1;color:#546e7a}.event-card-body{padding:16px}.event-description{margin:0 0 16px;color:#555;line-height:1.5}.event-details{display:flex;flex-direction:column;gap:8px}.event-detail{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.event-detail .icon{font-size:16px}.event-card-actions{display:flex;gap:8px;padding:12px 16px;background-color:#f8f9fa;border-top:1px solid #e9ecef}.btn-edit,.btn-delete{flex:1;padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:13px;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-edit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #667eea33}.btn-delete{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;box-shadow:0 2px 4px #f5576c33}@media(max-width:768px){.form-row,.events-grid{grid-template-columns:1fr}.event-header{flex-direction:column;align-items:flex-start;gap:12px}}.subject-management{padding:24px;margin:0 auto;display:flex;justify-content:start;width:100%;flex-direction:column}.subject-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;margin-bottom:32px;padding:20px;width:100%;border-radius:10px;border-bottom:2px solid #e9ecef}.subject-header h2{margin:0 0 8px;color:#2c3e50;font-size:1.75rem;font-weight:600}.subject-header p{color:#7f8c8d;margin:0;font-size:.95rem}.alert{padding:16px 20px;border-radius:8px;margin-bottom:24px;display:flex;align-items:center;gap:12px;font-size:.95rem;animation:slideDown .3s ease-out}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-icon{font-size:1.2rem;font-weight:700}.alert-close{margin-left:auto;background:none;border:none;font-size:1.5rem;cursor:pointer;opacity:.6;transition:opacity .2s;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.subject-form-container{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:32px;border:2px solid #667eea}.subject-form-container h3{margin-top:0;margin-bottom:20px;color:#667eea;font-size:1.25rem}.subject-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:6px;font-weight:500;color:#555;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:12px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;transition:all .2s;background:#fff}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#cbd5e1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.form-group textarea{resize:vertical;font-family:inherit}.form-actions{display:flex;gap:12px;margin-top:8px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;box-shadow:0 4px 6px #667eea33}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea4d;background:linear-gradient(135deg,#764ba2,#667eea)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#f3f4f6;color:#374151;border:2px solid #dee2e6;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px;transition:all .2s ease}.btn-secondary:hover{background:#e5e7eb;transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.subjects-list{margin-top:30px;overflow-x:auto}.subjects-list h3{margin-bottom:20px;color:#2c3e50}.loading,.no-data{text-align:center;padding:40px;color:#666;font-size:16px}.subjects-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow-x:auto;border:2px solid #e9ecef}.subjects-table{width:100%;overflow-x:auto;border-collapse:collapse}.subjects-table thead{background-color:#f8f9fa}.subjects-table th{padding:14px 16px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.subjects-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s}.subjects-table tbody tr:hover{background-color:#f8f9fa}.subjects-table td{padding:14px 16px;color:#555}.subject-code{font-weight:600;color:#4a90e2}.subject-name{font-weight:500;color:#2c3e50}.subject-description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-actions{display:flex;justify-content:center;align-items:center;width:100%;gap:8px}.btn-assign{background-color:#9b59b6;color:#fff;border:none;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-assign:hover{background-color:#8e44ad}.btn-edit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;width:100%!important;transition:all .3s ease;box-shadow:0 2px 4px #667eea33;display:inline-flex;align-items:center;gap:6px}.btn-edit:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d;background:linear-gradient(135deg,#764ba2,#667eea)}.btn-edit:active{transform:translateY(0)}.btn-delete{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #f5576c33;display:inline-flex;align-items:center;gap:6px;width:100%!important}.btn-delete:hover{transform:translateY(-2px);box-shadow:0 4px 8px #f5576c4d;background:linear-gradient(135deg,#f5576c,#f093fb)}.btn-delete:active{transform:translateY(0)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.modal-header h3{margin:0;color:#2c3e50;font-size:18px}.modal-close{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:#333}.modal-body{padding:24px;overflow-y:auto}.modal-subject-info{margin:0 0 20px;padding:12px;background-color:#f8f9fa;border-left:4px solid #4a90e2;border-radius:4px}.modal-subject-info strong{color:#2c3e50}.class-select{width:100%}.modal-footer{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #e9ecef;background-color:#f8f9fa}.header-buttons{display:flex;gap:12px}.btn-success{background-color:#28a745;color:#fff;padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-success:hover{background-color:#218838}.bulk-form-container{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.bulk-form-container h3{margin-top:0;margin-bottom:20px;color:#2c3e50}.bulk-subject-form{display:flex;flex-direction:column;gap:20px}.bulk-subjects-list{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background-color:#f8f9fa}.bulk-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bulk-list-header h4{margin:0;color:#2c3e50;font-size:16px}.btn-add-small{background-color:#007bff;color:#fff;padding:6px 14px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-add-small:hover{background-color:#0056b3}.bulk-subject-row{display:grid;grid-template-columns:30px 1fr 1fr auto;gap:12px;align-items:center;margin-bottom:12px;padding:12px;background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a}.subject-number{font-weight:600;color:#666;font-size:14px}.form-input,.form-select{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-input:focus,.form-select:focus{outline:none;border-color:#007bff}.btn-remove{background-color:#dc3545;color:#fff;padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;transition:background-color .2s;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.btn-remove:hover{background-color:#c82333}@media(max-width:768px){.form-row{grid-template-columns:1fr}.subject-header{flex-direction:column;align-items:flex-start;gap:12px}.header-buttons{width:100%;flex-direction:column}.header-buttons button{width:100%}.bulk-subject-row{grid-template-columns:1fr;gap:8px}.subject-number{grid-column:1 / -1}.btn-remove{width:100%}.subjects-table-container{overflow-x:auto}.subjects-table{min-width:600px;overflow-x:auto}.subject-actions{flex-direction:column}.modal-content{width:95%}}.fee-management-container{padding:24px;background:#f8f9fa;min-height:100vh;width:100%}.fee-header{margin-bottom:24px}.fee-header h2{font-size:2rem;color:#2c3e50;margin:0 0 8px;font-weight:700}.fee-header p{color:#7f8c8d;margin:0;font-size:1rem}.fee-content{display:flex;gap:20px;justify-content:space-around;flex-wrap:wrap}.student-selection-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden}.student-search-wrapper{padding:20px;border-bottom:2px solid #e9ecef;background:#f8f9fa;position:relative;display:flex;gap:10px;align-items:center}.student-search-wrapper:before{content:"🔍";position:absolute;left:38px;top:50%;transform:translateY(-50%);font-size:18px;pointer-events:none;z-index:1}.student-search-input{flex:1;padding:14px 20px 14px 50px;border:2px solid #cbd5e1;border-radius:10px;font-size:.95rem;transition:all .3s ease;background:#fff;font-weight:500}.student-search-input::placeholder{color:#94a3b8;font-weight:500}.student-search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea26;background:#fff}.refresh-button{padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d;display:flex;align-items:center;justify-content:center;min-width:48px;height:48px}.refresh-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.refresh-button:active:not(:disabled){transform:scale(.95)}.student-list{flex:1;overflow-y:auto;padding:8px}.student-item{padding:14px;border-radius:8px;margin-bottom:6px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.student-item:hover{background:#f8f9fa;border-color:#e2e8f0}.student-item.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.student-info{display:flex;flex-direction:column;gap:4px}.student-name{color:#2c3e50;font-weight:600;font-size:1rem}.student-item.selected .student-name{color:#fff;font-weight:700}.student-details{color:#2c3e50;font-size:.85rem;opacity:.8}.student-item.selected .student-details{color:#fff;opacity:.95;font-weight:500}.fee-details-panel{background:#fff;gap:20px;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px;overflow-y:auto;overflow-x:auto;max-width:100%}.fee-details-panel>*{min-width:max-content}.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#475569;padding:40px}.empty-icon,.error-icon{font-size:5rem;margin-bottom:24px;opacity:.9}.empty-state h3,.error-state h3{color:#0f172a;margin:0 0 12px;font-size:1.5rem;font-weight:700}.empty-state p,.error-state p{color:#475569;margin:0;font-size:1.05rem;max-width:400px;line-height:1.6;font-weight:500}.loading-state{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.1rem;color:#667eea}.student-fee-header{margin-bottom:24px;height:fit-content;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;box-shadow:0 4px 12px #667eea4d}.student-fee-header h3{font-size:1.75rem;color:#fff;margin:0 0 8px;font-weight:700}.student-meta{display:flex;gap:20px;font-size:.95rem;color:#ffffffe6;font-weight:500}.student-meta span{display:flex;align-items:center;gap:6px}.fee-summary{display:grid;height:fit-content;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:24px}.summary-card{padding:20px;width:100%;border-radius:12px;background:#fff;border:2px solid #e2e8f0;border-left:5px solid #6b7280;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.summary-card.paid{background:#fff;border:2px solid #10b981;border-left:5px solid #10b981}.summary-card.pending{background:#fff;border:2px solid #f59e0b;border-left:5px solid #f59e0b}.summary-card.overdue{background:#fff;border:2px solid #ef4444;border-left:5px solid #ef4444}.summary-label{font-size:.9rem;color:#6b7280;margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:1.75rem;font-weight:700;color:#2c3e50}.success-message{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;padding:14px 18px;border-radius:8px;margin-bottom:16px;border-left:4px solid #10b981;font-weight:500}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;padding:14px 18px;border-radius:8px;margin-bottom:16px;border-left:4px solid #ef4444;font-weight:500}.monthly-fees-section{margin-bottom:24px}.monthly-fees-section h4{font-size:1.25rem;color:#2c3e50;margin:0 0 16px;font-weight:600}.monthly-fees-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.fee-month-card{padding:18px;border-radius:12px;background:#fff;border:2px solid #e2e8f0;transition:all .3s ease;cursor:pointer;box-shadow:0 2px 8px #00000014}.fee-month-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0000001f;border-color:#cbd5e1}.fee-month-card.paid{background:#fff;border:2px solid #10b981;border-width:3px;cursor:default}.fee-month-card.paid:hover{transform:none;box-shadow:0 2px 8px #10b98133}.fee-month-card.pending{border:2px solid #f59e0b;border-width:3px;background:#fffbeb}.fee-month-card.pending:hover{border-color:#f59e0b;background:#fff}.fee-month-card.overdue{border:2px solid #ef4444;border-width:3px;background:#fef2f2}.fee-month-card.overdue:hover{border-color:#ef4444;background:#fff}.fee-month-card.selected{border-color:#667eea;border-width:3px;box-shadow:0 0 0 4px #667eea33;transform:translateY(-3px);background:#f0f4ff}.fee-month-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.month-name{font-weight:600;font-size:1rem;color:#2c3e50}.fee-status-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;display:inline-flex;align-items:center;gap:4px}.fee-month-details{display:flex;flex-direction:column;gap:6px;margin-top:8px}.fee-amount{font-size:1.6rem;font-weight:800;color:#1e293b;letter-spacing:-.5px}.fee-due-date,.fee-payment-date,.fee-receipt{font-size:.875rem;color:#64748b;font-weight:500}.fee-due-date{color:#f59e0b;font-weight:600}.fee-payment-date{color:#10b981;font-weight:600}.fee-receipt{color:#667eea;font-weight:600;font-family:Courier New,monospace}.payment-form-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:20px;border-radius:10px;border:2px solid #e2e8f0;margin-top:24px}.payment-form-section h4{font-size:1.25rem;color:#2c3e50;margin:0 0 16px;font-weight:600}.payment-form{display:flex;flex-direction:column;gap:16px}.payment-details{background:#fff;padding:16px;border-radius:8px;border:1px solid #e2e8f0}.payment-info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f1f5f9}.payment-info-row:last-child{border-bottom:none}.payment-info-row .label{font-weight:500;color:#6b7280}.payment-info-row .value{font-weight:600;color:#2c3e50}.form-group label{font-weight:600;color:#2c3e50;font-size:.95rem}.receipt-input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .3s ease}.receipt-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.payment-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btn-cancel,.btn-pay{padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-cancel{background:linear-gradient(135deg,#f8f9fa,#e9ecef);color:#495057;border:2px solid #dee2e6}.btn-cancel:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);transform:translateY(-1px)}.btn-pay{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-pay:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-pay:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:1200px){.monthly-fees-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(max-width:968px){.student-selection-panel{max-height:300px}.fee-summary{grid-template-columns:repeat(1,1fr)}.monthly-fees-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media(max-width:640px){.fee-management-container{padding:16px}.fee-header h2{font-size:1.5rem}.fee-summary,.monthly-fees-grid{grid-template-columns:1fr}.payment-actions{flex-direction:column}.btn-cancel,.btn-pay{width:100%}}.timetable-management{padding:1rem;max-width:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.timetable-header{background:#fff;padding:1rem 1.5rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;gap:1rem}.timetable-header h1{margin:0;color:#1f2937;font-size:1.5rem}.timetable-header p{margin:0;color:#6b7280;font-size:.875rem}.btn-settings{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #667eea66;white-space:nowrap}.btn-settings:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea99}.class-selector-card{background:#fff;padding:1rem 1.5rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a}.class-selector-card label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#1f2937;margin-bottom:1rem;font-size:1.1rem}.label-icon{font-size:1.5rem}.class-select{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s;background:#fff}.class-select:hover{border-color:#3b82f6}.timetable-container{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.timetable-info{display:flex;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.info-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;font-weight:600;box-shadow:0 2px 4px #0000001a}.info-icon{font-size:1.5rem}.timetable-instructions{background:#eff6ff;border-left:4px solid #3b82f6;padding:1rem 1.5rem;border-radius:8px;margin-bottom:2rem}.timetable-instructions p{margin:0;color:#1e40af;font-size:.95rem}.timetable-grid-wrapper{overflow-x:auto;border-radius:8px;box-shadow:0 2px 4px #0000001a}.timetable-grid{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;font-size:.875rem}.timetable-grid th,.timetable-grid td{border:1px solid #e5e7eb;text-align:center;padding:.5rem}.day-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem .5rem;font-weight:600;min-width:90px;position:sticky;left:0;z-index:10;font-size:.875rem}.period-header{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.75rem .5rem;min-width:120px;font-weight:600}.period-header.lunch-header{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.period-number{font-size:.875rem;margin-bottom:.125rem}.period-time{font-size:.75rem;opacity:.9;font-weight:400}.day-cell{background:#f3f4f6;font-weight:600;color:#1f2937;padding:1rem;position:sticky;left:0;z-index:5}.lunch-cell{background:#fef3c7;padding:1rem}.lunch-indicator{font-weight:600;color:#92400e;display:flex;align-items:center;justify-content:center;gap:.5rem}.slot-cell{padding:.5rem;cursor:pointer;transition:all .2s;position:relative;height:100px}.slot-cell.empty{background:#f9fafb}.slot-cell.empty:hover{background:#e0f2fe;border-color:#3b82f6}.slot-cell.filled{background:#fff}.slot-cell.filled:hover{background:#f9fafb;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.empty-slot{height:100%;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-weight:500;transition:all .2s}.slot-cell.empty:hover .empty-slot{color:#3b82f6;font-size:1.1rem}.slot-content{padding:.75rem;border-radius:6px;background:#fff;height:100%;display:flex;flex-direction:column;gap:.25rem;position:relative}.slot-subject{font-weight:600;color:#1f2937;font-size:.95rem;line-height:1.2}.slot-teacher{font-size:.85rem;color:#6b7280}.slot-room{font-size:.8rem;color:#9ca3af;margin-top:auto}.delete-slot-btn{position:absolute;top:.25rem;right:.25rem;background:#fee2e2;color:#dc2626;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.9rem;cursor:pointer;opacity:0;transition:all .2s}.slot-cell.filled:hover .delete-slot-btn{opacity:1}.delete-slot-btn:hover{background:#dc2626;color:#fff}.delete-slot-btn:disabled{opacity:.5;cursor:not-allowed}.loading-state{background:#fff;padding:4rem 2rem;border-radius:12px;text-align:center;box-shadow:0 4px 6px #0000001a}.slot-info{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.info-badge{padding:.5rem 1rem;background:#eff6ff;border-radius:6px;font-size:.9rem;color:#1e40af}.info-badge strong{color:#1e3a8a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.form-control{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:6px;font-size:1rem;transition:all .2s}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite}.settings-modal{max-width:600px;max-height:90vh;overflow-y:auto}.settings-info{background:#f0f9ff;border-left:4px solid #3b82f6;padding:12px 16px;border-radius:6px;margin-bottom:20px}.settings-info p{margin:0;color:#1e40af;font-size:14px;line-height:1.6}.form-group small{display:block;margin-top:6px;color:#6b7280;font-size:13px}.settings-preview{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;padding:16px;margin-top:20px}.settings-preview h4{margin:0 0 12px;color:#374151;font-size:15px}.preview-periods{display:flex;flex-direction:column;gap:8px}.preview-period{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:10px 14px;border-radius:6px;border:1px solid #e5e7eb}.preview-label{font-weight:600;color:#1f2937;font-size:14px}.preview-time{color:#6b7280;font-size:13px}.preview-more{text-align:center;color:#9ca3af;font-size:13px;font-style:italic;margin-top:8px}.form-control{width:100%;padding:12px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;transition:all .2s;background:#fff}.form-control:hover{border-color:#cbd5e1}.form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.modal-header{padding:24px;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0}.modal-header h2{margin:0;color:#fff;font-size:22px;font-weight:700}.close-btn{background:#fff3;border:none;width:36px;height:36px;border-radius:50%;color:#fff;font-size:20px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body{padding:24px}.modal-footer{padding:24px;border-top:2px solid #e5e7eb;display:flex;justify-content:flex-end;gap:16px;background:#fafbfc;border-radius:0 0 16px 16px}.btn-primary,.btn-secondary{padding:14px 28px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:140px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 14px #667eea66}.btn-primary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #667eea80;background:linear-gradient(135deg,#5568d3,#653a8b)}.btn-primary:active:not(:disabled){transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:0 2px 8px #667eea33}.btn-secondary{background:#e5e7eb;color:#374151;border:2px solid #d1d5db;box-shadow:0 2px 8px #0000000d}.btn-secondary:hover:not(:disabled){background:#d1d5db;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.timetable-management{padding:1rem}.timetable-header{flex-direction:column;align-items:flex-start;gap:1rem}.timetable-header h1{font-size:1.5rem}.btn-settings{width:100%}.timetable-info{gap:1rem}.modal-content{width:95%;max-height:95vh}.settings-modal{max-width:95%}.info-item{font-size:.9rem;padding:.5rem 1rem}.modal-content{margin:1rem}.slot-info,.modal-footer{flex-direction:column}.btn-secondary,.btn-primary{width:100%}}.holiday-management{padding:2rem;width:100%;display:flex;flex-direction:column;margin:0 auto}.holiday-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.holiday-header h1{margin:0 0 .5rem;color:#1f2937;font-size:2rem}.holiday-header p{margin:0;color:#6b7280;font-size:1rem}.btn-add{padding:.75rem 2rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #10b98133}.btn-add:hover{transform:translateY(-2px);box-shadow:0 4px 8px #10b9814d}.btn-add:disabled{opacity:.5;cursor:not-allowed;transform:none}.notification{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;animation:slideIn .3s ease-out}.notification.error{background:#fee2e2;border-left:4px solid #dc2626;color:#991b1b}.notification.success{background:#d1fae5;border-left:4px solid #10b981;color:#065f46}.notification button{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:0;color:inherit;opacity:.7;transition:opacity .2s}.notification button:hover{opacity:1}.loading-state{background:#fff;padding:4rem 2rem;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000001a}.spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.empty-state{background:#fff;padding:4rem 2rem;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000001a}.empty-state h3{color:#1f2937;margin:0 0 .5rem}.empty-state p{color:#6b7280;margin:0}.holidays-container{display:flex;flex-direction:column;gap:2rem}.month-group{background:#fff;border-radius:12px;padding:10px;box-shadow:0 2px 8px #0000001a}.month-header{margin:0 0 1.5rem;color:#1f2937;font-size:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.holidays-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.holiday-card{display:flex;padding:10px;gap:1rem;background:linear-gradient(135deg,#f9fafb,#fff);border:2px solid #e5e7eb;border-radius:12px;transition:all .2s}@media(max-width:768px){.holiday-card{flex-direction:column}}.holiday-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026;border-color:#3b82f6}.holiday-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;padding:.75rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:8px;font-weight:600}.date-day{font-size:2rem;line-height:1}.date-month{font-size:.9rem;text-transform:uppercase;margin-top:.25rem;opacity:.9}.holiday-details{flex:1;display:flex;justify-content:center;align-items:center;flex-direction:column;min-width:0;height:100%}.holiday-title{margin:0 0 .5rem;color:#1f2937;font-size:1.25rem;font-weight:600}.holiday-day{margin:0 0 .5rem;color:#6b7280;font-size:.9rem}.holiday-description{margin:0;color:#6b7280;font-size:.9rem;line-height:1.5}.holiday-actions{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:.5rem}.btn-edit,.btn-delete{padding:.5rem;border:none;border-radius:6px;font-size:1.2rem;cursor:pointer;transition:all .2s;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.btn-edit{background:#dbeafe;color:#1e40af}.btn-edit:hover{background:#3b82f6;color:#fff}.btn-delete{background:#fee2e2;color:#dc2626}.btn-delete:hover{background:#dc2626;color:#fff}.btn-edit:disabled,.btn-delete:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a;animation:slideUp .3s ease-out}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;color:#1f2937;font-size:1.5rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#1f2937}.modal-body{padding:2rem}.form-group label{display:block;font-weight:600;color:#1f2937;margin-bottom:.5rem}.required{color:#dc2626;margin-right:.25rem}.form-control{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:6px;font-size:1rem;font-family:inherit;transition:all .2s}.form-control:hover{border-color:#d1d5db}.form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}textarea.form-control{resize:vertical;min-height:80px}.modal-footer{padding:1.5rem 2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:1rem}.btn-secondary,.btn-primary{padding:.75rem 2rem;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;border:none}.btn-secondary{background:#f3f4f6;color:#1f2937}.btn-secondary:hover{background:#e5e7eb}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 8px #3b82f64d}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.holiday-management{padding:1rem}.holiday-header{flex-direction:column;align-items:flex-start}.btn-add{width:100%}.holidays-grid{grid-template-columns:1fr}.modal-content{margin:1rem}.modal-footer{flex-direction:column}.btn-secondary,.btn-primary{width:100%}}.marks-upload-container{padding:20px;background:#f8f9fa;min-height:calc(100vh - 120px)}.marks-upload-header{margin-bottom:20px;background:#fff;padding:16px 20px;border-radius:10px;box-shadow:0 2px 6px #00000014}.marks-upload-header h2{margin:0 0 6px;color:#2d3748;font-size:1.5rem;display:flex;align-items:center;gap:8px}.marks-upload-header p{margin:0;color:#718096;font-size:.9rem}.alert{padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px;font-weight:500;animation:slideDown .3s ease-out}.alert-error{background:#fee;border-left:4px solid #dc3545;color:#dc3545}.alert span{font-size:1.2rem}.marks-upload-form{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 6px #00000014}.selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:20px;position:relative;z-index:1}.form-group{display:flex;flex-direction:column;position:relative}.form-group label{font-weight:600;color:#2d3748;margin-bottom:6px;font-size:.85rem}.form-group select{padding:10px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:all .2s;background:#fff;cursor:pointer;position:relative;z-index:1;max-height:300px}.form-group select option{padding:10px 15px;background:#fff;color:#2d3748;font-size:1rem;line-height:1.5}.form-group select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;z-index:10}.form-group select:disabled{background:#f7fafc;cursor:not-allowed;opacity:.6}.loading-text{color:#4299e1;font-size:.85rem;margin-top:5px;font-style:italic}.marks-table-container{margin-top:20px;border:2px solid #e2e8f0;border-radius:10px;overflow:hidden}.table-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.table-header h3{margin:0;color:#fff;font-size:1.1rem}.table-actions{display:flex;align-items:center;gap:12px}.max-marks-info{background:#fff3;padding:6px 14px;border-radius:16px;color:#fff;font-weight:600;font-size:.85rem}.btn-reset{padding:6px 14px;background:#fff;color:#667eea;border:none;border-radius:5px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.85rem}.btn-reset:hover:not(:disabled){background:#f7fafc;transform:translateY(-2px)}.btn-reset:disabled{opacity:.5;cursor:not-allowed}.marks-table{width:100%;border-collapse:collapse;background:#fff}.marks-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.marks-table th{padding:12px 10px;text-align:left;font-weight:700;color:#2d3748;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.marks-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .2s}.marks-table tbody tr:hover{background:#f7fafc}.marks-table td{padding:12px 10px;color:#4a5568;font-size:.9rem}.pan-number{font-family:Courier New,monospace;font-weight:600;color:#2d3748}.student-name{font-weight:600;color:#2d3748}.marks-input{width:100%;max-width:100px;padding:8px 10px;border:2px solid #e2e8f0;border-radius:5px;font-size:.9rem;transition:all .2s}.marks-input:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.grade-badge{display:inline-block;padding:4px 12px;border-radius:16px;font-weight:700;font-size:.8rem;text-align:center;min-width:45px}.grade-Aplus{background:#c6f6d5;color:#22543d}.grade-A{background:#9ae6b4;color:#22543d}.grade-Bplus{background:#68d391;color:#22543d}.grade-B{background:#48bb78;color:#fff}.grade-C{background:#fed7aa;color:#7c2d12}.grade-D{background:#fbd38d;color:#7c2d12}.grade-F{background:#fc8181;color:#742a2a}.percentage{font-weight:600;color:#4299e1}.loading-container{padding:60px 20px;text-align:center;background:#fff}.spinner{width:50px;height:50px;border:5px solid #e2e8f0;border-top:5px solid #4299e1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.spinner-small{display:inline-block;width:16px;height:16px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px}.loading-container p{color:#718096;font-size:1rem}.no-data{padding:60px 20px;text-align:center;background:#fff;color:#718096;font-size:1.1rem}.form-actions{margin-top:20px;padding-top:18px;border-top:2px solid #e2e8f0;display:flex;justify-content:flex-end;gap:12px}.btn-submit{padding:10px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px;box-shadow:0 3px 12px #667eea59}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.marks-upload-container{padding:20px 15px}.marks-upload-header{padding:20px}.marks-upload-header h2{font-size:1.5rem}.marks-upload-form{padding:20px 15px}.selection-grid{grid-template-columns:1fr;gap:15px}.table-header{flex-direction:column;align-items:flex-start}.marks-table{font-size:.85rem}.marks-table th,.marks-table td{padding:10px 8px}.btn-submit{width:100%;justify-content:center}}@media(max-width:480px){.marks-table thead{display:none}.marks-table tbody tr{display:block;margin-bottom:15px;border:2px solid #e2e8f0;border-radius:8px;padding:15px}.marks-table tbody tr:hover{background:#fff}.marks-table td{display:flex;justify-content:space-between;padding:8px 0;border:none}.marks-table td:before{content:attr(data-label);font-weight:700;color:#2d3748}.marks-input{max-width:150px}}.exam-management{padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.exam-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.exam-header h2{margin:0;font-size:1.75rem;color:#1f2937;font-weight:700}.exam-header p{margin:.5rem 0 0;color:#6b7280;font-size:.95rem}.add-exam-btn{padding:.875rem 1.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.add-exam-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.exam-filters{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;flex-wrap:wrap}.filter-group{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;color:#374151;font-size:.9rem}.filter-group select,.filter-group input[type=text]{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .2s;outline:none}.filter-group select:focus,.filter-group input[type=text]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-group{position:relative;flex:2}.clear-search{position:absolute;right:10px;top:38px;background:#ef4444;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.clear-search:hover{background:#dc2626;transform:scale(1.1)}.loading-message,.error-message{padding:2rem;text-align:center;background:#fff;border-radius:12px;margin-bottom:2rem}.error-message{color:#ef4444;font-weight:600}.no-exams{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.no-exams-icon{font-size:4rem;margin-bottom:1rem}.no-exams h3{margin:0 0 .5rem;font-size:1.5rem;color:#1f2937}.no-exams p{margin:0;color:#6b7280;font-size:1rem}.exams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.exam-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;overflow:hidden;border:2px solid transparent}.exam-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#667eea}.exam-card-header{padding:1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:1rem}.exam-card-header h3{margin:0;font-size:1.1rem;font-weight:700;flex:1}.exam-type-badge{padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:600;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap}.exam-card-body{padding:1.25rem}.exam-info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.6rem 0;border-bottom:1px solid #f3f4f6}.exam-info-row:last-child{border-bottom:none}.exam-info-row.instructions{flex-direction:column;gap:.5rem}.info-label{font-weight:600;color:#6b7280;font-size:.9rem}.info-value{font-weight:500;color:#1f2937;font-size:.9rem;text-align:right}.exam-info-row.instructions .info-value{text-align:left;color:#4b5563;font-size:.85rem;line-height:1.6}.exam-card-footer{display:flex;gap:.75rem;padding:1rem 1.25rem;background:#f9fafb;border-top:1px solid #e5e7eb}.exam-card-footer button{flex:1;padding:.7rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.edit-btn{background:#3b82f6;color:#fff}.edit-btn:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.delete-btn{background:#ef4444;color:#fff}.delete-btn:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px 16px 0 0}.modal-header h3{margin:0;font-size:1.4rem;font-weight:700}.close-modal-btn{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-modal-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.exam-form{padding:2rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:600;color:#374151;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.875rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;font-family:inherit;transition:all .2s;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;line-height:1.6}.modal-footer{display:flex;gap:1rem;padding:1.5rem 2rem 2rem;justify-content:flex-end}.modal-footer button{padding:.875rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn{background:#e5e7eb;color:#374151}.cancel-btn:hover{background:#d1d5db}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}@media(max-width:768px){.exam-management{padding:1rem}.exam-header{flex-direction:column;gap:1rem;text-align:center}.exam-filters{flex-direction:column}.exams-grid,.form-row{grid-template-columns:1fr}.modal-content{max-width:100%;margin:0;border-radius:0}}.gallery-management{padding:30px;max-width:1400px;margin:0 auto;background:#f5f7fa;min-height:100vh}.gallery-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;box-shadow:0 4px 6px #0000001a}.gallery-header h1{margin:0 0 10px;font-size:2.5rem;font-weight:700}.gallery-subtitle{margin:0;font-size:1.1rem;opacity:.9}.alert{padding:15px 20px;margin-bottom:20px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;font-size:1rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background-color:#fee;color:#c33;border:1px solid #fcc}.alert-success{background-color:#efe;color:#3c3;border:1px solid #cfc}.alert-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit;opacity:.7;transition:opacity .2s}.alert-close:hover{opacity:1}.gallery-controls{background:#fff;padding:25px;border-radius:10px;margin-bottom:30px;box-shadow:0 2px 8px #0000001a;display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}.control-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:150px;width:50%}.control-group label{font-weight:600;color:#333;font-size:.95rem}.session-select{padding:10px 15px;border:2px solid #ddd;border-radius:6px;font-size:1rem;background:#fff;cursor:pointer;transition:all .3s}.session-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.radio-group{display:flex;gap:15px;align-items:center}.radio-group label{display:flex;align-items:center;gap:6px;font-weight:400;cursor:pointer}.radio-group input[type=radio]{cursor:pointer;width:18px;height:18px}.refresh-btn{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.refresh-btn:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:20px}.loader{border:5px solid #f3f3f3;border-top:5px solid #667eea;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite}.loading-container p{font-size:1.1rem;color:#666}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;padding:10px}.gallery-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:all .3s;display:flex;flex-direction:column}.gallery-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.image-container{width:100%;height:280px;overflow:hidden;background:#f0f0f0;position:relative;display:flex;align-items:center;justify-content:center}.image-container img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .3s;background:#fff}.gallery-card:hover .image-container img{transform:scale(1.05)}.image-info{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.image-title{font-size:1.2rem;font-weight:600;color:#333;margin:0}.image-description{font-size:.95rem;color:#666;margin:0;line-height:1.5}.image-meta{display:flex;flex-direction:column;gap:5px;font-size:.85rem;color:#888;margin-top:auto;padding-top:10px;border-top:1px solid #eee}.uploaded-by,.upload-date{display:block}.action-buttons{display:flex;gap:10px;margin-top:15px}.edit-btn,.delete-btn{flex:1;padding:10px;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:5px}.edit-btn{background:linear-gradient(135deg,#667eea,#764ba2)}.edit-btn:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6a3f8f);transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.delete-btn{background:#ff4757}.delete-btn:hover:not(:disabled){background:#ee2f41;transform:translateY(-2px);box-shadow:0 4px 8px #ff47574d}.edit-btn:disabled,.delete-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.95rem}.no-images,.no-session-selected{text-align:center;padding:80px 20px;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a}.no-images p,.no-session-selected p{font-size:1.1rem;color:#666;margin:10px 0}.no-images p:first-child,.no-session-selected p{font-size:1.3rem;font-weight:600;color:#333}@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}}@media(max-width:768px){.gallery-management{padding:20px}.gallery-header h1{font-size:2rem}.gallery-controls{flex-direction:column;align-items:stretch}.control-group{min-width:100%}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.image-container{height:200px}}@media(max-width:480px){.gallery-header h1{font-size:1.5rem}.gallery-subtitle{font-size:.95rem}.gallery-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content{background:#fff;padding:30px;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;width:90%;animation:slideUp .3s ease-out;display:flex;flex-direction:column;gap:20px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{margin:0;font-size:1.5rem;color:#333;font-weight:600}.modal-content p{margin:0;color:#666;font-size:.95rem;line-height:1.5}.description-input{width:100%;min-height:120px;padding:12px 15px;border:2px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;transition:all .3s;box-sizing:border-box}.description-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.modal-btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.modal-btn-cancel{background:#f5f5f5;color:#666}.modal-btn-cancel:hover{background:#e0e0e0;transform:translateY(-2px)}.modal-btn-skip{background:#ffd93d;color:#333}.modal-btn-skip:hover{background:#ffce1f;transform:translateY(-2px);box-shadow:0 4px 8px #ffd93d66}.modal-btn-upload{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-btn-upload:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.modal-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}@media(max-width:600px){.modal-content{padding:20px;width:95%}.modal-actions{flex-direction:column}.modal-btn{width:100%;justify-content:center}}.messages-management{padding:2rem;width:100%;display:flex;flex-direction:column;min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h2{font-size:2rem;color:#1f2937;margin:0}.compose-btn{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.compose-btn:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.alert{padding:1rem;margin-bottom:1rem;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.alert button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit;opacity:.7;transition:opacity .2s}.alert button:hover{opacity:1}.broadcasts-container{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:5rem}.broadcast-card{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb;box-shadow:0 2px 8px #00000014;transition:all .2s}.broadcast-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.broadcast-header{margin-bottom:1rem}.broadcast-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.broadcast-title-row h3{font-size:1.25rem;color:#1f2937;margin:0}.priority-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.priority-high{background:#fee2e2;color:#991b1b!important}.priority-medium{background:#fef3c7;color:#92400e!important}.priority-low{background:#dbeafe;color:#1e40af!important}.broadcast-meta{display:flex;gap:1rem;font-size:.875rem;color:#6b7280}.recipient-type-badge{padding:.25rem .5rem;background:#eff6ff;color:#1e40af;border-radius:6px;font-weight:500}.broadcast-body{margin-bottom:1rem}.broadcast-message{color:#4b5563;line-height:1.6;margin:0}.broadcast-footer{width:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e5e7eb}@media(max-width:768px){.broadcast-footer{flex-direction:column}.broadcast-stats{flex-wrap:wrap}}.broadcast-stats{display:flex;justify-content:center;align-items:center;gap:1.5rem}.stat{display:flex;gap:.5rem;font-size:.875rem}.stat-label{color:#6b7280}.stat-value{color:#1f2937;font-weight:600}.edit-btn{padding:.5rem 1rem;background:#f3f4f6;color:#4b5563;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.edit-btn:hover{background:#e5e7eb;color:#1f2937}.empty-state{text-align:center;padding:4rem 2rem;color:#6b7280}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{font-size:1.5rem;color:#4b5563;margin:0 0 .5rem}.empty-state p{font-size:1rem;margin:0}.floating-inbox-btn{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 8px 24px #3b82f666;transition:all .3s;z-index:100}.floating-inbox-btn:hover{background:#2563eb;transform:translateY(-4px);box-shadow:0 12px 32px #3b82f680}.inbox-icon{font-size:1.25rem}.inbox-label{font-size:1rem}.unread-badge{position:absolute;top:-8px;right:-8px;background:#ef4444;color:#fff;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:700;min-width:24px;text-align:center}.inbox-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.inbox-modal{background:#fff;border-radius:16px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.inbox-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.inbox-header h3{font-size:1.5rem;color:#1f2937;margin:0}.close-btn{background:none;border:none;font-size:2rem;cursor:pointer;color:#6b7280;transition:color .2s;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#1f2937}.inbox-body{flex:1;overflow-y:auto;padding:1.5rem}.inbox-messages{display:grid;gap:1rem}.inbox-message{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.inbox-message:hover{background:#f3f4f6;border-color:#d1d5db}.inbox-message.unread{background:#eff6ff;border-color:#bfdbfe}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.message-title{font-size:1rem;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:.5rem}.unread-dot{color:#3b82f6;font-size:1.5rem;line-height:1}.message-content{color:#4b5563;line-height:1.6;margin-bottom:.75rem}.message-footer{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#6b7280;gap:1rem}.message-sender{font-weight:500}.message-date{flex:1;text-align:right}.delete-btn{padding:.25rem .75rem;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.delete-btn:hover{background:#fee2e2;border-color:#fca5a5}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content,.compose-modal{background:#fff;border-radius:16px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{font-size:1.5rem;color:#1f2937;margin:0}.modal-body{flex:1;overflow-y:auto;padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem}.required{color:#ef4444}.form-input,.form-textarea,.form-select,.search-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-input:focus,.form-textarea:focus,.form-select:focus,.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:120px}.recipient-type-buttons{display:flex;gap:.5rem}.recipient-type-buttons button{flex:1;padding:.75rem;background:#f3f4f6;color:#4b5563;border:1px solid #d1d5db;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.recipient-type-buttons button:hover{background:#e5e7eb}.recipient-type-buttons button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.recipients-section{margin-top:1rem;padding:1rem;background:#f9fafb;border-radius:8px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-header h4{font-size:1rem;color:#374151;margin:0}.section-header label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#4b5563;cursor:pointer}.search-input{margin-bottom:.75rem}.recipients-list{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.recipient-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;transition:background .2s}.recipient-item:hover{background:#f9fafb}.recipient-item:not(:last-child){border-bottom:1px solid #f3f4f6}.recipient-info{flex:1}.recipient-name{font-weight:500;color:#1f2937}.recipient-meta{font-size:.875rem;color:#6b7280}.info-note{padding:1rem;background:#eff6ff;border-left:4px solid #3b82f6;border-radius:8px;color:#1e40af;font-size:.875rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#4b5563}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}@media(max-width:768px){.messages-management{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.floating-inbox-btn{bottom:1rem;right:1rem;padding:.75rem 1.25rem}.inbox-modal,.modal-content,.compose-modal{max-width:100%;max-height:100vh;border-radius:0}.recipient-type-buttons{flex-direction:column}}.promotion-management{padding:20px;width:100%;display:flex;flex-direction:column;margin:0 auto}.promotion-header{margin-bottom:30px}.promotion-header h2{color:#2c3e50;margin-bottom:8px;font-size:28px}.promotion-header p{color:#7f8c8d;font-size:14px}.alert{padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px;animation:slideIn .3s ease}.alert-error{background:#fee;border-left:4px solid #e74c3c;color:#c0392b}.alert-success{background:#d4edda;border-left:4px solid #28a745;color:#155724}.alert-icon{font-size:20px}.alert-close{margin-left:auto;background:none;border:none;font-size:24px;color:inherit;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.promotion-controls{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:flex-end;gap:20px;margin-bottom:30px}.control-group{flex:1;display:flex;flex-direction:column;gap:8px}.control-group label{font-weight:600;color:#2c3e50;font-size:14px}.control-group select{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;background:#fff;cursor:pointer;transition:all .2s}.control-group select:hover:not(:disabled){border-color:#3498db}.control-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.control-group select:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.arrow-icon{font-size:32px;color:#3498db;margin-bottom:10px;font-weight:700}.execute-btn{padding:12px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #667eea66}.execute-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.execute-btn:disabled{background:#95a5a6;cursor:not-allowed;box-shadow:none;transform:none}.promotion-summary{margin-bottom:30px}.promotion-summary h3{color:#2c3e50;margin-bottom:15px;font-size:20px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.summary-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:15px;transition:transform .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.summary-card.total{border-left:4px solid #3498db}.summary-card.promoted{border-left:4px solid #2ecc71}.summary-card.graduated{border-left:4px solid #9b59b6}.summary-card.detained{border-left:4px solid #f39c12}.card-icon{font-size:36px}.card-content{flex:1}.card-value{font-size:32px;font-weight:700;color:#2c3e50;line-height:1}.card-label{font-size:13px;color:#7f8c8d;margin-top:5px}.loading-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.empty-state h3{color:#2c3e50;margin-bottom:10px}.empty-state p{color:#7f8c8d;margin-bottom:8px}.empty-state .hint{color:#3498db;font-style:italic;font-size:14px}.promotions-table-container{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.promotions-table-container h3{color:#2c3e50;margin-bottom:20px;font-size:20px}.table-responsive{overflow-x:auto}.promotions-table{width:100%;border-collapse:separate;border-spacing:0}.promotions-table thead{background:#f8f9fa}.promotions-table th{padding:15px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:14px}.promotions-table td{padding:15px;border-bottom:1px solid #f0f0f0;color:#34495e}.promotions-table tbody tr:hover{background:#f8f9fa}.class-badge{display:inline-block;padding:4px 12px;background:#e8f5e9;color:#2e7d32;border-radius:12px;font-size:13px;font-weight:600}.promotion-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:12px;font-size:13px;font-weight:600}.promotion-badge.promoted{background:#d4edda;color:#155724}.promotion-badge.graduated{background:#e8daef;color:#6c3483}.promotion-badge.detained{background:#fff3cd;color:#856404}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-pending{background:#fff3cd;color:#856404}.status-promoted{background:#d4edda;color:#155724}.status-detained{background:#f8d7da;color:#721c24}.status-graduated{background:#e8daef;color:#6c3483}.remarks-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.confirm-dialog{background:#fff;padding:30px;border-radius:16px;max-width:500px;width:90%;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease}.confirm-dialog h3{color:#2c3e50;margin-bottom:15px;font-size:22px}.confirm-dialog p{color:#34495e;margin-bottom:15px;line-height:1.6}.confirm-list{list-style:none;padding:0;margin:20px 0}.confirm-list li{padding:10px 15px;background:#f8f9fa;border-radius:8px;margin-bottom:8px;color:#2c3e50}.warning-text{background:#fff3cd;padding:12px;border-radius:8px;border-left:4px solid #ffc107;color:#856404;font-size:14px}.dialog-actions{display:flex;gap:15px;margin-top:25px;justify-content:flex-end}.btn{padding:12px 30px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel{background:#ecf0f1;color:#2c3e50}.btn-cancel:hover:not(:disabled){background:#bdc3c7}.btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-confirm:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){.promotion-controls{flex-direction:column;align-items:stretch}.arrow-icon{transform:rotate(90deg);margin:0}.summary-cards{grid-template-columns:1fr}.confirm-dialog{width:95%;padding:20px}.dialog-actions{flex-direction:column}.btn{width:100%}}.grade-management-container{padding:20px;display:flex;flex-direction:column;margin:0 auto;width:100%}.grade-management-header{margin-bottom:30px}.grade-management-header h2{color:#2c3e50;font-size:28px;margin-bottom:10px}.grade-description{color:#7f8c8d;font-size:14px;margin:0}.grade-loading{text-align:center;padding:40px;font-size:18px;color:#7f8c8d}.grade-alert{padding:15px 20px;border-radius:8px;margin-bottom:20px;font-size:14px}.grade-alert-error{background-color:#fee;border:1px solid #fcc;color:#c33}.grade-alert-success{background-color:#efe;border:1px solid #cfc;color:#3c3}.grade-alert-warning{background-color:#ffeaa7;border:1px solid #fdcb6e;color:#d63031}.grade-alert ul{margin:10px 0 0 20px;padding:0}.grade-alert li{margin:5px 0}.grade-actions{display:flex;gap:15px;margin-bottom:25px;flex-wrap:wrap}.btn-grade{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:5px}.btn-grade:disabled{opacity:.5;cursor:not-allowed}.btn-grade-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-grade-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-grade-secondary{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.btn-grade-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #f093fb66}.btn-grade-warning{background:linear-gradient(135deg,#fa709a,#fee140);color:#333}.btn-grade-warning:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #fa709a66}.btn-grade-success{background:linear-gradient(135deg,#0ba360,#3cba92);color:#fff}.btn-grade-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #0ba36066}.btn-grade-danger{background:linear-gradient(135deg,#f85032,#e73827);color:#fff}.btn-grade-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #f8503266}.btn-grade-small{padding:5px 10px;font-size:18px;font-weight:700;line-height:1}.btn-grade-large{padding:15px 40px;font-size:16px}.grade-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden;margin-bottom:30px}.grade-table{width:100%;border-collapse:collapse}.grade-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.grade-table th{padding:15px;text-align:left;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.grade-table tbody tr{border-bottom:1px solid #ecf0f1;transition:background-color .2s ease}.grade-table tbody tr:hover{background-color:#f8f9fa}.grade-table tbody tr.grade-row-new{background-color:#e8f5e9}.grade-table td{padding:15px}.grade-table-empty{text-align:center;padding:40px!important;color:#95a5a6;font-style:italic}.grade-input{width:100%;padding:8px 12px;border:2px solid #ecf0f1;border-radius:6px;font-size:14px;transition:all .3s ease}.grade-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.grade-input:disabled{background-color:#f8f9fa;cursor:not-allowed}.grade-input-small{max-width:100px}.grade-preview{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px}.grade-preview h3{color:#2c3e50;font-size:20px;margin-bottom:20px}.grade-preview-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.grade-preview-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:10px;text-align:center;box-shadow:0 3px 10px #0003;transition:transform .2s ease}.grade-preview-card:hover{transform:translateY(-5px)}.grade-preview-letter{font-size:32px;font-weight:700;margin-bottom:10px}.grade-preview-range{font-size:14px;opacity:.9;margin-bottom:5px}.grade-preview-desc{font-size:12px;opacity:.8;margin-top:10px;font-style:italic}.grade-save-section{text-align:center;margin-bottom:30px}.grade-save-hint{margin-top:10px;color:#95a5a6;font-size:13px;font-style:italic}.grade-info-section{background:#ecf0f1;border-radius:12px;padding:25px;margin-bottom:20px}.grade-info-section h3{color:#2c3e50;font-size:18px;margin-bottom:15px}.grade-info-list{list-style:none;padding:0;margin:0}.grade-info-list li{padding:8px 0 8px 25px;position:relative;color:#34495e;font-size:14px}.grade-info-list li:before{content:"•";position:absolute;left:10px;color:#667eea;font-size:18px;font-weight:700}@media(max-width:768px){.grade-management-container{padding:15px}.grade-actions{flex-direction:column}.btn-grade{width:100%;justify-content:center}.grade-table-container{overflow-x:auto}.grade-table{min-width:600px}.grade-preview-cards{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.admin-register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.admin-register-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:800px;width:100%;overflow:hidden}.register-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;text-align:center}.register-header h1{margin:0 0 10px;font-size:2rem;font-weight:700}.register-header p{margin:0 0 25px;opacity:.9;font-size:1rem}.developer-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;padding:6px 16px;border-radius:20px;font-size:.8rem;font-weight:600;margin-bottom:20px;box-shadow:0 4px 15px #ff6b6b4d}.developer-badge i{font-size:.9rem}.developer-note{display:flex;align-items:center;justify-content:center;gap:8px;color:#666;font-size:.9rem}.developer-note i{color:#ff6b6b}.progress-steps{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px}.step{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.5;transition:opacity .3s}.step.active{opacity:1}.step-number{width:40px;height:40px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem}.step.active .step-number{background:#fff;color:#667eea}.step-label{font-size:.85rem;font-weight:500}.step-divider{width:60px;height:2px;background:#ffffff4d;margin-bottom:30px}.alert{padding:15px 20px;margin:20px 30px;border-radius:8px;display:flex;align-items:center;gap:10px;font-size:.95rem}.alert i{font-size:1.2rem}.alert-error{background:#fee;color:#c33;border:1px solid #fcc}.alert-success{background:#efe;color:#3c3;border:1px solid #cfc}.register-form{padding:30px}.form-step h2{margin:0 0 25px;color:#333;font-size:1.5rem;font-weight:600;border-bottom:2px solid #667eea;padding-bottom:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;margin-bottom:20px}.form-group label{margin-bottom:8px;color:#444;font-weight:500;font-size:.95rem}.required{color:#e74c3c;margin-left:4px}.form-group input,.form-group textarea{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;justify-content:space-between;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.btn{padding:12px 30px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background:#7f8c8d;transform:translateY(-2px);box-shadow:0 5px 15px #95a5a64d}.btn-success{background:#27ae60;color:#fff;flex:1;justify-content:center}.btn-success:hover:not(:disabled){background:#229954;transform:translateY(-2px);box-shadow:0 5px 15px #27ae604d}.register-footer{padding:20px 30px;background:#f8f9fa;text-align:center;border-top:1px solid #e0e0e0}.register-footer p{margin:0;color:#666}.link{color:#667eea;font-weight:600;cursor:pointer;text-decoration:none}.link:hover{text-decoration:underline}@media(max-width:768px){.admin-register-container{padding:10px}.admin-register-card{max-width:100%}.register-header h1{font-size:1.5rem}.register-header p{font-size:.9rem}.form-row{grid-template-columns:1fr;gap:0}.progress-steps{gap:10px}.step-label{font-size:.75rem}.step-divider{width:30px}.form-actions{flex-direction:column}.btn{width:100%;justify-content:center}}@media(max-width:480px){.register-header,.register-form{padding:20px}.form-step h2{font-size:1.25rem}}.developer-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:20px;position:relative;overflow:hidden}.developer-login:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(255,107,107,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(72,219,251,.1) 0%,transparent 50%);pointer-events:none}.developer-login-container{background:#fffffff2;border-radius:20px;box-shadow:0 20px 60px #0006;padding:40px;width:100%;max-width:500px;text-align:center;position:relative;z-index:1;border:2px solid rgba(255,107,107,.3)}.developer-login-header{margin-bottom:35px}.developer-logo{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:15px}.logo-icon{font-size:3rem;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.developer-logo h1{margin:0;color:#1a1a2e;font-size:2.2rem;font-weight:800}.developer-subtitle{color:#4a5568;font-size:1rem;margin:0 0 15px;font-weight:500}.security-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;padding:8px 20px;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 4px 15px #ff6b6b4d}.security-badge i{font-size:1rem}.developer-login-form{text-align:left}.form-group label{display:block;margin-bottom:10px;color:#2d3748;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:8px}.form-group label i{color:#ff6b6b;font-size:1rem}.developer-input{width:100%;padding:15px 18px;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;background:#fff}.developer-input:focus{outline:none;border-color:#ff6b6b;box-shadow:0 0 0 4px #ff6b6b1a;background:#fff}.developer-input::placeholder{color:#a0aec0}.error-message{background:#fed7d7;color:#c53030;padding:14px 16px;border-radius:10px;margin-bottom:20px;font-size:.9rem;border:1px solid #feb2b2;display:flex;align-items:center;gap:10px;animation:shake .5s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-message i{font-size:1.2rem}.developer-login-btn{width:100%;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;padding:16px;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 6px 20px #ff6b6b4d}.developer-login-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px #ff6b6b66}.developer-login-btn:active:not(:disabled){transform:translateY(-1px)}.developer-login-btn:disabled{opacity:.7;cursor:not-allowed}.developer-login-footer{margin-top:30px;padding-top:25px;border-top:2px solid #e2e8f0}.warning-box{background:linear-gradient(135deg,#fff5f5,#fed7d7);border:2px solid #fc8181;border-radius:12px;padding:15px;margin-bottom:20px}.warning-box i{color:#c53030;font-size:1.5rem;margin-bottom:10px}.warning-box p{margin:5px 0;color:#742a2a;font-size:.85rem;font-weight:500}.back-link{margin:15px 0 0}.back-link a{color:#4a5568;text-decoration:none;font-weight:600;transition:all .2s;display:inline-flex;align-items:center;gap:8px;font-size:.95rem}.back-link a:hover{color:#ff6b6b;transform:translate(-5px)}.back-link i{font-size:.9rem}@media(max-width:480px){.developer-login-container{padding:30px 20px}.developer-logo h1{font-size:1.8rem}.logo-icon{font-size:2.5rem}.security-badge{font-size:.75rem;padding:6px 15px}}.teacher-login{min-height:100vh;align-items:flex-start;display:flex;overflow-y:auto;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.teacher-login-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:450px;text-align:center}.teacher-login-header{margin-bottom:40px}.teacher-logo{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px}.logo-icon{font-size:3rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.teacher-logo h1{margin:0;color:#1e293b;font-size:2.5rem;font-weight:700}.teacher-subtitle{color:#64748b;font-size:1.1rem;margin:0}.teacher-login-form{text-align:left}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;color:#374151;font-weight:600;font-size:.95rem}.teacher-input{width:100%;padding:15px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.teacher-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.teacher-input::placeholder{color:#9ca3af}.error-message{background:#fef2f2;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:20px;font-size:.9rem;border:1px solid #fecaca}.teacher-login-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:15px}.teacher-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}.teacher-login-btn:disabled{opacity:.7;cursor:not-allowed}.teacher-login-btn.secondary{background:#6b7280;margin-bottom:0}.teacher-login-btn.secondary:hover{background:#4b5563}.teacher-login-footer{margin-top:30px;padding-top:20px;border-top:1px solid #e5e7eb;color:#6b7280;font-size:.9rem}.teacher-login-footer p{margin:5px 0}.signup-section{margin:15px 0;padding:10px 0;border-top:1px solid #e1e5e9;border-bottom:1px solid #e1e5e9}.signup-section p{margin:0;color:#666;font-size:.9rem}.signup-section span{color:#667eea;font-weight:600;cursor:pointer;transition:color .3s ease}.signup-section span:hover{color:#764ba2;text-decoration:underline}.admin-link a,.student-link a{color:#667eea;text-decoration:none;font-weight:600}.admin-link a:hover,.student-link a:hover{text-decoration:underline}@media(max-width:480px){.teacher-login-container{padding:30px 20px}.teacher-logo h1{font-size:2rem}.logo-icon{font-size:2.5rem}}.teacher-dashboard{height:100vh;width:100%;display:flex;flex-direction:column;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.teacher-profile .info-item:hover{transform:translateY(-2px);background:#ffffff40!important;cursor:default}.teacher-navbar{background:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;flex-shrink:0;height:80px;z-index:100}.nav-brand{display:flex;align-items:center;gap:12px}.brand-icon{font-size:2rem}.nav-brand h2{margin:0;color:#1e293b;font-weight:700}.nav-actions{display:flex;gap:12px}.nav-btn{background:none;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:1.1rem}.nav-btn:hover{background:#f1f5f9}.nav-btn.logout{background:#ef4444;color:#fff;padding:8px 16px;border-radius:8px}.nav-btn.logout:hover{background:#dc2626}.notification-btn{position:relative}.notification-badge{position:absolute;top:-5px;right:-5px;background:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;font-size:.7rem;display:flex;align-items:center;justify-content:center;font-weight:600}.notifications-panel{position:fixed;top:80px;right:-400px;width:400px;max-height:600px;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;z-index:1000;transition:right .3s ease;overflow:hidden}.notifications-panel.show{right:20px}.notifications-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f8fafc}.notifications-header h3{margin:0;color:#1e293b;font-size:1.1rem}.close-notifications{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.close-notifications:hover{background:#f3f4f6;color:#374151}.notifications-list{max-height:500px;overflow-y:auto}.notification-item{display:flex;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:all .2s ease}.notification-item:hover{background:#f9fafb}.notification-item.unread{background:#f0f9ff;border-left:4px solid #0ea5e9}.notification-item.read{opacity:.8}.notification-item.high{border-left:4px solid #ef4444}.notification-item.medium{border-left:4px solid #f59e0b}.notification-item.low{border-left:4px solid #10b981}.notification-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:8px;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-content h4{margin:0 0 4px;color:#1e293b;font-size:.95rem;font-weight:600}.notification-content p{margin:0 0 4px;color:#64748b;font-size:.85rem;line-height:1.4}.notification-time{color:#9ca3af;font-size:.75rem}.notification-priority{flex-shrink:0}.priority-badge{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;color:#fff}.priority-badge.high{background:#ef4444}.priority-badge.medium{background:#f59e0b}.priority-badge.low{background:#10b981}.tc-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.tc-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:80vh;overflow:hidden;box-shadow:0 20px 40px #0003}.tc-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb;background:#f8fafc}.tc-modal-header h3{margin:0;color:#1e293b;font-size:1.3rem}.close-tc-modal{background:none;border:none;font-size:2rem;cursor:pointer;color:#6b7280;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.close-tc-modal:hover{background:#f3f4f6;color:#374151}.tc-modal-content{padding:2rem;max-height:60vh;overflow-y:auto}.tc-student-info,.admin-message,.tc-response-form,.tc-response-status{margin-bottom:2rem}.tc-student-info h4,.admin-message h4,.tc-response-form h4,.tc-response-status h4{margin:0 0 1rem;color:#1e293b;font-size:1.1rem;font-weight:600}.tc-student-info p,.admin-message p{margin:0 0 8px;color:#64748b}.admin-message{background:#f0f9ff;padding:1rem;border-radius:8px;border-left:4px solid #0ea5e9}.tc-remarks{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;margin-bottom:1rem;transition:all .2s ease}.tc-remarks:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.tc-actions{display:flex;gap:1rem;justify-content:flex-end}.tc-response-status .status-badge{margin-left:8px}.teacher-content{display:flex;flex:1;overflow:hidden;align-items:start;width:100%}.teacher-sidebar{z-index:99;height:100%;min-width:20%;background:#fff;border-right:1px solid #e2e8f0;box-shadow:2px 0 10px #0000000d;overflow-y:auto;overflow-x:hidden}.teacher-sidebar::-webkit-scrollbar{width:6px}.teacher-sidebar::-webkit-scrollbar-track{background:#f8fafc;border-radius:10px}.teacher-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.teacher-sidebar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar-nav{display:flex;flex-direction:column;gap:8px;padding:2rem 1.5rem}.nav-item{background:none;border:none;padding:16px 20px;text-align:left;border-radius:12px;cursor:pointer;transition:all .3s ease;font-size:1rem;font-weight:500;color:#64748b;display:flex;align-items:center;gap:12px}.nav-item:hover{background:#f8fafc;color:#1e293b;transform:translate(4px)}.nav-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.teacher-main{width:100%;height:100%;overflow-y:scroll;overflow-x:hidden;padding:2rem;display:flex;flex:1;overflow-y:auto;flex-direction:column;align-items:stretch;justify-content:flex-start}.main-header{margin-bottom:2rem}.main-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin:0}.main-content{background:#fff;border-radius:16px;width:100%;display:flex;justify-content:center;align-items:center;padding:2rem;box-shadow:0 4px 20px #0000000d}.home-section{display:flex;width:100%;justify-content:flex-start;align-items:center;flex-direction:column;gap:2rem}.teacher-profile{background:#fff;border-radius:16px;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;width:100%}.profile-header{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:2rem}.profile-photo{font-size:3rem;width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;box-shadow:0 4px 15px #667eea33}.profile-info{flex:1;gap:20px;display:flex;align-items:center;justify-content:center}.profile-info h2{margin:0;color:#1e293b;font-size:2rem;font-weight:700}.profile-info p{margin:0 0 6px;color:#64748b;font-size:1rem;line-height:1.5}.profile-info .designation{color:#667eea;font-weight:600;font-size:1.2rem;margin-bottom:8px}.profile-info .qualification{color:#059669;font-weight:500;font-size:1rem;padding:4px 12px;background:#0596691a;border-radius:20px;display:inline-block;margin-bottom:8px}.profile-info .school{color:#7c3aed;font-weight:500;font-size:1rem;padding:4px 12px;background:#7c3aed1a;border-radius:20px;display:inline-block}.personal-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.info-item label{font-weight:600;color:#374151;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.info-item span{color:#1f2937;padding:.5rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb;font-weight:500;font-size:.95rem}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 15px #00000014;border:1px solid #e2e8f0;display:flex;align-items:center;gap:1rem}.stat-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.stat-content h3{margin:0 0 8px;color:#64748b;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-number{margin:0;color:#1e293b;font-size:2rem;font-weight:700}.assigned-classes-section h3{margin:0 0 1.5rem;color:#1e293b}.classes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.class-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.class-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.class-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.class-header h4{margin:0;color:#1e293b;font-size:1.2rem}.subject-badge{background:#667eea;color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.class-details p{margin:0 0 8px;color:#64748b;font-size:.9rem}.class-actions{display:flex;gap:8px;margin-top:1rem;flex-wrap:wrap}.queries-section h3{margin:0 0 1.5rem;color:#1e293b}.queries-list{display:flex;flex-direction:column;gap:1rem}.query-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000000d;border:1px solid #e2e8f0;transition:all .2s ease}.query-card:hover{box-shadow:0 4px 20px #0000001a}.query-card.pending{border-left:4px solid #f59e0b}.query-card.replied{border-left:4px solid #10b981}.query-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.query-header h4{margin:0;color:#1e293b}.query-details p{margin:0 0 8px;color:#64748b}.query-reply{background:#f0f9ff;padding:1rem;border-radius:8px;margin:1rem 0;border-left:4px solid #0ea5e9}.query-reply p{margin:0 0 4px;color:#1e293b}.query-actions{display:flex;gap:8px;margin-top:1rem;flex-wrap:wrap}.video-lectures-section h3{margin:0 0 1.5rem;color:#1e293b}.lectures-header{margin-bottom:1.5rem}.upload-btn{background:#10b981;color:#fff}.upload-btn:hover{background:#059669}.lectures-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.lecture-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.lecture-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.lecture-thumbnail{font-size:3rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:12px;margin-bottom:1rem}.lecture-content h4{margin:0 0 8px;color:#1e293b;font-size:1.2rem}.lecture-class,.lecture-subject{margin:0 0 4px;color:#64748b;font-size:.9rem}.lecture-description{margin:0 0 1rem;color:#374151;line-height:1.5}.lecture-meta{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.lecture-meta span{color:#6b7280;font-size:.85rem}.lecture-actions{display:flex;gap:8px;flex-wrap:wrap}.leave-requests-section h3{margin:0 0 1.5rem;color:#1e293b}.leave-requests-list{display:flex;flex-direction:column;gap:1rem}.leave-request-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000000d;border:1px solid #e2e8f0;transition:all .2s ease}.leave-request-card:hover{box-shadow:0 4px 20px #0000001a}.leave-request-card.pending{border-left:4px solid #f59e0b}.leave-request-card.approved{border-left:4px solid #10b981}.leave-request-card.rejected{border-left:4px solid #ef4444}.leave-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.leave-header h4{margin:0;color:#1e293b}.leave-details p{margin:0 0 8px;color:#64748b}.leave-image{background:#f9fafb;padding:.5rem;border-radius:6px;margin:1rem 0;text-align:center;color:#6b7280}.teacher-remarks{background:#f0fdf4;padding:1rem;border-radius:8px;margin:1rem 0;border-left:4px solid #10b981}.teacher-remarks p{margin:0;color:#1e293b}.leave-actions{display:flex;gap:8px;margin-top:1rem;flex-wrap:wrap}.results-section h3{margin:0 0 1.5rem;color:#fff}.results-header{margin-bottom:1.5rem}.results-list{display:flex;flex-direction:column;gap:1rem}.result-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000000d;border:1px solid #e2e8f0;transition:all .2s ease}.result-card:hover{box-shadow:0 4px 20px #0000001a}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.result-header h4{margin:0;color:#1e293b}.grade-badge{background:#10b981;color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.result-details p{margin:0 0 8px;color:#64748b}.result-actions{display:flex;gap:8px;margin-top:1rem;flex-wrap:wrap}.student-info-section h3{margin:0 0 1.5rem;color:#1e293b}.student-info-section{overflow-x:scroll}.class-selector{margin-bottom:1.5rem}.class-select{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;min-width:200px;transition:all .2s ease}.class-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.students-table{overflow-x:auto}.students-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.students-table th,.students-table td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0}.students-table th{background:#f8fafc;font-weight:600;color:#374151;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.students-table td{color:#1f2937;font-size:.9rem}.attendance-percentage,.score{color:#6b7280;font-size:.8rem;margin-left:8px}.status-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;color:#fff}.status-badge.paid{background:#10b981}.status-badge.pending{background:#f59e0b}.status-badge.overdue{background:#ef4444}.status-badge.approved{background:#10b981}.status-badge.rejected{background:#ef4444}.action-btn{background:#f1f5f9;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:500;color:#374151}.action-btn:hover{background:#e2e8f0;transform:translateY(-1px)}.action-btn.approve{background:#dcfce7;color:#059669}.action-btn.approve:hover{background:#bbf7d0}.action-btn.reject{background:#fee2e2;color:#dc2626}.action-btn.reject:hover{background:#fecaca}.action-btn.reply-btn{background:#dbeafe;color:#2563eb}.action-btn.reply-btn:hover{background:#bfdbfe}@media(max-width:1024px){.teacher-sidebar{width:240px}}@media(max-width:768px){.teacher-content{flex-direction:column;align-items:center}.teacher-sidebar{width:100%;height:20%;border-right:none;border-bottom:1px solid #e2e8f0}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:1rem}.teacher-main{flex-direction:column}.nav-item{white-space:nowrap;min-width:fit-content}.profile-header{flex-direction:column;text-align:center}}@media(max-width:480px){.teacher-navbar{padding:1rem}.teacher-main{padding:1rem;flex-direction:column}.main-content{padding:1rem}}.attendance-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px}.attendance-modal{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.attendance-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid #e5e7eb}.attendance-modal-header h2{margin:0;font-size:24px;color:#1f2937}.attendance-class-info{margin:8px 0 0;font-size:14px;color:#6b7280}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#9ca3af;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#374151}.attendance-loading,.attendance-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.attendance-loading .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.attendance-error{color:#dc2626}.retry-btn{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.retry-btn:hover{background:#2563eb}.attendance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.summary-card{background:#fff;padding:16px;border-radius:8px;text-align:center;border:2px solid}.summary-card.present{border-color:#10b981}.summary-card.absent{border-color:#ef4444}.summary-card.total{border-color:#3b82f6}.summary-label{display:block;font-size:13px;color:#6b7280;margin-bottom:8px;font-weight:500}.summary-value{display:block;font-size:28px;font-weight:700}.summary-card.present .summary-value{color:#10b981}.summary-card.absent .summary-value{color:#ef4444}.summary-card.total .summary-value{color:#3b82f6}.attendance-controls{padding:16px 24px;border-bottom:1px solid #e5e7eb}.select-all-btn{padding:10px 20px;background:#f3f4f6;border:2px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .2s}.select-all-btn:hover{background:#e5e7eb}.select-all-btn.active{background:#10b981;border-color:#10b981;color:#fff}.attendance-list{flex:1;overflow-y:auto;padding:0 24px 24px}.attendance-list table{width:100%;border-collapse:collapse}.attendance-list thead th{position:sticky;top:0;background:#fff;padding:12px;text-align:left;font-size:13px;font-weight:600;color:#6b7280;border-bottom:2px solid #e5e7eb;z-index:10}.attendance-list tbody td{padding:16px 12px;border-bottom:1px solid #f3f4f6;font-size:14px}.attendance-list tbody tr.present-row{background:#f0fdf4}.attendance-list tbody tr.absent-row{background:#fef2f2}.attendance-list tbody tr:hover{background:#fafafa}.attendance-toggle-btn{padding:8px 16px;border:2px solid;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;min-width:100px}.attendance-toggle-btn.present{background:#10b981;border-color:#10b981;color:#fff}.attendance-toggle-btn.present:hover{background:#059669;border-color:#059669}.attendance-toggle-btn.absent{background:#ef4444;border-color:#ef4444;color:#fff}.attendance-toggle-btn.absent:hover{background:#dc2626;border-color:#dc2626}.attendance-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.cancel-btn,.submit-btn{padding:10px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.cancel-btn{background:#fff;border:2px solid #d1d5db;color:#374151}.cancel-btn:hover{background:#f3f4f6}.submit-btn{background:#3b82f6;color:#fff}.submit-btn:hover:not(:disabled){background:#2563eb}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.promotion-assignment-container{padding:1.5rem;background:#fff;width:100%;overflow-x:auto;border-radius:12px;box-shadow:0 2px 8px #0000001a}.promotion-header{margin-bottom:1.5rem;text-align:center}.promotion-header h2{color:#1f2937;font-size:1.75rem;margin:0 0 .5rem}.promotion-header p{color:#6b7280;font-size:.95rem;margin:0}.alert{padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.alert-error{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.promotion-table-wrapper{overflow-x:auto;margin-bottom:1.5rem}.promotion-table{width:100%;border-collapse:collapse;font-size:.9rem}.promotion-table thead{background-color:#f3f4f6}.promotion-table th{padding:.75rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.promotion-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.promotion-table tbody tr:hover{background-color:#f9fafb}.promotion-table td{padding:.75rem;color:#4b5563}.student-name{font-weight:500;color:#1f2937}.class-select{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background-color:#fff;cursor:pointer;transition:border-color .2s}.class-select:hover:not(:disabled){border-color:#3b82f6}.class-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.class-select:disabled{background-color:#f3f4f6;cursor:not-allowed}.graduated-checkbox{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:#10b981}.graduated-checkbox:disabled{cursor:not-allowed}.remarks-input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s}.remarks-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.remarks-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.promotion-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid #e5e7eb}.save-all-btn{padding:.75rem 2rem;background-color:#10b981;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #10b98133}.save-all-btn:hover:not(:disabled){background-color:#059669;transform:translateY(-1px);box-shadow:0 4px 6px #10b9814d}.save-all-btn:disabled{background-color:#9ca3af;cursor:not-allowed;box-shadow:none;transform:none}.help-text{color:#6b7280;font-size:.875rem;text-align:center;margin:0}.spinner{border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.promotion-assignment-container{padding:1rem}.promotion-header h2{font-size:1.5rem}.promotion-table{font-size:.8rem}.promotion-table th,.promotion-table td{padding:.5rem}}.teacher-registration{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.registration-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:600px;position:relative;overflow:hidden}.registration-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.registration-header{text-align:center;margin-bottom:30px}.registration-header h1{color:#333;font-size:2.5rem;font-weight:700;margin-bottom:10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.registration-header p{color:#666;font-size:1.1rem;margin:0}.registration-form{display:flex;flex-direction:column;gap:20px}.form-section{background:#f8f9fa;border-radius:12px;padding:24px;border:1px solid #e1e5e9}.section-title{color:#667eea;font-size:1.2rem;font-weight:700;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #e1e5e9}.error-banner{background-color:#fef2f2;border:1px solid #ef4444;border-radius:10px;padding:12px 16px;color:#dc2626;font-size:.95rem;font-weight:500;margin-bottom:20px;display:flex;align-items:center;gap:10px}.form-group{display:flex;flex-direction:column;gap:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group label{font-weight:600;color:#333;font-size:.95rem}.form-group input,.form-group select{padding:12px 16px;border:2px solid #e1e5e9;border-radius:10px;font-size:1rem;transition:all .3s ease;background:#f8f9fa}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-group input.error,.form-group select.error{border-color:#e74c3c;background:#fdf2f2}.form-group input[type=date]{padding:11px 16px}.error-message{color:#e74c3c;font-size:.85rem;font-weight:500;margin-top:4px}.register-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:15px 30px;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;text-transform:uppercase;letter-spacing:.5px}.register-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.register-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-link{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #e1e5e9}.login-link p{color:#666;margin:0}.login-link span{color:#667eea;font-weight:600;cursor:pointer;transition:color .3s ease}.login-link span:hover{color:#764ba2;text-decoration:underline}@media(max-width:768px){.registration-container{padding:30px 20px;margin:10px}.registration-header h1{font-size:2rem}.form-row{grid-template-columns:1fr;gap:15px}.form-group input,.form-group select{padding:10px 14px}}@media(max-width:480px){.registration-container{padding:20px 15px}.registration-header h1{font-size:1.8rem}.registration-header p{font-size:1rem}.register-btn{padding:12px 24px;font-size:1rem}}
