.dashboard-page{padding:2rem}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.metric-card{background-color:#1e1e1e;border-left:5px solid #0af;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem}.metric-card h3{color:#aaa;font-size:1rem;margin:0 0 .5rem;text-transform:uppercase}.metric-card .metric-value{color:#e0e0e0;font-size:2.5rem;font-weight:700}.alerts-panel,.birthdays-panel,.plans-panel{background-color:#fff;border-radius:8px;grid-column:1/-1;padding:1.5rem}.alerts-panel h3,.birthdays-panel h3,.plans-panel h3{border-bottom:2px solid #0af;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.alert-category{margin-bottom:1rem}.alert-category h4{color:#ffc107;margin-bottom:.5rem}.alert-item,.birthday-item{align-items:center;background-color:#2677f0a3;border-radius:5px;display:flex;font-size:.95rem;justify-content:space-between;margin-bottom:.5rem;padding:.8rem 1rem}.alert-item .user-name,.birthday-item .user-name{color:#fff;font-weight:700}.alert-item .alert-detail{color:#dc3545;font-weight:700}.birthday-item .birthday-detail{color:#aaa}.no-alerts,.no-birthdays{color:#aaa;font-style:italic}.plan-distribution{display:flex;justify-content:space-around;text-align:center}.plan-item span{color:#0af;display:block;font-size:2rem;font-weight:700}.plan-item p{color:#aaa;margin:0}.date-range-selector{background-color:var(--white-color);border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.date-range-selector h3{color:var(--primary-color);margin-bottom:1rem;margin-top:0}.date-range-selector .form-group{align-items:flex-end;display:flex;gap:15px}.date-range-selector .form-group label{color:var(--text-color);display:block;font-weight:700;margin-bottom:5px}.date-range-selector .form-group input[type=date]{border:1px solid #ccc;border-radius:5px;font-size:1rem;padding:.5rem;width:150px}@media (max-width:600px){.date-range-selector .form-group{align-items:stretch;flex-direction:column}.date-range-selector .form-group input[type=date]{width:100%}}.monthly-revenue-panel{margin-top:1.5rem}.monthly-revenue-table{border-collapse:collapse;margin-top:1rem;width:100%}.monthly-revenue-table td,.monthly-revenue-table th{border-bottom:1px solid #333;padding:.8rem;text-align:left}.monthly-revenue-table th{background-color:#0af;color:#fff;font-weight:700}.monthly-revenue-table tbody tr:nth-child(2n){background-color:#2a2a2a}.monthly-revenue-table tbody tr:hover{background-color:#3a3a3a}.monthly-revenue-table .no-records{color:#aaa;font-style:italic;padding:1rem;text-align:center}.payments-page{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px auto;max-width:1200px;padding:20px}.payments-page h2{color:#333;font-size:2em;margin-bottom:25px;text-align:center}.payments-table{background-color:#fff;border-collapse:collapse;box-shadow:0 1px 3px #0000001a;margin-top:20px;width:100%}.payments-table td,.payments-table th{border-bottom:1px solid #ddd;padding:12px 15px;text-align:left}.payments-table th{background-color:#007bff;color:#fff;font-size:.9em;font-weight:700;text-transform:uppercase}.payments-table tbody tr:nth-child(2n){background-color:#f2f2f2}.payments-table tbody tr:hover{background-color:#e9e9e9}.payments-table td a{color:#007bff;font-weight:500;text-decoration:none}.payments-table td a:hover{text-decoration:underline}.no-payments-message{background-color:#fff;border:1px dashed #ccc;border-radius:5px;color:#666;font-size:1.1em;margin-top:30px;padding:30px;text-align:center}@media (max-width:768px){.payments-page{margin:10px;padding:15px}.payments-table td,.payments-table th{font-size:.9em;padding:10px}}@media (max-width:600px){.payments-table,.payments-table tbody,.payments-table td,.payments-table tr{display:block;width:100%}.payments-table thead{display:none}.payments-table tr{border:1px solid #ddd;border-radius:5px;box-shadow:0 1px 3px #0000001a;margin-bottom:15px}.payments-table td{padding-left:50%;position:relative;text-align:right}.payments-table td:before{color:#555;content:attr(data-label);font-weight:700;left:15px;position:absolute;text-align:left;width:calc(50% - 30px)}}.body-composition-page{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px auto;max-width:1200px;padding:20px}.body-composition-page h2{color:#333;font-size:2em;margin-bottom:25px;text-align:center}.table-scroll-container{-webkit-overflow-scrolling:touch;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-top:20px;overflow-x:auto}.body-composition-table{border-collapse:collapse;min-width:700px;width:100%}.body-composition-table td,.body-composition-table th{border-bottom:1px solid #ddd;padding:12px 15px;text-align:left;white-space:nowrap}.body-composition-table th{background-color:#28a745;color:#fff;font-size:.9em;font-weight:700;text-transform:uppercase}.body-composition-table tbody tr:nth-child(2n){background-color:#f2f2f2}.body-composition-table tbody tr:hover{background-color:#e9e9e9}.body-composition-table td a{color:#28a745;font-weight:500;text-decoration:none}.body-composition-table td a:hover{text-decoration:underline}@media (max-width:768px){.body-composition-page{margin:10px;padding:15px}.body-composition-table td,.body-composition-table th{font-size:.9em;padding:10px}}.attendance-page{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px auto;max-width:900px;padding:20px}.attendance-page h2{color:#333;font-size:2em;margin-bottom:25px;text-align:center}.attendance-table{background-color:#fff;border-collapse:collapse;box-shadow:0 1px 3px #0000001a;margin-top:20px;width:100%}.attendance-table td,.attendance-table th{border-bottom:1px solid #ddd;padding:12px 15px;text-align:left}.attendance-table th{background-color:#ffc107;color:#333;font-size:.9em;font-weight:700;text-transform:uppercase}.attendance-table tbody tr:nth-child(2n){background-color:#f2f2f2}.attendance-table tbody tr:hover{background-color:#e9e9e9}.attendance-table td a{color:#ffc107;font-weight:500;text-decoration:none}.attendance-table td a:hover{text-decoration:underline}.no-records-message{background-color:#fff;border:1px dashed #ccc;border-radius:5px;color:#666;font-size:1.1em;margin-top:30px;padding:30px;text-align:center}@media (max-width:768px){.attendance-page{margin:10px;padding:15px}.attendance-table td,.attendance-table th{font-size:.9em;padding:10px}}@media (max-width:600px){.attendance-table,.attendance-table tbody,.attendance-table td,.attendance-table tr{display:block;width:100%}.attendance-table thead{display:none}.attendance-table tr{border:1px solid #ddd;border-radius:5px;box-shadow:0 1px 3px #0000001a;margin-bottom:15px}.attendance-table td{padding-left:50%;position:relative;text-align:right}.attendance-table td:before{color:#555;content:attr(data-label);font-weight:700;left:15px;position:absolute;text-align:left;width:calc(50% - 30px)}}.payment-history-card{background-color:#1e1e1e;border:1px solid #333;border-radius:8px;color:#fff;margin-top:1.5rem;padding:1.5rem}.payment-history-card h3{border-bottom:2px solid #0af;color:#7b0de2;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}h4{color:#7b0de2}.payment-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.payment-form label{color:#e0e0e0;font-weight:700}.payment-form input[type=number]{background-color:#333;border:1px solid #555;border-radius:5px;box-sizing:border-box;color:#e0e0e0;padding:.8rem;width:100%}.payment-form button{background-color:#0af;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:.8rem 1.5rem;transition:background-color .3s ease}.payment-form button:hover{background-color:#07c}.payment-list{list-style:none;padding:0}.payment-item{align-items:center;background-color:#2a2a2a;border:1px solid #444;border-radius:5px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.8rem 1rem}.payment-item span{color:#e0e0e0}.payment-item .payment-amount{color:#28a745;font-weight:700}.no-payments{color:#aaa;font-style:italic}.body-comp-card{background-color:#1e1e1e;border:1px solid #333;border-radius:8px;color:#fff;margin-top:1.5rem;padding:1.5rem}.body-comp-card h3{border-bottom:2px solid #0af;color:#7b0de2;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.comp-form{margin-bottom:1.5rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:1rem}.form-grid label{color:#fff;display:flex;flex-direction:column;font-size:.9rem}.form-grid input{background-color:#333;border:1px solid #555;border-radius:5px;box-sizing:border-box;color:#e0e0e0;margin-top:.3rem;padding:.7rem;width:100%}.comp-form button{background-color:#0af;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:.8rem 1.5rem;transition:background-color .3s ease;width:100%}.comp-form button:hover{background-color:#07c}.comp-history h4{margin-bottom:1rem}.history-table{border-collapse:collapse;text-align:left;width:100%}.history-table td,.history-table th{border-bottom:1px solid #444;padding:.8rem;text-align:center}.history-table th{color:#0af;font-size:.9rem}.history-table td{font-size:.95rem}.no-history{color:#fff;font-style:italic}.attendance-card{background-color:#1e1e1e;border:1px solid #333;border-radius:8px;color:#fff;padding:1.5rem}.attendance-card h3{border-bottom:2px solid #0af;color:#7b0de2;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.attendance-summary{display:flex;justify-content:space-around;margin-bottom:1.5rem;text-align:center}.summary-item span{color:#0af;display:block;font-size:1.8rem;font-weight:700}.summary-item p{color:#aaa;margin:0}.attendance-card button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;margin-bottom:1.5rem;padding:.8rem 1.5rem;transition:background-color .3s ease;width:100%}.attendance-card button:hover{background-color:#218838}.attendance-card button:disabled{background-color:#555;cursor:not-allowed}.attendance-history h4{margin-bottom:1rem}.attendance-list{list-style:none;max-height:150px;overflow-y:auto;padding:0}.attendance-item{background-color:#2a2a2a;border:1px solid #444;border-radius:5px;margin-bottom:.5rem;padding:.5rem 1rem}.user-profile-page{margin:0 auto;max-width:1200px;padding:2rem}.profile-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.profile-header h1{color:#225670;font-size:2.5rem;margin:0}.back-link{color:#0af;font-weight:700;text-decoration:none;transition:color .3s ease}.back-link:hover{color:#07c}.status-badge{border-radius:15px;color:#fff;font-size:.9rem;font-weight:700;padding:.5rem 1rem;text-transform:uppercase}.status-active{background-color:#28a745}.status-expired{background-color:#dc3545}.status-debt{background-color:#ffc107;color:#333}.profile-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.profile-card{background-color:#1e1e1e;border:1px solid #333;border-radius:8px;color:#fff;padding:1.5rem}.profile-card h3{border-bottom:2px solid #0af;color:#7b0de2;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.profile-card p{line-height:1.6;margin:.5rem 0}.profile-card p strong{color:#0af}.debt{color:#ffc107;font-weight:700}.profile-sections{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width:768px){.profile-sections{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.login-page{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;font-family:Roboto,sans-serif;justify-content:center;min-height:100vh}.login-container{animation:fadeIn .5s ease-in-out;background-color:#fff;border-radius:15px;box-shadow:0 10px 25px #0000001a;max-width:420px;padding:2.5rem;text-align:center;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-logo{color:#f5d142;font-size:3.5rem;line-height:1;margin-bottom:1rem;text-shadow:0 2px 4px #0000001a}.login-container h2{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.login-subtitle{color:#666;font-size:1rem;margin-bottom:2rem}.login-container .form-group{margin-bottom:1.5rem;text-align:left}.login-container label{color:#555;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.login-container input{border:1px solid #ccc;border-radius:8px;font-size:1rem;padding:.8rem 1rem;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.login-container input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff40;outline:none}.login-button{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:.5px;margin-top:1rem;padding:.9rem;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease;width:100%}.login-button:hover{box-shadow:0 4px 15px #007bff4d;transform:translateY(-2px)}.login-button:disabled{background:#aaa;box-shadow:none;cursor:not-allowed;transform:none}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#d9534f;font-size:.9rem;margin-top:1.5rem;padding:.8rem;text-align:center}:root{--primary-color:#225670;--secondary-color:#f5d142;--background-color:#f4f4f4;--text-color:#333;--white-color:#fff;--danger-color:#d9534f;--success-color:#5cb85c;--warning-color:#f0ad4e;--dark-text-color:#222;--light-text-color:#eee}body{background-color:#f4f4f4;background-color:var(--background-color);color:#333;color:var(--text-color);font-family:Roboto,sans-serif;margin:0;padding:0}.app{display:flex;flex-direction:column;min-height:100vh}.header{align-items:center;background-color:#225670;background-color:var(--primary-color);display:flex;flex-wrap:wrap;justify-content:space-between;padding:1rem 2rem}.header,.header h1{color:#fff;color:var(--white-color)}.header h1{font-size:1.8rem;margin:0}.header nav{margin-top:0}.nav-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;list-style:none;margin:0;padding:0}.nav-links li{margin:0}.nav-links a{border-radius:5px;color:#eee;color:var(--light-text-color);font-size:1.05rem;font-weight:500;padding:.5rem .8rem;text-decoration:none;transition:background-color .3s ease,color .3s ease}.nav-links a.active,.nav-links a:hover{background-color:#f5d142;background-color:var(--secondary-color);color:#225670;color:var(--primary-color)}@media (max-width:768px){.header{flex-direction:column;padding:1rem}.header h1{margin-bottom:1rem}.nav-links{align-items:center;flex-direction:column;gap:.5rem;width:100%}.nav-links a{text-align:center;width:calc(100% - 1.6rem)}}.main{flex:1 1;padding:1rem}.footer{background-color:#225670;background-color:var(--primary-color);bottom:0;color:#fff;color:var(--white-color);padding:1rem;position:sticky;text-align:center}.container{margin:0 auto;max-width:1200px;padding:0 1rem}h1,h2,h3,h5,h6{color:#225670;color:var(--primary-color)}.btn{border:none;border-radius:5px;cursor:pointer;font-size:1rem;padding:.5rem 1rem;text-transform:uppercase}.btn-primary{background-color:#f5d142;background-color:var(--secondary-color);color:#225670;color:var(--primary-color)}.btn-danger{background-color:#d9534f;background-color:var(--danger-color)}.btn-danger,.btn-success{color:#fff;color:var(--white-color)}.btn-success{background-color:#5cb85c;background-color:var(--success-color)}.table{border-collapse:collapse;margin-top:1rem;width:100%}.table td,.table th{border:1px solid #ddd;padding:.5rem;text-align:left}.table th{background-color:#225670;background-color:var(--primary-color);color:#fff;color:var(--white-color)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ccc;border-radius:5px;padding:.5rem;width:100%}.card{background-color:#fff;background-color:var(--white-color);box-shadow:0 2px 4px #0000001a}.alert,.card{border-radius:5px;margin-bottom:1rem;padding:1rem}.alert-danger{background-color:#d9534f;background-color:var(--danger-color)}.alert-danger,.alert-warning{color:#fff;color:var(--white-color)}.alert-warning{background-color:#f0ad4e;background-color:var(--warning-color)}.btn-logout{background-color:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:background-color .3s ease}.btn-logout:hover{background-color:#c82333}.table th{cursor:pointer;-webkit-user-select:none;user-select:none}.table th:hover{background-color:#4a4a4a}
/*# sourceMappingURL=main.0e6b1e3c.css.map*/