h1,h2{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:2rem;font-weight:600;margin-bottom:.5rem;color:#333}h3{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1.1rem;font-weight:600;color:#333;margin-bottom:.5rem}p,span,div,label{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1rem;color:#444;line-height:1.5}input,select,button,textarea{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1rem}.MuiDataGrid-root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important}.MuiDataGrid-columnHeaders{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important;font-weight:600!important}.MuiDataGrid-cell{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important}html,body,#root{height:100%;margin:0;padding:0}body{display:flex;flex-direction:column}#root{display:flex;flex-direction:column;flex-grow:1}.nav-app-bar{background-color:#007bff!important;color:#fff!important;box-shadow:0 2px 4px #0000001a!important;border-bottom:1px solid #e0e0e0!important}.nav-toolbar{display:flex!important;justify-content:space-between!important}.nav-title{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important;font-weight:700!important;color:#fff!important;font-size:1.4rem!important}.nav-buttons-container{display:flex;align-items:center}.nav-button{color:#fff!important;font-weight:600!important;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important;text-transform:none!important;padding:8px 16px!important;margin:0 4px!important;border-radius:6px!important;transition:background-color .3s ease!important}.nav-button:hover{background-color:#ffffff1a!important}.nav-button.active{background-color:#fff3!important;color:#fff!important}.nav-user-name{color:#fff!important;margin-right:12px!important;font-weight:500!important;font-size:.95rem!important}.nav-logout-button{background-color:#dc3545cc!important}.nav-logout-button:hover{background-color:#dc3545!important}@media(max-width:768px){.nav-title{font-size:1.1rem!important}.nav-button{padding:6px 12px!important;font-size:.9rem!important}}.MuiAppBar-root.nav-app-bar{background-color:#007bff!important}.MuiToolbar-root.nav-toolbar{min-height:64px!important}.MuiButton-root.nav-button{min-width:auto!important}.custom-header .MuiDataGrid-columnHeaders{font-weight:700;text-decoration:underline;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}h1,h2{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:2rem;font-weight:600;margin-bottom:.25rem;color:#333}.delete-button{background-color:#e53935;color:#fff;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;font-weight:700}.delete-button:hover{background-color:#c62828}.date-range-filter{margin-bottom:1.5rem;padding:1rem;background-color:#f5f5f5;border-radius:8px}.filter-title{margin:0 0 1rem;font-size:1.1rem;font-weight:700}.filter-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.date-input-group{display:flex;flex-direction:column}.date-label{display:block;font-weight:700;margin-bottom:.25rem;color:#555}.date-input{padding:.5rem;border-radius:4px;border:1px solid #ccc;font-size:14px}.date-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.quick-filter-btn{margin-top:1.5rem;padding:.5rem 1rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.quick-filter-btn:hover{background-color:#0056b3}.date-range-info{margin-top:.5rem;font-size:.9rem;color:#666}.mark-attendance-btn{background-color:#4caf50;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .3s ease}.mark-attendance-btn:hover{background-color:#45a049}.admin-override-section{margin-bottom:1.5rem;padding:1rem;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px}.override-title{margin:0 0 1rem;font-size:1.1rem;font-weight:700;color:#856404}.override-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.override-input{padding:.5rem;border:1px solid #ccc;border-radius:4px;width:100px;font-size:14px}.override-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.admin-btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.admin-btn-primary{background-color:#ffc107;color:#212529}.admin-btn-primary:hover{background-color:#e0a800}.admin-btn-secondary{background-color:#6c757d;color:#fff}.admin-btn-secondary:hover{background-color:#5a6268}.admin-btn-success{background-color:#28a745;color:#fff}.admin-btn-success:hover{background-color:#218838}.override-info{margin-top:.5rem;font-size:.9rem;color:#856404;font-style:italic}.year-end-notification{background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:12px 16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.year-end-notification strong{color:#856404}.year-end-notification span{color:#856404;margin-left:8px}.notification-close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#856404}.notification-close-btn:hover{opacity:.7}.yearly-reset-notification{background-color:#f8d7da;border:2px solid #dc3545;border-radius:8px;padding:16px 20px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px #0000001a}.yearly-reset-notification strong{color:#721c24;font-size:1.1rem}.yearly-reset-notification p{color:#721c24;margin:8px 0 0;font-size:.95rem}.yearly-reset-dismiss-btn{background:#dc3545;border:none;color:#fff;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:700;font-size:14px;transition:background-color .2s ease}.yearly-reset-dismiss-btn:hover{background-color:#c82333}.reset-attendance-container{margin-bottom:20px}.admin-btn-danger{background-color:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:700;font-size:.95rem;transition:background-color .2s ease}.admin-btn-danger:hover{background-color:#c82333}.warning-text{margin-left:12px;font-size:.85rem;color:#6c757d;font-style:italic}.override-section-heading{margin-top:24px;margin-bottom:12px;font-size:1rem}.override-label{font-weight:700}.override-status{font-size:.9rem;color:#6c757d}@media(max-width:768px){.filter-controls{flex-direction:column;align-items:stretch}.date-input-group{width:100%}.quick-filter-btn{margin-top:1rem}.override-controls{flex-direction:column;align-items:stretch}}.analytics-container{padding:20px;max-width:1400px;margin:0 auto}.analytics-section{margin-top:50px;padding:30px 0;border-top:2px solid #e0e0e0}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.analytics-section-title{text-align:center;margin:0;font-size:1.8rem;color:#333;flex:1}.export-pdf-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #0000001a;display:flex;align-items:center;gap:8px}.export-pdf-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.export-pdf-button:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.analytics-title{text-align:center;margin-bottom:30px;font-size:2rem;color:#333}.analytics-loading{text-align:center;padding:40px;font-size:1.2rem;color:#666}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 6px #0000001a;text-align:center;transition:transform .2s}.stat-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.stat-card h3{margin:0 0 10px;font-size:.95rem;font-weight:500;opacity:.9}.stat-value{margin:0;font-size:2.5rem;font-weight:700}.stat-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:30px}.chart-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.chart-card h3{margin:0 0 20px;font-size:1.2rem;color:#333;border-bottom:2px solid #007bff;padding-bottom:10px}.chart-card-small{min-height:400px;display:flex;flex-direction:column}.chart-card-small canvas{flex:1;max-height:350px}@media(max-width:1200px){.charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.analytics-container{padding:15px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:15px}.stat-card{padding:20px}.stat-value{font-size:2rem}.analytics-title{font-size:1.5rem}.charts-grid{gap:20px}.chart-card{padding:15px}}@media(max-width:768px){.analytics-header{flex-direction:column;align-items:stretch}.analytics-section-title{text-align:center}.export-pdf-button{width:100%;justify-content:center}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}*{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}h1,h2{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:2rem;font-weight:600;margin-bottom:1rem;color:#333}h3{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1.1rem;font-weight:600;color:#333}p,span,div,label,input,select,button{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1rem;color:#444}.add-member-section{margin-bottom:2rem}.add-member-toggle{background-color:#4caf50;color:#fff;padding:12px 24px;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:700;transition:background-color .3s ease}.add-member-toggle.cancel{background-color:#f44336}.add-member-toggle:hover{opacity:.9}.add-member-form{margin-top:1rem;padding:2rem;border:1px solid #ddd;border-radius:8px;background-color:#f9f9f9;box-shadow:0 2px 4px #0000001a}.form-title{margin-top:0;margin-bottom:1.5rem;color:#333;font-size:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-label{display:block;margin-bottom:.5rem;font-weight:700;color:#555;font-size:14px}.form-input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box;transition:border-color .3s ease}.form-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-select{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:14px;background-color:#fff;box-sizing:border-box;transition:border-color .3s ease}.form-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-primary{background-color:#007bff;color:#fff;font-weight:700}.btn-primary:hover{background-color:#0056b3}.btn-danger{color:#fff;background-color:#dc3545;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.btn-danger:hover{background-color:#c82333}.btn-success{color:#fff;background-color:#4caf50;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background-color .2s ease}.btn-success:hover{background-color:#45a049}.btn-success-inactive{color:#999;background-color:#e0e0e0;border:none;padding:6px 12px;border-radius:4px;cursor:not-allowed;font-size:12px;font-weight:500;opacity:.6}.btn-success-inactive:hover{background-color:#e0e0e0}.members-container{width:100%}.members-title{margin-bottom:1rem;color:#333}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.members-title{margin:0}.member-count-badge{padding:.5rem 1rem;background-color:#e3f2fd;border-radius:8px;border:1px solid #2196f3;font-weight:700;color:#1976d2;font-size:.9rem}.payment-reset-notification{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #ffc107;border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px #0000001a;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-content{display:flex;align-items:center;gap:1rem;flex:1}.notification-icon{font-size:2rem}.notification-text strong{display:block;font-size:1.1rem;color:#856404;margin-bottom:.25rem}.notification-text p{margin:0;color:#856404;font-size:.95rem}.notification-actions{display:flex;gap:.75rem}.btn-reset{background-color:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:background-color .2s ease}.btn-reset:hover{background-color:#218838}.btn-dismiss{background-color:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:background-color .2s ease}.btn-dismiss:hover{background-color:#5a6268}.status-warning{color:#dc3545!important;font-weight:600!important}.btn-admin-active{color:#fff;background-color:#ffc107;border:1px solid #e0a800;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:background-color .2s ease}.btn-admin-active:hover{background-color:#e0a800}.btn-admin-inactive{color:#555;background-color:#f8f9fa;border:1px solid #dee2e6;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease}.btn-admin-inactive:hover{background-color:#e2e6ea;border-color:#adb5bd}@media(max-width:768px){.form-row{grid-template-columns:1fr}.add-member-form{padding:1rem}.form-buttons{flex-direction:column}.members-header{flex-direction:column;align-items:flex-start;gap:.5rem}.payment-reset-notification{flex-direction:column;gap:1rem;padding:1rem}.notification-actions{width:100%;flex-direction:column}.btn-reset,.btn-dismiss{width:100%}}.login-container{max-width:400px;margin:50px auto;padding:20px}.login-title{text-align:center;margin-bottom:20px}.login-subtitle{text-align:center;margin-bottom:30px}.login-error{background-color:#f8d7da;color:#721c24;padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid #f5c6cb}.login-form-group{margin-bottom:15px}.login-form-group:last-of-type{margin-bottom:20px}.login-label{display:block;margin-bottom:5px;font-weight:700}.login-input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box}.login-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.login-input:disabled{background-color:#e9ecef;cursor:not-allowed}.login-button{width:100%;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s}.login-button:hover:not(:disabled){background-color:#0056b3}.login-button:disabled{background-color:#6c757d;cursor:not-allowed}.login-test-credentials{margin-top:20px;padding:15px;background-color:#e7f3ff;border-radius:4px;font-size:12px;line-height:1.6}.login-test-credentials strong{display:block;margin-bottom:5px}.login-forgot-password{text-align:center;margin-top:15px}.login-forgot-password-link{color:#007bff;text-decoration:none;font-size:14px}.login-forgot-password-link:hover{text-decoration:underline}.forgot-password-container{max-width:400px;margin:50px auto;padding:20px}.forgot-password-title{text-align:center;margin-bottom:15px}.forgot-password-description{text-align:center;margin-bottom:25px;color:#6c757d;font-size:14px}.forgot-password-error{background-color:#f8d7da;color:#721c24;padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid #f5c6cb}.forgot-password-success{background-color:#d4edda;color:#155724;padding:15px;border-radius:4px;margin-bottom:20px;border:1px solid #c3e6cb;text-align:center}.forgot-password-success p{margin:8px 0}.forgot-password-dev-token{background-color:#fff3cd;border:1px solid #ffc107;padding:15px;border-radius:4px;margin-bottom:20px;text-align:center}.reset-code{font-size:32px;font-weight:700;letter-spacing:4px;color:#333;margin:15px 0;font-family:Courier New,monospace}.forgot-password-form-group{margin-bottom:20px}.forgot-password-label{display:block;margin-bottom:5px;font-weight:700}.forgot-password-input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box}.forgot-password-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.forgot-password-input:disabled{background-color:#e9ecef;cursor:not-allowed}.forgot-password-button{width:100%;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s}.forgot-password-button:hover:not(:disabled){background-color:#0056b3}.forgot-password-button:disabled{background-color:#6c757d;cursor:not-allowed}.forgot-password-link-button{display:block;width:100%;padding:12px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:700;text-align:center;text-decoration:none;margin-bottom:15px;transition:background-color .2s}.forgot-password-link-button:hover{background-color:#218838}.forgot-password-back-link{display:block;text-align:center;margin-top:20px;color:#007bff;text-decoration:none;font-size:14px}.forgot-password-back-link:hover{text-decoration:underline}.reset-code-input{font-size:20px;letter-spacing:4px;text-align:center;font-family:Courier New,monospace}.forgot-password-links{margin-top:20px;text-align:center;display:flex;flex-direction:column;gap:10px}.contact-container{max-width:800px;margin:0 auto;padding:2rem}.contact-title{font-size:2rem;font-weight:600;color:#333;margin-bottom:2rem;text-align:center}.contact-card{background-color:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem}.contact-info h3{font-size:1.5rem;color:#333;margin-bottom:1.5rem;font-weight:600}.contact-detail{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.contact-label{font-weight:600;color:#555;min-width:80px}.contact-email{color:#007bff;text-decoration:none;font-size:1.1rem;transition:color .2s ease}.contact-email:hover{color:#0056b3;text-decoration:underline}.contact-message{text-align:center;color:#666;font-size:1rem;line-height:1.6}@media(max-width:768px){.contact-container{padding:1rem}.contact-card{padding:1.5rem}.contact-title{font-size:1.5rem}.contact-detail{flex-direction:column;align-items:flex-start;gap:.5rem}}
