.header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;padding:15px 20px;box-shadow:var(--box-shadow)}.header-content{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;max-width:1400px;margin:0 auto}.header-left{display:flex;align-items:center;gap:10px}.sidebar-toggle-header{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);border:none;color:#fff;width:35px;height:35px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .3s ease;flex-shrink:0;box-shadow:0 2px 8px #87cefa4d}.sidebar-toggle-header:hover{background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%);transform:scale(1.1);box-shadow:0 4px 12px #87cefa66}.header-logo{text-align:center;justify-self:center}.scan-attendance-btn{background:linear-gradient(135deg,#28a745 0%,#229954 100%);color:#fff;border:none;padding:8px 16px;border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #28a7454d;white-space:nowrap}.scan-attendance-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a74566;background:linear-gradient(135deg,#229954 0%,#28a745 100%)}.header-logo h1{font-size:1.5rem;margin:0;font-weight:600}.header-logo p{font-size:.85rem;margin:0;opacity:.9}.header-user{display:flex;align-items:center;gap:15px}.user-name{font-weight:500}.btn-logout{padding:8px 16px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:var(--border-radius);color:#fff;cursor:pointer;transition:all .3s ease}.btn-logout:hover{background:rgba(255,255,255,.3)}.sidebar{width:250px;background:white;box-shadow:2px 0 8px #0000001a;padding:20px 0;transition:width .3s ease,opacity .3s ease;position:relative;overflow:hidden}.sidebar.closed{width:0!important;min-width:0!important;max-width:0!important;opacity:0;padding:0!important;margin:0!important;overflow:hidden;visibility:hidden;border:none;box-shadow:none}.sidebar-header{display:flex;align-items:center;gap:10px;padding:0 15px 15px;border-bottom:1px solid #e0e0e0;margin-bottom:15px}.sidebar-close-btn{display:none}.sidebar-toggle{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .3s ease;flex-shrink:0}.sidebar-toggle:hover{background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%);transform:scale(1.1)}.sidebar-title{margin:0;font-size:1rem;color:#2c3e50;font-weight:600;white-space:nowrap;overflow:hidden;opacity:1;transition:opacity .3s ease}.sidebar.closed .sidebar-title{opacity:0;width:0}.sidebar-nav{display:flex;flex-direction:column;gap:5px;padding:0 10px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:var(--border-radius);text-decoration:none;color:var(--text-color);transition:all .3s ease;white-space:nowrap;position:relative}.sidebar.closed .nav-link{justify-content:center;padding:12px}.nav-link:hover{background:rgba(135,206,250,.1);color:var(--primary-color)}.nav-link.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff}.nav-icon{font-size:1.2rem}.nav-label{font-weight:500;opacity:1;transition:opacity .3s ease;overflow:hidden}.sidebar.closed .nav-label{opacity:0;width:0;padding:0}.sidebar.closed .nav-link:hover:after{content:attr(data-label);position:absolute;left:70px;background:#2c3e50;color:#fff;padding:8px 12px;border-radius:6px;white-space:nowrap;z-index:1000;font-size:.85rem;box-shadow:0 2px 8px #0003;pointer-events:none;animation:fadeInTooltip .2s ease}.sidebar.closed .nav-link:hover:before{content:"";position:absolute;left:60px;border:6px solid transparent;border-right-color:#2c3e50;z-index:1001;pointer-events:none;animation:fadeInTooltip .2s ease}@keyframes fadeInTooltip{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.sidebar-overlay{display:none}@media (max-width: 768px){.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.sidebar-overlay.active{opacity:1;visibility:visible}.sidebar{width:280px;max-width:85vw;position:fixed;top:0;left:0;bottom:0;z-index:1000;padding:20px 0;box-shadow:2px 0 8px #0003;transform:translate(-100%);transition:transform .3s ease;height:100vh;overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar.closed{transform:translate(-100%);width:280px;max-width:85vw;opacity:1;visibility:visible}.sidebar-nav{flex-direction:column;overflow-x:visible;overflow-y:auto;padding:0 10px}.nav-link{flex-direction:row;min-width:auto;padding:12px 15px}.nav-label{font-size:.9rem}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:0 15px 15px}.sidebar-close-btn{display:flex!important;background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.sidebar-close-btn:hover{background:linear-gradient(135deg,#c0392b 0%,#e74c3c 100%);transform:scale(1.1)}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-body{display:flex;flex:1}.layout-content{flex:1;padding:0;overflow-y:auto;overflow-x:hidden;background:var(--background);width:100%;min-height:calc(100vh - 80px);position:relative;z-index:1;display:block!important;visibility:visible!important;opacity:1!important;transition:margin-left .3s ease,width .3s ease}.sidebar.closed~.layout-content{width:100%;margin-left:0}@media (max-width: 768px){.layout-body{flex-direction:column}.layout-content{padding:15px}}.home{min-height:100vh;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);padding:40px 20px}.home-header{text-align:center;margin-bottom:50px}.home-title{font-size:3rem;font-weight:300;color:var(--secondary-color);margin-bottom:10px;letter-spacing:3px}.home-subtitle{font-size:1.2rem;color:var(--text-light);font-weight:300}.portals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px;max-width:1200px;margin:0 auto}.portal-card{background:white;border-radius:20px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;border:3px solid transparent}.portal-card:hover{transform:translateY(-10px);box-shadow:0 8px 25px #00000026;border-color:var(--portal-color)}.portal-icon{font-size:4rem;margin-bottom:15px}.portal-name{font-size:1.2rem;color:var(--secondary-color);margin:0;font-weight:600}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);padding:20px}.login-container{background:white;border-radius:20px;padding:40px;width:100%;max-width:400px;box-shadow:0 10px 40px #0003}.login-header{text-align:center;margin-bottom:30px}.login-header h1{font-size:2.5rem;color:var(--secondary-color);margin-bottom:10px;font-weight:300;letter-spacing:3px}.login-header p{color:var(--text-light);font-size:1rem}.login-form,.form-group{margin-bottom:20px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:var(--border-radius);font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #87cefa1a}.btn-login{width:100%;margin-top:10px}.btn-back{width:100%;background:transparent;border:2px solid var(--primary-color);color:var(--primary-color);padding:10px;border-radius:var(--border-radius);cursor:pointer;font-weight:600;transition:all .3s ease}.btn-back:hover{background:var(--primary-color);color:#fff}.dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-title{font-size:2.5rem;color:#2c3e50;margin-bottom:10px;font-weight:600;text-align:center}.dashboard-subtitle{font-size:1.1rem;color:#7f8c8d;margin-bottom:40px;text-align:center}.component-card-wrapper{position:relative}.component-card{background:white;border-radius:15px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;border:2px solid transparent;position:relative;min-height:180px;display:flex;flex-direction:column;justify-content:center}.component-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa4d;border-color:#87ceeb}.component-card.register-staff-card{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%)}.card-icon{font-size:3.5rem;margin-bottom:15px;line-height:1}.card-title{font-size:1.3rem;color:#2c3e50;margin-bottom:10px;font-weight:600}.card-description{color:#7f8c8d;font-size:.9rem;margin:0;line-height:1.5}.sub-options{margin-top:20px;display:flex;flex-direction:column;gap:10px;padding-top:15px;border-top:2px solid #e9ecef}.sub-option-btn{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px #87cefa4d}.sub-option-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66;background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%)}.staff-table-container{background:white;border-radius:20px;padding:30px;box-shadow:var(--box-shadow);overflow-x:auto}.staff-table{width:100%;border-collapse:collapse}.staff-table thead{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff}.staff-table th{padding:15px;text-align:left;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.staff-table tbody tr{border-bottom:1px solid rgba(135,206,250,.2);transition:background-color .3s ease}.staff-table tbody tr:hover{background-color:#87cefa0d}.staff-table td{padding:15px;vertical-align:middle}.staff-photo{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid var(--primary-color)}.staff-photo-placeholder{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;font-size:1.2rem;font-weight:600;border:2px solid var(--primary-color)}.staff-name{font-weight:600;color:var(--text-color)}.password-display{display:flex;align-items:center;gap:8px}.password-text{font-family:Courier New,monospace;color:var(--text-color);font-weight:500;font-size:.9rem}.password-toggle-btn{background:rgba(135,206,250,.1);border:1px solid rgba(135,206,250,.3);border-radius:5px;padding:4px 8px;cursor:pointer;font-size:.85rem;transition:all .3s ease}.password-toggle-btn:hover{background:rgba(135,206,250,.2);border-color:var(--primary-color)}.status-badge.active{background:rgba(46,204,113,.1);color:var(--success)}.status-badge.suspended{background:rgba(231,76,60,.1);color:var(--error)}.status-badge.warned{background:rgba(243,156,18,.1);color:var(--warning)}.action-buttons{display:flex;gap:5px;flex-wrap:wrap}.action-btn{padding:6px 12px;border:1px solid var(--primary-color);background:white;color:var(--primary-color);border-radius:8px;cursor:pointer;font-size:.8rem;transition:all .3s ease}.action-btn:hover{background:var(--primary-color);color:#fff}.action-btn.delete{border-color:var(--error);color:var(--error)}.action-btn.delete:hover{background:var(--error);color:#fff}.loading,.empty-state{text-align:center;padding:40px;color:var(--text-light)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:white;border-radius:20px;max-height:95vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.modal-small{width:90%;max-width:400px}.modal-medium{width:90%;max-width:600px}.modal-large{width:90%;max-width:900px}.modal-header h2{margin:0;color:var(--secondary-color);font-size:1.5rem}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-light);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.modal-close:hover{color:var(--error)}@media (max-width: 768px){.modal-content{width:95%;max-height:90vh}.modal-header,.modal-body{padding:20px}}.staff-form{padding:20px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:600;color:var(--text-color)}.form-group input,.form-group select{padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #87cefa1a}.btn-cancel{background:#e0e0e0;color:var(--text-color)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.staff-management{padding:20px}.page-header h1{font-size:2rem;color:var(--secondary-color);margin-bottom:10px;font-weight:300}.page-header p{color:var(--text-light)}.actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px;flex-wrap:wrap}.filters{display:flex;gap:15px}.filters select{padding:10px 20px;border:2px solid var(--primary-color);border-radius:25px;background:white;color:var(--text-color);font-size:.95rem;cursor:pointer}.students-page{min-height:100vh;background:#f8f9fa;padding:20px}.stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px;margin-bottom:40px}.stat-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;display:flex;align-items:center;gap:20px;transition:transform .3s ease}.stat-icon{font-size:3rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(135,206,250,.2) 0%,rgba(173,216,230,.1) 100%);border-radius:15px}.stat-label{font-size:.95rem;color:#7f8c8d;font-weight:500;text-transform:uppercase;letter-spacing:1px}.action-buttons-group{display:flex;gap:15px;flex-wrap:wrap}.btn-register,.btn-reports{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-register:hover,.btn-reports:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%)}.filters-section{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:12px;padding:12px 15px;box-shadow:0 4px 15px #00000014;margin-bottom:20px}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.filters-header h3{font-size:16px;color:#2c3e50;margin:0;text-transform:uppercase;letter-spacing:1px}.clear-filters-btn{padding:8px 16px;border:2px solid #e74c3c;background:white;color:#e74c3c;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease}.filters-grid{display:flex;flex-wrap:wrap;gap:15px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px;flex:1;min-width:150px}.filter-label{font-size:14px;color:#2c3e50;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.filter-select,.filter-input,.filter-date,.filter-number{padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;color:#2c3e50;background:white;transition:all .3s ease}.filter-select option,.filter-input::placeholder,.filter-date::placeholder,.filter-number::placeholder,.filter-select{font-size:14px}.filter-select option,.filter-input::placeholder,.filter-date::placeholder,.filter-number::placeholder{color:#95a5a6}.filter-select:focus,.filter-input:focus,.filter-date:focus,.filter-number:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.filter-input{min-width:200px;font-size:14px}.filter-date,.filter-number{min-width:150px;font-size:14px}.filter-select{cursor:pointer}.students-table{width:100%;border-collapse:collapse;font-size:14px;min-width:1200px}.students-table th{padding:16px 12px;text-align:left;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:14px;white-space:nowrap;border-bottom:2px solid #87CEEB}.students-table th:nth-child(1){min-width:80px}.students-table th:nth-child(2){min-width:150px}.students-table th:nth-child(3){min-width:200px}.students-table th:nth-child(4){min-width:100px}.students-table th:nth-child(5){min-width:100px}.students-table th:nth-child(6){min-width:80px}.students-table th:nth-child(7){min-width:120px}.students-table th:nth-child(8){min-width:150px}.students-table th:nth-child(9){min-width:150px}.students-table th:nth-child(10){min-width:180px}.students-table td{padding:16px 12px;vertical-align:middle;white-space:nowrap;font-size:14px;overflow:hidden;text-overflow:ellipsis}.student-photo{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid #87CEEB;box-shadow:0 2px 8px #87cefa33}.student-photo-placeholder{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;font-size:1.2rem;font-weight:600;border:2px solid #87CEEB;box-shadow:0 2px 8px #87cefa33}.student-info{color:#7f8c8d}.gender-badge{display:inline-block;padding:6px 12px;border-radius:15px;font-size:12px;font-weight:600;text-transform:uppercase}.gender-badge.male{background:rgba(52,152,219,.1);color:#3498db}.gender-badge.female{background:rgba(231,76,60,.1);color:#e74c3c}.action-buttons{display:flex;gap:8px;flex-wrap:nowrap;white-space:nowrap}.action-btn{padding:8px 16px;border:1px solid #87CEEB;background:white;color:#87ceeb;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;transition:all .3s ease;white-space:nowrap;flex-shrink:0}.action-btn.delete{border-color:#e74c3c;color:#e74c3c}.action-btn.delete:hover{background:#e74c3c;color:#fff}.empty-state{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;box-shadow:0 4px 15px #00000014}.empty-icon{font-size:5rem;margin-bottom:20px}.empty-state h2{font-size:1.8rem;color:#2c3e50;margin-bottom:10px}.empty-state p{font-size:1rem;color:#7f8c8d;margin-bottom:30px}@media (max-width: 768px){.students-page{padding:15px}.page-header{margin-bottom:25px;padding:20px 0}.back-button{position:relative;top:0;left:0;margin-bottom:15px}.page-title{font-size:1.8rem;letter-spacing:1px}.page-subtitle{font-size:.95rem}.stats-container{grid-template-columns:1fr;gap:15px;margin-bottom:25px}.stat-card{padding:20px;gap:15px}.stat-icon{font-size:2.5rem;width:60px;height:60px}.stat-number{font-size:2rem}.stat-label{font-size:.85rem}.actions-section{flex-direction:column;align-items:stretch;gap:15px;margin-bottom:20px}.action-buttons-group{width:100%;justify-content:center}.btn-register,.btn-reports{flex:1;min-width:0;padding:12px 20px;font-size:.95rem;text-align:center}.filters-section{padding:15px;margin-bottom:15px}.filters-header{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:15px}.filters-grid{flex-direction:column;gap:12px}.filter-group,.filter-input,.filter-date,.filter-number{min-width:100%}.table-container{padding:15px;overflow-x:auto;border-radius:15px}.students-table{font-size:.8rem}.students-table th{padding:10px 8px;font-size:.7rem}.students-table td{padding:10px 8px}.student-photo,.student-photo-placeholder{width:40px;height:40px;font-size:1rem}.action-buttons{flex-wrap:wrap;gap:5px}.action-btn{padding:5px 10px;font-size:.8rem;flex:1;min-width:60px;text-align:center}.empty-state{padding:40px 15px}.empty-icon{font-size:3.5rem}.empty-state h2{font-size:1.5rem}.empty-state p{font-size:.95rem}}@media (max-width: 480px){.students-page{padding:10px}.page-title{font-size:1.5rem}.stat-card{padding:15px}.stat-icon{font-size:2rem;width:50px;height:50px}.stat-number{font-size:1.8rem}.btn-register,.btn-reports{padding:10px 16px;font-size:.9rem}.students-table{font-size:.75rem}.students-table th,.students-table td{padding:8px 6px}.gender-badge{font-size:.75rem;padding:3px 8px}.action-btn{padding:4px 8px;font-size:.75rem}}.reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.reports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;margin-bottom:40px}.report-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:30px;box-shadow:0 4px 15px #00000014;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.report-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33;border-color:#87cefa4d}.report-icon{font-size:3rem;margin-bottom:15px}.report-card h3{font-size:1.3rem;color:#2c3e50;margin-bottom:10px}.report-card p{font-size:.9rem;color:#7f8c8d;line-height:1.6}.reports-history{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.reports-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.reports-history h3{font-size:1.3rem;color:#2c3e50;margin:0;text-transform:uppercase;letter-spacing:1px}.reports-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-select,.filter-date{padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;color:#2c3e50;background:white;transition:all .3s ease}.filter-select:focus,.filter-date:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.filter-date{min-width:150px}.clear-filters-btn{padding:8px 16px;border:2px solid #e74c3c;background:white;color:#e74c3c;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease}.clear-filters-btn:hover{background:#e74c3c;color:#fff}.reports-list{display:flex;flex-direction:column;gap:15px}.report-item{background:white;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.report-item:hover{transform:translate(5px);box-shadow:0 4px 12px #87cefa33}.report-info{flex:1}.report-name{font-weight:600;color:#2c3e50;margin-bottom:5px}.report-meta{font-size:.85rem;color:#7f8c8d}.report-action-btn{padding:8px 16px;border:2px solid #87CEEB;background:white;color:#87ceeb;border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease}.report-action-btn:hover{background:#87CEEB;color:#fff}.form-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;color:#2c3e50;transition:all .3s ease;font-family:inherit;box-sizing:border-box}.form-input:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}@media (max-width: 768px){.reports-grid{grid-template-columns:1fr}.modal-content{width:95%;max-width:none}}.student-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.student-reports-section{max-width:1200px;margin:0 auto}.student-selector-container{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;margin-bottom:30px;box-shadow:0 4px 15px #00000014;display:flex;flex-direction:column;gap:15px}.student-search-wrapper{display:flex;flex-direction:column;gap:12px;width:100%}.student-search-input{width:100%;padding:12px 20px;border:2px solid #87CEEB;border-radius:25px;background:white;color:#2c3e50;font-size:1rem;font-weight:500;transition:all .3s ease;font-family:inherit}.student-search-input:focus{outline:none;border-color:#add8e6;box-shadow:0 0 0 3px #87cefa1a}.student-search-input::placeholder{color:#95a5a6;font-weight:400}.student-select{width:100%;padding:12px 20px;border:2px solid #87CEEB;border-radius:25px;background:white;color:#2c3e50;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.student-select:focus{outline:none;border-color:#add8e6;box-shadow:0 0 0 3px #87cefa1a}.btn-save,.btn-generate,.btn-send{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.btn-send{background:linear-gradient(135deg,#f39c12 0%,#e67e22 100%);color:#fff}.btn-send:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f39c1266}.payments-container{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.payment-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:15px;align-items:end;padding:15px;background:#f8f9fa;border-radius:10px}.payment-row input{padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem}.btn-remove-payment{padding:10px 15px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-remove-payment:hover{background:#c0392b;transform:scale(1.05)}.btn-add-payment{padding:12px 24px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start}.btn-add-payment:hover{transform:translateY(-2px);box-shadow:0 4px 15px #87cefa4d}.academic-redirect-section{padding:40px 20px}.redirect-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:40px;text-align:center;box-shadow:0 4px 15px #00000014;max-width:600px;margin:0 auto}.redirect-icon{font-size:5rem;margin-bottom:20px}.redirect-card h3{font-size:1.8rem;color:#2c3e50;margin-bottom:15px;font-weight:600}.redirect-card p{font-size:1rem;color:#7f8c8d;margin-bottom:15px;line-height:1.6}.redirect-description{font-size:.95rem;color:#95a5a6;margin-top:20px;margin-bottom:30px}.btn-primary{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%)}@media (max-width: 768px){.page-title{font-size:1.8rem}.back-button{position:relative;left:auto;top:auto;margin-bottom:20px}.student-selector-container{flex-direction:column;align-items:stretch}.student-search-wrapper{width:100%}.report-tabs{flex-direction:column}.tab-btn{width:100%}.template-header{flex-direction:column;align-items:stretch}.template-actions{width:100%;flex-direction:column}.btn-save,.btn-generate{width:100%}.form-row,.payment-row{grid-template-columns:1fr}.report-template{padding:20px}}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:.95rem}.btn-secondary:hover{transform:translateY(-2px);background:#d0d0d0}.staff-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.staff-reports-section{max-width:1200px;margin:0 auto}.staff-selector-container{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;margin-bottom:30px;box-shadow:0 4px 15px #00000014;display:flex;align-items:center;gap:20px}.selector-label{font-size:1.1rem;font-weight:600;color:#2c3e50;white-space:nowrap}.staff-select{flex:1;padding:12px 20px;border:2px solid #87CEEB;border-radius:25px;background:white;color:#2c3e50;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.staff-select:focus{outline:none;border-color:#add8e6;box-shadow:0 0 0 3px #87cefa1a}.report-tabs{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);padding:20px;border-radius:15px;box-shadow:0 4px 15px #00000014}.tab-btn{flex:1;min-width:180px;padding:15px 25px;border:2px solid #87CEEB;background:white;color:#87ceeb;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;text-align:center}.tab-btn:hover{background:rgba(135,206,250,.1);transform:translateY(-2px)}.tab-btn.active{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border-color:#87ceeb;box-shadow:0 4px 15px #87cefa4d}.report-template{display:none;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:40px;box-shadow:0 4px 15px #00000014;margin-bottom:30px;max-height:calc(100vh - 200px);overflow-y:auto;overflow-x:hidden}.report-template.active{display:block}.template-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid rgba(135,206,250,.2);flex-wrap:wrap;gap:20px}.template-header h2{font-size:1.8rem;color:#2c3e50;font-weight:600;margin:0}.template-actions{display:flex;gap:15px}.btn-save,.btn-generate{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.btn-save{background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);color:#fff}.btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2ecc7166}.btn-generate{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66}.report-form{display:flex;flex-direction:column;gap:30px}.form-section{background:white;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d}.form-section h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid rgba(135,206,250,.2);font-weight:600}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.form-group label{font-size:.95rem;font-weight:600;color:#2c3e50}.form-input,.form-textarea,.form-select{padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;color:#2c3e50;transition:all .3s ease;font-family:inherit}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.form-input[readonly]{background-color:#f5f5f5;cursor:not-allowed}.performance-areas-container{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.performance-area-row{display:grid;grid-template-columns:2fr 1.5fr 1fr auto;gap:15px;align-items:end;padding:15px;background:#f8f9fa;border-radius:10px}.performance-area-row input,.performance-area-row select{padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem}.btn-remove-area{padding:10px 15px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-remove-area:hover{background:#c0392b;transform:scale(1.05)}.btn-add-area{padding:12px 24px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start}.btn-add-area:hover{transform:translateY(-2px);box-shadow:0 4px 15px #87cefa4d}.absences-container{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.absence-row{display:grid;grid-template-columns:1fr 1.5fr 2fr 1.5fr auto;gap:15px;align-items:end;padding:15px;background:#f8f9fa;border-radius:10px}.absence-row input,.absence-row select{padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem}.btn-remove-absence{padding:10px 15px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-remove-absence:hover{background:#c0392b;transform:scale(1.05)}.btn-add-absence{padding:12px 24px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start}.btn-add-absence:hover{transform:translateY(-2px);box-shadow:0 4px 15px #87cefa4d}@media (max-width: 768px){.page-title{font-size:1.8rem}.back-button{position:relative;left:auto;top:auto;margin-bottom:20px}.staff-selector-container{flex-direction:column;align-items:stretch}.report-tabs{flex-direction:column}.tab-btn{width:100%}.template-header{flex-direction:column;align-items:stretch}.template-actions{width:100%;flex-direction:column}.btn-save,.btn-generate{width:100%}.form-row,.performance-area-row,.absence-row{grid-template-columns:1fr}.report-template{padding:20px}}.modal-close:hover{color:#2c3e50}.modal-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn-primary{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-secondary{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:#e0e0e0;color:#2c3e50}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.form-input{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.form-input:focus{outline:none;border-color:#87ceeb}.form-select:focus{outline:none;border-color:#87ceeb}.reports-list{display:flex;flex-direction:column;gap:20px;max-width:1000px;margin:0 auto}.report-item{background:white;border-radius:15px;padding:20px;box-shadow:0 4px 15px #00000014;transition:all .3s ease}.report-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.report-name{font-size:1.3rem;font-weight:600;color:#2c3e50}.report-meta{display:flex;gap:20px;margin-bottom:15px;font-size:.95rem;color:#555}.report-sender{font-weight:500}.report-type{background:rgba(135,206,250,.2);padding:4px 12px;border-radius:15px;font-size:.85rem}.report-actions{display:flex;gap:10px}.report-btn{padding:10px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.report-btn.view{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.report-btn.view:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.report-btn.download{background:linear-gradient(135deg,#90EE90 0%,#98FB98 100%);color:#fff}.report-btn.download:hover{transform:translateY(-2px);box-shadow:0 4px 12px #90ee9066}.academic-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.academic-reports-section{max-width:1200px;margin:0 auto}.upload-section{margin-bottom:30px}.upload-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.upload-area:hover{border-color:#87ceeb;background:rgba(135,206,250,.1)}.file-details{flex:1;display:flex;flex-direction:column;gap:5px}.reports-list-section{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.section-header{margin-bottom:30px}.section-header h3{font-size:1.5rem;color:#2c3e50;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.section-description{font-size:.95rem;color:#7f8c8d;line-height:1.6}.reports-list{display:flex;flex-direction:column;gap:20px}.report-item{background:white;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease;border:2px solid transparent}.report-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa33;border-color:#87cefa4d}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.report-name{font-size:1.2rem;font-weight:600;color:#2c3e50}.report-date{font-size:.9rem;color:#7f8c8d}.report-meta{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.report-size,.report-type{font-size:.85rem;color:#7f8c8d;padding:5px 12px;background:#f8f9fa;border-radius:15px}.report-actions{display:flex;gap:10px;flex-wrap:wrap}.report-btn{padding:10px 20px;border:2px solid #87CEEB;background:white;color:#87ceeb;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:5px}.report-btn:hover{background:#87CEEB;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #87cefa4d}.report-btn.delete{border-color:#e74c3c;color:#e74c3c}.report-btn.delete:hover{background:#e74c3c;color:#fff}.empty-state{text-align:center;padding:60px 20px;color:#7f8c8d;font-size:1.1rem;background:white;border-radius:15px;border:2px dashed #ddd}@media (max-width: 768px){.page-header{padding:20px 0}.back-button{position:relative;top:0;margin-bottom:20px}.report-header{flex-direction:column;align-items:flex-start}.report-actions{width:100%}.report-btn{flex:1;justify-content:center}}.form-select{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.form-readonly{padding:12px;background:#f8f9fa;border-radius:10px;color:#2c3e50;font-weight:500}.folder-container{margin-bottom:20px}.folder-header{transition:all .3s ease}.folder-header:hover{transform:translate(5px);box-shadow:0 4px 12px #87cefa4d}.folder-content{animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.attendance-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.attendance-report-viewer-section{max-width:1400px;margin:0 auto}.attendance-table{width:100%;border-collapse:collapse}.attendance-table thead{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.attendance-table th{padding:15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.attendance-table td{padding:12px 15px;border-bottom:1px solid #e0e0e0;font-size:.9rem}.attendance-table tbody tr:hover{background:#f8f9fa}.type-badge{display:inline-block;padding:5px 12px;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-badge.present{background:#e8f5e9;color:#2e7d32}.status-badge.absent{background:#ffebee;color:#c62828}.status-badge.late{background:#fff3e0;color:#e65100}.status-badge.leave{background:#e1f5fe;color:#0277bd}.financial-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.financial-report-viewer-section{max-width:1400px;margin:0 auto}.stat-number{font-size:1.5rem;font-weight:700;color:#2c3e50;margin-bottom:5px}.table-section{background:white;border-radius:15px;padding:30px;box-shadow:0 2px 8px #0000000d}.table-section h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.table-container{overflow-x:auto}.financial-table{width:100%;border-collapse:collapse}.financial-table thead{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.financial-table th{padding:15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.financial-table td{padding:12px 15px;border-bottom:1px solid #e0e0e0;font-size:.9rem}.financial-table tbody tr:hover{background:#f8f9fa}.status-badge{display:inline-block;padding:5px 12px;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-badge.paid{background:#e8f5e9;color:#2e7d32}.status-badge.partial{background:#fff3e0;color:#e65100}.status-badge.unpaid{background:#ffebee;color:#c62828}@media (max-width: 768px){.page-header{padding:20px 0}.back-button{position:relative;top:0;margin-bottom:20px}.filter-section{flex-direction:column;align-items:stretch}.stats-section{grid-template-columns:1fr}.table-container{overflow-x:scroll}}.activities-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.activities-report-viewer-section{max-width:1200px;margin:0 auto}.filter-section{background:white;border-radius:15px;padding:25px;margin-bottom:30px;box-shadow:0 2px 8px #0000000d;display:flex;gap:20px;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:150px}.filter-group label{font-size:.9rem;font-weight:600;color:#2c3e50}.filter-select{padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:all .3s ease;background:white}.filter-select:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.btn-export{padding:12px 24px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #87cefa4d;white-space:nowrap}.btn-export:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:white;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d;display:flex;align-items:center;gap:20px;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa33}.stat-icon{font-size:2.5rem}.stat-number{font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:5px}.stat-label{font-size:.9rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:1px}.activities-section{background:white;border-radius:15px;padding:30px;box-shadow:0 2px 8px #0000000d}.activities-section h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.activities-list{display:flex;flex-direction:column;gap:20px}.activity-card{background:#f8f9fa;border-radius:12px;padding:20px;border:2px solid transparent;transition:all .3s ease}.activity-card:hover{border-color:#87cefa4d;box-shadow:0 4px 12px #00000014}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;flex-wrap:wrap;gap:10px}.activity-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:8px}.activity-category{display:inline-block;padding:5px 12px;background:#87CEEB;color:#fff;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:uppercase}.activity-actions{display:flex;gap:10px}.btn-edit,.btn-delete{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-edit{background:#87CEEB;color:#fff}.btn-edit:hover{background:#5fb3d3;transform:translateY(-2px)}.btn-delete{background:#e74c3c;color:#fff}.activity-meta{display:flex;gap:20px;margin-bottom:15px;font-size:.85rem;color:#7f8c8d;flex-wrap:wrap}.activity-description{color:#2c3e50;line-height:1.6;margin-bottom:10px;max-height:150px;overflow-y:auto}.activity-supervisor{font-size:.9rem;color:#7f8c8d;font-style:italic}.empty-state{text-align:center;padding:60px 20px;color:#7f8c8d;font-size:1.1rem;background:#f8f9fa;border-radius:15px;border:2px dashed #ddd}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:white;border-radius:15px;width:90%;max-width:600px;max-height:95vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:2px solid #e0e0e0;position:sticky;top:0;background:white;z-index:10}.modal-header h2{font-size:1.5rem;color:#2c3e50;margin:0}.modal-close{background:none;border:none;font-size:2rem;color:#7f8c8d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.modal-close:hover{color:#e74c3c;transform:rotate(90deg)}.activity-form{display:flex;flex-direction:column;gap:20px}.form-label{font-size:.9rem;font-weight:600;color:#2c3e50}.form-input,.form-select,.form-textarea{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:all .3s ease;font-family:inherit}.form-textarea{resize:vertical;min-height:100px;max-height:150px;overflow-y:auto}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:10px}.btn{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-cancel:hover{background:#d0d0d0}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa4d}@media (max-width: 768px){.page-header{padding:20px 0}.back-button{position:relative;top:0;margin-bottom:20px}.filter-section{flex-direction:column;align-items:stretch}.stats-section{grid-template-columns:1fr}.activity-header{flex-direction:column}.form-row{grid-template-columns:1fr}.modal-content{width:95%;margin:20px}}.create-qr-code{padding:20px}.qr-container{background:white;border-radius:20px;padding:40px;box-shadow:var(--box-shadow);max-width:800px;margin:0 auto}.qr-settings{margin-bottom:30px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-color)}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem}.form-group small{display:block;margin-top:5px;color:var(--text-light);font-size:.85rem}.qr-info{background:rgba(135,206,250,.05);padding:20px;border-radius:10px;margin-bottom:30px}.info-item{display:flex;justify-content:space-between;margin-bottom:10px}.info-label{font-weight:600;color:var(--text-color)}.info-value{color:var(--text-light)}.qr-display{display:flex;justify-content:center;align-items:center;margin-bottom:30px;padding:40px;background:white;border-radius:10px;min-height:400px}#qr-code{display:flex;justify-content:center;align-items:center}#qr-code svg{display:block;max-width:100%;height:auto}.qr-placeholder{text-align:center;color:var(--text-light);font-size:1.1rem}.page-header h1{font-size:2rem;margin-bottom:10px;color:var(--text-color)}.page-header p{color:var(--text-light);font-size:1rem}.qr-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}@media print{.qr-settings,.qr-actions{display:none}}.register-staff-page{min-height:100vh;background:#f8f9fa;padding:20px}.form-header{text-align:center;margin-bottom:40px;padding:30px 0;position:relative}.form-title{font-size:2.2rem;font-weight:300;color:#2c3e50;margin-bottom:10px;letter-spacing:2px;text-transform:uppercase}.form-subtitle{font-size:1rem;color:#7f8c8d;font-weight:300}.form-section{margin-top:20px}.staff-registration-form{width:100%}.form-section-title:first-child{margin-top:0}.form-label{display:block;font-size:.95rem;font-weight:600;color:#2c3e50;margin-bottom:8px}.form-hint{display:block;font-size:.8rem;color:#7f8c8d;margin-top:5px}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:all .3s ease;background-color:#fff;box-sizing:border-box}.form-textarea{resize:vertical;min-height:80px;max-height:200px;overflow-y:auto}.file-input{position:absolute;opacity:0;width:0;height:0}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed #87CEEB;border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.9) 0%,rgba(173,216,230,.1) 100%);cursor:pointer;transition:all .3s ease;min-height:200px}.file-upload-label:hover{border-color:#add8e6;background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(173,216,230,.15) 100%);transform:translateY(-2px);box-shadow:0 4px 12px #87cefa33}.upload-main-text{display:block;font-size:1rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.image-preview{margin-top:20px;display:none}.image-preview img{max-width:200px;max-height:200px;border-radius:10px;box-shadow:0 4px 12px #0000001a;object-fit:cover}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:40px;padding-top:30px;border-top:2px solid rgba(135,206,250,.2)}.btn{padding:14px 32px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.btn-cancel:hover{background:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-submit{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;box-shadow:0 4px 15px #87cefa4d}.btn-submit:hover{background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%);transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66}.btn-submit:active{transform:translateY(0)}@media (max-width: 768px){.form-container{padding:30px 20px}.form-title{font-size:1.8rem}.back-button{position:relative;left:auto;top:auto;margin-bottom:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}@media (max-width: 480px){.form-container{padding:20px 15px}.form-title{font-size:1.5rem}.file-upload-label{min-height:150px;padding:30px 15px}.upload-icon{font-size:2.5rem}}.superior-credentials-section{margin:20px 0;padding:20px;background:#f5f5f5;border-radius:10px;border:1px solid #e0e0e0}.superior-credentials-title{font-size:1.1rem;font-weight:600;color:#7f8c8d;margin-bottom:15px;text-transform:uppercase;letter-spacing:.5px}.superior-credentials-list{display:flex;flex-direction:column;gap:12px}.superior-credential-item{padding:12px 15px;background:#ffffff;border-radius:8px;border:1px solid #e0e0e0}.superior-credential-name{font-size:.95rem;font-weight:600;color:#95a5a6;margin-bottom:8px}.superior-credential-details{display:flex;flex-wrap:wrap;gap:15px;font-size:.85rem}.superior-credential-label{color:#bdc3c7;font-weight:500}.superior-credential-value{color:#95a5a6;font-family:Courier New,monospace;background:#f8f9fa;padding:4px 8px;border-radius:4px;border:1px solid #e0e0e0}.settings-page{width:100%}.settings-container{background:white;border-radius:15px;padding:30px;box-shadow:0 4px 15px #0000001a;max-width:800px;margin:0 auto}.settings-group{margin-bottom:30px}.settings-group-title{font-size:1.5rem;color:#2c3e50;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.form-input,.form-textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3498db}.form-textarea{resize:vertical;min-height:80px}.settings-actions{display:flex;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:2px solid #e0e0e0}.btn-save{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.subjects-page{padding:20px;max-width:1400px;margin:0 auto;width:100%;min-height:100vh}.stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-number{font-size:2rem;font-weight:700;color:#2c3e50}.stat-label{color:#7f8c8d;font-size:.9rem;margin-top:5px}.btn-register{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-register:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.filter-select{padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;background:white;cursor:pointer;transition:all .3s ease}.filter-select:hover{border-color:#87ceeb}.subjects-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.subject-card{background:white;border-radius:15px;padding:25px;box-shadow:0 4px 15px #0000001a;transition:all .3s ease}.subject-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.subject-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.subject-name{font-size:1.4rem;font-weight:700;color:#2c3e50;margin-bottom:5px}.subject-code{color:#7f8c8d;font-size:.9rem}.subject-category{padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;background:#e3f2fd;color:#1976d2}.subject-category.core{background:#e8f5e9;color:#388e3c}.subject-category.elective{background:#fff3e0;color:#f57c00}.subject-description{color:#555;font-size:.95rem;line-height:1.6;margin-bottom:15px;max-height:150px;overflow-y:auto}.subject-info{margin-bottom:15px}.subject-info-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:.9rem}.subject-info-item strong{color:#2c3e50}.subject-grades{margin-bottom:15px;padding:15px;background:#f8f9fa;border-radius:8px}.grade-badge{display:inline-block;padding:5px 12px;margin:5px 5px 0 0;background:#87CEEB;color:#fff;border-radius:15px;font-size:.85rem;font-weight:500}.subject-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:2px solid #f0f0f0}.registered-by{color:#7f8c8d;font-size:.85rem}.subject-actions{display:flex;gap:10px}.action-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;background:#3498db;color:#fff}.action-btn:hover{background:#2980b9;transform:translateY(-2px)}.action-btn.edit-btn{background:#f39c12}.action-btn.edit-btn:hover{background:#d68910}.action-btn.delete-btn{background:#e74c3c}.action-btn.delete-btn:hover{background:#c0392b}.empty-state h2{color:#2c3e50;margin-bottom:10px}.empty-state p{color:#7f8c8d;margin-bottom:20px}.btn-primary{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:white;border-radius:15px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;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:20px 25px;border-bottom:2px solid #f0f0f0}.modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.modal-close{background:none;border:none;font-size:1.8rem;color:#7f8c8d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#f0f0f0;color:#e74c3c}.modal-body{padding:25px}.modal-footer{padding:20px 25px;border-top:2px solid #f0f0f0;display:flex;justify-content:flex-end;gap:15px}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:500;font-size:.95rem}.form-group input{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87ceeb33}.btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d;transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#2980b9 0%,#2471a3 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.btn-danger{background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#c0392b 0%,#a93226 100%);transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c66}.subject-badge{padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;background:#e3f2fd;color:#1976d2}@media (max-width: 768px){.subjects-page{padding:15px}.page-title{font-size:1.8rem}.page-subtitle{font-size:.95rem}.back-button{padding:10px 20px;font-size:.9rem;margin-bottom:15px}.stats-container{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:20px}.stat-card{padding:20px;gap:15px}.stat-icon{font-size:2.5rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.8rem}.actions-section{flex-direction:column;align-items:stretch;gap:10px}.filter-controls{width:100%;flex-direction:column;gap:10px}.filter-select{width:100%}.subjects-container{grid-template-columns:1fr;gap:15px}.subject-card{padding:20px}.subject-name{font-size:1.2rem}.subject-header{flex-direction:column;align-items:flex-start;gap:10px}.subject-category{align-self:flex-start}.subject-description{font-size:.9rem;max-height:120px}.subject-footer{flex-direction:column;align-items:flex-start;gap:10px}.subject-actions{width:100%;justify-content:space-between}.action-btn{flex:1;text-align:center}.modal-content{margin:10px;max-height:85vh}.modal-header{padding:15px 20px}.modal-body{padding:20px}.modal-footer{padding:15px 20px;flex-direction:column;gap:10px}.btn{width:100%}}@media (max-width: 480px){.subjects-page{padding:10px}.page-title{font-size:1.5rem}.stat-card{padding:15px}.stat-icon{font-size:2rem}.stat-number{font-size:1.3rem}.subject-card{padding:15px}.subject-name{font-size:1.1rem}.subject-info-item{font-size:.85rem}.grade-badge{font-size:.8rem;padding:4px 10px}}.register-subject-page{padding:20px;max-width:1000px;margin:0 auto}.form-header{margin-bottom:30px}.form-title{font-size:2.5rem;color:#2c3e50;margin-bottom:10px}.form-subtitle{color:#7f8c8d;font-size:1.1rem}.form-section{background:white;border-radius:15px;padding:30px;box-shadow:0 4px 15px #0000001a}.form-container{max-height:calc(100vh - 200px);overflow-y:auto}.form-section-title{font-size:1.3rem;font-weight:600;color:#2c3e50;margin-bottom:25px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:500;font-size:.95rem}.form-input,.form-select,.form-textarea{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-hint{display:block;margin-top:5px;color:#7f8c8d;font-size:.85rem}.grades-checkbox-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;padding:15px;background:#f8f9fa;border-radius:8px;border:2px solid #e0e0e0}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:6px;transition:all .3s ease}.checkbox-label:hover{background:#e3f2fd}.grade-checkbox{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:2px solid #e0e0e0}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-submit{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff}.btn-submit:hover{background:linear-gradient(135deg,#2980b9 0%,#3498db 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.grades-checkbox-container{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.communication-page{padding:20px;max-width:1400px;margin:0 auto;width:100%;min-height:100vh}.back-button{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:20px;transition:all .3s ease}.back-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #87cefa66}.page-title{font-size:2.5rem;color:#2c3e50;margin-bottom:10px}.page-subtitle{color:#7f8c8d;font-size:1.1rem}.communication-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab-btn{padding:12px 24px;border:none;background:transparent;cursor:pointer;font-size:1rem;font-weight:500;color:#7f8c8d;border-bottom:3px solid transparent;transition:all .3s ease;position:relative}.tab-btn.active{color:#3498db;border-bottom-color:#3498db}.tab-badge{background:#e74c3c;color:#fff;border-radius:12px;padding:2px 8px;font-size:.75rem;margin-left:8px}.chat-container{display:grid;grid-template-columns:300px 1fr;gap:20px;height:calc(100vh - 250px);background:white;border-radius:15px;box-shadow:0 4px 15px #0000001a;overflow:hidden}.staff-sidebar{background:#f8f9fa;border-right:2px solid #e0e0e0;display:flex;flex-direction:column}.sidebar-header{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #e0e0e0}.sidebar-header h3{margin:0;color:#2c3e50}.btn-refresh{background:#3498db;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer}.staff-search{padding:15px;border-bottom:2px solid #e0e0e0}.search-input{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem}.staff-list{flex:1;overflow-y:auto;padding:10px}.staff-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .3s ease;margin-bottom:8px}.staff-item:hover{background:#e3f2fd}.staff-item.active{background:#87CEEB;color:#fff}.staff-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:#3498db;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.staff-info{flex:1}.staff-name{font-weight:600;font-size:.95rem}.staff-role{font-size:.85rem;color:#7f8c8d}.staff-item.active .staff-role{color:#fffc}.unread-badge{background:#e74c3c;color:#fff;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.chat-main{display:flex;flex-direction:column}.no-chat-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#7f8c8d}.no-chat-icon{font-size:4rem;margin-bottom:20px}.chat-area{display:flex;flex-direction:column;height:100%}.chat-header{padding:20px;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.chat-user-info{display:flex;align-items:center;gap:15px}.chat-user-avatar{width:50px;height:50px;border-radius:50%;background:#3498db;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem}.chat-user-name{font-weight:600;font-size:1.1rem;color:#2c3e50}.chat-user-role{font-size:.9rem;color:#7f8c8d}.messages-container{flex:1;overflow-y:auto;padding:20px;background:#f8f9fa}.messages-list{display:flex;flex-direction:column;gap:15px}.message{max-width:70%;padding:12px 16px;border-radius:12px;word-wrap:break-word}.message.sent{align-self:flex-end;background:#3498db;color:#fff}.message.received{align-self:flex-start;background:white;color:#2c3e50;border:1px solid #e0e0e0}.message-content{margin-bottom:5px}.message-time{font-size:.75rem;opacity:.7}.message-input-area{padding:20px;border-top:2px solid #e0e0e0;background:white}.input-wrapper{display:flex;gap:10px;align-items:flex-end}.message-input{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:none;max-height:150px;overflow-y:auto}.message-input:focus{outline:none;border-color:#3498db}.send-btn{background:#3498db;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.send-btn:hover{background:#2980b9;transform:translateY(-2px)}.received-messages-container{background:white;border-radius:15px;padding:20px;box-shadow:0 4px 15px #0000001a;max-height:calc(100vh - 250px);overflow-y:auto}.message-card{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:15px;border-left:4px solid #e0e0e0;transition:all .3s ease}.message-card.unread{border-left-color:#3498db;background:#e3f2fd}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sender-info{display:flex;flex-direction:column;gap:5px}.message-time{font-size:.85rem;color:#7f8c8d}.unread-indicator{background:#e74c3c;color:#fff;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.message-body{color:#2c3e50;line-height:1.6}@media (max-width: 768px){.communication-page{padding:10px}.page-title{font-size:1.8rem}.page-subtitle{font-size:.95rem}.communication-tabs{flex-wrap:wrap;gap:5px;margin-bottom:15px}.tab-btn{padding:10px 15px;font-size:.9rem;flex:1;min-width:120px;text-align:center}.chat-container{grid-template-columns:1fr;height:calc(100vh - 200px);gap:0;border-radius:10px}.staff-sidebar{max-height:250px;border-right:none;border-bottom:2px solid #e0e0e0}.sidebar-header{padding:15px}.sidebar-header h3{font-size:1rem}.staff-search{padding:10px 15px}.search-input{padding:8px;font-size:.9rem}.staff-list{padding:5px 10px}.staff-item{padding:10px;margin-bottom:5px}.staff-avatar-placeholder{width:35px;height:35px;font-size:.9rem}.staff-name{font-size:.9rem}.staff-role{font-size:.8rem}.chat-main{min-height:300px}.no-chat-selected{padding:20px}.no-chat-icon{font-size:3rem}.chat-header{padding:15px}.chat-user-avatar{width:40px;height:40px;font-size:1rem}.chat-user-name{font-size:1rem}.chat-user-role{font-size:.85rem}.messages-container{padding:15px}.message{max-width:85%;padding:10px 14px;margin-bottom:8px}.message-content{font-size:.95rem;line-height:1.4;word-break:break-word;overflow-wrap:break-word}.message-time{font-size:.7rem}.message-input-area{padding:15px}.input-wrapper{flex-direction:column;gap:10px}.message-input{width:100%;min-height:60px;max-height:100px;padding:10px;font-size:.95rem}.send-btn{width:100%;padding:12px;font-size:1rem}.received-messages-container{padding:15px;max-height:calc(100vh - 200px)}.message-card{padding:15px;margin-bottom:10px}.message-header{flex-direction:column;align-items:flex-start;gap:5px}.sender-info{width:100%}.unread-indicator{align-self:flex-start}.empty-state{padding:40px 15px}}@media (max-width: 480px){.communication-page{padding:8px}.page-title{font-size:1.5rem}.back-button{padding:10px 20px;font-size:.9rem;margin-bottom:15px}.tab-btn{min-width:100px;padding:8px 12px;font-size:.85rem}.chat-container{height:calc(100vh - 180px)}.staff-sidebar{max-height:220px}.staff-item{padding:8px}.staff-avatar-placeholder{width:32px;height:32px;font-size:.85rem}.message{max-width:90%;padding:8px 12px}.message-content{font-size:.9rem}}.almanac-page{padding:20px;max-width:1400px;margin:0 auto;width:100%;min-height:100vh}.almanac-container{display:grid;grid-template-columns:2fr 1fr;gap:30px}.calendar-view{background:white;border-radius:15px;padding:25px;box-shadow:0 4px 15px #0000001a}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.calendar-month-year{font-size:1.5rem;font-weight:600;color:#2c3e50}.calendar-nav{display:flex;gap:10px}.calendar-nav-btn{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease}.calendar-nav-btn:hover{background:#2980b9}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day-header{text-align:center;font-weight:600;color:#2c3e50;padding:10px;font-size:.9rem}.calendar-day{aspect-ratio:1;border:2px solid #e0e0e0;border-radius:8px;padding:8px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;background:white}.calendar-day:hover{background:#e3f2fd;border-color:#3498db}.calendar-day.today{background:#3498db;color:#fff;border-color:#2980b9}.calendar-day.has-event{border-color:#f39c12;background:#fff3e0}.calendar-day.other-month{opacity:.3;cursor:default}.calendar-day-number{font-weight:600;font-size:1rem}.calendar-day-events{font-size:.7rem;margin-top:4px;color:#f39c12}.events-list{background:white;border-radius:15px;padding:25px;box-shadow:0 4px 15px #0000001a;max-height:calc(100vh - 300px);overflow-y:auto}.events-list h3{margin-top:0;color:#2c3e50;margin-bottom:20px}.events-container{display:flex;flex-direction:column;gap:15px}.event-item{padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #3498db}.event-date{font-size:.85rem;color:#7f8c8d;margin-bottom:5px}.event-title{font-weight:600;color:#2c3e50;margin-bottom:5px}.event-type{font-size:.85rem;color:#3498db}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0;position:sticky;top:0;background:white;z-index:10}.event-form .form-group{margin-bottom:20px}.form-input,.form-select,.form-textarea{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.form-textarea{resize:vertical;min-height:100px;max-height:300px;overflow-y:auto}@media (max-width: 768px){.almanac-container{grid-template-columns:1fr}}.documents-page{width:100%}.documents-actions{margin-bottom:30px}.documents-categories{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.category-btn{padding:10px 20px;border:2px solid #e0e0e0;border-radius:25px;background:white;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease}.category-btn:hover{border-color:#3498db;color:#3498db}.category-btn.active{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff;border-color:#3498db}.documents-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.document-card{background:white;border-radius:15px;padding:25px;box-shadow:0 4px 15px #0000001a;transition:all .3s ease;text-align:center}.document-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.document-icon{font-size:3rem;margin-bottom:15px}.document-name{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:15px}.document-info{font-size:.9rem;color:#7f8c8d;margin-bottom:8px}.document-category{display:inline-block;padding:5px 12px;background:#e3f2fd;color:#1976d2;border-radius:20px;font-size:.85rem;font-weight:600;margin:15px 0;text-transform:capitalize}.document-actions{display:flex;gap:10px;justify-content:center;margin-top:20px;padding-top:20px;border-top:2px solid #f0f0f0}.document-action-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;background:#3498db;color:#fff}.document-action-btn:hover{background:#2980b9;transform:translateY(-2px)}.document-action-btn.delete{background:#e74c3c}.document-action-btn.delete:hover{background:#c0392b}.finance-page{width:100%}.finance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:white;border-radius:15px;padding:25px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 15px #0000001a}.stat-card.income{border-left:4px solid #2ecc71}.stat-card.expense{border-left:4px solid #e74c3c}.stat-card.balance{border-left:4px solid #3498db}.stat-icon{font-size:3rem}.stat-label{color:#7f8c8d;font-size:.9rem;margin-bottom:5px}.stat-amount{font-size:2rem;font-weight:700;color:#2c3e50}.actions-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.action-buttons{display:flex;gap:15px;flex-wrap:wrap}.btn-add{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-add:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.expense-btn{background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%)}.btn-export{background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-export:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc7166}.filter-controls{display:flex;gap:15px}.table-container{background:white;border-radius:15px;padding:20px;box-shadow:0 4px 15px #0000001a;overflow-x:auto}.finance-table{width:100%;border-collapse:collapse}.finance-table thead{background:#f8f9fa}.finance-table th{padding:15px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0}.finance-table td{padding:15px;border-bottom:1px solid #f0f0f0}.transaction-type{padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:capitalize}.transaction-type.income{background:#d4edda;color:#155724}.transaction-type.expense{background:#f8d7da;color:#721c24}.amount-income{color:#2ecc71;font-weight:600}.amount-expense{color:#e74c3c;font-weight:600}.action-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;background:#e74c3c;color:#fff}.action-btn:hover{background:#c0392b;transform:translateY(-2px)}.transaction-form .form-group{margin-bottom:20px}.form-input,.form-select{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.btn-submit{background:#3498db;color:#fff}.complaints-page{width:100%}.complaints-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:white;border-radius:15px;padding:25px;text-align:center;box-shadow:0 4px 15px #0000001a}.stat-number{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:10px}.filter-section{display:flex;gap:15px;margin-bottom:30px}.complaints-list{display:flex;flex-direction:column;gap:15px}.complaint-card{background:white;border-radius:15px;padding:20px;box-shadow:0 4px 15px #0000001a;cursor:pointer;transition:all .3s ease;border-left:4px solid #e0e0e0}.complaint-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.complaint-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.complaint-status,.complaint-priority{display:inline-block;padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:8px;text-transform:capitalize}.complaint-status.pending{background:#fff3cd;color:#856404}.complaint-status.resolved{background:#d4edda;color:#155724}.complaint-priority.high{background:#f8d7da;color:#721c24}.complaint-priority.medium{background:#fff3cd;color:#856404}.complaint-priority.low{background:#d1ecf1;color:#0c5460}.complaint-description{color:#555;margin-bottom:15px;line-height:1.6;max-height:150px;overflow-y:auto}.complaint-footer{display:flex;justify-content:space-between;font-size:.85rem;color:#7f8c8d;padding-top:15px;border-top:1px solid #f0f0f0}.modal-content{background:white;border-radius:15px;padding:30px;max-width:600px;width:90%;max-height:95vh;overflow-y:auto}.detail-item{margin-bottom:20px}.detail-label{font-weight:600;color:#2c3e50;margin-bottom:5px}.detail-value{color:#555;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:20px;padding-top:20px;border-top:2px solid #e0e0e0}.btn-resolve{background:#2ecc71;color:#fff}.btn-close{background:#95a5a6;color:#fff}.images-page{width:100%}.actions-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:15px}.btn-upload{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.filter-select{padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;background:white;cursor:pointer}.images-stats{margin-bottom:30px}.stat-item{background:white;border-radius:15px;padding:20px;text-align:center;box-shadow:0 4px 15px #0000001a;display:inline-block}.stat-number{font-size:2rem;font-weight:700;color:#2c3e50;display:block;margin-bottom:5px}.stat-label{color:#7f8c8d;font-size:.9rem}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.image-card{background:white;border-radius:15px;overflow:hidden;box-shadow:0 4px 15px #0000001a;cursor:pointer;transition:all .3s ease}.image-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.image-thumbnail{width:100%;height:200px;object-fit:cover}.image-info{padding:15px}.image-title{font-weight:600;color:#2c3e50;margin-bottom:5px}.image-category{font-size:.85rem;color:#3498db;margin-bottom:5px}.image-date{font-size:.85rem;color:#7f8c8d}.empty-state{text-align:center;padding:60px 20px;background:white;border-radius:15px;box-shadow:0 4px 15px #0000001a}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal{background:white;border-radius:15px;padding:20px;max-width:800px;width:90%;max-height:95vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.5);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10}.image-modal img{width:100%;max-height:500px;object-fit:contain;border-radius:8px;margin-bottom:20px}.image-details{margin-bottom:20px}.image-details div{margin-bottom:10px;color:#2c3e50}.btn-delete{background:#e74c3c;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-delete:hover{background:#c0392b;transform:translateY(-2px)}.classroom-page{min-height:100vh;background:#f8f9fa;padding:20px}.class-selector{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px;text-align:center}.selector-label{font-size:1.1rem;font-weight:600;color:#2c3e50;margin-right:15px}.class-select{padding:12px 24px;border:2px solid #87CEEB;border-radius:25px;background:white;color:#2c3e50;font-size:1rem;font-weight:500;cursor:pointer;min-width:200px}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:12px;padding:15px;box-shadow:0 4px 15px #00000014;display:flex;align-items:center;gap:12px;transition:transform .3s ease}.stat-icon{font-size:1.8rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(135,206,250,.2) 0%,rgba(173,216,230,.1) 100%);border-radius:12px}.stat-content{flex:1}.stat-number{font-size:1.5rem;font-weight:700;color:#87ceeb;margin-bottom:3px}.stat-label{font-size:.7rem;color:#7f8c8d;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.activity-stats{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:40px}.activity-stats h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.activity-item{background:white;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000000d;display:flex;align-items:center;gap:10px;transition:transform .3s ease}.activity-item:hover{transform:translateY(-3px)}.activity-icon{font-size:1.5rem}.activity-info{flex:1}.activity-label{font-size:.7rem;color:#7f8c8d;margin-bottom:3px}.activity-count{font-size:1.2rem;font-weight:700;color:#87ceeb}.task-actions{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.task-btn{flex:1;min-width:150px;padding:15px 25px;border:none;border-radius:15px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;color:#fff}.task-btn-homework{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%)}.task-btn-homework:hover{transform:translateY(-3px);box-shadow:0 6px 20px #3498db66}.task-btn-classwork{background:linear-gradient(135deg,#9b59b6 0%,#8e44ad 100%)}.task-btn-classwork:hover{transform:translateY(-3px);box-shadow:0 6px 20px #9b59b666}.task-btn-packages{background:linear-gradient(135deg,#e67e22 0%,#d35400 100%)}.task-btn-packages:hover{transform:translateY(-3px);box-shadow:0 6px 20px #e67e2266}.task-btn-tests{background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%)}.task-btn-tests:hover{transform:translateY(-3px);box-shadow:0 6px 20px #e74c3c66}.task-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.task-modal{background:white;border-radius:20px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.task-modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:2px solid #f0f0f0}.task-modal-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.modal-close-btn{background:none;border:none;font-size:2rem;color:#7f8c8d;cursor:pointer;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close-btn:hover{background:#f0f0f0;color:#e74c3c}.task-modal-body{padding:30px}.task-modal-body .form-group{margin-bottom:25px}.task-modal-body .form-label{display:block;margin-bottom:10px;font-weight:600;color:#2c3e50;font-size:.95rem}.send-to-options{margin-bottom:15px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px;border-radius:8px;transition:background .3s ease}.checkbox-label:hover{background:#f8f9fa}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.student-selection{margin-top:15px;max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;padding:15px}.students-checkbox-list{display:flex;flex-direction:column;gap:8px}.task-description-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;transition:border-color .3s ease}.task-description-input:focus{outline:none;border-color:#87ceeb}.file-upload-section{display:flex;flex-direction:column;gap:10px}.btn-upload-file{padding:12px 20px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease;align-self:flex-start}.btn-upload-file:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.file-info{display:flex;align-items:center;gap:10px;padding:10px;background:#f8f9fa;border-radius:8px}.file-name{flex:1;font-size:.9rem;color:#2c3e50}.btn-remove-file{background:#e74c3c;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:all .3s ease}.btn-remove-file:hover{background:#c0392b;transform:scale(1.1)}.file-preview{margin-top:10px;border:2px solid #e0e0e0;border-radius:8px;padding:10px;text-align:center}.file-preview img{max-width:100%;max-height:300px;border-radius:8px}.task-modal-footer{display:flex;justify-content:flex-end;gap:15px;padding:20px 30px;border-top:2px solid #f0f0f0}.task-modal-footer .btn{padding:12px 30px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#7f8c8d;transform:translateY(-2px)}.btn-send{background:linear-gradient(135deg,#27ae60 0%,#229954 100%);color:#fff}.btn-send:hover{transform:translateY(-2px);box-shadow:0 4px 12px #27ae6066}.parent-message-modal{background:white;border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.student-info-section{background:#f8f9fa;border-radius:10px;padding:15px;margin-bottom:20px}.student-info-section h4{margin:0 0 10px;color:#2c3e50;font-size:1.1rem}.student-info-section p{margin:5px 0;font-size:.9rem;color:#555}.precoded-messages-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;padding:15px}.precoded-message-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:8px;cursor:pointer;transition:background .3s ease}.precoded-message-item:hover{background:#f0f0f0}.precoded-message-item input[type=radio]{margin-top:3px;cursor:pointer}.precoded-message-item span{flex:1;font-size:.9rem;color:#2c3e50;line-height:1.4}.students-container{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.students-container h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.no-students{text-align:center;padding:40px;color:#7f8c8d;font-size:1rem}.view-only-badge{font-size:.75rem;color:#7f8c8d;font-style:italic;padding:4px 8px;background:#f0f0f0;border-radius:4px}@media (max-width: 768px){.overview-stats,.activity-grid{grid-template-columns:repeat(2,1fr)}.students-list{grid-template-columns:1fr}}.iheza-live-page{min-height:100vh;background:#f8f9fa;padding:20px}.back-button{position:absolute;left:0;top:30px;background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #2ecc714d}.back-button:hover{transform:translate(-5px);box-shadow:0 6px 20px #2ecc7166;background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%)}.meetings-tabs{display:flex;gap:15px;margin-bottom:30px;background:white;padding:10px;border-radius:15px;box-shadow:0 2px 8px #0000000d}.tab-btn{flex:1;padding:12px 24px;border:2px solid transparent;background:transparent;color:#7f8c8d;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.tab-btn:hover{background:rgba(46,204,113,.1);color:#2c3e50}.tab-btn.active{background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);color:#fff;border-color:#27ae60;box-shadow:0 2px 8px #2ecc714d}.btn-schedule{background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #2ecc714d}.btn-schedule:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2ecc7166;background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%)}.meetings-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.meeting-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #27ae60}.meeting-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #2ecc7133}.meeting-card.upcoming{border-left-color:#2ecc71}.meeting-card.invitation{border-left-color:#f39c12;background:linear-gradient(135deg,#fff9e6 0%,#ffffff 100%)}.meeting-organizer{font-size:.85rem;color:#7f8c8d;margin-top:5px;font-style:italic}.meeting-card.past{border-left-color:#95a5a6;opacity:.7}.meeting-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.meeting-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.meeting-date-time{font-size:.9rem;color:#7f8c8d}.meeting-status{padding:4px 12px;border-radius:15px;font-size:.75rem;font-weight:600;text-transform:uppercase}.meeting-status.upcoming{background:rgba(46,204,113,.1);color:#2ecc71}.meeting-status.past{background:rgba(149,165,166,.1);color:#95a5a6}.meeting-info{margin-bottom:15px}.meeting-info-item{margin-bottom:8px;font-size:.9rem;color:#7f8c8d}.meeting-info-item strong{color:#2c3e50;margin-right:8px}.meeting-link{display:inline-block;padding:8px 16px;background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);color:#fff;text-decoration:none;border-radius:20px;font-size:.9rem;font-weight:600;transition:all .3s ease;margin-top:10px;border:none;cursor:pointer}.meeting-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc7166}.modal-content{background:white;border-radius:20px;padding:0;max-width:700px;width:90%;max-height:90vh;box-shadow:0 8px 32px #0003;overflow-y:auto;display:flex;flex-direction:column}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(46,204,113,.2);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:white;z-index:1}.meeting-form .form-group{margin-bottom:20px}.meeting-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.meeting-form .form-input,.meeting-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(46,204,113,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.meeting-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.participants-list{max-height:200px;overflow-y:auto;padding:15px;background:rgba(46,204,113,.05);border-radius:10px;border:2px solid rgba(46,204,113,.2)}.participant-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}.participant-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#27ae60}.meeting-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn-submit{background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);color:#fff}.form-help{display:block;margin-top:5px;font-size:.85rem;color:#7f8c8d}@media (max-width: 768px){.meetings-list,.meeting-form .form-row{grid-template-columns:1fr}}.coordinator-dashboard{padding:20px;min-height:100vh;background:#f8f9fa}.components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;margin-top:30px}.component-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;border:2px solid transparent;animation:fadeInUp .6s ease forwards;opacity:0}.component-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026;border-color:#87ceeb}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.card-icon{font-size:3.5rem;margin-bottom:15px}.card-title{font-size:1.3rem;font-weight:600;color:#2c3e50;margin-bottom:10px}.card-description{font-size:.95rem;color:#7f8c8d;line-height:1.5}@media (max-width: 768px){.components-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.component-card{padding:20px}.card-icon{font-size:2.5rem}}.manage-principal-page{min-height:100vh;background:#f8f9fa;padding:20px}.staff-tabs{display:flex;gap:15px;margin-bottom:30px;background:white;padding:20px;border-radius:15px;box-shadow:0 4px 15px #00000014}.tab-btn{flex:1;padding:12px 24px;border:2px solid #e0e0e0;background:white;color:#2c3e50;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.tab-btn:hover{background:#f8f9fa;border-color:#87ceeb}.staff-container{max-width:1400px;margin:0 auto}.staff-list-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.staff-list-container .compact-card{padding:15px;cursor:pointer;min-height:auto}.staff-list-container .compact-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000026}.staff-header-compact{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.staff-avatar-compact,.staff-avatar-placeholder-compact{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);flex-shrink:0}.staff-avatar-compact{object-fit:cover}.staff-info-compact{flex:1;min-width:0}.staff-name-compact{font-size:.95rem;font-weight:600;color:#2c3e50;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-role-compact{font-size:.75rem;color:#7f8c8d}.task-stats-compact{display:flex;justify-content:space-around;padding:10px;background:#f8f9fa;border-radius:8px;margin-bottom:12px}.stat-item-compact{text-align:center}.stat-number-compact{display:block;font-size:1.1rem;font-weight:700;color:#2c3e50;margin-bottom:3px}.stat-label-compact{font-size:.7rem;color:#7f8c8d}.assign-task-btn-compact{width:100%;padding:8px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.assign-task-btn-compact:hover{transform:translateY(-1px);box-shadow:0 3px 10px #87cefa66}.report-modal-content{max-width:900px;width:95%;max-height:95vh}.report-modal-body{max-height:calc(95vh - 120px);overflow-y:auto}.report-preview{background:white;padding:20px;border:1px solid #ddd;border-radius:5px;margin-bottom:20px;max-height:60vh;overflow-y:auto}.report-header-preview{text-align:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #2c3e50}.report-header-preview h2{font-size:18px;font-weight:700;color:#2c3e50;margin-bottom:15px}.report-meta-preview{font-size:12px;color:#555;text-align:left;display:inline-block}.report-meta-preview p{margin:5px 0}.report-summary-preview{margin:20px 0;background:#f8f9fa;padding:15px;border-radius:5px}.report-summary-preview h3{font-size:16px;font-weight:700;color:#2c3e50;margin-bottom:15px;border-bottom:2px solid #87CEEB;padding-bottom:5px}.summary-grid-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.summary-item-preview{text-align:center;padding:10px;background:white;border-radius:5px;border:1px solid #ddd}.summary-label-preview{font-size:11px;color:#666;margin-bottom:5px}.summary-value-preview{font-size:18px;font-weight:700;color:#2c3e50}.report-tasks-preview{margin-top:20px}.report-tasks-preview h3{font-size:16px;font-weight:700;color:#2c3e50;margin-bottom:15px;border-bottom:2px solid #87CEEB;padding-bottom:5px}.tasks-list-preview{display:flex;flex-direction:column;gap:12px}.task-item-preview{background:#f8f9fa;padding:12px;border-radius:5px;border-left:3px solid #87CEEB}.task-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.task-title-preview{font-size:14px;font-weight:600;color:#2c3e50}.task-status-preview{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:capitalize}.task-status-preview.status-pending{background:#fff4e6;color:#f39c12}.task-status-preview.status-in-progress{background:#e3f2fd;color:#3498db}.task-status-preview.status-completed{background:#e8f5e9;color:#27ae60}.task-status-preview.status-cancelled{background:#f5f5f5;color:#95a5a6}.task-item-body{font-size:12px;color:#555}.task-item-body p{margin:5px 0}.task-item-meta{display:flex;gap:15px;margin-top:8px;flex-wrap:wrap;font-size:11px}.task-item-meta span{color:#666}.task-item-meta .overdue{color:#e74c3c;font-weight:700}.report-actions{display:flex;justify-content:flex-end;gap:15px;padding-top:15px;border-top:1px solid #eee}.btn-download{background:linear-gradient(135deg,#27ae60 0%,#229954 100%);color:#fff;padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-download:hover{transform:translateY(-2px);box-shadow:0 4px 12px #27ae6066}.manage-principal-page .staff-list-container{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}@media (max-width: 768px){.staff-list-container{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.report-modal-content{width:98%;max-height:98vh}.report-preview{padding:15px;font-size:10pt}.report-preview .tasks-table{font-size:8pt}.report-preview .tasks-table th,.report-preview .tasks-table td{padding:5px}}.staff-card{background:white;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.staff-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.staff-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.staff-avatar,.staff-avatar-placeholder{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);flex-shrink:0}.staff-avatar{object-fit:cover}.staff-info{flex:1;min-width:0;overflow:hidden}.staff-name{font-size:.9rem;font-weight:600;color:#2c3e50;margin-bottom:3px;line-height:1.2;word-wrap:break-word}.staff-role{font-size:.75rem;color:#7f8c8d}.staff-details{margin-bottom:10px}.staff-details-item{font-size:.75rem;color:#2c3e50;margin-bottom:4px;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}.task-stats{display:flex;justify-content:space-around;padding:8px;background:#f8f9fa;border-radius:8px;margin-bottom:10px}.stat-item{text-align:center}.stat-number{display:block;font-size:.9rem;font-weight:700;color:#2c3e50;margin-bottom:2px}.stat-label{font-size:.65rem;color:#7f8c8d}.assign-task-btn{width:100%;padding:8px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.assign-task-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.modal-content{background:white;border-radius:15px;padding:30px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#7f8c8d;line-height:1}.form-label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:500}.form-input,.form-select,.form-textarea{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#87ceeb}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.assigned-to-display{padding:12px;background:#f8f9fa;border-radius:8px;font-weight:600;color:#2c3e50}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:20px}.btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600}@media (max-width: 768px){.staff-list-container,.form-row{grid-template-columns:1fr}}.tasks-management-page{min-height:100vh;background:#f8f9fa;padding:20px}.tasks-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:25px;margin-bottom:40px}.stat-card.completed{border-left:4px solid #2ecc71}.stat-card.completed .stat-number{color:#2ecc71}.stat-card.overdue .stat-number{color:#e74c3c}.period-stats{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:40px}.period-stats h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.period-item{text-align:center;padding:20px;background:white;border-radius:10px;box-shadow:0 2px 8px #0000000d}.period-label{font-size:.85rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.period-number{font-size:2rem;font-weight:700;color:#87ceeb}.table-container{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;overflow-x:auto}.tasks-table{width:100%;border-collapse:collapse}.tasks-table thead{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.tasks-table th{padding:15px;text-align:left;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.tasks-table tbody tr{border-bottom:1px solid rgba(135,206,250,.2);transition:background-color .3s ease}.tasks-table tbody tr:hover{background-color:#87cefa0d}.tasks-table td{padding:15px}.task-title{font-weight:600;color:#2c3e50;margin-bottom:5px}.task-description{font-size:.85rem;color:#7f8c8d}.priority-badge{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.85rem;font-weight:600;text-transform:uppercase}.priority-badge.high{background:rgba(231,76,60,.1);color:#e74c3c}.priority-badge.medium{background:rgba(243,156,18,.1);color:#f39c12}.priority-badge.low{background:rgba(52,152,219,.1);color:#3498db}.status-badge.pending{background:rgba(243,156,18,.1);color:#f39c12}.status-badge.in-progress{background:rgba(52,152,219,.1);color:#3498db}.status-badge.completed{background:rgba(46,204,113,.1);color:#2ecc71}.status-badge.cancelled{background:rgba(149,165,166,.1);color:#95a5a6}.deadline{font-weight:600}.deadline.overdue{color:#e74c3c}.deadline.soon{color:#f39c12}.action-btn{padding:6px 12px;border:1px solid #87CEEB;background:white;color:#87ceeb;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease}.action-btn:hover{background:#87CEEB;color:#fff}.action-btn.cancel{border-color:#e74c3c;color:#e74c3c}.action-btn.cancel:hover{background:#e74c3c;color:#fff}@media (max-width: 768px){.tasks-stats,.period-grid{grid-template-columns:repeat(2,1fr)}}.complaints-hub-page{min-height:100vh;background:#f8f9fa;padding:20px}.complaints-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:25px;margin-bottom:40px}.stat-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-card.resolved{border-left:4px solid #2ecc71}.stat-number{font-size:2.5rem;font-weight:700;color:#87ceeb;margin-bottom:8px}.stat-card.pending .stat-number{color:#f39c12}.stat-card.resolved .stat-number{color:#2ecc71}.filter-section{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.complaints-list{display:flex;flex-direction:column;gap:20px}.complaint-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;cursor:pointer;transition:all .3s ease;border-left:4px solid #87CEEB}.complaint-card:hover{transform:translate(5px);box-shadow:0 6px 20px #87cefa33}.complaint-card.pending{border-left-color:#f39c12}.complaint-card.in-progress{border-left-color:#3498db}.complaint-card.resolved{border-left-color:#2ecc71}.complaint-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.complaint-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.complaint-meta{font-size:.85rem;color:#7f8c8d}.complaint-status{display:inline-block;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;margin-left:10px}.complaint-status.pending{background:rgba(243,156,18,.1);color:#f39c12}.complaint-status.in-progress{background:rgba(52,152,219,.1);color:#3498db}.complaint-status.resolved{background:rgba(46,204,113,.1);color:#2ecc71}.complaint-priority{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-left:10px}.complaint-priority.high{background:rgba(231,76,60,.1);color:#e74c3c}.complaint-priority.medium{background:rgba(243,156,18,.1);color:#f39c12}.complaint-priority.low{background:rgba(52,152,219,.1);color:#3498db}.complaint-description{color:#7f8c8d;line-height:1.6;margin-bottom:15px;max-height:150px;overflow-y:auto;word-wrap:break-word}.complaint-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid rgba(135,206,250,.2);font-size:.85rem;color:#7f8c8d}.modal-content{background:white;border-radius:20px;padding:0;max-width:700px;width:90%;max-height:95vh;box-shadow:0 8px 32px #0003;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(135,206,250,.2);display:flex;justify-content:space-between;align-items:center;background:white}.complaint-details,.detail-item{margin-bottom:20px}.detail-item strong{display:block;font-weight:600;color:#2c3e50;margin-bottom:5px;text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.detail-description{color:#7f8c8d;line-height:1.6;margin-top:5px}.btn-resolve{background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%);color:#fff}@media (max-width: 768px){.complaints-stats{grid-template-columns:1fr}}.minutes-recording-page{min-height:100vh;background:#f8f9fa;padding:20px}.minutes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:25px}.minutes-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB;cursor:pointer}.minutes-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.minutes-header{margin-bottom:15px}.minutes-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:8px}.minutes-date{font-size:.9rem;color:#7f8c8d}.minutes-preview{margin-bottom:15px}.minutes-preview-item{margin-bottom:8px;font-size:.9rem;color:#7f8c8d}.minutes-preview-item strong{color:#2c3e50;margin-right:8px}.minutes-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid rgba(135,206,250,.2);font-size:.85rem;color:#7f8c8d}.view-btn{padding:6px 16px;background:rgba(135,206,250,.1);border:2px solid #87CEEB;border-radius:20px;color:#87ceeb;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.view-btn:hover{background:#87CEEB;color:#fff}.modal-content{background:white;border-radius:20px;padding:0;max-width:800px;width:90%;max-height:95vh;box-shadow:0 8px 32px #0003;overflow-y:auto;display:flex;flex-direction:column}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(135,206,250,.2);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:white;z-index:1}.modal-body{padding:30px;overflow-y:auto;flex:1}.minutes-form .form-group{margin-bottom:20px}.minutes-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.minutes-form .form-input,.minutes-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.minutes-form .form-textarea{resize:vertical}.minutes-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.attendees-list{max-height:200px;overflow-y:auto;padding:15px;background:rgba(135,206,250,.05);border-radius:10px;border:2px solid rgba(135,206,250,.2)}.attendee-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}.attendee-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#87CEEB}.minutes-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.minutes-details,.detail-item{margin-bottom:20px}.detail-item strong{display:block;font-weight:600;color:#2c3e50;margin-bottom:5px}.detail-text{color:#7f8c8d;line-height:1.6;margin-top:5px;white-space:pre-wrap}.modal-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:20px;padding-top:20px;border-top:2px solid rgba(135,206,250,.2)}.btn-close{background:#e0e0e0;color:#2c3e50}@media (max-width: 768px){.minutes-list,.minutes-form .form-row{grid-template-columns:1fr}}.attendance-recording-page{min-height:100vh;background:#f8f9fa;padding:20px}.recording-section{margin-top:20px}.filters-panel{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:20px;margin-bottom:20px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:15px;align-items:flex-end}.filter-group{flex:1;min-width:150px}.filter-label{display:block;margin-bottom:5px;font-weight:600;color:#2c3e50;font-size:.9rem}.filter-input{width:100%;padding:10px 12px;border:2px solid rgba(135,206,250,.3);border-radius:8px;font-size:.9rem;transition:all .3s ease;box-sizing:border-box}.filter-input:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.btn-filter{padding:10px 20px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-filter:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa4d}.stats-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}.stat-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:20px;text-align:center;box-shadow:0 2px 10px #0000000d;border:2px solid rgba(135,206,250,.2)}.stat-number{font-size:2.5rem;font-weight:700;color:#87ceeb;margin-bottom:5px}.stat-label{font-size:.9rem;color:#7f8c8d;font-weight:500}.attendance-list-container{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:20px;box-shadow:0 2px 10px #0000000d;margin-top:20px;min-height:300px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid rgba(135,206,250,.2)}.list-header h3{font-size:1.5rem;color:#2c3e50;margin:0}.list-actions{display:flex;gap:10px}.btn-action{padding:10px 20px;background:linear-gradient(135deg,#28a745 0%,#229954 100%);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-action:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.btn-action:last-child{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%)}.attendance-list{display:flex;flex-direction:column;gap:12px;min-height:200px}.table-container{overflow-x:auto;overflow-y:visible;width:100%}.attendance-table{width:100%;border-collapse:collapse;font-size:.9rem;background:white}.attendance-table thead{position:sticky;top:0;z-index:10;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%)}.attendance-table th{padding:12px;text-align:left;font-weight:600;color:#fff;border-bottom:2px solid rgba(255,255,255,.3);white-space:nowrap}.attendance-table td{padding:12px;border-bottom:1px solid rgba(135,206,250,.2);color:#2c3e50}.attendance-table tbody tr.recorded-row{background-color:#28a7450d}.attendance-table tbody tr.unrecorded-row{background-color:#f39c120d}.type-badge{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600;display:inline-block}.type-badge.student{background:#e3f2fd;color:#1976d2}.type-badge.staff{background:#f3e5f5;color:#7b1fa2}.status-badge{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600;display:inline-block}.status-badge.present{background:#d4edda;color:#155724}.status-badge.absent{background:#f8d7da;color:#721c24}.status-badge.late{background:#fff3cd;color:#856404}.status-badge.excused{background:#d1ecf1;color:#0c5460}.status-badge.leave{background:#fff3cd;color:#856404}.attendance-item{background:white;border-radius:10px;padding:15px;border:2px solid rgba(135,206,250,.2);transition:all .3s ease;display:flex;justify-content:space-between;align-items:center}.attendance-item:hover{box-shadow:0 2px 10px #87cefa33;transform:translateY(-2px)}.attendance-item.unrecorded{border-left:4px solid #f39c12;background:linear-gradient(135deg,#fff5e6 0%,#ffffff 100%)}.attendance-item.recorded{border-left:4px solid #28a745;background:linear-gradient(135deg,#eafaf1 0%,#ffffff 100%)}.attendance-info{flex:1}.attendance-student{font-weight:600;color:#2c3e50;font-size:1rem;margin-bottom:5px}.attendance-details{display:flex;gap:15px;font-size:.85rem;color:#7f8c8d;flex-wrap:wrap}.attendance-detail-item{display:flex;align-items:center;gap:5px}.attendance-actions{display:flex;gap:10px;align-items:center}.attendance-status-badge{padding:5px 12px;border-radius:15px;font-size:.85rem;font-weight:600;margin-right:10px}.attendance-status-badge.present{background:#d4edda;color:#155724}.attendance-status-badge.absent{background:#f8d7da;color:#721c24}.attendance-status-badge.late{background:#fff3cd;color:#856404}.attendance-status-badge.excused{background:#d1ecf1;color:#0c5460}.recorded-badge{padding:5px 12px;border-radius:15px;font-size:.85rem;font-weight:600;background:#28a745;color:#fff;margin-right:10px}.btn-record{padding:8px 16px;background:linear-gradient(135deg,#28a745 0%,#229954 100%);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-record:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.empty-list{text-align:center;padding:60px 20px;color:#7f8c8d}.empty-list-icon{font-size:4rem;margin-bottom:20px}.empty-list h3{font-size:1.5rem;color:#2c3e50;margin-bottom:10px}@media (max-width: 768px){.filters-panel{flex-direction:column}.filter-group{width:100%}.list-header{flex-direction:column;align-items:flex-start;gap:15px}.list-actions{width:100%;flex-direction:column}.btn-action{width:100%}.attendance-item{flex-direction:column;align-items:flex-start;gap:10px}.attendance-actions{width:100%;justify-content:space-between}}.qr-scanner{max-width:600px;margin:0 auto}.scanner-container{position:relative;width:100%;max-width:500px;margin:0 auto 20px;border-radius:15px;overflow:hidden;background:#000}.scanner-video{width:100%;height:auto;display:block}.scanner-canvas{display:none}.scanner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.scanner-line{position:absolute;top:50%;left:10%;right:10%;height:2px;background:var(--primary-color);animation:scanLine 2s linear infinite}@keyframes scanLine{0%,to{top:10%}50%{top:90%}}.scanner-corners{position:absolute;top:20%;left:20%;right:20%;bottom:20%}.corner{position:absolute;width:30px;height:30px;border:3px solid var(--primary-color)}.corner.top-left{top:0;left:0;border-right:none;border-bottom:none}.corner.top-right{top:0;right:0;border-left:none;border-bottom:none}.corner.bottom-left{bottom:0;left:0;border-right:none;border-top:none}.corner.bottom-right{bottom:0;right:0;border-left:none;border-top:none}.scanner-controls{text-align:center}.btn-secondary{background:var(--error);color:#fff}.scan-attendance,.dashboard{padding:20px}.dashboard-title{font-size:2rem;color:var(--secondary-color);margin-bottom:30px;font-weight:300}.component-card{background:white;border-radius:15px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:var(--box-shadow);border:2px solid transparent}.component-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33;border-color:var(--primary-color)}.card-title{font-size:1.3rem;color:var(--secondary-color);margin-bottom:10px;font-weight:600}.card-description{color:var(--text-light);font-size:.9rem;margin:0}.attendance-book-container{background:#f5f5f5;padding:20px;margin:20px 0}.attendance-book{max-width:1400px;margin:0 auto;background-color:#fff;box-shadow:0 0 10px #0000001a;border:2px solid #333}.book-header{text-align:center;padding:20px;border-bottom:3px double #333;background-color:#f9f9f9}.book-header h1{font-size:2.5em;color:#333;margin-bottom:10px;font-family:Times New Roman,serif}.book-header p{font-size:1.1em;color:#555;margin:0}.month-navigation{display:flex;justify-content:space-between;align-items:center;padding:15px;background-color:#e0e0e0;border-bottom:2px solid #333}.month-nav-button{background-color:#333;color:#fff;border:none;padding:8px 15px;cursor:pointer;border-radius:4px;font-size:.9rem;transition:background-color .3s}.month-nav-button:hover{background-color:#555}.current-month{font-size:1.5em;font-weight:700;color:#333}.class-info{display:flex;justify-content:space-around;padding:15px;background-color:#f0f0f0;border-bottom:2px solid #333;font-weight:700;flex-wrap:wrap;gap:15px}.info-item{display:flex;align-items:center;gap:10px}.info-item label{font-weight:700;color:#555;white-space:nowrap}.info-item input{border:none;border-bottom:1px solid #333;background:transparent;padding:5px;font-size:14px;width:150px}.attendance-table-container{overflow-x:auto;padding:20px;max-height:600px;overflow-y:auto;width:100%}@media (max-width: 1400px){.attendance-table-container{padding:10px}.student-name{min-width:160px;max-width:160px;width:160px;font-size:10px}.roll-number{min-width:10px;width:10px;font-size:5px}.attendance-cell{min-width:18px;width:18px;font-size:9px}.date-header{min-width:10px!important;max-width:10px!important;width:10px!important;font-size:.4rem!important}.day-of-week{font-size:.45rem}}.attendance-table{width:100%;border-collapse:collapse;font-size:12px;font-family:Times New Roman,serif;table-layout:fixed}.attendance-table thead tr:last-child th,.attendance-table tbody td:nth-child(n+3){width:10px!important;min-width:10px!important;max-width:10px!important;box-sizing:border-box!important;overflow:hidden!important}.attendance-table th,.attendance-table td{border:1px solid #333;padding:4px 2px;text-align:center;vertical-align:middle;box-sizing:border-box}.attendance-table th.date-header,.attendance-table td.attendance-cell{padding:1px!important}.attendance-table th:first-child,.attendance-table td:first-child{width:10px!important;min-width:10px!important;max-width:10px!important}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2){width:180px!important;min-width:180px!important;max-width:180px!important}.attendance-table thead tr:last-child th.date-header{width:10px!important;min-width:10px!important;max-width:10px!important;box-sizing:border-box!important}.attendance-table tbody td.attendance-cell{width:10px!important;min-width:10px!important;max-width:10px!important;box-sizing:border-box!important}.attendance-table th{background-color:#e0e0e0;font-weight:700;position:sticky;top:0;z-index:10}.attendance-table tbody td.attendance-cell{font-weight:100!important}.date-header{min-width:10px!important;max-width:10px!important;width:10px!important;font-size:.4rem!important;padding:1px!important;font-weight:700!important;color:#000!important}.day-of-week{font-size:.35rem!important;color:#000!important;font-weight:700!important}.student-name{text-align:left!important;font-weight:700;min-width:180px;max-width:180px;width:180px;background-color:#f9f9f9;padding:5px 6px;font-size:11px;white-space:normal;word-wrap:break-word;line-height:1.2}.roll-number{font-weight:700;background-color:#f0f0f0;min-width:10px!important;max-width:10px!important;width:10px!important;font-size:5px!important;padding:2px 1px!important;text-align:center}.attendance-cell{cursor:pointer;min-width:10px!important;max-width:10px!important;width:10px!important;height:28px!important;min-height:28px!important;transition:background-color .3s;font-weight:100!important;text-align:center!important;vertical-align:middle!important;font-size:30px!important;padding:0!important;margin:0!important;line-height:.85!important;background-color:#fff!important;display:table-cell!important;overflow:visible!important;position:relative;font-family:Arial,sans-serif!important}.attendance-cell *{font-weight:100!important}.attendance-cell:before,.attendance-cell:after{font-weight:300!important}.attendance-cell:hover{background-color:#f0f8ff;border:2px solid #87CEEB}.attendance-cell.read-only{cursor:default!important;opacity:.7;background-color:#f9f9f9!important}.attendance-cell.read-only:hover{background-color:#f9f9f9!important;border:1px solid #333!important}.attendance-cell.today{border:2px solid #4CAF50;background-color:#e8f5e9!important}.attendance-cell.selected,.date-header.selected{background-color:#fff3cd!important;border:2px solid #ffc107}.date-header.today{background-color:#e8f5e9!important;border:2px solid #4CAF50}.date-header:hover{background-color:#f0f0f0}.attendance-cell.present,.attendance-cell.absent,.attendance-cell.late,.attendance-cell.excused{background-color:#fff!important}.stats-row{display:flex;justify-content:space-around;padding:10px;background-color:#f0f0f0;border-top:1px solid #ccc;border-bottom:2px solid #333;gap:10px}.stat-item{text-align:center;flex:1;min-width:0}.stat-item-locked{opacity:.8;cursor:not-allowed;position:relative}.stat-item-locked:after{content:"🔒";position:absolute;top:-5px;right:-5px;font-size:.7em}.stat-value{font-size:1.1em;font-weight:700;color:#333}.stat-label{font-size:.75em;color:#666;margin-top:4px}.legend{display:flex;justify-content:center;gap:30px;padding:20px;background-color:#f9f9f9;border-top:2px solid #333;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px}.legend-box{width:20px;height:20px;border:1px solid #333}.legend-box.present{background-color:#90ee90}.legend-box.absent{background-color:#ffb6c1}.legend-box.late{background-color:gold}.legend-box.excused{background-color:plum}.book-controls{padding:20px;background-color:#f0f0f0;border-top:2px solid #333;text-align:center}.book-controls button{margin:5px;padding:10px 20px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s}.book-controls button:hover{background-color:#45a049;transform:translateY(-2px)}@media print{.attendance-book-container{background:white;padding:0}.attendance-book{box-shadow:none;border:2px solid #000}.book-controls,.month-navigation{display:none}.attendance-cell{min-height:30px}}.attendance-page{min-height:100vh;background:#f8f9fa;padding:20px}.selection-panel{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px;display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap}.selection-item{flex:1;min-width:200px}.selection-label{display:block;font-weight:600;color:#2c3e50;margin-bottom:8px}.selection-input{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.btn-load{padding:12px 24px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-load:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.attendance-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:30px}.stat-item{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;text-align:center}.stat-item.present{border-left:4px solid #2ecc71}.stat-item.absent{border-left:4px solid #e74c3c}.stat-item.total{border-left:4px solid #87CEEB}.stat-number{font-size:2.5rem;font-weight:700;margin-bottom:8px}.stat-item.present .stat-number{color:#2ecc71}.stat-item.absent .stat-number{color:#e74c3c}.stat-item.total .stat-number{color:#87ceeb}.stat-label{font-size:.95rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:1px}.bulk-actions{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.bulk-btn{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.bulk-btn.present-all{background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%);color:#fff}.bulk-btn.absent-all{background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%);color:#fff}.bulk-btn.save{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.bulk-btn.export{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff}.bulk-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.attendance-calling{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px;text-align:center}.calling-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.calling-header h3{font-size:1.3rem;color:#2c3e50;margin:0}.btn-stop{padding:10px 20px;background:#e74c3c;color:#fff;border:none;border-radius:20px;cursor:pointer;font-weight:600}.current-student{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);border-radius:15px;padding:40px;margin-bottom:30px;color:#fff}.current-student-name{font-size:1.5rem;font-weight:600;margin-bottom:10px}.current-student-id{font-size:1rem;opacity:.9}.calling-actions{display:flex;gap:15px;justify-content:center}.call-btn{padding:15px 30px;border:none;border-radius:25px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.call-btn.present{background:#2ecc71;color:#fff}.call-btn.absent{background:#e74c3c;color:#fff}.call-btn.skip{background:#f39c12;color:#fff}.call-btn:hover{transform:scale(1.05)}.attendance-list-container{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.list-header h3{font-size:1.3rem;color:#2c3e50;margin:0;text-transform:uppercase;letter-spacing:1px}.search-box{flex:1;min-width:200px}.search-input{width:100%;padding:10px 15px;border:2px solid rgba(135,206,250,.3);border-radius:25px;font-size:.95rem;box-sizing:border-box}.attendance-table-wrapper{max-height:500px;overflow:auto;border-radius:10px;border:1px solid rgba(135,206,250,.3);overflow-x:auto;overflow-y:auto}.attendance-table{width:100%;border-collapse:collapse;background:white;min-width:800px;font-size:.85rem}.attendance-table thead{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;position:sticky;top:0;z-index:10}.attendance-table th{padding:10px 8px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.attendance-table tbody tr{border-bottom:1px solid rgba(135,206,250,.2);transition:background-color .3s ease}.attendance-table tbody tr:hover{background-color:#87cefa0d}.attendance-table tbody tr.row-present{background-color:#2ecc710d}.attendance-table tbody tr.row-absent{background-color:#e74c3c0d}.attendance-table td{padding:8px;font-size:.8rem;color:#2c3e50;vertical-align:middle}.student-photo-cell{display:flex;align-items:center;justify-content:center}.student-photo-img{width:35px;height:35px;border-radius:50%;object-fit:cover;border:2px solid #87CEEB}.student-photo-placeholder{width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;font-size:.75rem;font-weight:600;border:2px solid #87CEEB}.student-name-cell{font-weight:500;color:#2c3e50}.student-id-cell{font-size:.75rem;color:#7f8c8d;font-family:monospace}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-present{background:rgba(46,204,113,.15);color:#27ae60}.status-absent{background:rgba(231,76,60,.15);color:#c0392b}.status-pending{background:rgba(241,196,15,.15);color:#f39c12}.reason-cell{max-width:200px;font-size:.75rem}.reason-text{color:#555;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-reason{color:#bbb;font-style:italic}.attendance-actions-cell{display:flex;gap:5px;align-items:center}.attendance-btn-small{background:rgba(135,206,250,.1);border:1px solid rgba(135,206,250,.3);border-radius:5px;padding:5px 8px;cursor:pointer;font-size:.9rem;transition:all .3s ease;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.attendance-btn-small.present.active{background:#2ecc71;border-color:#27ae60;color:#fff}.attendance-btn-small.absent.active{background:#e74c3c;border-color:#c0392b;color:#fff}.attendance-btn-small.reason{background:rgba(241,196,15,.1);border-color:#f1c40f4d}.attendance-btn-small:hover{transform:scale(1.1);box-shadow:0 2px 6px #00000026}.mode-toggle{display:flex;gap:15px;margin-bottom:20px;background:white;padding:10px;border-radius:10px;box-shadow:0 2px 8px #0000000d}.mode-btn{flex:1;padding:12px 20px;border:2px solid rgba(135,206,250,.3);border-radius:10px;background:white;color:#2c3e50;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.mode-btn:hover{border-color:#87ceeb;background:rgba(135,206,250,.1)}.mode-btn.active{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border-color:#87ceeb}.filter-panel{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px}.filter-section{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;margin-bottom:15px}.filter-results{padding-top:15px;border-top:1px solid rgba(135,206,250,.3)}.results-count{margin:0;font-size:.9rem;color:#2c3e50;font-weight:600}.saved-records-container{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px}.records-title{font-size:1.3rem;color:#2c3e50;margin:0 0 20px;text-transform:uppercase;letter-spacing:1px}.records-table-wrapper{max-height:500px;overflow:auto;border-radius:10px;border:1px solid rgba(135,206,250,.3)}.records-table{width:100%;border-collapse:collapse;background:white;font-size:.85rem}.records-table thead{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;position:sticky;top:0;z-index:10}.records-table th{padding:12px 10px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.records-table tbody tr{border-bottom:1px solid rgba(135,206,250,.2);transition:background-color .3s ease}.records-table tbody tr:hover{background-color:#87cefa0d}.records-table td{padding:10px;font-size:.8rem;color:#2c3e50;vertical-align:middle}.count-present{color:#27ae60;font-weight:600}.count-absent{color:#c0392b;font-weight:600}.saved-date{font-size:.75rem;color:#7f8c8d}.btn-view-record{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-view-record:hover{transform:translateY(-2px);box-shadow:0 4px 8px #3498db4d}.no-records{background:white;border-radius:20px;padding:40px;text-align:center;box-shadow:0 4px 15px #00000014}.no-records p{margin:0;font-size:1rem;color:#7f8c8d}.attendance-list,.attendance-item{display:none}.student-details{flex:1}.student-name{font-weight:600;color:#2c3e50;margin-bottom:3px}.student-id{font-size:.85rem;color:#7f8c8d}.attendance-actions{display:flex;gap:10px}.attendance-btn{padding:8px 16px;border:2px solid;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.attendance-btn.present{border-color:#2ecc71;color:#2ecc71;background:white}.attendance-btn.present.active{background:#2ecc71;color:#fff}.attendance-btn.absent{border-color:#e74c3c;color:#e74c3c;background:white}.attendance-btn.absent.active{background:#e74c3c;color:#fff}.attendance-btn.reason{border-color:#f39c12;color:#f39c12;background:white}.attendance-btn.reason:hover{background:#f39c12;color:#fff}.monthly-summary{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.monthly-summary h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-item{background:white;border-radius:15px;padding:20px;text-align:center;box-shadow:0 2px 8px #0000000d}.summary-label{font-size:.9rem;color:#7f8c8d;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.summary-value{font-size:2rem;font-weight:700;color:#87ceeb}.absent-reasons{margin-top:20px}.reason-item{background:white;border-radius:10px;padding:15px;margin-bottom:10px;box-shadow:0 2px 8px #0000000d}.reason-student{font-weight:600;color:#2c3e50;margin-bottom:5px}.reason-text{color:#7f8c8d;font-size:.9rem}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;border-radius:20px;padding:0;max-width:500px;width:90%;box-shadow:0 8px 32px #0003}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;font-family:inherit;resize:vertical;box-sizing:border-box}@media (max-width: 768px){.attendance-stats{grid-template-columns:1fr}.selection-panel,.calling-actions{flex-direction:column}}.class-settings-page{padding:20px;max-width:1400px;margin:0 auto}.actions-section{margin-bottom:30px;text-align:right}.btn-add{padding:12px 24px;background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2ecc714d}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2ecc7166}.classes-container{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.empty-icon{font-size:4rem;margin-bottom:20px}.empty-state p{font-size:1.2rem;margin:10px 0}.empty-hint{font-size:.9rem;color:#95a5a6}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.class-card{background:white;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease;border-left:4px solid #87CEEB}.class-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.class-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid rgba(135,206,250,.2)}.class-name{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:0}.class-actions{display:flex;gap:10px}.btn-edit,.btn-delete{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:5px 10px;border-radius:5px;transition:all .3s ease}.btn-edit:hover{background:rgba(52,152,219,.1)}.btn-delete:hover{background:rgba(231,76,60,.1)}.class-details{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.detail-label{font-weight:600;color:#7f8c8d;font-size:.9rem}.detail-value{color:#2c3e50;font-weight:500}.modal-content{background:white;padding:0;border-radius:20px;width:90%;max-width:600px;box-shadow:0 8px 32px #0003;max-height:90vh;overflow-y:auto}.class-form .form-group{margin-bottom:20px}.class-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.class-form .form-input{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.class-form .form-input:focus{outline:none;border-color:#87ceeb}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.student-management-section{margin-top:30px;padding-top:30px;border-top:2px solid rgba(135,206,250,.2)}.section-divider{margin:20px 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{margin:0;color:#2c3e50;font-size:1.2rem}.btn-toggle{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-toggle:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.student-actions{margin-top:20px}.csv-actions{display:flex;gap:15px;margin-bottom:25px;flex-wrap:wrap}.btn-download-csv,.btn-upload-csv{padding:10px 20px;border:none;border-radius:20px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-download-csv{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff}.btn-upload-csv{background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%);color:#fff}.btn-download-csv:hover,.btn-upload-csv:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.students-list{margin-top:20px}.students-list h4{color:#2c3e50;margin-bottom:15px;font-size:1.1rem}.no-students{text-align:center;padding:30px;color:#7f8c8d;background:rgba(135,206,250,.05);border-radius:10px}.students-table-wrapper{max-height:500px;overflow:auto;border-radius:10px;border:1px solid rgba(135,206,250,.3);overflow-x:auto;overflow-y:auto}.students-table{width:100%;border-collapse:collapse;background:white;min-width:1200px}.students-table thead{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;position:sticky;top:0;z-index:10}.students-table th{padding:12px 8px;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.students-table td{padding:10px 8px;font-size:.85rem;color:#2c3e50;vertical-align:middle}.student-photo-cell{display:flex;align-items:center;gap:8px}.student-photo-img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #87CEEB}.student-photo-placeholder{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;font-size:.9rem;font-weight:600;border:2px solid #87CEEB}.btn-upload-photo{background:rgba(52,152,219,.1);border:1px solid #3498db;border-radius:5px;padding:4px 8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-upload-photo:hover{background:#3498db;color:#fff}.password-cell{font-family:monospace;color:#7f8c8d}.btn-message{background:rgba(37,211,102,.1);border:1px solid #25D366;border-radius:5px;padding:6px 10px;cursor:pointer;font-size:1rem;transition:all .3s ease}.btn-message:hover{background:#25D366;color:#fff}@media (max-width: 768px){.classes-grid,.form-row{grid-template-columns:1fr}.csv-actions{flex-direction:column}.students-table-wrapper{overflow-x:auto}}.my-tasks-page{padding:20px;max-width:1200px;margin:0 auto}.page-header{margin-bottom:30px}.back-button{background:none;border:none;color:#3498db;cursor:pointer;font-size:16px;margin-bottom:10px;padding:5px 0}.back-button:hover{text-decoration:underline}.page-title{font-size:28px;color:#2c3e50;margin:10px 0}.page-subtitle{color:#7f8c8d;font-size:16px}.my-tasks-section{margin-top:20px}.tasks-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:white;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-card.pending{border-left:4px solid #f39c12}.stat-card.completed{border-left:4px solid #27ae60}.stat-card.overdue{border-left:4px solid #e74c3c}.stat-number{font-size:32px;font-weight:700;color:#2c3e50;margin-bottom:5px}.stat-label{color:#7f8c8d;font-size:14px}.filter-section{margin-bottom:20px}.filter-select{padding:10px 15px;border:1px solid #ddd;border-radius:5px;font-size:16px;background:white;cursor:pointer}.tasks-list{display:flex;flex-direction:column;gap:15px}.task-card{background:white;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:all .3s ease;border-left:4px solid #3498db}.task-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.task-card.completed{opacity:.7;border-left-color:#27ae60}.task-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:15px}.task-title{font-size:18px;font-weight:700;color:#2c3e50;flex:1}.task-badges{display:flex;gap:10px;flex-shrink:0}.priority-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.priority-badge.high{background:#fee;color:#e74c3c}.priority-badge.medium{background:#fff4e6;color:#f39c12}.priority-badge.low{background:#e8f5e9;color:#27ae60}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.pending{background:#fff4e6;color:#f39c12}.status-badge.in-progress{background:#e3f2fd;color:#3498db}.status-badge.completed{background:#e8f5e9;color:#27ae60}.status-badge.cancelled{background:#f5f5f5;color:#7f8c8d}.task-assigned-by{font-size:14px;color:#7f8c8d}.task-description{color:#555;margin-bottom:15px;line-height:1.5}.task-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px}.task-deadline{color:#7f8c8d}.task-deadline.overdue{color:#e74c3c;font-weight:700}.task-deadline.soon{color:#f39c12;font-weight:700}.task-completed-date{color:#27ae60;font-weight:500}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:white;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#7f8c8d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#e74c3c}.modal-body{padding:20px}.task-detail-content,.task-detail-item{margin-bottom:20px}.task-detail-label{font-weight:600;color:#7f8c8d;display:block;margin-bottom:5px;font-size:14px}.task-detail-value{color:#2c3e50;font-size:16px;line-height:1.5}.task-actions{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.btn-complete{background:#27ae60;color:#fff;border:none;padding:12px 24px;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s ease;width:100%}.btn-complete:hover{background:#229954}@media (max-width: 768px){.task-title-row{flex-direction:column;align-items:flex-start}.task-badges{width:100%;justify-content:flex-start}.task-footer{flex-direction:column;align-items:flex-start}}.register-student-page{min-height:100vh;background:#f8f9fa;padding:20px}.register-student-section{margin-top:20px}.bulk-upload-section{max-width:900px;margin:0 auto 30px;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 8px 25px #00000014}.bulk-upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.bulk-upload-title{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:0}.bulk-upload-buttons{display:flex;gap:10px;flex-wrap:wrap}.btn-download-template{background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #2ecc714d}.btn-download-template:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2ecc7166}.btn-toggle-mode{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3498db4d}.btn-toggle-mode:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3498db66}.bulk-upload-content{margin-top:20px;padding-top:20px;border-top:2px solid rgba(135,206,250,.2)}.bulk-upload-info{background:#f8f9fa;padding:20px;border-radius:10px;margin-bottom:20px;border-left:4px solid #87CEEB}.bulk-upload-info p{margin:10px 0;color:#2c3e50;font-size:.95rem;line-height:1.6}.bulk-upload-info ul{margin:10px 0;padding-left:25px}.bulk-upload-info li{margin:8px 0;color:#34495e;font-size:.9rem;line-height:1.5}.bulk-upload-info strong{color:#2c3e50}.bulk-upload-input{margin:20px 0}.file-upload-label-bulk{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed rgba(135,206,250,.5);border-radius:10px;background:#f8f9fa;cursor:pointer;transition:all .3s ease}.file-upload-label-bulk:hover{border-color:#87ceeb;background:#f0f8ff}.bulk-upload-error{margin-top:20px;padding:15px;background:#ffeaea;border:2px solid #e74c3c;border-radius:10px;color:#c0392b}.bulk-upload-error pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:inherit;font-size:.9rem;line-height:1.5}.bulk-upload-success{margin-top:20px;padding:15px;background:#eafaf1;border:2px solid #27ae60;border-radius:10px;color:#229954;font-weight:600;font-size:1rem}.form-container{max-width:900px;margin:0 auto;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:40px;box-shadow:0 8px 25px #00000014;max-height:90vh;overflow-y:auto;overflow-x:hidden}.register-student-form{width:100%}.form-section{margin-bottom:30px}.form-section-title{font-size:1.3rem;font-weight:600;color:#2c3e50;margin:30px 0 20px;padding-bottom:10px;border-bottom:2px solid rgba(135,206,250,.3);text-transform:uppercase;letter-spacing:1px}.form-section:first-child .form-section-title{margin-top:0}.form-group{margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:600;font-size:.95rem}.form-input,.form-select,.form-textarea{width:100%;padding:12px 15px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.form-textarea{resize:vertical;min-height:100px}.form-hint{display:block;margin-top:5px;font-size:.85rem;color:#7f8c8d}.file-upload-container{position:relative}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed rgba(135,206,250,.5);border-radius:10px;background:#f8f9fa;cursor:pointer;transition:all .3s ease}.file-upload-label:hover{border-color:#87ceeb;background:#f0f8ff}.upload-icon{font-size:3rem;margin-bottom:10px}.upload-text{text-align:center}.upload-main-text{display:block;font-weight:600;color:#2c3e50;margin-bottom:5px}.upload-sub-text{display:block;font-size:.85rem;color:#7f8c8d}.image-preview{display:none;margin-top:15px;text-align:center}.image-preview.active{display:block}.image-preview img{max-width:200px;max-height:200px;border-radius:10px;box-shadow:0 4px 15px #0000001a}.form-error{color:#e74c3c;font-size:.9rem;margin-top:5px}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:2px solid rgba(135,206,250,.2)}.btn{padding:12px 30px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#95a5a6;color:#fff}.btn-cancel:hover{background:#7f8c8d;transform:translateY(-2px);box-shadow:0 4px 12px #95a5a64d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.form-container{padding:20px}.page-title{font-size:1.5rem}}.dashboard{min-height:100vh;background:#f8f9fa;padding:20px}.dashboard-title{font-size:2.2rem;font-weight:300;color:#2c3e50;margin-bottom:10px;letter-spacing:2px;text-transform:uppercase}.dashboard-subtitle{font-size:1rem;color:#7f8c8d;font-weight:300}.dashboard-content{max-width:1400px;margin:0 auto}.components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px}.component-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:30px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;cursor:pointer;border-left:4px solid #87CEEB;text-align:center}.component-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33;border-left-color:#3498db}.card-icon{font-size:3rem;margin-bottom:15px}.card-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:10px}.card-description{font-size:.9rem;color:#7f8c8d;line-height:1.5}@media (max-width: 768px){.components-grid{grid-template-columns:1fr}.dashboard-title{font-size:1.8rem}}.assign-subject-page{min-height:100vh;background:#f8f9fa;padding:20px}.actions-section{margin-bottom:30px}.assignments-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.assignment-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.assignment-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.assignment-header{margin-bottom:15px}.assignment-subject{font-size:1.3rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.assignment-class{font-size:.9rem;color:#7f8c8d}.assignment-details{margin-bottom:15px}.detail-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.9rem}.modal-content{background:white;margin:5% auto;padding:0;border-radius:20px;width:90%;max-width:600px;box-shadow:0 8px 32px #0003}.assign-form .form-group{margin-bottom:20px}.assign-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.assign-form .form-input,.assign-form .form-select{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.assign-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}@media (max-width: 768px){.assignments-list{grid-template-columns:1fr}}.academic-hub-page{min-height:100vh;background:#f8f9fa;padding:20px}.academic-tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);padding:20px;border-radius:20px;box-shadow:0 4px 15px #00000014}.tab-btn{padding:12px 24px;border:2px solid rgba(135,206,250,.3);background:white;color:#2c3e50;border-radius:25px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.tab-btn:hover{border-color:#87ceeb;background:rgba(135,206,250,.1)}.tab-btn.active{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border-color:#87ceeb}.tab-content{display:none}.tab-content.active{display:block}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);padding:20px;border-radius:15px;box-shadow:0 2px 8px #0000000d}.tab-header h3{font-size:1.3rem;color:#2c3e50;margin:0;text-transform:uppercase;letter-spacing:1px}.btn-add{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:10px 20px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-add:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.grades-list,.lesson-plans-list,.assessments-list,.schemes-list,.results-list,.test-marks-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.academic-item{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.academic-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.item-header{margin-bottom:15px}.item-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.item-meta{font-size:.85rem;color:#7f8c8d}.item-details{margin-bottom:15px}.detail-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.9rem}.detail-label{color:#7f8c8d}.detail-value{color:#2c3e50;font-weight:600}.modal-content{background:white;margin:5% auto;padding:0;border-radius:20px;width:90%;max-width:600px;box-shadow:0 8px 32px #0003;max-height:90vh;overflow-y:auto}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(135,206,250,.2);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:white;z-index:10}.academic-form .form-group{margin-bottom:20px}.academic-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.academic-form .form-input,.academic-form .form-select,.academic-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;font-family:inherit;box-sizing:border-box}.academic-form .form-textarea{resize:vertical}.academic-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.academic-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}@media (max-width: 768px){.academic-tabs{flex-direction:column}.grades-list,.lesson-plans-list,.assessments-list,.schemes-list,.results-list,.test-marks-list,.academic-form .form-row{grid-template-columns:1fr}}.extra-curriculum-page{min-height:100vh;background:#f8f9fa;padding:20px}.actions-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:20px}.btn-add{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%)}.filter-select{padding:10px 20px;border:2px solid #87CEEB;border-radius:25px;background:white;color:#2c3e50;font-size:.95rem;font-weight:500;cursor:pointer}.task-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.task-category{display:inline-block;padding:4px 12px;background:rgba(135,206,250,.1);border-radius:15px;font-size:.85rem;color:#2c3e50;font-weight:600;text-transform:uppercase}.task-date{font-size:.9rem;color:#7f8c8d;margin-bottom:10px}.modal-content{background:white;margin:2% auto;padding:0;border-radius:20px;width:90%;max-width:700px;max-height:95vh;box-shadow:0 8px 32px #0003;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;position:relative}.task-form .form-input,.task-form .form-select,.task-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.task-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}@media (max-width: 768px){.tasks-list,.task-form .form-row{grid-template-columns:1fr}}.secretary-dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-header{text-align:center;margin-bottom:40px}.dashboard-title{font-size:2.5rem;margin:0;font-weight:300;color:#2c3e50;letter-spacing:2px;text-transform:uppercase}.dashboard-subtitle{font-size:1.1rem;color:#7f8c8d;font-weight:300;letter-spacing:1px;margin-top:5px}.dashboard-content{margin-top:40px}.fee-structure-page{padding:20px;max-width:1200px;margin:0 auto}.upload-section{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px}.upload-card h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.upload-area{border:3px dashed rgba(135,206,250,.5);border-radius:15px;padding:40px;text-align:center;cursor:pointer;transition:all .3s ease;background:rgba(135,206,250,.05)}.upload-area:hover,.upload-area.drag-active{border-color:#87ceeb;background:rgba(135,206,250,.1)}.upload-icon{font-size:4rem;margin-bottom:15px}.upload-area p{color:#2c3e50;font-size:1.1rem;margin:10px 0}.upload-hint{font-size:.9rem;color:#7f8c8d}.btn-upload{margin-top:20px;padding:12px 24px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.file-info{margin-top:20px;padding:15px;background:white;border-radius:10px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000000d}.file-details{flex:1}.file-name{display:block;font-weight:600;color:#2c3e50;margin-bottom:5px}.file-size{display:block;font-size:.85rem;color:#7f8c8d}.btn-remove{background:#e74c3c;color:#fff;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:all .3s ease}.btn-remove:hover{transform:scale(1.1)}.upload-actions{margin-top:20px;text-align:center}.btn-save{padding:12px 32px;background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc7166}.current-structure{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.current-structure h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.structure-card{background:white;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.structure-info{flex:1;min-width:200px}.structure-name{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:10px}.structure-meta{display:flex;gap:20px;font-size:.9rem;color:#7f8c8d;flex-wrap:wrap}.structure-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-view,.btn-download,.btn-whatsapp{padding:10px 20px;border:none;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}@media (max-width: 768px){.structure-card{flex-direction:column;align-items:stretch}.structure-actions{justify-content:stretch}.btn-view,.btn-download,.btn-whatsapp{flex:1}}.secretary-students-page{padding:20px;max-width:1400px;margin:0 auto}.secretary-students-section{margin-top:0;padding-top:0}.page-header{text-align:center;margin-bottom:0;padding:30px 0 10px;position:relative}.filters-section{display:flex;gap:10px;margin-top:15px;margin-bottom:5px;flex-wrap:wrap;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);padding:12px 15px;border-radius:12px;box-shadow:0 2px 8px #0000000d;justify-content:center}.filter-select,.search-input{padding:6px 12px;border:2px solid rgba(135,206,250,.3);border-radius:20px;font-size:.75rem;font-weight:500}.filter-select{min-width:150px}.search-input{flex:1;min-width:200px}.students-table-container{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:15px;box-shadow:0 4px 15px #00000014;overflow-x:auto;margin-top:0}.students-table{width:100%;border-collapse:collapse}.students-table thead{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.students-table th{padding:15px;text-align:left;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.students-table tbody tr{border-bottom:1px solid rgba(135,206,250,.2);transition:background-color .3s ease}.students-table tbody tr:hover{background-color:#87cefa0d}.students-table td{padding:15px;vertical-align:middle}.student-photo{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid #87CEEB}.student-photo-placeholder{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;font-size:1.2rem;font-weight:600;border:2px solid #87CEEB}.student-name{font-weight:600;color:#2c3e50}.status-badge{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.85rem;font-weight:600;text-transform:uppercase}.status-badge.paid{background:rgba(46,204,113,.1);color:#2ecc71}.status-badge.partial{background:rgba(243,156,18,.1);color:#f39c12}.status-badge.unpaid{background:rgba(231,76,60,.1);color:#e74c3c}.status-badge.na{background:rgba(127,140,141,.1);color:#7f8c8d}.action-buttons{display:flex;gap:5px}.action-btn{padding:6px 12px;border:1px solid;background:white;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .3s ease}.action-btn.edit{border-color:#3498db;color:#3498db}.action-btn.edit:hover{background:#3498db;color:#fff}.action-btn.whatsapp{border-color:#25d366;color:#25d366}.action-btn.whatsapp:hover{background:#25D366;color:#fff}.modal{display:flex;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.5);align-items:stretch;justify-content:stretch;padding:0;margin:0}.modal-content{background:white;padding:0;border-radius:20px;width:100%;max-width:100vw;height:100vh;max-height:100vh;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;margin:0}.modal-body{padding:30px;flex:1;overflow-y:auto;overflow-x:hidden}.fee-form .form-group{margin-bottom:20px}.fee-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.fee-form .form-input{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.fee-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.paid-cell-hover{position:relative}.payment-tooltip{visibility:hidden;opacity:0;position:fixed;z-index:1000;background:white;border:2px solid #87CEEB;border-radius:12px;box-shadow:0 8px 24px #00000026;min-width:500px;max-width:800px;transition:opacity .3s ease,visibility .3s ease;pointer-events:none}.paid-cell-hover:hover .payment-tooltip{visibility:visible;opacity:1}.payment-tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-bottom-color:#87ceeb}.payment-tooltip-header{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;padding:12px 16px;font-weight:600;font-size:.9rem;border-radius:10px 10px 0 0;text-align:center}.payment-tooltip-content{padding:12px;max-height:200px;overflow-x:auto;overflow-y:hidden;display:flex;gap:12px;text-align:center}.payment-tooltip-item{padding:12px;background:#f8f9fa;border-radius:8px;border-left:3px solid #87CEEB;text-align:center;min-width:180px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.payment-tooltip-date-amount{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%}.payment-tooltip-date{font-weight:600;color:#2c3e50;font-size:.85rem;flex:1;text-align:left}.payment-tooltip-amount{font-size:1rem;font-weight:700;color:#2ecc71;flex:1;text-align:right}.payment-tooltip-method{font-size:.8rem;color:#7f8c8d;text-transform:capitalize;margin-bottom:2px}.payment-tooltip-reference{font-size:.75rem;color:#95a5a6;font-style:italic}.payment-tooltip-empty{text-align:center;color:#7f8c8d;font-size:.9rem;padding:20px}@media (max-width: 768px){.filters-section{flex-direction:column}.students-table-container{overflow-x:scroll}.payment-tooltip{min-width:300px;max-width:90vw;left:0;transform:none}.payment-tooltip:after{left:20px;transform:none}.payment-tooltip-item{min-width:150px}}.secretary-tasks-page{padding:20px;max-width:1400px;margin:0 auto}.tasks-container{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;flex-wrap:wrap;gap:15px}.tasks-header h3{font-size:1.3rem;color:#2c3e50;margin:0;text-transform:uppercase;letter-spacing:1px}.task-card{background:white;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease;border-left:4px solid #87CEEB;cursor:pointer}.task-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.task-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.task-from{font-size:.85rem;color:#7f8c8d;padding:4px 12px;background:rgba(135,206,250,.1);border-radius:15px;display:inline-block}.task-description{color:#7f8c8d;line-height:1.6;margin-bottom:15px;max-height:150px;overflow-y:auto;word-wrap:break-word}.task-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid rgba(135,206,250,.2);font-size:.85rem;color:#7f8c8d}.modal{display:flex;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.5);align-items:center;justify-content:center}.modal-content{background:white;padding:0;border-radius:20px;width:90%;max-width:700px;box-shadow:0 8px 32px #0003;max-height:95vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;position:relative}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(135,206,250,.2);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:white;z-index:10;flex-shrink:0}.modal-close{background:none;border:none;font-size:2rem;color:#7f8c8d;cursor:pointer}.modal-body{padding:30px;overflow-y:auto;flex:1;min-height:0}.task-detail-content{margin-bottom:20px}.task-detail-item{margin-bottom:15px}.task-detail-label{font-weight:600;color:#2c3e50;margin-bottom:5px;display:block}.task-detail-value{color:#7f8c8d}.task-actions{display:flex;gap:15px;margin-top:30px;justify-content:flex-end}.btn-upload-task,.btn-send{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-upload-task{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff}.btn-send{background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%);color:#fff}.btn-upload-task:hover,.btn-send:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.upload-form .form-group{margin-bottom:20px}.upload-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.upload-form .form-input,.upload-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;font-family:inherit;box-sizing:border-box}.upload-form .form-textarea{resize:vertical}.upload-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}@media (max-width: 768px){.tasks-list{grid-template-columns:1fr}.tasks-header{flex-direction:column;align-items:stretch}}.academic-dashboard{min-height:100vh;background:#f8f9fa;padding:20px}.dashboard-header{text-align:center;margin-bottom:40px;padding:30px 0}.dashboard-title{font-size:2.5rem;font-weight:300;color:#2c3e50;margin-bottom:10px;letter-spacing:2px;text-transform:uppercase}.dashboard-subtitle{font-size:1.1rem;color:#7f8c8d;font-weight:300}.components-section{max-width:1400px;margin:0 auto}.components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;padding:20px 0}.component-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:30px 25px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #00000014;border:2px solid transparent;position:relative;overflow:hidden}.component-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#87CEEB 0%,#ADD8E6 100%);transform:scaleX(0);transition:transform .3s ease}.component-card:hover{transform:translateY(-8px);box-shadow:0 8px 25px #87cefa40;border-color:#87ceeb}.component-card:hover:before{transform:scaleX(1)}.card-icon{font-size:3.5rem;margin-bottom:15px;transition:transform .3s ease}.component-card:hover .card-icon{transform:scale(1.1) rotate(5deg)}.card-title{font-size:1.3rem;font-weight:600;color:#2c3e50;margin-bottom:10px;letter-spacing:.5px}.card-description{font-size:.9rem;color:#7f8c8d;line-height:1.5;margin:0}@media (max-width: 768px){.components-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.dashboard-title{font-size:2rem}.component-card{padding:20px 15px}.card-icon{font-size:2.5rem}.card-title{font-size:1.1rem}}@media (max-width: 480px){.components-grid{grid-template-columns:1fr}.dashboard-title{font-size:1.5rem}}.lms-page{min-height:100vh;background:#f8f9fa;padding:20px}.back-button:hover{transform:translate(-5px);box-shadow:0 6px 20px #87cefa66}.page-title{font-size:2.2rem;font-weight:300;color:#2c3e50;margin-bottom:10px}.page-subtitle{font-size:1rem;color:#7f8c8d}.lms-section{max-width:1200px;margin:0 auto}.upload-section{margin-bottom:40px}.upload-card{background:white;border-radius:15px;padding:30px;box-shadow:0 4px 15px #00000014}.upload-card h3{margin-bottom:20px;color:#2c3e50}.upload-area{border:2px dashed #87CEEB;border-radius:10px;padding:40px;text-align:center;background:rgba(135,206,250,.05);transition:all .3s ease;cursor:pointer}.upload-area:hover{border-color:#add8e6;background:rgba(135,206,250,.15)}.upload-icon{font-size:3rem;margin-bottom:15px}.upload-hint{font-size:.85rem;color:#7f8c8d;margin-top:5px}.btn-upload{margin-top:15px;padding:12px 24px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.file-info{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:15px;background:#f8f9fa;border-radius:8px}.file-details{display:flex;flex-direction:column;gap:5px}.file-name{font-weight:600;color:#2c3e50}.file-size{font-size:.85rem;color:#7f8c8d}.btn-remove{background:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer}.upload-actions{margin-top:20px}.btn-process{padding:12px 24px;background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);color:#fff;border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.btn-process:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc7166}.preview-section{background:white;border-radius:15px;padding:30px;margin-bottom:40px;box-shadow:0 4px 15px #00000014}.preview-section h3{margin-bottom:20px;color:#2c3e50}.csv-preview{overflow-x:auto;margin-bottom:20px}.csv-table{width:100%;border-collapse:collapse}.csv-table th,.csv-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.csv-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.preview-actions{text-align:center}.btn-save{padding:12px 24px;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff;border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.uploaded-files-section{background:white;border-radius:15px;padding:30px;box-shadow:0 4px 15px #00000014}.uploaded-files-section h3{margin-bottom:20px;color:#2c3e50}.uploaded-files-list{display:flex;flex-direction:column;gap:15px}.file-item{padding:20px;background:#f8f9fa;border-radius:10px;border:1px solid #e0e0e0}.file-item-name{font-weight:600;color:#2c3e50;margin-bottom:8px}.file-item-date{font-size:.9rem;color:#7f8c8d;margin-bottom:10px}.file-item-actions{display:flex;gap:10px}.file-btn{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.file-btn.delete{background:#e74c3c;color:#fff}.file-btn.delete:hover{background:#c0392b}.report-cards-page{min-height:100vh;background:#f8f9fa;padding:20px}.report-cards-section{max-width:1200px;margin:0 auto}.actions-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:20px;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);padding:20px;border-radius:15px;box-shadow:0 2px 8px #0000000d}.btn-generate{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%)}.filter-select{padding:10px 20px;border:2px solid rgba(135,206,250,.3);border-radius:25px;background:white;color:#2c3e50;font-size:.95rem;font-weight:500;cursor:pointer;min-width:150px}.report-cards-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.report-card-item{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.report-card-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.report-card-header{margin-bottom:15px}.report-card-student{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.report-card-info{font-size:.9rem;color:#7f8c8d}.report-card-actions{display:flex;gap:10px;flex-wrap:wrap}.report-card-btn{padding:8px 16px;border:none;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.report-card-btn.view{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff}.report-card-btn.download{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.report-card-btn.share{background:linear-gradient(135deg,#25D366 0%,#128C7E 100%);color:#fff}.report-card-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.generate-form .form-group{margin-bottom:20px}.generate-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.generate-form .form-input,.generate-form .form-select{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.generate-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}@media (max-width: 768px){.report-cards-list{grid-template-columns:1fr}.actions-section{flex-direction:column;align-items:stretch}}.certificates-page{min-height:100vh;background:#f8f9fa;padding:20px}.certificates-section{max-width:1200px;margin:0 auto}.btn-create{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-create:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%)}.certificates-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.certificate-item{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.certificate-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.certificate-header{margin-bottom:15px}.certificate-student{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.certificate-type{display:inline-block;padding:4px 12px;background:rgba(135,206,250,.1);border-radius:15px;font-size:.85rem;color:#2c3e50;font-weight:600;text-transform:uppercase;margin-bottom:5px}.certificate-date{font-size:.9rem;color:#7f8c8d}.certificate-actions{display:flex;gap:10px;flex-wrap:wrap}.certificate-btn{padding:8px 16px;border:none;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.certificate-btn.view{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff}.certificate-btn.download{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.certificate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.certificate-form .form-group{margin-bottom:20px}.certificate-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.certificate-form .form-input,.certificate-form .form-select,.certificate-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;font-family:inherit;box-sizing:border-box}.certificate-form .form-textarea{resize:vertical}.certificate-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;flex-wrap:wrap}.btn-canva{background:linear-gradient(135deg,#00C4CC 0%,#7B2FF7 100%);color:#fff}@media (max-width: 768px){.certificates-list{grid-template-columns:1fr}}.assign-tasks-page{min-height:100vh;background:#f8f9fa;padding:20px}.page-header{text-align:center;margin-bottom:40px;padding:30px 0;position:relative}.back-button{position:absolute;left:0;top:30px;background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #87cefa4d}.back-button:hover{transform:translate(-5px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%)}.page-title{font-size:2.2rem;font-weight:300;color:#2c3e50;margin-bottom:10px;letter-spacing:2px;text-transform:uppercase}.page-subtitle{font-size:1rem;color:#7f8c8d;font-weight:300}.assign-tasks-section{max-width:1200px;margin:0 auto}.actions-section{margin-bottom:30px;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);padding:20px;border-radius:15px;box-shadow:0 2px 8px #0000000d}.btn-assign{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-assign:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#ADD8E6 0%,#87CEEB 100%)}.tasks-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.task-item{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.task-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.task-header{margin-bottom:15px}.task-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.task-assignee{font-size:.9rem;color:#7f8c8d;margin-bottom:5px}.task-deadline{font-size:.85rem;color:#7f8c8d}.task-description{color:#7f8c8d;line-height:1.6;margin-bottom:15px}.task-status{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.85rem;font-weight:600;text-transform:uppercase}.task-status.pending{background:rgba(243,156,18,.1);color:#f39c12}.task-status.completed{background:rgba(46,204,113,.1);color:#2ecc71}.modal{position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}.modal-content{background:white;padding:0;border-radius:20px;width:90%;max-width:500px;box-shadow:0 8px 32px #0003;max-height:90vh;overflow-y:auto}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(135,206,250,.2);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;color:#2c3e50}.modal-close{background:none;border:none;font-size:2rem;color:#7f8c8d;cursor:pointer;line-height:1}.modal-body{padding:30px}.task-form .form-group{margin-bottom:20px}.task-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.task-form .form-input,.task-form .form-select,.task-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;font-family:inherit;box-sizing:border-box}.task-form .form-textarea{resize:vertical}.task-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#e0e0e0;color:#2c3e50}.btn-submit{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}@media (max-width: 768px){.tasks-list{grid-template-columns:1fr}}.section-leader-dashboard{padding:20px;max-width:1400px;margin:0 auto}.components-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;padding:20px 0}.component-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border-radius:15px;padding:25px 20px;text-align:center;box-shadow:0 6px 20px #00000014;transition:all .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;border:2px solid transparent;position:relative;overflow:hidden;min-height:200px;max-height:200px;display:flex;flex-direction:column;justify-content:space-between}.component-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(173,216,230,.3),transparent);transition:left .5s}.component-card:hover:before{left:100%}.component-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 12px 30px #00000026;border-color:#87cefa80}.card-icon{font-size:3rem;margin-bottom:15px;transition:transform .3s ease}.component-card:hover .card-icon{transform:scale(1.2) rotate(5deg)}.card-title{font-size:1.3rem;font-weight:600;color:#2c3e50;margin:10px 0}.card-description{font-size:.9rem;color:#7f8c8d;line-height:1.4;margin:0}.send-disciplinary-report{padding:20px;max-width:1200px;margin:0 auto}.send-counselling-report{padding:20px;max-width:1200px;margin:0 auto}.report-header{margin-bottom:30px}.back-button{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;margin-bottom:20px;font-size:14px;transition:background .3s}.back-button:hover{background:#5a6268}.report-header h1{color:#2c3e50;margin-bottom:10px}.report-subtitle{color:#7f8c8d;font-size:16px}.report-content{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d}.student-search-section{margin-bottom:30px;padding-bottom:30px;border-bottom:2px solid #e0e0e0}.student-search-section h2{color:#2c3e50;margin-bottom:15px}.search-box{margin-bottom:20px}.search-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s}.search-input:focus{outline:none;border-color:#667eea}.selected-student-card{background:#f8f9fa;border:2px solid #667eea;border-radius:8px;padding:20px;margin-top:15px}.student-info{display:flex;flex-direction:column;gap:10px}.student-name{font-size:20px;font-weight:600;color:#2c3e50}.student-details{display:flex;gap:20px;color:#7f8c8d;font-size:14px}.no-student-found{padding:15px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;margin-top:15px}.report-form{display:grid;gap:30px}.form-section{padding:20px;background:#f8f9fa;border-radius:8px}.form-section h3{color:#2c3e50;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e0e0e0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:30px;border-top:2px solid #e0e0e0}.btn-cancel{padding:12px 24px;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:background .3s}.btn-cancel:hover{background:#5a6268}.btn-submit{padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:transform .2s}.btn-submit:hover{transform:scale(1.05)}.student-dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-title{color:#2c3e50;margin-bottom:30px;font-size:32px;text-align:center}.components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.component-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px #0000000d}.component-card:hover{transform:translateY(-4px);box-shadow:0 6px 12px #0000001a;border-color:#667eea}.card-icon{font-size:48px;margin-bottom:15px;text-align:center}.card-title{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:10px;text-align:center}.card-description{color:#7f8c8d;font-size:14px;text-align:center;line-height:1.5}.student-classroom{padding:20px;max-width:1200px;margin:0 auto}.classroom-header{margin-bottom:30px}.classroom-header h1{color:#2c3e50;margin-bottom:20px}.class-info-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 6px #0000001a}.class-info-card h2{margin:0 0 10px;font-size:28px}.class-teacher{margin:10px 0 0;font-size:16px;opacity:.9}.classroom-content{margin-top:30px}.class-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:0 2px 4px #0000000d}.stat-icon{font-size:32px}.stat-info{flex:1}.stat-value{font-size:24px;font-weight:700;color:#2c3e50}.stat-label{font-size:14px;color:#7f8c8d;margin-top:5px}.classmates-section{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d}.classmates-section h3{color:#2c3e50;margin-bottom:20px}.classmates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.classmate-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:15px;text-align:center;transition:transform .2s,box-shadow .2s}.classmate-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.classmate-avatar{margin-bottom:10px}.classmate-avatar img{width:60px;height:60px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin:0 auto}.classmate-name{font-weight:600;color:#2c3e50;margin-bottom:5px;font-size:14px}.classmate-admission{font-size:12px;color:#7f8c8d}.empty-state,.loading{text-align:center;padding:40px;color:#7f8c8d}.student-tasks{padding:20px;max-width:1200px;margin:0 auto}.tasks-header{margin-bottom:30px}.tasks-header h1{color:#2c3e50;margin-bottom:10px}.tasks-subtitle{color:#7f8c8d;font-size:16px}.tasks-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.tasks-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.tasks-list{display:grid;gap:20px}.task-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:20px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.task-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.task-type{display:flex;align-items:center;gap:10px}.task-icon{font-size:24px}.task-type-label{font-size:18px;font-weight:600;color:#2c3e50}.task-date{color:#7f8c8d;font-size:14px}.task-subject{margin-bottom:10px;color:#2c3e50}.task-description{margin:15px 0;padding:15px;background:#f8f9fa;border-radius:8px;color:#2c3e50;line-height:1.6}.task-teacher{margin-top:10px;color:#7f8c8d;font-size:14px}.task-file{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.download-btn{padding:10px 20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:transform .2s}.download-btn:hover{transform:scale(1.05)}.task-status{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.status-badge{display:inline-block;padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500;background:#e0e0e0;color:#2c3e50}.status-badge.completed{background:#d4edda;color:#155724}.status-badge.overdue{background:#f8d7da;color:#721c24}.student-reports{padding:20px;max-width:1200px;margin:0 auto}.reports-header{margin-bottom:30px}.reports-header h1{color:#2c3e50;margin-bottom:10px}.reports-subtitle{color:#7f8c8d;font-size:16px}.reports-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e0e0e0;flex-wrap:wrap}.tab-btn{padding:12px 24px;border:none;background:transparent;border-bottom:3px solid transparent;cursor:pointer;font-size:15px;font-weight:500;color:#7f8c8d;transition:all .3s}.tab-btn:hover{color:#667eea;background:#f8f9fa}.tab-btn.active{color:#667eea;border-bottom-color:#667eea}.reports-content{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d}.report-section h2{color:#2c3e50;margin-bottom:20px}.results-table{overflow-x:auto}.results-table table{width:100%;border-collapse:collapse}.results-table th,.results-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.results-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.results-table tr:hover{background:#f8f9fa}.attendance-summary{margin-bottom:20px}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:25px}.summary-item{background:#f8f9fa;padding:15px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.summary-label{color:#7f8c8d;font-weight:500}.summary-value{font-weight:700;font-size:18px;color:#2c3e50}.summary-value.present{color:#28a745}.summary-value.absent{color:#dc3545}.attendance-list{display:grid;gap:10px}.attendance-record{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-radius:8px}.record-date{color:#2c3e50;font-weight:500}.record-status{padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500}.record-status.present{background:#d4edda;color:#155724}.record-status.absent{background:#f8d7da;color:#721c24}.reports-list{display:grid;gap:20px}.report-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.report-date{color:#7f8c8d;font-size:14px}.report-severity,.report-type{padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500}.report-severity.low{background:#d4edda;color:#155724}.report-severity.medium{background:#fff3cd;color:#856404}.report-severity.high{background:#f8d7da;color:#721c24}.report-type{background:#d1ecf1;color:#0c5460}.report-title{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:10px}.report-description{color:#2c3e50;line-height:1.6;margin-bottom:10px}.report-author{color:#7f8c8d;font-size:14px;font-style:italic}.student-announcements{padding:20px;max-width:1200px;margin:0 auto}.announcements-header{margin-bottom:30px}.announcements-header h1{color:#2c3e50;margin-bottom:10px}.announcements-subtitle{color:#7f8c8d;font-size:16px}.announcements-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.announcements-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.announcements-list{display:grid;gap:20px}.announcement-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.announcement-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.announcement-header{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.announcement-title-section{display:flex;align-items:center;gap:15px;margin-bottom:10px}.announcement-title{color:#2c3e50;font-size:20px;font-weight:600;margin:0;flex:1}.announcement-date{color:#7f8c8d;font-size:14px}.announcement-content{margin:15px 0;color:#2c3e50;line-height:1.6}.announcement-content p{margin:0}.announcement-footer{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0;font-size:14px}.announcement-author{color:#7f8c8d}.announcement-category{padding:5px 12px;background:#e0e0e0;border-radius:20px;font-size:12px;color:#2c3e50}.announcement-attachment{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.attachment-link{display:inline-block;padding:10px 20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;text-decoration:none;border-radius:8px;font-size:14px;font-weight:500;transition:transform .2s}.attachment-link:hover{transform:scale(1.05)}.student-fee-structure{padding:20px;max-width:1200px;margin:0 auto}.fee-header{margin-bottom:30px}.fee-header h1{color:#2c3e50;margin-bottom:10px}.fee-subtitle{color:#7f8c8d;font-size:16px}.fee-structure-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d}.fee-table{overflow-x:auto;margin-bottom:30px}.fee-table table{width:100%;border-collapse:collapse}.fee-table th,.fee-table td{padding:15px;text-align:left;border-bottom:1px solid #e0e0e0}.fee-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.fee-table tr:hover{background:#f8f9fa}.fee-amount{text-align:right;font-weight:500;color:#2c3e50}.total-row{background:#f8f9fa;font-size:18px}.total-amount{color:#667eea;font-size:20px}.empty-cell{text-align:center;padding:40px;color:#7f8c8d}.fee-info{margin-top:30px}.info-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.info-card h3{color:#2c3e50;margin-bottom:15px}.info-card p{color:#2c3e50;line-height:1.6;margin-bottom:10px}.uploaded-document-section{margin-bottom:30px}.document-card{background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%);border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 8px #00000014}.document-header{margin-bottom:20px}.document-header h3{color:#2c3e50;margin-bottom:8px;font-size:20px}.document-subtitle{color:#7f8c8d;font-size:14px}.document-details{margin:20px 0}.document-info{background:white;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:20px}.document-name{font-size:16px;margin-bottom:10px;color:#2c3e50}.document-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:#7f8c8d}.meta-item{display:flex;align-items:center;gap:5px}.document-actions{display:flex;gap:15px;flex-wrap:wrap}.btn-view,.btn-download,.btn-whatsapp{padding:12px 24px;border:none;border-radius:25px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1;min-width:140px}.btn-view{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);color:#fff}.btn-download{background:linear-gradient(135deg,#87CEEB 0%,#ADD8E6 100%);color:#fff}.btn-whatsapp{background:linear-gradient(135deg,#25D366 0%,#128C7E 100%);color:#fff}.btn-view:hover,.btn-download:hover,.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.document-note{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #3498db}.document-note p{color:#2c3e50;font-size:14px;line-height:1.6;margin:0}@media (max-width: 768px){.document-actions{flex-direction:column}.btn-view,.btn-download,.btn-whatsapp{width:100%}.document-meta{flex-direction:column;gap:10px}}.student-payment-info{padding:20px;max-width:1200px;margin:0 auto}.payment-header{margin-bottom:30px}.payment-header h1{color:#2c3e50;margin-bottom:10px}.payment-subtitle{color:#7f8c8d;font-size:16px}.payment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 4px #0000000d}.summary-icon{font-size:40px}.summary-info{flex:1}.summary-label{color:#7f8c8d;font-size:14px;margin-bottom:5px}.summary-value{color:#2c3e50;font-size:24px;font-weight:700}.summary-value.pending-amount{color:#dc3545}.payment-history-section{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;margin-bottom:30px}.payment-history-section h2{color:#2c3e50;margin-bottom:20px}.payment-history-table{overflow-x:auto}.payment-history-table table{width:100%;border-collapse:collapse}.payment-history-table th,.payment-history-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.payment-history-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.payment-history-table tr:hover{background:#f8f9fa}.amount-cell{text-align:right;font-weight:500;color:#2c3e50}.reference-cell{font-family:monospace;font-size:12px;color:#7f8c8d}.status-badge.paid{background:#d4edda;color:#155724}.payment-info-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;padding:25px}.payment-info-card h3{color:#2c3e50;margin-bottom:15px}.instructions{color:#2c3e50;line-height:1.8}.instructions p{margin-bottom:10px}.student-zoom-meetings{padding:20px;max-width:1200px;margin:0 auto}.meetings-header{margin-bottom:30px}.meetings-header h1{color:#2c3e50;margin-bottom:10px}.meetings-subtitle{color:#7f8c8d;font-size:16px}.meetings-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.meetings-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.meetings-list{display:grid;gap:20px}.meeting-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.meeting-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.meeting-card.upcoming{border-left:4px solid #28a745}.meeting-card.past{border-left:4px solid #6c757d;opacity:.8}.meeting-header{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.meeting-title-section{display:flex;align-items:center;gap:15px;margin-bottom:10px}.meeting-title{color:#2c3e50;font-size:20px;font-weight:600;margin:0;flex:1}.status-badge{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.upcoming{background:#d4edda;color:#155724}.status-badge.past{background:#e0e0e0;color:#6c757d}.meeting-date{color:#7f8c8d;font-size:14px}.meeting-content{margin:15px 0}.meeting-description{color:#2c3e50;line-height:1.6;margin-bottom:15px}.meeting-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:15px}.detail-item{color:#2c3e50;font-size:14px}.meeting-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0;flex-wrap:wrap;gap:15px}.join-btn{padding:12px 24px;background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:transform .2s}.join-btn:hover{transform:scale(1.05)}.meeting-id,.meeting-password{font-size:14px;color:#7f8c8d;font-family:monospace}.student-complaints-hub{padding:20px;max-width:1200px;margin:0 auto}.complaints-header{margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.complaints-header h1{color:#2c3e50;margin-bottom:10px}.complaints-subtitle{color:#7f8c8d;font-size:16px}.submit-complaint-btn{padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:transform .2s}.submit-complaint-btn:hover{transform:scale(1.05)}.complaint-form-section{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 2px 4px #0000000d}.complaint-form-section h2{color:#2c3e50;margin-bottom:20px}.complaint-form{display:grid;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#2c3e50;font-weight:500;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.submit-btn{padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:transform .2s;justify-self:start}.submit-btn:hover{transform:scale(1.05)}.complaints-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.complaints-list{display:grid;gap:20px}.complaint-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.complaint-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.complaint-header{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.complaint-title-section{display:flex;align-items:center;gap:15px;margin-bottom:10px}.complaint-title{color:#2c3e50;font-size:20px;font-weight:600;margin:0;flex:1}.priority-badge{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;border:2px solid currentColor}.complaint-date{color:#7f8c8d;font-size:14px}.complaint-content{margin:15px 0}.complaint-category{color:#7f8c8d;font-size:14px;margin-bottom:10px}.complaint-description{color:#2c3e50;line-height:1.6}.complaint-footer{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.status-badge{display:inline-block;padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.in-progress{background:#d1ecf1;color:#0c5460}.status-badge.resolved{background:#d4edda;color:#155724}.complaint-response{flex:1;color:#2c3e50;font-size:14px;padding:10px;background:#f8f9fa;border-radius:8px}.student-subjects{padding:20px;max-width:1200px;margin:0 auto}.subjects-header{margin-bottom:30px}.subjects-header h1{color:#2c3e50;margin-bottom:10px}.subjects-subtitle{color:#7f8c8d;font-size:16px}.subjects-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.subject-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.subject-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.subject-header{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.subject-name{color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 10px}.subject-code{display:inline-block;padding:5px 12px;background:#e0e0e0;border-radius:20px;font-size:12px;color:#7f8c8d;font-weight:500}.subject-details{color:#2c3e50}.subject-teachers{margin-bottom:15px}.subject-teachers strong{display:block;margin-bottom:8px;color:#2c3e50}.subject-teachers ul{list-style:none;padding:0;margin:0}.subject-teachers li{padding:5px 0;color:#7f8c8d;font-size:14px;display:flex;flex-direction:column}.teacher-phone{font-size:12px;color:#3498db;margin-top:2px;display:flex;align-items:center;gap:5px}.teacher-phone:before{content:"📞";font-size:11px}.subject-info{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.info-item{margin-bottom:10px;font-size:14px}.info-item strong{color:#2c3e50;margin-right:8px}.info-item:last-child{margin-bottom:0}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#7f8c8d}.student-communication{width:100%;height:100%}.student-extra-curriculum-report{padding:20px;max-width:1200px;margin:0 auto}.activities-header{margin-bottom:30px}.activities-header h1{color:#2c3e50;margin-bottom:10px}.activities-subtitle{color:#7f8c8d;font-size:16px}.activities-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filter-btn{padding:10px 20px;border:2px solid #e0e0e0;background:white;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s;color:#2c3e50}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-color:transparent}.activities-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.stat-item{display:flex;gap:10px}.stat-label{color:#7f8c8d;font-weight:500}.stat-value{color:#2c3e50;font-weight:700}.activities-list{display:grid;gap:20px}.activity-card{background:white;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.activity-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.activity-header{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.activity-title-section{display:flex;align-items:center;gap:15px;margin-bottom:10px}.activity-icon{font-size:32px}.activity-title{color:#2c3e50;font-size:20px;font-weight:600;margin:0;flex:1}.activity-date{color:#7f8c8d;font-size:14px}.activity-content{color:#2c3e50}.activity-type,.activity-location,.activity-instructor,.activity-participation{margin-bottom:10px;font-size:14px}.activity-description{margin:15px 0;padding:15px;background:#f8f9fa;border-radius:8px;line-height:1.6}.participation-badge{display:inline-block;padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500;margin-left:10px}.participation-badge.active{background:#d4edda;color:#155724}.participation-badge.completed{background:#d1ecf1;color:#0c5460}.participation-badge.pending{background:#fff3cd;color:#856404}.empty-state{text-align:center;padding:60px 20px;color:#7f8c8d}.empty-hint{margin-top:10px;font-size:14px;opacity:.8}.loading{text-align:center;padding:40px;color:#7f8c8d}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #87CEEB;--primary-dark: #ADD8E6;--secondary-color: #2c3e50;--text-color: #2c3e50;--text-light: #7f8c8d;--background: #f8f9fa;--white: #ffffff;--success: #2ecc71;--error: #e74c3c;--warning: #f39c12;--border-radius: 10px;--box-shadow: 0 2px 8px rgba(0, 0, 0, .1)}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background);color:var(--text-color);line-height:1.6}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{padding:12px 24px;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}@media (max-width: 768px){.container{padding:0 15px}.btn{padding:10px 20px;font-size:.95rem}}@media (max-width: 480px){.container{padding:0 10px}.btn{padding:8px 16px;font-size:.9rem}}@media (max-width: 768px){button,.btn,input,textarea,select{min-height:44px}.flex-container{flex-wrap:wrap}.grid-container{grid-template-columns:1fr}}
