@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background:#f7faff;font-family:Poppins,Segoe UI,Roboto,Arial,sans-serif}.App{flex-direction:column;justify-content:center;min-height:100vh}.App,.school-header{align-items:center;display:flex}.school-header{color:#fff;font-size:2.2rem;font-weight:700;gap:.7rem;letter-spacing:1px;margin-bottom:1.5rem;text-shadow:1px 2px 8px #0003}.school-header .icon{font-size:2.5rem}.login-form{background:#fff;border-radius:18px;box-shadow:0 8px 32px 0 #1f26872e;display:flex;flex-direction:column;gap:1.2rem;max-width:350px;min-width:320px;padding:2.5rem 2rem 2rem}.login-form input{border:1px solid #d1d5db;border-radius:8px;font-size:1rem;outline:none;padding:.8rem 1rem;transition:border .2s}.login-form input:focus{border:1.5px solid #2575fc}.login-form button{background:linear-gradient(90deg,#6a11cb,#2575fc);border:none;border-radius:8px;box-shadow:0 2px 8px #2575fc33;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:.9rem 0;transition:background .2s,box-shadow .2s}.login-form button:hover{background:linear-gradient(90deg,#2575fc,#6a11cb);box-shadow:0 4px 16px #2575fc44}.error{background:#fdecea;border-radius:6px;color:#e74c3c;font-size:.98rem;margin-top:-.5rem;padding:.5rem 1rem;text-align:center}.dashboard-welcome{background:#f7faff;border-radius:10px;box-shadow:0 2px 8px #2575fc11;color:#222;font-size:1.08rem;justify-content:space-between;margin-bottom:1.5rem;padding:.7rem 1.2rem;width:350px}.logout-btn{background:linear-gradient(90deg,#e74c3c,#ff7675);border:none;border-radius:8px;box-shadow:0 2px 8px #e74c3c22;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:600;margin-left:1rem;padding:.5rem 1.2rem;transition:background .2s,box-shadow .2s}.logout-btn:hover{background:linear-gradient(90deg,#c0392b,#e17055);box-shadow:0 4px 16px #e74c3c33}.dashboard-cards{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:1.5rem}.dashboard-card{align-items:center;background:#fff;border-radius:14px;box-shadow:0 4px 16px #2575fc22;cursor:pointer;display:flex;flex-direction:column;min-width:120px;padding:2rem 1.5rem 1.2rem;transition:box-shadow .2s,transform .2s}.dashboard-card:hover{box-shadow:0 8px 32px #2575fc33;transform:translateY(-4px) scale(1.04)}.dashboard-icon{font-size:2.2rem;margin-bottom:.7rem}.dashboard-label{color:#2575fc;font-size:1.08rem;font-weight:500;letter-spacing:.5px}.dashboard-layout{background:#f7faff;display:flex;flex-direction:row;min-height:100vh}.dashboard-layout.sidebar-collapsed .sidebar{min-width:70px;width:70px}.dashboard-layout.sidebar-collapsed .sidebar-header .sidebar-title,.dashboard-layout.sidebar-collapsed .sidebar-link span:not(.sidebar-icon){display:none}.dashboard-layout.sidebar-collapsed .sidebar{align-items:center}.sidebar{background:linear-gradient(160deg,#e3eaff,#f7faff);border-radius:0 18px 18px 0;border-right:2.5px solid #b3c6e7;box-shadow:2px 0 16px #2575fc11;display:flex;flex-direction:column;min-width:220px;padding:0 0 1.5rem;position:relative;top:0;width:220px;z-index:2}.sidebar-logo{align-items:center;background:#fff;border:2px solid #6c47ff;border-radius:12px;color:#2575fc;display:flex;font-size:2.2rem;font-weight:800;gap:.7rem;justify-content:center;letter-spacing:1px;margin:1.2rem 1.2rem .5rem;order:1;padding:2rem 0 1.2rem}.sidebar-title{color:#2575fc;font-size:1.2rem;font-weight:700}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;margin-top:1.2rem;order:2}.sidebar-link{align-items:center;border-left:4px solid #0000;border-radius:10px;color:#333;cursor:pointer;display:flex;font-size:1.08rem;font-weight:500;gap:.8rem;margin:0 .5rem;padding:.9rem 1.5rem;transition:background .2s,border .2s,color .2s,box-shadow .2s}.sidebar-link.active,.sidebar-link:hover{background:linear-gradient(90deg,#e3f0ff,#a8edea);border-left:4px solid #2575fc;box-shadow:0 2px 8px #2575fc22;color:#2575fc}.sidebar-icon{filter:drop-shadow(0 2px 8px #2575fc22);font-size:1.3rem}.top-header{align-items:center;background:linear-gradient(90deg,#6a11cb,#2575fc);border-bottom:3px solid #a8edea;border-radius:0 0 18px 18px;box-shadow:0 4px 16px #2575fc22;color:#fff;display:flex;font-size:1.5rem;font-weight:800;justify-content:space-between;letter-spacing:1px;padding:1.1rem 2.5rem;position:static;width:auto;z-index:10}.top-header .top-left{align-items:center;display:flex;gap:.8rem}.mobile-menu-btn{background:#ffffff22;border:1px solid #ffffff44;border-radius:8px;color:#fff;cursor:pointer;display:none;font-size:1.1rem;padding:.35rem .6rem}@media (max-width:800px){.mobile-menu-btn{display:inline-block}}.top-title{flex:1 1;font-size:1.5rem;font-weight:800;gap:.7rem;letter-spacing:1px}.top-title,.top-user{align-items:center;color:#fff;display:flex}.top-user{background:#ffffff14;border-radius:12px;box-shadow:0 2px 8px #2575fc22;font-size:1.08rem;gap:1.2rem;margin-left:auto;padding:.5rem 1.2rem}.main-content{background:#f7faff;display:flex;flex:1 1;flex-direction:column;margin-left:0;margin-top:0;min-height:100vh}.main-inner{margin:0 auto;max-width:1200px;padding:1.2rem 2.5rem 1rem}.admins-section{align-items:stretch;background:#fff;border:1px solid #e3eaff;display:flex;flex-direction:column;margin:1rem auto;max-width:1200px;padding:1rem;width:100%}.admins-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.admins-header{justify-content:space-between}.admins-header,.filters-bar{align-items:center;display:flex;margin-bottom:2rem}.filters-bar{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;box-shadow:0 2px 8px #0000000d;flex-wrap:wrap;gap:.6rem;padding:1.5rem}.filters-input,.filters-select{background:#fff;border:1px solid #d1d5db;border-radius:7px;box-shadow:0 1px 3px #0000001a;font-size:.98rem;padding:.55rem .8rem;transition:all .2s ease}.filters-input:focus,.filters-select:focus{border:1.5px solid #2575fc;box-shadow:0 0 0 2px #2575fc22;outline:none;transform:translateY(-1px)}.filters-search-btn{background:linear-gradient(90deg,#6a11cb,#2575fc);border:none;border-radius:7px;box-shadow:0 2px 8px #2575fc22;color:#fff}.filters-clear-btn,.filters-search-btn{cursor:pointer;font-size:.98rem;font-weight:600;padding:.55rem 1rem;transition:all .2s ease;white-space:nowrap}.filters-clear-btn{background:#f0f0f0;border:1px solid #d1d5db;border-radius:7px;color:#333}.filters-search-btn:hover{background:linear-gradient(90deg,#2575fc,#6a11cb);box-shadow:0 4px 12px #2575fc4d;transform:translateY(-1px)}.filters-clear-btn:hover{background:#e0e0e0;box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}.status-badge{border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}.status-present{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.status-absent{background:linear-gradient(135deg,#dc3545,#fd7e14);color:#fff}.status-late{background:linear-gradient(135deg,#ffc107,#fd7e14);color:#333}.status-excused{background:linear-gradient(135deg,#6c757d,#495057);color:#fff}.add-btn{background:linear-gradient(90deg,#6a11cb,#2575fc);border:none;border-radius:7px;box-shadow:0 2px 8px #2575fc22;color:#fff;cursor:pointer;font-size:1.13rem;font-weight:700;letter-spacing:.5px;padding:.9rem 2rem;transition:background .2s,box-shadow .2s}.add-btn:hover{background:linear-gradient(90deg,#2575fc,#6a11cb);box-shadow:0 4px 16px #2575fc33}.admins-table{background:#fff;border-collapse:collapse;font-size:1rem;margin:0;table-layout:auto}.admins-table td,.admins-table th{border-bottom:1px solid #f0f0f0;padding:.8rem 1.2rem;text-align:left;word-break:break-word}.admins-table th{background:#f7faff;color:#2575fc;font-size:1.05rem;font-weight:700;letter-spacing:.1px}.admins-table td:last-child,.admins-table th.actions-header{text-align:left}.admins-table td{background:#fff}.admins-table tr:nth-child(2n) td{background:#f8faff}.admins-table tr:last-child td{border-bottom:none}.admins-table td:last-child,.admins-table th:last-child{min-width:120px;text-align:right;width:120px}.admins-table td:last-child,.admins-table td:last-child .admin-actions,.admins-table.fees-table td:last-child,.admins-table.payments-table td:last-child,.admins-table.students-table td:last-child{overflow:visible!important;white-space:normal!important}.admins-table td:last-child .admin-actions{align-items:center;display:inline-flex;flex-wrap:wrap;flex-wrap:nowrap;gap:.35rem;gap:.3rem;white-space:nowrap}.delete-btn,.edit-btn{background:#fff;border:1.5px solid #2575fc;border-radius:7px;box-shadow:0 1px 4px #2575fc11;color:#2575fc;cursor:pointer;font-size:1.05rem;font-weight:600;letter-spacing:.2px;margin-right:.5rem;padding:.6rem 1.2rem;transition:background .2s,color .2s,box-shadow .2s}.delete-btn:last-child,.edit-btn:last-child{margin-right:0}.edit-btn:hover:not(:disabled){background:#2575fc;box-shadow:0 2px 8px #2575fc33;color:#fff}.delete-btn{border:1.5px solid #e74c3c;color:#e74c3c;min-width:90px}.delete-btn:hover:not(:disabled){background:#e74c3c;box-shadow:0 2px 8px #e74c3c33;color:#fff}.delete-btn:disabled,.edit-btn:disabled{background:#f0f0f0;border-color:#ddd;box-shadow:none;color:#aaa;cursor:not-allowed;opacity:.7}.modal-backdrop{align-items:center;background:#00000044;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #2575fc33;max-height:90vh;max-width:95vw;min-width:340px;overflow-y:auto;padding:2rem 2.5rem 1.5rem}.modal-form{display:flex;flex-direction:column;gap:1.1rem}.modal-form input,.modal-form select{background:#f7faff;border:1.5px solid #d1d5db;border-radius:7px;font-size:1rem;outline:none;padding:.8rem 1rem;transition:border .2s,box-shadow .2s}.modal-form input:focus,.modal-form select:focus{border:1.5px solid #2575fc;box-shadow:0 0 0 2px #2575fc22;transform:translateY(-1px)}.modal-form select{appearance:none;background:#f7faff url('data:image/svg+xml;utf8,<svg fill="%232575fc" height="20" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right 1rem center/1.2em;color:#222;font-weight:500}.modal-form option[disabled]{color:#aaa}.modal-form input:invalid,.modal-form select:invalid{border-color:#e74c3c}.modal-form input.error,.modal-form select.error{background:#fdecea;border-color:#e74c3c}.modal-actions{display:flex;gap:1rem;margin-top:.5rem}.modal-actions button{background:linear-gradient(90deg,#6a11cb,#2575fc);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.6rem 1.2rem;transition:background .2s}.modal-actions button[type=button]{background:#f0f0f0;color:#333}.modal-actions button[type=button]:hover{background:#e0e0e0}@media (max-width:1100px){.admins-section,.main-inner{max-width:100vw;padding:1.2rem .5rem 1rem}.admins-table td,.admins-table th{padding:.7rem}}@media (max-width:800px){.dashboard-layout,.sidebar{flex-direction:column}.sidebar{align-items:flex-start;background:linear-gradient(160deg,#e3eaff,#f7faff);border-bottom:none;border-right:2px solid #e3eaff;box-shadow:2px 0 16px #2575fc22;height:100vh;left:0;min-width:220px;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease;width:220px;z-index:1000}.dashboard-layout:not(.sidebar-collapsed) .sidebar{transform:translateX(0)}.sidebar.collapsed{min-width:70px;width:70px}.sidebar-header{font-size:1rem;padding:1rem}.sidebar-nav{flex-direction:column;gap:.5rem;margin-top:1.2rem}.sidebar-link{border-bottom:none;border-left:4px solid #0000;border-radius:10px;font-size:1.02rem;margin:0 .5rem;padding:.9rem 1.2rem}.sidebar-link.active,.sidebar-link:hover{border-bottom:none;border-left:4px solid #2575fc}.main-content,.main-inner{padding:.5rem}}@media (max-width:700px){.admins-section{max-width:100vw;padding:.5rem .1rem}.admins-table td,.admins-table th{font-size:.98rem;padding:.4rem .3rem}.add-btn,.delete-btn,.edit-btn{font-size:.98rem;padding:.5rem .7rem}.admins-header{align-items:stretch;flex-direction:column;gap:.7rem}.dashboard-cards{align-items:stretch!important;flex-direction:column!important;gap:1.2rem!important}.dashboard-summary-card{align-items:stretch;max-width:100%;min-width:0;padding:1.2rem 1rem 1rem}.dashboard-summary-value{font-size:2rem}}.dashboard-main{background:linear-gradient(120deg,#f7faff,#e3eaff);border-radius:18px;box-shadow:0 4px 24px #2575fc22;margin:0 auto;max-width:1200px;padding:.5rem 0 1rem;position:relative;width:100%}.dashboard-welcome{align-items:center;color:#2575fc;display:flex;font-size:1.15rem;font-weight:600;gap:.7rem;letter-spacing:.2px;margin-bottom:1rem}.dashboard-title{color:#222;font-size:1.5rem;font-weight:700;letter-spacing:.5px;margin-bottom:1.2rem}.dashboard-cards-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(4,1fr);justify-content:flex-start;margin-bottom:1.2rem}.dashboard-summary-card{align-items:flex-start;background:#fff;border:1.5px solid #e3eaff;border-radius:16px;box-shadow:0 2px 12px #2575fc22;cursor:pointer;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:1.2rem 1.2rem 1rem;position:relative;transition:transform .12s,box-shadow .12s}.dashboard-summary-card.students{background:linear-gradient(120deg,#a8edea,#fed6e3)}.dashboard-summary-card.teachers{background:linear-gradient(120deg,#fcb69f,#ffecd2)}.dashboard-summary-card.admins{background:linear-gradient(120deg,#f6d365,#fda085)}.dashboard-summary-card.fees{background:linear-gradient(120deg,#c2e9fb,#81a4fd)}.dashboard-summary-card:hover{box-shadow:0 8px 24px #2575fc33;transform:translateY(-3px) scale(1.02)}.dashboard-summary-icon{filter:drop-shadow(0 2px 8px #2575fc22);font-size:2.2rem;margin-bottom:.5rem}.dashboard-summary-title{color:#2575fc;font-size:1.05rem;font-weight:600;letter-spacing:.2px;margin-bottom:.5rem}.dashboard-summary-value{color:#222;font-size:2rem;font-weight:700;letter-spacing:.5px;margin-top:.1rem;text-shadow:0 2px 8px #2575fc11}.dashboard-recent-section{background:#fff;border:1.5px solid #e3eaff;border-radius:14px;box-shadow:0 2px 8px #2575fc11;margin-top:1.5rem;padding:1rem 1.2rem .7rem}.dashboard-recent-title{color:#2575fc;font-size:1.08rem;font-weight:700;margin-bottom:.7rem}.dashboard-recent-list{list-style:none;margin:0;padding:0}.dashboard-recent-item{align-items:center;border-bottom:1px solid #e3eaff;display:flex;font-size:1rem;gap:1.2rem;padding:.5rem 0}.dashboard-recent-item:last-child{border-bottom:none}.recent-name{color:#2575fc;font-weight:600}.recent-class{color:#888;font-size:.98rem}.recent-date{color:#aaa;font-size:.95rem}@media (max-width:1200px){.dashboard-main{max-width:100vw}.dashboard-cards-grid{gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}}@media (max-width:900px){.main-content{margin-left:0;margin-top:0}.dashboard-cards-grid{gap:1rem;grid-template-columns:1fr;margin-bottom:1rem}.sidebar-logo{font-size:1.1rem;padding:.5rem .7rem}}@media (max-width:700px){.dashboard-main{border-radius:0;max-width:100vw;padding:.3rem 0 .2rem}.dashboard-title{font-size:1.1rem;margin-bottom:.7rem}.dashboard-summary-card{padding:.7rem}.dashboard-summary-value{font-size:1.3rem}.dashboard-recent-section{padding:.5rem .3rem .3rem}.dashboard-recent-item{font-size:.95rem;gap:.5rem}.admins-section{max-width:100vw;overflow-x:auto;padding:.5rem .3rem .3rem}.admins-header{align-items:stretch;flex-direction:column;gap:.5rem}.admins-table td,.admins-table th{font-size:.95rem;padding:.3rem}.add-btn,.delete-btn,.edit-btn{font-size:.95rem;padding:.3rem .7rem}.admins-table{border-collapse:collapse;table-layout:fixed;width:100%}.admins-table td,.admins-table th{overflow-wrap:anywhere;white-space:normal;word-break:break-word}.admin-actions,.admins-table .actions-header{min-width:120px}.admins-table-scroll{overflow-x:auto}}@media (max-width:900px){.admins-table td:last-child,.admins-table th:last-child{min-width:220px!important;text-align:left;width:auto!important}}@media (max-width:480px){.admins-table td:last-child,.admins-table th:last-child{min-width:260px!important}}@media (max-width:1200px){.admins-section{max-width:100vw}}.profile-icon{background:linear-gradient(120deg,#6a11cb,#2575fc);border-radius:50%;box-shadow:0 2px 8px #2575fc33;color:#fff;padding:.18em;transition:background .2s,color .2s}.profile-icon:hover{background:linear-gradient(120deg,#2575fc,#6a11cb);color:#a8edea}.profile-dropdown{align-items:flex-start;animation:fadeIn .18s;background:#fff;border-radius:14px;box-shadow:0 8px 32px #2575fc33;display:flex;flex-direction:column;min-width:180px;padding:1.1rem 1.2rem 1rem;position:absolute;right:0;top:2.5rem;z-index:100}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-info{margin-bottom:.7rem}.profile-dropdown-name{color:#2575fc;font-size:1.08rem;font-weight:700}.profile-dropdown-role{color:#888;font-size:.98rem}.profile-dropdown-logout{background:linear-gradient(90deg,#e74c3c,#ff7675);border:none;border-radius:8px;box-shadow:0 2px 8px #e74c3c22;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:600;margin-top:.2rem;padding:.5rem 1.2rem;transition:background .2s,box-shadow .2s;width:100%}.profile-dropdown-logout:hover{background:linear-gradient(90deg,#c0392b,#e17055);box-shadow:0 4px 16px #e74c3c33}.profile-dropdown-action{background:linear-gradient(90deg,#e3eaff,#f7faff);border:none;border-radius:8px;color:#2575fc;cursor:pointer;font-size:1.05rem;font-weight:600;margin-bottom:.4rem;padding:.5rem 1.2rem;transition:background .2s,color .2s;width:100%}.profile-dropdown-action:hover{background:linear-gradient(90deg,#a8edea,#6a11cb);color:#fff}.admin-actions{align-items:center;display:flex;flex-direction:row;gap:.4rem}.delete-btn,.edit-btn{font-size:.95rem;margin-right:0;min-width:74px;padding:.3rem .7rem}.custom-loader-container{align-items:center;background:none;border:none;box-shadow:none;display:flex;flex-direction:column;justify-content:center}.custom-loader{animation:spin 1s linear infinite;background:none;border:6px solid #e0e0e0;border-radius:50%;border-top-color:#6c47ff;box-shadow:none;height:48px;margin-bottom:.5rem;width:48px}.pagination-container{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:1.5rem;padding:1rem 0}.pagination-info{color:#6b7280;font-size:.9rem}.pagination-controls{align-items:center;display:flex;gap:.5rem}.pagination-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:.9rem;justify-content:center;min-width:2.5rem;padding:.5rem .75rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af;color:#1f2937}.pagination-btn.active{background:linear-gradient(90deg,#6a11cb,#2575fc);border-color:#2575fc;color:#fff;cursor:default}.pagination-btn:disabled{background:#f9fafb;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}.pagination-btn svg{height:.8rem;width:.8rem}@media (max-width:700px){.pagination-container{align-items:center;flex-direction:column;gap:1rem}.pagination-controls{gap:.25rem}.pagination-btn{font-size:.8rem;min-width:2rem;padding:.4rem .6rem}}.print-pdf-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-bottom:1rem}.print-pdf-buttons button{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s}.print-pdf-buttons button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}@media (max-width:700px){.print-pdf-buttons{flex-direction:column;gap:.5rem}.print-pdf-buttons button{font-size:.8rem;padding:.5rem 1rem}}.action-btn.print{align-items:center;background:linear-gradient(90deg,#28a745,#20c997);border:none;border-radius:6px;box-shadow:0 2px 8px #28a74522;color:#fff;cursor:pointer;display:inline-flex;font-size:.98rem;font-weight:600;gap:.4rem;margin-right:.4rem;padding:.4rem .9rem;transition:background .2s,box-shadow .2s,transform .1s}.action-btn.print:hover{background:linear-gradient(90deg,#20c997,#28a745);box-shadow:0 4px 16px #28a74533;transform:translateY(-2px) scale(1.04)}.action-btn.pdf{align-items:center;background:linear-gradient(90deg,#dc3545,#fd7e14);border:none;border-radius:6px;box-shadow:0 2px 8px #dc354522;color:#fff;cursor:pointer;display:inline-flex;font-size:.98rem;font-weight:600;gap:.4rem;padding:.4rem .9rem;transition:background .2s,box-shadow .2s,transform .1s}.action-btn.pdf:hover{background:linear-gradient(90deg,#fd7e14,#dc3545);box-shadow:0 4px 16px #dc354533;transform:translateY(-2px) scale(1.04)}.action-btn.generate-pdf{align-items:center;background:linear-gradient(90deg,#6f42c1,#e83e8c);border:none;border-radius:6px;box-shadow:0 2px 8px #6f42c122;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.3rem;padding:.4rem .9rem;transition:background .2s,box-shadow .2s,transform .1s;white-space:nowrap}.action-btn.generate-pdf:hover{background:linear-gradient(90deg,#e83e8c,#6f42c1);box-shadow:0 4px 16px #6f42c133;transform:translateY(-2px) scale(1.04)}.feeform-student-select{max-height:220px;overflow-y:auto}.feeform-student-select option{white-space:normal}.paymentform-student-select{max-height:220px;overflow-y:auto}.paymentform-student-select option{white-space:normal}.admins-table.payments-table td,.admins-table.payments-table th{overflow:hidden;padding:.8rem .5rem;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.admins-table.payments-table .admin-actions{gap:.3rem}.admins-table.payments-table .admin-actions button{padding:.3rem .6rem}.admins-table.students-table{min-width:1400px;table-layout:fixed}.admins-table.students-table td,.admins-table.students-table th{overflow:hidden;padding:.8rem .5rem;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.admins-table.students-table th:first-child{width:12%}.admins-table.students-table th:nth-child(2){width:10%}.admins-table.students-table th:nth-child(3),.admins-table.students-table th:nth-child(4),.admins-table.students-table th:nth-child(5),.admins-table.students-table th:nth-child(6){width:8%}.admins-table.students-table th:nth-child(7),.admins-table.students-table th:nth-child(8),.admins-table.students-table th:nth-child(9){width:12%}.admins-table.students-table th:nth-child(10){width:10%}.admins-table.students-table .admin-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:.3rem}.admins-table.students-table .admin-actions button{font-size:.85rem;padding:.3rem .6rem;white-space:nowrap}.admins-table.fees-table{min-width:1400px}.admins-table.fees-table td,.admins-table.fees-table th{overflow:hidden;padding:.8rem .5rem;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.admins-table.fees-table .admin-actions button{font-size:.85rem}.fees-section{border-radius:20px;box-shadow:0 20px 40px #667eea26;margin:1rem 0;overflow:hidden;padding:2rem;position:relative}.fees-section:before{background:linear-gradient(45deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.fees-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem 2rem}.fees-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:2rem;font-weight:700;margin:0}.fees-add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:.8rem 1.5rem;position:relative;transition:all .3s ease}.fees-add-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.fees-add-btn:hover:before{left:100%}.fees-add-btn:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.fees-table-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;overflow:hidden;padding:1.5rem}.admins-table.fees-table{border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 4px 20px #00000014;min-width:1200px;overflow:hidden;table-layout:fixed}.admins-table.fees-table th{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem .8rem;text-align:left;text-transform:uppercase}.admins-table.fees-table td{background:#fff;border-bottom:1px solid #667eea1a;overflow:hidden;padding:1rem .8rem;text-align:left;text-overflow:ellipsis;transition:background-color .2s ease;vertical-align:middle;white-space:nowrap}.admins-table.fees-table tr:hover td{background:linear-gradient(135deg,#667eea0d,#764ba20d)}.admins-table.fees-table tr:last-child td{border-bottom:none}.admins-table.fees-table th:first-child{width:12%}.admins-table.fees-table th:nth-child(2){width:8%}.admins-table.fees-table th:nth-child(3){width:6%}.admins-table.fees-table th:nth-child(4){width:8%}.admins-table.fees-table th:nth-child(5){width:10%}.admins-table.fees-table th:nth-child(6){width:12%}.admins-table.fees-table th:nth-child(7),.admins-table.fees-table th:nth-child(8){width:10%}.admins-table.fees-table th:nth-child(9){width:24%}.admins-table.fees-table .admin-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:.3rem;min-width:0;overflow:visible}.admins-table.fees-table .admin-actions button{border:none;border-radius:6px;cursor:pointer;flex-shrink:0;font-size:.8rem;font-weight:500;padding:.3rem .6rem;transition:all .2s ease;white-space:nowrap}.admins-table.fees-table .edit-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.admins-table.fees-table .edit-btn:hover{box-shadow:0 4px 12px #4facfe4d;transform:translateY(-1px)}.admins-table.fees-table .delete-btn{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.admins-table.fees-table .delete-btn:hover{box-shadow:0 4px 12px #fa709a4d;transform:translateY(-1px)}.admins-table.fees-table .action-btn.print{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#2d3748}.admins-table.fees-table .action-btn.print:hover{box-shadow:0 4px 12px #a8edea4d;transform:translateY(-1px)}.admins-table.fees-table .action-btn.pdf{background:linear-gradient(135deg,#ffecd2,#fcb69f);color:#2d3748}.admins-table.fees-table .action-btn.pdf:hover{box-shadow:0 4px 12px #fcb69f4d;transform:translateY(-1px)}.admins-table.fees-table .action-btn.generate-pdf{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admins-table.fees-table .action-btn.generate-pdf:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}@media (max-width:1200px){.fees-section{padding:1.5rem}.fees-header{padding:1rem 1.5rem}.fees-header h2{font-size:1.5rem}}@media (max-width:768px){.fees-section{border-radius:15px;padding:1rem}.fees-header{flex-direction:column;gap:1rem;text-align:center}.fees-table-container{padding:1rem}}.payments-section{border-radius:20px;box-shadow:0 20px 40px #ff9a9e26;margin:1rem 0;overflow:hidden;padding:2rem;position:relative}.payments-section:before{background:linear-gradient(45deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.payments-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem 2rem}.payments-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff9a9e,#fecfef);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:2rem;font-weight:700;margin:0}.payments-add-btn{background:linear-gradient(135deg,#ff9a9e,#fecfef);border:none;border-radius:12px;box-shadow:0 4px 15px #ff9a9e4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:.8rem 1.5rem;position:relative;transition:all .3s ease}.payments-add-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.payments-add-btn:hover:before{left:100%}.payments-add-btn:hover{box-shadow:0 8px 25px #ff9a9e66;transform:translateY(-2px)}.payments-table-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;overflow:hidden;padding:1.5rem}.admins-table.payments-table{border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 4px 20px #00000014;min-width:1200px;overflow:hidden;table-layout:fixed}.admins-table.payments-table th{background:linear-gradient(135deg,#ff9a9e,#fecfef);border:none;color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem .8rem;text-align:left;text-transform:uppercase}.admins-table.payments-table td{background:#fff;border-bottom:1px solid #ff9a9e1a;overflow:hidden;padding:1rem .8rem;text-align:left;text-overflow:ellipsis;transition:background-color .2s ease;vertical-align:middle;white-space:nowrap}.admins-table.payments-table tr:hover td{background:linear-gradient(135deg,#ff9a9e0d,#fecfef0d)}.admins-table.payments-table tr:last-child td{border-bottom:none}.admins-table.payments-table th:first-child{width:15%}.admins-table.payments-table th:nth-child(2){width:12%}.admins-table.payments-table th:nth-child(3){width:10%}.admins-table.payments-table th:nth-child(4){width:12%}.admins-table.payments-table th:nth-child(5){width:10%}.admins-table.payments-table th:nth-child(6){width:15%}.admins-table.payments-table th:nth-child(7){width:26%}.admins-table.payments-table .admin-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:.4rem}.admins-table.payments-table .admin-actions button{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease;white-space:nowrap}.admins-table.payments-table .edit-btn{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#2d3748}.admins-table.payments-table .edit-btn:hover{box-shadow:0 4px 12px #a8edea4d;transform:translateY(-1px)}.admins-table.payments-table .delete-btn{background:linear-gradient(135deg,#ffecd2,#fcb69f);color:#2d3748}.admins-table.payments-table .delete-btn:hover{box-shadow:0 4px 12px #fcb69f4d;transform:translateY(-1px)}.admins-table.payments-table .action-btn.print{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admins-table.payments-table .action-btn.print:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.admins-table.payments-table .action-btn.pdf{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.admins-table.payments-table .action-btn.pdf:hover{box-shadow:0 4px 12px #f093fb4d;transform:translateY(-1px)}@media (max-width:1200px){.payments-section{padding:1.5rem}.payments-header{padding:1rem 1.5rem}.payments-header h2{font-size:1.5rem}.admins-table.payments-table{font-size:.9rem;min-width:100%}.admins-table.payments-table td,.admins-table.payments-table th{padding:.8rem .5rem}}@media (max-width:768px){.payments-section{border-radius:15px;padding:1rem}.payments-header{flex-direction:column;gap:1rem;padding:1rem;text-align:center}.payments-header h2{font-size:1.3rem}.payments-add-btn{font-size:.9rem;padding:.7rem 1.2rem}.payments-table-container{overflow-x:auto;padding:1rem}.admins-table.payments-table{font-size:.8rem;min-width:800px}.admins-table.payments-table td,.admins-table.payments-table th{padding:.6rem .4rem}.admins-table.payments-table .admin-actions{gap:.2rem}.admins-table.payments-table .admin-actions button{font-size:.75rem;padding:.3rem .6rem}}@media (max-width:480px){.payments-section{margin:.5rem 0;padding:.8rem}.payments-header{padding:.8rem}.payments-header h2{font-size:1.2rem}.payments-add-btn{font-size:.85rem;padding:.6rem 1rem}.payments-table-container{padding:.8rem}.admins-table.payments-table{font-size:.75rem;min-width:700px}.admins-table.payments-table td,.admins-table.payments-table th{padding:.5rem .3rem}.admins-table.payments-table .admin-actions button{font-size:.7rem;padding:.25rem .5rem}}@media (max-width:600px){.payments-mobile-cards{display:block}.payments-mobile-cards .payment-card{background:#fff;border:1px solid #ff9a9e1a;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:1rem;padding:1rem}.payments-mobile-cards .payment-card .card-header{align-items:center;border-bottom:1px solid #ff9a9e1a;display:flex;justify-content:space-between;margin-bottom:.8rem;padding-bottom:.5rem}.payments-mobile-cards .payment-card .card-title{color:#2d3748;font-size:1rem;font-weight:600}.payments-mobile-cards .payment-card .card-amount{color:#ff9a9e;font-size:1.1rem;font-weight:700}.payments-mobile-cards .payment-card .card-details{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.payments-mobile-cards .payment-card .card-detail{font-size:.85rem}.payments-mobile-cards .payment-card .card-detail-label{color:#718096;font-weight:500}.payments-mobile-cards .payment-card .card-detail-value{color:#2d3748;font-weight:600}.payments-mobile-cards .payment-card .card-actions{display:flex;gap:.5rem;justify-content:flex-end}.payments-mobile-cards .payment-card .card-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;padding:.4rem .8rem;transition:all .2s ease}}.mobile-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 20px 40px #667eea26;margin:1rem 0;overflow:hidden;padding:1.5rem;position:relative}.mobile-section:before{background:linear-gradient(45deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.mobile-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem 2rem}.mobile-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:2rem;font-weight:700;margin:0}.mobile-add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:.8rem 1.5rem;position:relative;transition:all .3s ease}.mobile-add-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.mobile-add-btn:hover:before{left:100%}.mobile-add-btn:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.mobile-table-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;overflow:hidden;padding:1.5rem}.mobile-table{border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 4px 20px #00000014;overflow:hidden;width:100%}.mobile-table th{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.mobile-table td,.mobile-table th{padding:1rem .8rem;text-align:left}.mobile-table td{background:#fff;border-bottom:1px solid #667eea1a;transition:background-color .2s ease;vertical-align:middle}.mobile-table tr:hover td{background:linear-gradient(135deg,#667eea0d,#764ba20d)}.mobile-table tr:last-child td{border-bottom:none}.mobile-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:.4rem}.mobile-actions button{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease;white-space:nowrap}.mobile-cards{display:none}.mobile-card{background:#fff;border:1px solid #667eea1a;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:1rem;padding:1.2rem;transition:transform .2s ease,box-shadow .2s ease}.mobile-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-2px)}.mobile-card .card-header{align-items:center;border-bottom:1px solid #667eea1a;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.8rem}.mobile-card .card-title{color:#2d3748;font-size:1.1rem;font-weight:600}.mobile-card .card-subtitle{color:#718096;font-size:.9rem;margin-top:.2rem}.mobile-card .card-details{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.mobile-card .card-detail{font-size:.9rem}.mobile-card .card-detail-label{color:#718096;font-weight:500;margin-bottom:.2rem}.mobile-card .card-detail-value{color:#2d3748;font-weight:600}.mobile-card .card-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.mobile-card .card-actions button{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;min-width:60px;padding:.5rem 1rem;transition:all .2s ease}.dashboard-mobile{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 20px 40px #667eea26;margin:1rem 0;padding:1.5rem}.dashboard-mobile .dashboard-cards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.dashboard-mobile .dashboard-summary-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.dashboard-mobile .dashboard-summary-card:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}@media (max-width:1200px){.mobile-section{padding:1.5rem}.mobile-header{padding:1rem 1.5rem}.mobile-header h2{font-size:1.5rem}.mobile-table{font-size:.9rem}.mobile-table td,.mobile-table th{padding:.8rem .5rem}}@media (max-width:768px){.mobile-section{border-radius:15px;padding:1rem}.mobile-header{flex-direction:column;gap:1rem;padding:1rem;text-align:center}.mobile-header h2{font-size:1.3rem}.mobile-add-btn{font-size:.9rem;padding:.7rem 1.2rem}.mobile-table-container{overflow-x:auto;padding:1rem}.mobile-table{font-size:.8rem;min-width:800px}.mobile-table td,.mobile-table th{padding:.6rem .4rem}.mobile-actions{gap:.2rem}.mobile-actions button{font-size:.75rem;padding:.3rem .6rem}.mobile-cards{display:block}.mobile-table-container{display:none}}@media (max-width:480px){.mobile-section{margin:.5rem 0;padding:.8rem}.mobile-header{padding:.8rem}.mobile-header h2{font-size:1.2rem}.mobile-add-btn{font-size:.85rem;padding:.6rem 1rem}.mobile-table-container{padding:.8rem}.mobile-table{font-size:.75rem;min-width:700px}.mobile-table td,.mobile-table th{padding:.5rem .3rem}.mobile-actions button{font-size:.7rem;padding:.25rem .5rem}.mobile-card{padding:1rem}.mobile-card .card-details{gap:.6rem;grid-template-columns:1fr}.mobile-card .card-actions{justify-content:center}.dashboard-mobile .dashboard-cards-grid{gap:1rem;grid-template-columns:1fr}}@media (max-width:600px){.mobile-cards{display:block!important}.mobile-table-container{display:none!important}.mobile-card .card-actions{flex-direction:column;gap:.5rem}.mobile-card .card-actions button{justify-content:center;width:100%}}.admins-mobile,.admins-mobile .mobile-header h2{background:linear-gradient(135deg,#667eea,#764ba2)}.admins-mobile .mobile-header h2{-webkit-text-fill-color:#0000;-webkit-background-clip:text}.admins-mobile .mobile-add-btn{background:linear-gradient(135deg,#667eea,#764ba2)}.students-mobile,.students-mobile .mobile-header h2{background:linear-gradient(135deg,#4facfe,#00f2fe)}.students-mobile .mobile-header h2{-webkit-text-fill-color:#0000;-webkit-background-clip:text}.students-mobile .mobile-add-btn{background:linear-gradient(135deg,#4facfe,#00f2fe)}.teachers-mobile,.teachers-mobile .mobile-header h2{background:linear-gradient(135deg,#a8edea,#fed6e3)}.teachers-mobile .mobile-header h2{-webkit-text-fill-color:#0000;-webkit-background-clip:text}.teachers-mobile .mobile-add-btn{background:linear-gradient(135deg,#a8edea,#fed6e3)}.fees-section{background:linear-gradient(135deg,#667eea,#764ba2)}.payments-section{background:linear-gradient(135deg,#ff9a9e,#fecfef 50%,#fecfef)}.mobile-card .edit-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.mobile-card .delete-btn{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.mobile-card .action-btn.print{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.mobile-card .action-btn.pdf{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.mobile-loading{align-items:center;background:#fffffff2;border-radius:15px;display:flex;justify-content:center;margin:1rem 0;padding:2rem}.mobile-loading .spinner{animation:spin 1s linear infinite;border:4px solid #667eea1a;border-left-color:#667eea;border-radius:50%;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mobile-error{border:1px solid #ef444433;border-radius:15px;color:#dc2626;padding:1rem}.mobile-empty,.mobile-error{background:#fffffff2;margin:1rem 0;text-align:center}.mobile-empty{border-radius:15px;color:#718096;padding:2rem}.mobile-empty .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.mobile-pagination{align-items:center;background:#fffffff2;border-radius:15px;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem;padding:1rem}.mobile-pagination .pagination-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.mobile-pagination .pagination-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.mobile-pagination .pagination-btn:disabled{cursor:not-allowed;opacity:.5}.mobile-pagination .pagination-btn.active{background:linear-gradient(135deg,#4facfe,#00f2fe)}.mobile-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.mobile-modal .modal-content{background:#fff;border-radius:15px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:90vw;overflow-y:auto;padding:1.5rem}.mobile-modal .modal-header{align-items:center;border-bottom:1px solid #667eea1a;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.mobile-modal .modal-title{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.mobile-modal .modal-close{background:none;border:none;border-radius:50%;color:#718096;cursor:pointer;font-size:1.5rem;padding:.5rem;transition:background-color .2s ease}.mobile-modal .modal-close:hover{background:#667eea1a}.mobile-form{display:flex;flex-direction:column;gap:1rem}.mobile-form input,.mobile-form select{border:1px solid #667eea33;border-radius:8px;font-size:1rem;padding:.8rem 1rem;transition:border-color .2s ease}.mobile-form input:focus,.mobile-form select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.mobile-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.mobile-form .form-actions button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:all .2s ease}.mobile-form .form-actions .submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.mobile-form .form-actions .cancel-btn{background:#667eea1a;color:#667eea}.mobile-form .form-actions button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.profile-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.profile-info{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.profile-field{display:flex;flex-direction:column;gap:.5rem}.profile-field label{color:#374151;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.profile-field span{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:1.1rem;padding:.75rem 1rem}.profile-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-start}.change-password-btn{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;box-shadow:0 2px 8px #f59e0b4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.change-password-btn:hover{box-shadow:0 4px 12px #f59e0b66;transform:translateY(-1px)}.disabled-input{background-color:#f3f4f6!important;color:#6b7280!important;cursor:not-allowed}.dashboard-summary-card.attendance{background:linear-gradient(135deg,#10b981,#059669)}.dashboard-summary-card.pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.dashboard-summary-card.total-fees{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.logo-manager{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.logo-preview-section,.logo-upload-section{margin-bottom:2rem}.logo-preview-section h3,.logo-upload-section h3{color:#374151;font-size:1.2rem;font-weight:600;margin:0 0 1rem}.logo-preview{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;padding:2rem;text-align:center}.current-logo{max-height:60px;max-width:200px;object-fit:contain}.no-logo{color:#6b7280;font-style:italic}.file-input-wrapper{margin-bottom:1rem}.file-input{display:none}.file-input-label{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.file-input-label:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.preview-section{margin:1rem 0}.preview-section h4{color:#374151;font-size:1rem;margin:0 0 .5rem}.preview-image{background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;max-height:60px;max-width:200px;object-fit:contain;padding:.5rem}.logo-actions{display:flex;gap:1rem;margin-top:1rem}.remove-btn,.upload-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.upload-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.upload-btn:hover:not(:disabled){box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.upload-btn:disabled{cursor:not-allowed;opacity:.5}.remove-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.remove-btn:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.logo-guidelines{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:2rem;padding:1.5rem}.logo-guidelines h4{color:#374151;font-size:1rem;font-weight:600;margin:0 0 1rem}.logo-guidelines ul{color:#6b7280;font-size:.9rem;margin:0;padding-left:1.5rem}.logo-guidelines li{margin-bottom:.5rem}.sidebar-logo-image{margin:.5rem 0;max-height:40px;max-width:120px;object-fit:contain}.role-info{background:#e0f2fe;border:1px solid #0891b2;border-radius:8px;margin-bottom:1rem;padding:1rem}.role-info p{color:#0c4a6e;font-size:.9rem;margin:0}.loading-state{align-items:center;background:#f8f9fa;border-radius:8px;box-sizing:border-box;color:#666;display:flex;font-size:1.1rem;justify-content:center;margin:1rem 0;min-height:200px;padding:2rem;text-align:center;width:100%}
/*# sourceMappingURL=main.1e7dcf3b.css.map*/