*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;background-color:#f4f4f9;color:#333;line-height:1.6}body.modal-open{overflow:hidden}#root{display:flex;flex-direction:column;min-height:100vh}main{flex-grow:1;overflow-x:hidden}a{color:#005a9c;text-decoration:none}button{font-family:Poppins,sans-serif}.page-container{padding:3rem 5%;max-width:1200px;margin:0 auto}.page-container h2{text-align:center;font-size:2.5rem;color:#2c3e50;margin-bottom:3rem}.app-header{background-color:#2c3e50;color:#fff;padding:1rem 5%;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000}.app-header .logo{flex-shrink:0}.logo-img{height:50px;width:auto;display:block}.app-header nav ul{list-style:none;display:flex;align-items:center;gap:1.5rem}.app-header nav a{color:#fff;font-weight:500;transition:color .3s ease;padding-bottom:5px;border-bottom:2px solid transparent}.app-header nav a:hover{color:#ffc107;border-bottom:2px solid #FFC107}.login-btn,.logout-btn{background-color:#007bff;color:#fff;padding:.5rem 1rem;border:none;border-radius:5px;cursor:pointer;font-weight:600;font-size:1rem;transition:background-color .3s ease}.login-btn:hover,.logout-btn:hover{background-color:#0056b3}.logout-btn{background-color:#e74c3c}.logout-btn:hover{background-color:#c0392b}.mode-selector{display:flex;align-items:center;gap:.5rem}.mode-selector .mode-label{font-size:.9rem;font-weight:500;color:#ecf0f1}.mode-selector select{background-color:#34495e;color:#fff;border:1px solid #7f8c8d;border-radius:4px;padding:.25rem .5rem;font-size:.9rem;cursor:pointer}.mode-selector select:focus{outline:none;border-color:#1abc9c}.language-switcher{display:flex;align-items:center;gap:.5rem;background-color:#34495e;padding:4px;border-radius:6px}.language-switcher button{background:none;border:none;color:#bdc3c7;padding:.3rem .6rem;cursor:pointer;border-radius:4px;transition:all .3s ease;font-size:.9rem;font-weight:500}.language-switcher button.active{background-color:#ffc107;color:#2c3e50;font-weight:600}.hero-section{background:linear-gradient(#2c3e50b3,#2c3e50b3),url(https://images.unsplash.com/photo-1523240795612-9a054b0db644?q=80&w=2070&auto=format&fit=crop) no-repeat center center/cover;color:#fff;height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 2rem}.hero-section h1{font-size:3rem;margin-bottom:1rem;font-weight:700}.hero-section p{font-size:1.25rem;margin-bottom:2rem;max-width:800px}.cta-button{background-color:#ffc107;color:#2c3e50;padding:.8rem 2rem;border:none;border-radius:5px;font-size:1.1rem;font-weight:600;cursor:pointer;text-transform:uppercase;transition:background-color .3s ease,transform .2s ease}.cta-button:hover{background-color:#ffb300;transform:translateY(-2px)}.info-section{padding:4rem 5%;max-width:1200px;margin:0 auto;text-align:center}.info-section.alt-bg{background-color:#fff}.info-section h2{font-size:2.2rem;color:#2c3e50;margin-bottom:1rem;position:relative;display:inline-block;padding-bottom:.5rem}.info-section h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:4px;background-color:#ffc107}.info-section p.lead{font-size:1.1rem;color:#555;max-width:800px;margin:0 auto 3rem}.programs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.program-card{background-color:#fff;padding:2.5rem 2rem;border-radius:8px;box-shadow:0 5px 20px #00000014;transition:transform .3s ease,box-shadow .3s ease}.program-card:hover{transform:translateY(-8px);box-shadow:0 10px 30px #0000001f}.program-card .icon{font-size:3rem;color:#ffc107;margin-bottom:1rem}.program-card h3{font-size:1.5rem;color:#2c3e50;margin-bottom:.75rem}.program-card p{color:#666}.why-us-list li{font-size:1.1rem;color:#333;margin-bottom:1rem;display:flex;align-items:center;text-align:left}.why-us-list li:before{content:"✔";color:#2ecc71;font-size:1.5rem;margin-right:1rem}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.testimonial-card{background-color:#fff;padding:2rem;border-left:5px solid #FFC107;border-radius:8px;box-shadow:0 5px 20px #00000012;text-align:left}.testimonial-card p{font-style:italic;color:#555;margin-bottom:1rem}.testimonial-card .author{font-weight:600;color:#2c3e50}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.dashboard-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #00000014;padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.dashboard-card-link{text-decoration:none;color:inherit}.dashboard-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001f}.card-icon{font-size:3.5rem;line-height:1;margin-bottom:1.5rem}.dashboard-card h3{font-size:1.4rem;color:#34495e;margin-bottom:.5rem}.dashboard-card p{color:#7f8c8d;font-size:.95rem}.notification-badge{position:absolute;top:12px;right:12px;background-color:#e74c3c;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;box-shadow:0 2px 4px #0003}.students-list{display:flex;flex-direction:column;gap:1.5rem}.student-card{background:#fff;padding:1.5rem 2rem;border-radius:8px;box-shadow:0 4px 15px #00000012;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.student-info h3{font-size:1.5rem;color:#2c3e50;margin-bottom:.25rem}.student-info h3 .student-profile-link{color:#2c3e50;text-decoration:none;transition:color .3s}.student-info h3 .student-profile-link:hover{color:#3498db;text-decoration:underline}.student-info p{color:#7f8c8d}.student-actions{display:flex;gap:1rem;margin-top:1rem}.student-actions .action-btn{padding:.6rem 1.2rem;border:none;border-radius:5px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.action-btn:disabled{background-color:#bdc3c7!important;cursor:not-allowed;border-color:#bdc3c7!important;color:#7f8c8d!important}.action-btn.register{background-color:#1abc9c;color:#fff}.action-btn.register:hover{background-color:#16a085}.action-btn.results{background-color:#3498db;color:#fff}.action-btn.results:hover{background-color:#2980b9}.exam-registration-form{background:#fff;padding:2.5rem;border-radius:8px;box-shadow:0 5px 20px #0000001a}.exam-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2.5rem}.form-section-title{grid-column:1 / -1;font-size:1.2rem;color:#007bff;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem;margin-top:1.5rem;margin-bottom:.5rem}.form-section-title:first-child{margin-top:0}.full-width{grid-column:1 / -1}.confirmation-container{text-align:center;background:#fff;padding:3rem;border-radius:8px}.confirmation-container .success-icon{font-size:5rem;color:#2ecc71}.confirmation-container h2{color:#2c3e50}.confirmation-container p{color:#555;margin:1rem 0 2rem}.study-tips{text-align:left;margin-top:2rem;padding:2rem;background:#f8f9fa;border-radius:8px}.study-tips h3{color:#16a085;margin-bottom:1rem}.study-tips ul{list-style-position:inside;padding-left:0}.study-tips li{margin-bottom:.75rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease;overflow-y:auto;padding:2rem 0}.modal-content{background-color:#fff;padding:2.5rem;border-radius:8px;width:90%;max-width:450px;position:relative;box-shadow:0 5px 15px #0000004d;animation:slideIn .4s ease;margin:auto}.modal-content.admission-modal,.modal-content.announcements-modal,.modal-content.exam-results-modal,.modal-content.doc-viewer-modal,.modal-content.payment-modal,.modal-content.application-review-modal,.modal-content.messaging-modal{max-width:800px}.modal-content.payment-modal,.modal-content.add-teacher-modal,.modal-content.admission-payment-modal{max-width:500px}.modal-close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.8rem;line-height:1;cursor:pointer;color:#aaa;transition:color .3s ease}.modal-close-btn:hover{color:#333}.modal-content h2{margin-bottom:.5rem;text-align:center;color:#2c3e50;font-weight:600}.modal-content h3{text-align:center;color:#34495e;font-weight:500;margin-bottom:2rem;border-bottom:1px solid #eee;padding-bottom:1rem}.announcements-list{max-height:60vh;overflow-y:auto;padding-right:1rem}.announcement-item{padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid #ecf0f1}.announcement-item:last-child{border-bottom:none}.announcement-item h4{color:#2980b9;font-size:1.2rem;margin-bottom:.25rem}.announcement-item .date{font-size:.85rem;color:#7f8c8d;margin-bottom:.75rem}.announcement-item p{font-size:.95rem;line-height:1.7}.loading-message{text-align:center;padding:2rem;font-size:1.1rem;color:#777}.results-grid{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #eee;align-items:center}.results-header{font-weight:600;color:#34495e}.grade-badge{padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:600;color:#fff;text-align:center}.grade-distinction{background-color:#2ecc71}.grade-merit{background-color:#3498db}.grade-pass{background-color:#f39c12}.examiner-comments{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-top:1rem}.examiner-comments h4{color:#2c3e50;margin-bottom:.75rem}.progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;margin-bottom:2rem;overflow:hidden}.progress-bar-fill{height:100%;background-color:#1abc9c;border-radius:4px;transition:width .4s ease-in-out}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#555;font-size:.9rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;transition:border-color .3s ease;font-family:Poppins,sans-serif;background-color:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group input[type=file]{padding:.5rem}.file-name{display:block;font-size:.85rem;color:#555;margin-top:.5rem}.form-description{font-size:.9rem;color:#777;margin-bottom:1.5rem;text-align:center}.form-button{width:100%;padding:.8rem;background-color:#007bff;color:#fff;border:none;border-radius:5px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease;margin-top:1rem}.form-button:hover{background-color:#0056b3}.form-button.secondary{background-color:#6c757d}.form-button.secondary:hover{background-color:#5a6268}.form-nav-buttons{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.form-nav-buttons .form-button{width:100%}.modal-switch{text-align:center;margin-top:1.5rem;font-size:.9rem;color:#555}.link-button{background:none;border:none;color:#005a9c;cursor:pointer;text-decoration:underline;font-weight:600;padding:0}.link-button:hover{color:#003f6f}.ai-assist-section{position:relative}.ai-assist-btn{margin-top:.5rem;padding:.5rem 1rem;background-color:#1abc9c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s;display:inline-flex;align-items:center;gap:.5rem}.ai-assist-btn:hover{background-color:#16a085}.ai-assist-btn:disabled{background-color:#95a5a6;cursor:not-allowed}.ai-suggestion{margin-top:1rem;padding:1rem;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:.9rem;white-space:pre-wrap}.ai-suggestion h4{margin-bottom:.5rem;color:#2c3e50}.error-message{color:#e74c3c;font-size:.9rem;margin-top:.5rem}.spinner{border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;width:16px;height:16px;animation:spin 1s linear infinite}.review-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.review-section:last-of-type{border-bottom:none;padding-bottom:0}.review-section h4{color:#007bff;margin-bottom:.75rem}.review-section p{margin-bottom:.5rem;font-size:.95rem}.documents-container{display:flex;flex-direction:column;gap:2.5rem}.student-documents-section{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 15px #00000012}.student-documents-section h3{font-size:1.5rem;color:#2c3e50;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #eee}.documents-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.document-category h4{color:#3498db;font-size:1.1rem;margin-bottom:1rem}.document-list{list-style:none;padding:0}.document-list li{background-color:#f8f9fa;padding:.75rem 1rem;border-radius:5px;margin-bottom:.5rem;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.document-list li:before{content:"📄";font-size:1.2rem}.generation-actions .action-btn{margin-top:.5rem;margin-right:1rem}.doc-viewer-content{border:1px solid #ddd;padding:2rem;border-radius:5px;background:#fdfdfd;max-height:60vh;overflow-y:auto;margin-bottom:1.5rem}.doc-viewer-content h3,.doc-viewer-content h4{color:#333;margin-bottom:1rem;text-align:left;border-bottom:none;padding-bottom:0}.doc-viewer-content ul{list-style-position:inside;padding-left:1rem}.doc-viewer-actions{display:flex;justify-content:flex-end}.doc-viewer-actions .form-button{max-width:200px}.payments-section{background:#fff;padding:2.5rem;border-radius:8px;box-shadow:0 5px 20px #0000001a;margin-bottom:2.5rem}.payments-section h3{font-size:1.5rem;color:#2c3e50;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #eee}.invoice-list-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:1rem;font-weight:600;color:#34495e;padding:0 1rem .5rem;border-bottom:2px solid #34495e;margin-bottom:1rem}.invoice-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:1rem;padding:1rem;border-radius:6px;transition:background-color .2s ease;align-items:center}.invoice-item:nth-child(odd){background-color:#f8f9fa}.invoice-item:hover{background-color:#f1f2f6}.invoice-item span{color:#555}.invoice-status{padding:.25rem .75rem;border-radius:15px;font-size:.85rem;font-weight:600;text-align:center;color:#fff}.status-outstanding{background-color:#e74c3c}.status-paid{background-color:#27ae60}.payment-details p{font-size:1rem;margin-bottom:.5rem}.payment-details p strong{color:#34495e}.payment-total{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:1.5rem 0;text-align:center}.payment-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}.timeline{position:relative;max-width:1200px;margin:3rem auto;padding:2rem 0}.timeline:after{content:"";position:absolute;width:4px;background-color:#ffc107;top:0;bottom:0;left:50%;margin-left:-2px}.timeline-container{padding:10px 40px;position:relative;background-color:inherit;width:50%}.timeline-container.left{left:0}.timeline-container.right{left:50%}.timeline-container:after{content:"";position:absolute;width:25px;height:25px;right:-13px;background-color:#fff;border:4px solid #FFC107;top:15px;border-radius:50%;z-index:1}.timeline-container.right:after{left:-12px}.timeline-content{padding:20px 30px;background-color:#fff;position:relative;border-radius:6px;box-shadow:0 4px 15px #00000012}.timeline-content h3{font-size:1.3rem;color:#2c3e50}.timeline-content p{font-size:.95rem;color:#666}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.team-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 5px 20px #00000014;text-align:center}.team-card h3{font-size:1.2rem;color:#2c3e50;margin-bottom:.25rem}.team-card p{font-size:.9rem;color:#007bff;font-weight:500}.teachers-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;text-align:left;margin-top:2rem}.teachers-container h3{font-size:1.4rem;color:#2980b9;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #ecf0f1}.teachers-list{list-style:none;padding:0}.teachers-list li{padding:.5rem;font-size:.95rem;border-bottom:1px solid #f0f0f0}.teachers-list li:last-child{border-bottom:none}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem}.contact-form{text-align:left}.map-container{background:#e0e0e0;border-radius:8px;min-height:300px;display:flex;align-items:center;justify-content:center;color:#888}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.gallery-item{overflow:hidden;border-radius:8px;box-shadow:0 5px 20px #0000001a}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.05)}.events-list{display:grid;gap:2rem;grid-template-columns:1fr}.event-card{display:flex;background:#fff;border-radius:8px;box-shadow:0 4px 15px #00000012;overflow:hidden}.event-date{background-color:#2c3e50;color:#fff;padding:1.5rem;text-align:center;display:flex;flex-direction:column;justify-content:center;min-width:100px}.event-date .month{font-size:1rem;text-transform:uppercase}.event-date .day{font-size:2.5rem;font-weight:700}.event-info{padding:1.5rem}.event-info h3{color:#2c3e50;margin-bottom:.5rem}.event-info p{color:#666}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.scroll-animate{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.scroll-animate.visible{opacity:1;transform:translateY(0)}.attendance-roster{background:#fff;padding:2.5rem;border-radius:8px;box-shadow:0 5px 20px #0000001a}.attendance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap}.attendance-header h3{color:#34495e}.attendance-list{display:flex;flex-direction:column;gap:1rem}.attendance-item{display:grid;grid-template-columns:1fr 2fr;align-items:center;padding:1rem;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.attendance-item p{font-weight:500;font-size:1.1rem}.attendance-controls{display:flex;gap:1rem;justify-content:flex-end}.attendance-controls label{cursor:pointer;padding:.5rem 1rem;border:1px solid #bdc3c7;border-radius:5px;transition:all .2s ease-in-out}.attendance-controls input[type=radio]{display:none}.attendance-controls input[type=radio]:checked+label{color:#fff;font-weight:600;border-color:transparent}.attendance-controls input[id*=present]:checked+label{background-color:#27ae60}.attendance-controls input[id*=absent]:checked+label{background-color:#c0392b}.attendance-controls input[id*=late]:checked+label{background-color:#f39c12}.student-profile-container{background:#fff;padding:2.5rem;border-radius:8px;box-shadow:0 5px 20px #0000001a}.profile-header{text-align:center;margin-bottom:2.5rem}.profile-header h2{font-size:2.2rem;margin-bottom:.5rem}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem}.profile-section h3{font-size:1.3rem;color:#2980b9;padding-bottom:.5rem;margin-bottom:1rem;border-bottom:2px solid #ecf0f1}.profile-section p{font-size:1rem;margin-bottom:.5rem}.profile-section p strong{color:#34495e;margin-right:.5rem}.profile-section ul{list-style-type:none;padding:0}.profile-section ul li{background-color:#f8f9fa;padding:.5rem 1rem;border-radius:4px;margin-bottom:.5rem}.profile-actions{margin-top:1.5rem}.attendance-history-table{width:100%;border-collapse:collapse;margin-top:1rem}.attendance-history-table th,.attendance-history-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid #ddd}.attendance-history-table th{background-color:#ecf0f1;color:#2c3e50;font-weight:600}.attendance-history-table tbody tr:hover{background-color:#f8f9fa}.status-badge{padding:.2rem .75rem;border-radius:12px;color:#fff;font-size:.85rem;font-weight:600;text-align:center;display:inline-block}.status-present{background-color:#27ae60}.status-absent{background-color:#c0392b}.status-late{background-color:#f39c12}.timetable-placeholder{text-align:center;padding:4rem 2rem;background:#fff;border-radius:8px;box-shadow:0 5px 20px #00000014}.timetable-placeholder h3{font-size:1.5rem;color:#34495e;margin-bottom:1rem}.timetable-placeholder p{color:#7f8c8d}.admin-layout{display:flex;min-height:calc(100vh - 120px)}.admin-sidebar{width:240px;background-color:#2c3e50;color:#fff;padding:2rem 0;flex-shrink:0}.admin-sidebar h3{padding:0 1.5rem 1rem;font-size:1.2rem;border-bottom:1px solid #34495e;margin-bottom:1rem}.admin-sidebar nav ul{list-style:none;padding:0}.admin-sidebar nav a{display:block;color:#ecf0f1;padding:.8rem 1.5rem;text-decoration:none;font-weight:500;border-left:3px solid transparent;transition:all .3s ease}.admin-sidebar nav a:hover{background-color:#34495e;color:#fff}.admin-sidebar nav a.active{background-color:#34495e;color:#ffc107;border-left:3px solid #FFC107;font-weight:600}.admin-main-content{flex-grow:1;background-color:#f4f4f9}.admin-main-content .page-container{padding-top:2rem}.admin-main-content .page-container h2{text-align:left;margin-bottom:1.5rem}.admin-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-search-bar{padding:.6rem 1rem;min-width:300px;border:1px solid #ccc;border-radius:5px;font-size:1rem}.admin-add-btn{background-color:#1abc9c;color:#fff;padding:.6rem 1.5rem;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.admin-add-btn:hover{background-color:#16a085}.admin-table-container{overflow-x:auto;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 4px 15px #00000012}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid #ecf0f1}.admin-table th{background-color:#ecf0f1;color:#2c3e50;font-weight:600}.admin-table tbody tr:hover{background-color:#f8f9fa}.table-actions{display:flex;gap:.5rem}.table-actions button{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.2rem}.admin-applications-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.application-card{background:#fff;padding:1.5rem 2rem;border-radius:8px;box-shadow:0 4px 15px #00000012;border-left:5px solid #3498db}.application-card h3{font-size:1.4rem;color:#2c3e50;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.application-card p{font-size:.95rem;margin-bottom:.5rem}.application-card p strong{color:#34495e}.application-card .application-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;align-items:stretch}.admin-action-btn{flex-grow:1;padding:.7rem 1rem;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.admin-action-btn.approve{background-color:#27ae60;color:#fff}.admin-action-btn.approve:hover{background-color:#229954}.admin-action-btn.deny{background-color:#c0392b;color:#fff}.admin-action-btn.deny:hover{background-color:#a93226}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.admin-stat-card{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 4px 15px #00000012;text-align:center;border-top:4px solid #3498db}.admin-stat-card h3{font-size:2.5rem;color:#2c3e50;margin-bottom:.5rem}.admin-stat-card p{font-size:1rem;color:#7f8c8d;font-weight:500}.admin-action-btn.view-details{background-color:#3498db;color:#fff;width:100%}.admin-action-btn.view-details:hover{background-color:#2980b9}.quick-actions{display:flex;gap:.75rem}.modal-content.application-review-modal{max-width:700px}.application-review-modal h3{text-align:left;margin-bottom:1.5rem;border-bottom:1px solid #eee;padding-bottom:1rem}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem}.ai-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem 1.5rem}.ai-summary h4{color:#16a085;margin-bottom:.75rem}.ai-summary strong{color:#c0392b}.application-modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:2rem}.application-modal-actions .admin-actions{display:flex;gap:1rem}.application-modal-actions .admin-action-btn{padding:.7rem 1.5rem}.messaging-modal-layout{display:flex;height:70vh;max-height:600px}.conversations-panel{width:250px;flex-shrink:0;border-right:1px solid #ecf0f1;overflow-y:auto}.conversation-list-item{padding:1rem;cursor:pointer;border-bottom:1px solid #ecf0f1;transition:background-color .2s}.conversation-list-item:hover{background-color:#f8f9fa}.conversation-list-item.active{background-color:#e8f4fd;font-weight:600}.conversation-list-item p{margin:0}.conversation-list-item .student-name{font-weight:500;color:#2c3e50}.conversation-list-item .user-name{font-size:.85rem;color:#7f8c8d}.chat-panel{flex-grow:1;display:flex;flex-direction:column}.chat-header{padding:1rem 1.5rem;border-bottom:1px solid #ecf0f1;font-weight:600;color:#34495e}.messages-container{flex-grow:1;overflow-y:auto;padding:1.5rem;background-color:#f4f7f9}.message-bubble{max-width:70%;padding:.75rem 1rem;border-radius:18px;margin-bottom:1rem;line-height:1.4}.message-bubble .message-sender{font-size:.8rem;font-weight:600;margin-bottom:.25rem;color:#34495e}.message-bubble .message-timestamp{font-size:.75rem;color:#95a5a6;display:block;text-align:right;margin-top:.5rem}.message-sent{background-color:#3498db;color:#fff;margin-left:auto;border-bottom-right-radius:4px}.message-sent .message-sender,.message-sent .message-timestamp{color:#ecf0f1}.message-received{background-color:#ecf0f1;color:#333;margin-right:auto;border-bottom-left-radius:4px}.message-input-form{display:flex;padding:1rem;border-top:1px solid #ecf0f1}.message-input-form textarea{flex-grow:1;resize:none;padding:.75rem;border:1px solid #ccc;border-radius:20px;margin-right:1rem;font-family:Poppins,sans-serif}.message-input-form button{padding:.75rem 1.5rem}.app-footer{background-color:#2c3e50;color:#fff;text-align:center;padding:2rem 5%}.footer-links{margin-top:.5rem}.footer-links a{color:#bdc3c7;margin:0 1rem;transition:color .3s ease}.footer-links a:hover{color:#1abc9c}@media (max-width: 1024px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;height:auto;padding:1rem 0;display:flex;flex-direction:column}.admin-sidebar h3{display:none}.admin-sidebar nav ul{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}.admin-sidebar nav a{border-left:none;border-bottom:3px solid transparent;border-radius:6px}.admin-sidebar nav a.active{border-left:none;border-bottom:3px solid #FFC107}}@media (max-width: 900px){.exam-form-grid,.documents-grid,.contact-grid{grid-template-columns:1fr}.attendance-item{grid-template-columns:1fr;gap:1rem}.attendance-controls{justify-content:flex-start}.invoice-list-header{display:none}.invoice-item{grid-template-columns:1fr;gap:.5rem;padding:1.5rem;border:1px solid #eee}.invoice-item span:before{font-weight:600;color:#34495e;margin-right:.5rem}.invoice-item span[data-label=Description]:before{content:"For: "}.invoice-item span[data-label=Student]:before{content:"Student: "}.invoice-item span[data-label="Due Date"]:before{content:"Due: "}.invoice-item span[data-label=Amount]:before{content:"Amount: "}}@media (max-width: 768px){.app-header{flex-direction:column;padding:1rem;gap:1rem}.app-header nav ul{flex-wrap:wrap;justify-content:center;gap:1rem}.hero-section h1{font-size:2.2rem}.hero-section p{font-size:1rem}.hero-section{height:70vh}.page-container{padding:2rem 5%}.page-container h2{font-size:2rem}.programs-grid,.testimonials-grid{grid-template-columns:1fr}.student-card{flex-direction:column;align-items:flex-start}.student-actions{width:100%;justify-content:flex-start;margin-top:1.5rem}.modal-content{padding:2rem 1.5rem}.timeline:after{left:31px}.timeline-container{width:100%;padding-left:70px;padding-right:25px}.timeline-container.right{left:0%}.timeline-container.left:after,.timeline-container.right:after{left:15px}.event-card{flex-direction:column}.event-date{flex-direction:row;align-items:center;gap:1rem}.teachers-container,.payment-form-grid{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr;gap:1rem}.admin-page-header{flex-direction:column;align-items:stretch}.messaging-modal-layout{flex-direction:column;height:80vh}.conversations-panel{width:100%;border-right:none;border-bottom:1px solid #ecf0f1;max-height:150px}}
