body{background-color:#f3f4f6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0}.app-container{display:flex;flex-direction:column;min-height:100vh}.login-container{align-items:center;background-color:#f3f4f6;display:flex;justify-content:center;min-height:100vh;padding:16px}.login-box{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;max-width:320px;padding:24px;text-align:center;width:100%}.login-box h1{color:#1f2937;font-size:24px;font-weight:700;margin-bottom:16px}.error-message{color:#dc2626;font-size:14px;margin-bottom:12px}.form-group{margin-bottom:16px;text-align:left}.form-group label{color:#4b5563;display:block;font-size:14px;margin-bottom:4px}.form-group input{border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box}.form-group input,.login-button{font-size:14px;padding:12px;width:100%}.login-button{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background-color .2s}.login-button:hover{background-color:#2563eb}.header{align-items:center;background-color:#3b82f6;color:#fff;display:flex;justify-content:space-between;padding:12px 16px}.student-info{flex:1 1;font-size:14px}.student-label{font-weight:700}.header-controls{align-items:center;display:flex;gap:8px}.student-toggle{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-size:14px;max-width:150px;padding:8px}.logout-button{background-color:#dc2626;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.logout-button:hover{background-color:#b91c1c}.menu-toggle-container{padding:16px}.menu-toggle{align-items:center;background-color:#1f2937;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:12px;transition:background-color .2s;width:100%}.menu-toggle:hover{background-color:#374151}.menu{background-color:#1f2937;padding:16px}.menu U{list-style:none;margin:0;padding:0}.menu li{margin-bottom:8px}.menu-item{background-color:initial;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:12px;text-align:left;transition:background-color .2s;width:100%}.menu-item:hover{background-color:#374151}.menu-item.active{background-color:#3b82f6}.main-content{flex:1 1;padding:16px}.content h2{color:#1f2937;font-size:20px;font-weight:700;margin-bottom:8px}.content p{color:#4b5563;font-size:14px}.attendance-container{margin:0 auto;max-width:1200px;padding:20px}.attendance-header{justify-content:space-between;margin-bottom:20px}.attendance-header,.date-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.date-input{align-items:center;display:flex;gap:8px}.date-input label{font-weight:500}.date-input input{border:1px solid #ddd;border-radius:4px;padding:8px 12px}.refresh-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .3s}.refresh-btn:hover{background-color:#45a049}.refresh-btn:disabled{background-color:#ccc;cursor:not-allowed}.error-message{background-color:#fde0e0;border-radius:4px;color:#d32f2f;margin-bottom:20px;padding:10px 15px}.attendance-stats{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:25px}.stat-card{border-radius:8px;box-shadow:0 2px 5px #0000001a;flex:1 1;min-width:120px;padding:15px;text-align:center}.stat-card.present{background-color:#e8f5e9;border-left:4px solid #4caf50}.stat-card.absent{background-color:#ffebee;border-left:4px solid #f44336}.stat-card.total{background-color:#e3f2fd;border-left:4px solid #2196f3}.stat-value{display:block;font-size:24px;font-weight:700}.stat-label{color:#555;font-size:14px}.attendance-table-container{border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.attendance-table{background-color:#fff;border-collapse:collapse;width:100%}.attendance-table th{background-color:#f5f5f5;font-weight:500;padding:12px 15px;text-align:left}.attendance-table td{border-bottom:1px solid #eee;padding:12px 15px}.attendance-table tr:last-child td{border-bottom:none}.status{font-weight:500}.status.present{color:#4caf50}.status.absent{color:#f44336}.loading-indicator{color:#555}.loading-indicator,.no-data{padding:20px;text-align:center}.no-data{background-color:#f9f9f9;border-radius:8px;color:#777}.org-info{color:#e0e0e0;font-size:.9em;margin-left:15px}.timezone-info{color:#555;font-size:.9em;margin-bottom:10px}.wallet-container{margin:0 auto;max-width:1200px;padding:20px}.balance-box{background-color:#f0f0f0;border-radius:5px;margin-bottom:20px;padding:15px}.stats{display:flex;flex-wrap:wrap;justify-content:space-between}.stat{flex:1 1;margin:0 10px;min-width:200px}.wallet-table{border-collapse:collapse;margin-top:20px;width:100%}.wallet-table td,.wallet-table th{border:1px solid #ddd;padding:8px;text-align:left}.wallet-table th{background-color:#4caf50;color:#fff}.wallet-table tr:nth-child(2n){background-color:#f2f2f2}.credit{color:green}.credit,.debit{font-weight:700}.debit{color:red}.button-container{margin-bottom:20px;text-align:right}.print-button{background-color:#4caf50;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px}.print-button:hover{background-color:#45a049}@media print{.button-container{display:none}.balance-box{border:1px solid #000}.balance-box,.wallet-table tr:nth-child(2n){background-color:initial}.wallet-table th{background-color:#e0e0e0;color:#000}.credit,.debit{color:#000}}.add-funds-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;margin-right:10px;padding:8px 16px}.add-funds-button:hover{background-color:#45a049}.add-funds-button:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width:768px){.stats{flex-direction:column}.stat{margin:5px 0}.wallet-table{font-size:.9em}.wallet-table td,.wallet-table th{padding:5px}.org-info{display:block;margin-left:0;margin-top:5px}.login-box{max-width:100%}.header{flex-wrap:wrap;gap:8px}.student-info{flex:1 1}.student-toggle{max-width:120px}.logout-button{font-size:12px;padding:6px 12px}.attendance-header{align-items:flex-start;flex-direction:column}.date-controls{width:100%}.date-input{flex:1 1;min-width:120px}.stat-card{min-width:calc(33% - 20px)}.attendance-table td,.attendance-table th{font-size:12px;padding:8px}}
/*# sourceMappingURL=main.05d8c1cf.css.map*/