.reports-page{padding:20px;max-width:1400px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.reports-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;overflow:hidden;min-height:80vh}.reports-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 50px;text-align:center}.reports-title{margin:0 0 15px;font-size:2.8rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:15px}.reports-title .mdi{font-size:3rem;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}.reports-subtitle{margin:0;font-size:1.2rem;opacity:.95;font-weight:400;letter-spacing:.5px}.financial-summary{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px;padding:25px;margin:30px 0;border:2px solid #dee2e6;box-shadow:0 6px 20px #00000014}.financial-summary .summary-title{margin:0 0 20px;font-size:1.8rem;font-weight:700;color:#2d3436;display:flex;align-items:center;gap:12px}.financial-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.financial-stat{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #00000014;border:1px solid #e9ecef;display:flex;align-items:center;gap:20px;transition:transform .3s ease,box-shadow .3s ease}.financial-stat:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001f}.financial-stat .stat-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;flex-shrink:0}.financial-stat .stat-content{flex:1}.financial-stat .stat-label{display:block;font-size:.95rem;color:#6c757d;font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.financial-stat .stat-value{display:block;font-size:1.8rem;font-weight:800;line-height:1.2}.financial-stat:nth-child(1) .stat-icon{background:linear-gradient(135deg,#007bff,#0056b3)}.financial-stat .stat-value.expected{color:#007bff}.financial-stat:nth-child(2) .stat-icon{background:linear-gradient(135deg,#28a745,#1e7e34)}.financial-stat .stat-value.collected{color:#28a745}.financial-stat:nth-child(3) .stat-icon{background:linear-gradient(135deg,#ffc107,#e0a800)}.financial-stat .stat-value.balance.outstanding{color:#dc3545}.financial-stat .stat-value.balance.paid{color:#28a745}.financial-stat:nth-child(3) .stat-icon{color:#212529}.reports-navigation{display:flex;background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:0 30px;flex-wrap:wrap}.nav-btn{background:none;border:none;padding:18px 25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#6c757d;display:flex;align-items:center;gap:8px;position:relative;border-bottom:4px solid transparent}.nav-btn:hover{color:#667eea;background:#667eea1a}.nav-btn.active{color:#667eea;background:#667eea1a;border-bottom-color:#667eea}.nav-btn .mdi{font-size:1.3rem}.reports-content{padding:40px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;color:#6c757d}.loading h2{margin-top:20px;font-size:1.8rem;font-weight:600}.loading .spinner-icon{font-size:4rem;animation:spin 1s linear infinite;color:#667eea}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:30px;margin-bottom:40px}.chart-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef}.chart-card h4{margin:0 0 20px;font-size:1.4rem;font-weight:700;color:#2d3436;text-align:center}.chart-container{position:relative;height:300px;display:flex;align-items:center;justify-content:center}.report-section{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;margin-bottom:30px}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.report-header h3{margin:0;font-size:2rem;font-weight:700;color:#2d3436;display:flex;align-items:center;gap:10px}.report-header h3 .mdi{color:#667eea}.print-btn{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 12px #28a7454d}.print-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #28a74566}.print-btn .mdi{font-size:1.2rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-box{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:20px;text-align:center;border:1px solid #dee2e6}.stat-label{display:block;font-size:.9rem;color:#6c757d;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.stat-value{display:block;font-size:2rem;font-weight:800;color:#2d3436}.students-table table,.payments-table table{width:100%;border-collapse:collapse;margin-top:20px;font-size:.9rem;box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden}.students-table th,.payments-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 12px;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.students-table td,.payments-table td{padding:12px;border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.students-table tbody tr:hover,.payments-table tbody tr:hover{background-color:#f8f9fa}.students-table tbody tr:nth-child(2n),.payments-table tbody tr:nth-child(2n){background-color:#f8f9fa}.students-table tbody tr:nth-child(2n):hover,.payments-table tbody tr:nth-child(2n):hover{background-color:#e9ecef}.class-breakdown{margin-top:30px;padding:25px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.class-breakdown h4{margin:0 0 20px;font-size:1.3rem;font-weight:700;color:#2d3436;text-align:center}.grade-stats{display:flex;flex-direction:column;gap:15px}.grade-stat{display:flex;align-items:center;gap:15px}.grade-stat span:first-child{min-width:100px;font-weight:600;color:#2d3436}.progress-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .8s ease}.grade-stat span:last-child{min-width:40px;text-align:right;font-weight:700;color:#667eea}@media print{body *{visibility:hidden}.reports-container,.reports-container *{visibility:visible}.reports-container{position:absolute;left:0;top:0;width:100%;box-shadow:none;border-radius:0}.reports-navigation,.print-btn{display:none!important}.reports-content{padding:20px}.chart-card,.report-section{page-break-inside:avoid;margin-bottom:20px}table{font-size:10px}.students-table th,.payments-table th{padding:8px 4px;font-size:9px}.students-table td,.payments-table td{padding:6px 4px}}@media (max-width: 768px){.reports-page{padding:10px}.reports-header{padding:30px 20px}.reports-title{font-size:2.2rem}.reports-title .mdi{font-size:2.5rem}.reports-subtitle{font-size:1rem}.reports-navigation{padding:0 15px}.nav-btn{padding:12px 18px;font-size:.9rem}.nav-btn .mdi{font-size:1.1rem}.reports-content{padding:20px 15px}.charts-grid{grid-template-columns:1fr;gap:20px}.report-header{flex-direction:column;gap:15px;text-align:center}.summary-stats{grid-template-columns:1fr}.stat-value{font-size:1.5rem}.grade-stat{flex-direction:column;gap:8px;align-items:flex-start}.students-table table,.payments-table table{font-size:.8rem}.students-table th,.payments-table th,.students-table td,.payments-table td{padding:8px 6px}}@media (max-width: 480px){.reports-title{font-size:1.8rem;flex-direction:column;gap:10px}.reports-title .mdi{font-size:2rem}.reports-subtitle{font-size:.9rem}.report-header h3{font-size:1.5rem}.stat-value{font-size:1.3rem}.charts-grid{gap:15px}.chart-card{padding:20px}.chart-container{height:250px}.report-section{padding:20px}}
