*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1400px;padding:20px}.btn{border:none;border-radius:5px;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s ease}.btn-primary{background-color:#4caf50;color:#fff}.btn-primary:hover{background-color:#45a049}.btn-secondary{background-color:#2196f3;color:#fff}.btn-secondary:hover{background-color:#0b7dda}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover{background-color:#da190b}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4caf50;outline:none}.table{background:#fff;border-collapse:collapse;width:100%}.table-container{-webkit-overflow-scrolling:touch;width:100%}.table td,.table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.table th{background-color:#f8f9fa;color:#333;font-weight:600}.table tr:hover{background-color:#f5f7fa}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.badge-success{background-color:#d4edda;color:#155724}.badge-warning{background-color:#fff3cd;color:#856404}.badge-danger{background-color:#f8d7da;color:#721c24}.badge-info{background-color:#d1ecf1;color:#0c5460}.alert{border-radius:5px;margin-bottom:20px;padding:15px}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.modal-content{max-height:90vh}.loading{align-items:center;display:flex;justify-content:center;padding:40px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.container{padding:14px}.card{border-radius:12px;padding:16px}.table{min-width:760px}.table td,.table th{padding:10px;white-space:nowrap}.btn{min-height:42px}.actions,.filters{width:100%}.actions>*,.filters>*{min-width:min(100%,180px)}.modal-overlay{align-items:flex-end;padding:0}.modal-content{border-radius:18px 18px 0 0;max-height:92dvh;max-width:none;padding:20px 16px;width:100%}input,select,textarea{font-size:16px!important}.mobile-responsive-grid{grid-template-columns:1fr!important}.generator-layout{grid-template-columns:minmax(0,1fr)!important}.generator-layout>*{min-width:0}.generator-preview-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.generator-preview-card>[style*="width: 720px"],.generator-preview-card>[style*="width: 760px"]{transform-origin:top left}h2{font-size:22px;line-height:1.25}h3{line-height:1.3}.form-control{max-width:100%;width:100%}}@media (max-width:480px){.actions{flex-direction:column}.actions .btn{width:100%}}.overdue-payments{padding:20px}.header-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.overdue-payments h2{color:#333;margin:0}.action-buttons{display:flex;gap:10px}.select-all-button,.sms-button{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.select-all-button{background-color:#6c757d;color:#fff}.select-all-button:hover{background-color:#5a6268}.sms-button{background-color:#28a745;color:#fff}.sms-button:hover:not(:disabled){background-color:#218838}.sms-button:disabled{background-color:#ccc;cursor:not-allowed}.error,.loading{font-size:18px;padding:40px;text-align:center}.error{color:#dc3545}.no-data{color:#666;font-size:16px;padding:40px;text-align:center}.table-container{margin-bottom:20px}.overdue-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.overdue-table thead{background:#f8f9fa}.overdue-table th{border-bottom:2px solid #dee2e6;color:#333;font-weight:600;padding:12px 15px;text-align:left}.overdue-table th:first-child{text-align:center;width:50px}.overdue-table td:first-child{text-align:center}.overdue-table td{border-bottom:1px solid #dee2e6;padding:12px 15px}.overdue-table tbody tr:hover{background:#f8f9fa}.overdue-table tbody tr:last-child td{border-bottom:none}.amount{color:#28a745;font-weight:600}.days-overdue{color:#dc3545;font-weight:600}.pay-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .3s}.pay-button.whatsapp{background:#25d366}.pay-button.whatsapp:hover:not(:disabled){background:#1ebe5a}.pay-button:hover:not(:disabled){background:#218838}.pay-button:disabled{background:#6c757d;cursor:not-allowed}.total-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.total-section h3{color:#333;font-size:20px;margin:0}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:80vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.modal-content h3{color:#333;margin-bottom:15px;margin-top:0}.modal-info{color:#666;font-size:14px;margin-bottom:15px}.sms-textarea{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-family:inherit;font-size:14px;margin-bottom:20px;padding:10px;resize:vertical;width:100%}.sms-textarea:focus{border-color:#28a745;outline:none}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.cancel-button,.send-button{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.cancel-button{background-color:#6c757d;color:#fff}.cancel-button:hover:not(:disabled){background-color:#5a6268}.send-button{background-color:#28a745;color:#fff}.send-button:hover:not(:disabled){background-color:#218838}.cancel-button:disabled,.send-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.overdue-payments{padding:10px}.header-section{align-items:flex-start;flex-direction:column;gap:10px}.action-buttons{flex-direction:column;width:100%}.select-all-button,.sms-button{width:100%}.overdue-table{font-size:14px}.overdue-table td,.overdue-table th{padding:8px 10px}.modal-content{padding:20px;width:95%}}.layout{display:flex;min-height:100vh}.sidebar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;height:100vh;overflow-y:auto;position:fixed;width:250px;z-index:300}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:30px 20px}.sidebar-header h2{font-size:28px;font-weight:700;margin:0}.sidebar-nav{padding:20px 0}.sidebar-nav a{align-items:center;border-left:4px solid #0000;color:#fff;display:flex;padding:15px 20px;text-decoration:none;transition:all .3s ease}.sidebar-nav a span{font-size:20px;margin-right:10px}.sidebar-nav a:hover{background-color:#ffffff1a}.sidebar-nav a.active{background-color:#fff3;border-left-color:#fff}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:250px}.header{background:#fff;box-shadow:0 2px 4px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:20px 30px}.header h1{color:#333;font-size:24px;margin:0}.user-menu{align-items:center;display:flex;gap:20px}.user-name{color:#666;font-weight:500}.content{flex:1 1;margin:0 auto;max-width:1400px;padding:30px;width:100%}.mobile-menu-close,.mobile-menu-toggle,.sidebar-backdrop{display:none}@media (max-width:768px){.sidebar{box-shadow:12px 0 30px #1a143f33;transform:translateX(-105%);transition:transform .25s ease;width:min(82vw,300px)}.sidebar.sidebar-open{transform:translateX(0)}.main-content{margin-left:0;min-width:0}.header h1{font-size:17px;line-height:1.2}.content{overflow-x:hidden;padding:16px}.header-content{gap:12px;padding:12px 16px}.mobile-menu-toggle{grid-gap:5px;background:#eef1ff;border:0;border-radius:10px;display:grid;flex:0 0 42px;gap:5px;height:42px;place-content:center;width:42px}.mobile-menu-toggle span{background:#334155;border-radius:2px;display:block;height:2px;width:20px}.mobile-menu-close{background:#ffffff24;border:0;border-radius:10px;color:#fff;display:block;font-size:28px;height:40px;line-height:1;width:40px}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a7a;border:0;display:block;inset:0;position:fixed;z-index:250}.sidebar-nav a{min-height:50px}.user-menu{gap:8px;margin-left:auto}.user-name{display:none}.user-menu .btn{padding:9px 12px}}@media (max-width:576px){.header h1{font-size:15px}.sidebar-header{padding:20px}.sidebar-header h2{font-size:24px}}.App{min-height:100vh}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0003;max-width:400px;padding:40px;width:100%}.login-box h2{color:#333;margin-bottom:30px;text-align:center}.login-box .logo{color:#667eea;font-size:36px;font-weight:700;margin-bottom:20px;text-align:center}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.stat-card h3{color:#666;font-size:14px;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.stat-card .stat-value{color:#333;font-size:32px;font-weight:700}.stat-card.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card.primary .stat-value,.stat-card.primary h3{color:#fff}.filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.filters input,.filters select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px}.filters input{flex:1 1;min-width:200px}.actions{display:flex;gap:10px;margin-bottom:20px}.table-container{overflow-x:auto}.pagination{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:20px}.pagination button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:8px 12px}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination button:hover:not(:disabled){background-color:#f5f7fa}.payment-schedule{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:20px}.month-card{border:2px solid #ddd;border-radius:8px;padding:15px;text-align:center}.month-card.paid{background-color:#d4edda;border-color:#28a745}.month-card.pending{background-color:#fff3cd;border-color:#ffc107}.month-card .month-number{font-size:18px;font-weight:700;margin-bottom:5px}.month-card .amount{color:#666;font-size:14px}.sms-templates{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:20px}.template-card{border:1px solid #ddd;border-radius:8px;cursor:pointer;padding:15px;transition:all .3s ease}.template-card:hover{border-color:#4caf50;box-shadow:0 2px 8px #0000001a}.template-card h4{color:#333;margin-bottom:10px}.template-card p{color:#666;font-size:14px}.category-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.category-filter{background:#fff;border:2px solid #ddd;border-radius:20px;cursor:pointer;padding:8px 16px;transition:all .3s ease}.category-filter:hover{border-color:#4caf50}.category-filter.active{background-color:#4caf50;border-color:#4caf50;color:#fff}.highlighted-student-row{background-color:#fff4cc!important;transition:background-color .4s ease}@media (max-width:768px){.login-container{padding:18px}.login-box{padding:28px 20px}.sms-templates,.stats-grid{grid-template-columns:1fr}.filters input,.filters select{flex:1 1 100%;width:100%}.pagination{flex-wrap:wrap}.category-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.category-filter{flex:0 0 auto}}
/*# sourceMappingURL=main.cf581a49.css.map*/